Курсовая работа по дисциплине «Базы Данных»




Скачать 138.99 Kb.
НазваниеКурсовая работа по дисциплине «Базы Данных»
А В Муратов
Дата конвертации03.10.2012
Размер138.99 Kb.
ТипКурсовая

Министерство образования и науки Российской Федерации

Московский государственный институт электроники и математики




Факультет: АВТ

Кафедра: ЭВА

Курсовая работа по дисциплине
«Базы Данных
»

Проектирование и реализация

информационно-поисковой системы «Буквоед»

с помощью программы MySQL-Front

Выполнили:

А.В. Муратов

Ю. В. Новиков

В. Б. Фалк

Группа:

С-54

Руководитель:

д. т. н. профессор

Д. И. Зарудный

Оглавление


Оглавление 1

Техническое задание 4

Введение 5

Что такое MySQL? 5

Основные достоинства MySQL 5

Работа в программе MySQL-Front 6

Проектирование базы данных 8

Предметная область 8

Инфологическая модель: 8

Датологическая модель: 9

Создание базы данных 10

Запрос 1. Создание новой базы данных 10

Создание таблиц 11

Запрос 2. Создание новой таблицы 11

Добавление данных в таблицу 14

Запрос 3. Добавление записей в таблицу 14

Выборка данных 16


16

Запрос 4. Выборка № 1 17

Запрос 5. Выборка № 2 17

Запрос 6. Выборка № 3 18

Запрос 7. Выборка № 4 18

Запрос 8. Выборка № 5 19

Запрос 9. Выборка № 6 20

Запрос 10. Выборка № 7 21

Запрос 11. Выборка № 8 22

Запрос 12. Выборка № 9 22

Запрос 13. Выборка № 10 23

Запрос 14. Выборка № 11 24

Запрос 15. Выборка № 12 25

Запрос 16. Выборка № 13 26

Запрос 17. Выборка № 14 27

Запрос 18. Выборка № 15 28

Запрос 19. Выборка № 16 29

Запрос 20. Выборка № 17 30

Запрос 21. Выборка № 18 31

Разграничение доступа к базе данных при помощи программы MySQL-Front 33

Подключение к серверу MySQL 35

Заключение 36

Список используемой литературы 37

Техническое задание


Ведение исследовательской работы с целью изучения технологии реализации информационно-поисковой системы с помощью программы MySQL-Front, являющейся удобным средством управления базой данных. Знакомство и изучение возможностей данного программного обеспечения поможет повысить навыки графического проектирования баз данных.

Введение

Что такое MySQL?

MySQL - это система управления базами данных.


База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми - от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является ПО MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному - как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.

MySQL - это система управления реляционными базами данных.


В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.

Программное обеспечение MySQL - это ПО с открытым кодом.


ПО с открытым кодом означает, что применять и модифицировать его может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями.

Основные достоинства MySQL


Перечислим основные достоинства пакета MySQL:

  • Многопоточность. Поддержка нескольких одновременных запросов.

  • Оптимизация связей с присоединением многих данных за один проход.

  • Записи фиксированной и переменной длины.

  • ODBC драйвер в комплекте с исходным текстом.

  • Гибкая система привилегий и паролей.

  • До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.

  • Поддержка ключевых полей и специальных полей в операторе CREATE.

  • Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени.

  • Интерфейс с языками C и perl.

  • Основанная на потоках, быстрая система памяти.

  • Утилита проверки и ремонта таблицы ( isamchk).

  • Все данные хранятся в формате ISO8859_1.

  • Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.

Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице. Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей. Легкость управления таблицей, включая добавление и удаление ключей и полей.

Работа в программе MySQL-Front


MySQL-Front – условно-бесплатная система управления базами данных, которая объединяет создание и обслуживание баз данных в единой удобной оболочке. Программа включает в себя профессиональные возможности ясный и простой пользовательский интерфейс, для того, что бы сделать управление вашей базой данных наиболее эффективным.MySQL-Front разработан и оптимизирован для работы с MySQL-Database. MySQL-Front поддерживает два переключаемых пользовательских интерфейса. Режима дизайнера используется для создания и сохранения визуальной модели базы данных. Режим запросов предназначен для работы с таблицами и для создания комплексных SQL-запросов для использования в PHP, С++ или других языках программирования.MySQL-Front предоставляет мощные возможности для создания визуальной модели любой базы данных такие как:

  • Платформы MS Windows

  • Пользовательский интерфейс основан на промышленном стандарте проектирования программ

  • Два режима: режим дизайнера и режим запросов

  • Поддержка индексов

  • Стандарт, включающий хранение и синхронизацию

  • Все типы данных MySQL со всеми возможными параметрами

  • Типы данных, определяемые пользователем

  • Сохранение базы данных

  • Сетевой/Многопользовательский доступ к базе данных

  • Создание SQL-запросов

  • Журнализация SQL-запросов

  • Хранение SQL-команд

Проектирование базы данных

Предметная область


Информационно-поисковая система «Буквоед» содержит информацию о книгах, об издательствах, которые их издавали, и об авторах, которыми созданы данные книги.

Инфологическая модель:


АВТОРЫ КНИГИ ИЗДАТЕЛЬСТВА

Авторы (id автора, ФИО ,Год рождения, Email, Пол);

Издательства (id_издательства, Название, Телефон, Сайт, Адрес);

Книги (id_книги, Название, Жанр, Цена,Год выпуска).


Книги

id_книги

Название

Жанр

Цена

Год выпуска



Авторы

id автора

ФИО

Год рождения

Email

Пол




Издательства

id_издательства

Название

Телефон

Сайт

Адрес

Датологическая модель:


Авторы (id автора, ФИО ,Год рождения, Email, Пол);

Издательства (id_издательства, Название, Телефон, Сайт, Адрес);

Книги (id_книги, Название, Жанр, Цена,Год выпуска,id_издательства)

Книги – Авторы (id_книги, id_автора).

Создание базы данных


В MySQL-Front можно создавать базы данных и работать с ними не только с помощью нескольких кнопок (примерно как в Microsoft Access 2000), но с помощью SQL-редактора, используя при этом все возможности языка структурированных запросов. Поэтому вся работа будет выполняться в SQL-редакторе.

Для создания базы данных можно воспользоваться следующей конструкцией:
CREATE DATABASE <Название базы данных>;

Для подключения к БД служит команда USE:

USE <Название базы данных>;

Запрос 1. Создание новой базы данных


Пусть требуется создать и подключить базу данных Books.

CREATE DATABASE Books;

USE Books;

Теперь, создав и подключившись к базе данных, можно начать с ней работать.

Создание таблиц


Таблицы базы данных создаются с помощью команды CREATE TABLE. Эта команда создает пустую таблицу. Команда CREATE TABLE определя­ет имя таблицы и множество поименованных столбцов в ука­занном порядке. Для каждого столбца должен быть определен тип и, если это необходимо, размер. Каждая создаваемая таблица должна иметь, по крайней мере, один столбец.

Синтаксис команды CREATE TABLE имеет следующий вид:

CREATE TABLE <имя таблицы>

(<имя столбца> <тип данных>[(<размер>)]);

Запрос 2. Создание новой таблицы


В данном случае требуется создать 4 таблицы.

CREATE TABLE `izdatelstva` (

`id_izdatelstva` int(11) NOT NULL,

`Izdatelstvo` char(50),

`Telefon` int(11),

`Site` char(50),

`Adres` char(50),

PRIMARY KEY (`id_izdatelstva`));



Рис. 1

CREATE TABLE `Avtori` (

`id_avtora` int(7) NOT NULL,

`FIO` char(50),

`BirthYear` int(4),

`email` char(20),

`Pol` char(1),

PRIMARY KEY (`id_avtora`));



Рис. 2

CREATE TABLE `Knigi` (

`id_knigi` int(11) NOT NULL,

`Nazvanie` char(50),

`Janr` char(11),

`Price` int(11),

`God_vypuska` int(11),

`id_izdatelstva` int(11),

PRIMARY KEY (`id_knigi`));



Рис. 3

CREATE TABLE `knigiavtori` (

`id_knigi` int(11) NOT NULL,

`id_avtora` int(11)NOT NULL,

PRIMARY KEY (`id_knigi`,`id_avtora`));



Рис. 4

Добавление данных в таблицу


Оператор вставки новых записей имеет форматы двух видов:

INSERT INTO <имя таблицы>

[(<список столбцов>)]

VALUES (<список значений>)

и

INSERT INTO <имя таблицы>

[(<список столбцов>)]

<предложение SELECT>

В первом формате оператор INSERT предназначен для ввода новых записей с заданными значениями в столбцах. Порядок перечисления имен столбцов должен соответствовать порядку значений, перечисленных в списке операнда VALUES. Если <список столбцов> опущен, то в <списке значений> должны быть перечислены все значения в порядке столбцов структуры таблицы.

Во втором формате оператор INSERT предназначен для ввода в заданную таблицу новых строк, отобранных из другой таблицы с помощью предложения SELECT.

Запрос 3. Добавление записей в таблицу


Создать запрос, добавляющий все записи в таблицу knigi.

insert into knigi values

(1,'Эффективные технологии создания информационных систем','научно-популярная',526,2005,1),

(2,'Звонок','триллер',186,2005,2),

(3,'9 рота','боевик',140,2005,3),

(4,'Три таллера','детектив',32, 2000, 2),

(5,'Гибель Богов','фэнтези',128,1999,4),

(6,'Долина Ледяного Ветра','фэнтези',217,2005,3),

(7,'Александр Блок. Стихотворения','худ. литература',130,2005,3),

(8,'Война и мир','худ. литература',68,2002,1),

(9,'Братья Карамазовы. Роман в четырех частях с эпилогом','худ. литература',524,2005,5),

(10,'Руководство по технологиям объединенных сетей','научная',1064,2005,2),

(11,'Искусственные нейронные сети. Теория и практика','научная',329,2001,1),

(12,'Руководство администратора Linux','научно-популярная',259,2003,4),

(13,'Операционная система Linux. Курс лекций.','научная',420,2005,1),

(14,'Windows XP: беспроигрышные советы','научно-популярная',122,2004,5),

(15,'Сборник задач по математике для поступающих во втузы','учебная',608,2001,1),

(16,'Однобитная история Нового времени','учебная',42,2003,1),

(17,'Самоучитель работы на компьютере.','учебник',240,2003,2),

(18,'Сбои компьютера. Диагностика, профилактика, лечение','научно-популярная',120,2003,1),

(19,'Самая шикарная свадьба','роман',83,2005,5),

(20,'Мастер и Маргарита. Белая гвардия. Записки на манжетах','худ. литература',315,2004,2);



Рис. 5

Аналогично делается и для остальных таблиц.

Выборка данных


Оператор выборки записей имеет формат вида:

SELECT [ALL | DISTINCT]

<список данных>

FROM <список таблиц>

[WHERE<условие выборки>]

[GROUP BY<имя столбца> [, < имя столбца >]…]

[HAVING<условие поиска>]

[ORDER BY<спецификация> [, < спецификация >]…]

Это наиболее важный оператор из всех операторов SQL. Функциональные воз­можности его огромны. Рассмотрим основные из них.

Оператор SELECT позволяет производить выборку и вычисления над данными из одной или нескольких таблиц. Результатом выполнения оператора является от­ветная таблица, которая может иметь (ALL), или не иметь (DISTINCT) повторяю­щиеся строки. По умолчанию в ответную таблицу включаются все строки, в том чис­ле и повторяющиеся. В отборе данных участвуют записи одной или нескольких таб­лиц, перечисленных в списке операнда FROM..

Список данных может содержать имена столбцов, участвующих в запросе, а также выражения над столбцами. В простейшем случае в выражениях можно записывать имена столбцов, знаки арифметических операций (+, — ,*,/), константы и круглые скобки. Если в списке данных записано выражение, то наряду с выборкой данных выполняются вычисления, результаты которого попадают в новый (создаваемый) столбец ответной таблицы.

При использовании в списках данных имен столбцов нескольких таблиц для ука­зания принадлежности столбца некоторой таблице применяют конструкцию вида: <имя таблицы>.<имя столбца>.

Операнд WHERE задает условия, которым должны удовлетворять записи в ре­зультирующей таблице. Выражение <условие выборки> является логическим. Его элементами могут быть имена столбцов, операции сравнения, арифметические опе­рации, логические связки (И, ИЛИ, НЕТ), скобки, специальные функции LIKE, IN и т. д.




Запрос 4. Выборка № 1


select Nazvanie, Janr, God_vypuska from knigi;

В результате на экран будет выводиться название жанр и год выпуска всех книг.



Рис. 6

Запрос 5. Выборка № 2


select * from avtori where Pol='f';

В результате запроса выводится вся информация об женщинах писательницах, информация, о которых содержится в базе



Рис. 8

Запрос 6. Выборка № 3


select * from knigi where God_vypuska<2004;

В результате этой выборки на экран будет выводиться вся информация о книгах, изданных до 2004 года.



Рис. 9

Запрос 7. Выборка № 4


select * from knigi where God_vypuska>=2003;

В данном случае будет выводится вся информация о изданных, с 2003 года включительно.



Рис. 10

Запрос 8. Выборка № 5


select * from knigi where Price between 200 and 700;

В данной выборке будет выводиться вся информация о книгах, ценовой диапазон которых составляет от 200 до 700.



Рис. 11

Запрос 9. Выборка № 6


select FIO, email from avtori where email in

('otsutstvuet','petrov@sl.ru');

В результате запроса выводятся имя, фамилия и адрес электронной почты, которые отсутствуют или соответсвуют petrov@sl.ru.



Рис. 12

Запрос 10. Выборка № 7


select FIO, email from avtori where email

like '%avtor.ru';

Выводится имена и фамилии писателей и адреса их электронной почты, у которых адрес почты заканчивается на «avtor.ru».



Рис. 13

Запрос 11. Выборка № 8


select distinct knigi.Nazvanie, avtori.FIO,izdatelstva.Izdatelstvo,knigi.God_vypuska

from knigi

inner join knigiavtori on knigiavtori.id_knigi=knigi.id_knigi

inner join avtori on avtori.id_avtora=knigiavtori.id_avtora

inner join izdatelstva on izdatelstva.id_izdatelstva=knigi.id_izdatelstva

where

knigi.God_vypuska<2003;

В результате выводится на экран информация о книгах , изданных до 2003 года.



Рис. 14

Запрос 12. Выборка № 9


select*

FROM avtori

where (BirthYear>1969) and (BirthYear<1983);

На экран выводится вся информация об авторах, которые родились позже 1969 года, но раньше 1983 года.



Рис. 15

Запрос 13. Выборка № 10


Select*

from avtori

where (BirthYear<1960) or (BirthYear>1940);

Здесь будет выводиться информация о авторах книг, у которых год рождения меньше 1960 или больше 1940.



Рис. 16

Запрос 14. Выборка № 11


select FIO, email

from avtori

where email not like '%avtor.ru'

and email not like 'otsutstvuet';

В результате запроса выводятся имя, фамилия и почта авторов, адреса которых не содержат avtor.ru и otsutstvuet.



Рис. 17

Запрос 15. Выборка № 12


select id_knigi,Nazvanie,

Izdatelstvo,knigi.God_vypuska

from knigi,izdatelstva

where knigi.God_vypuska>2000

and

izdatelstva.id_izdatelstva=knigi.id_izdatelstva;

В результате выводится на экран имена сведения о книгах, у которых выпуск произошел позже 2000 года.



Рис. 18

Запрос 16. Выборка № 13


select Nazvanie, Janr, Price

from knigi

where Janr not like 'научно-попу'

and Price between 300 and 600;

Выводится название, жанр и цена тех книг, у которых жанр не соответствует 'научно-попу' и цена находится в интервале от 300 до 600.



Рис. 19

Запрос 17. Выборка № 14


select Nazvanie,Janr,Price

from knigi

where Janr not like 'научно-попу'

order BY Price desc;

На экран будут выводиться названия, жанри цены книг, не относящихся к жанру научно популярной литературы, при этом цены книг будут расположены по убыванию.



Рис. 20

Запрос 18. Выборка № 15


select id_knigi, Nazvanie, Price/2

from knigi;

В результате запроса на экран выводятся id книг, названия и половина цены.



Рис. 21

Запрос 19. Выборка № 16


select id_knigi, Nazvanie, Price+50

from knigi;

В результате запроса на экран выводятся id книг, названия и цена+50.



Рис. 22

Запрос 20. Выборка № 17


select id_knigi, Nazvanie, Price,Price+50

as 'Цена с доставкой'

from knigi;

В результате запроса выводятся псевдоним Price+50 – Цена с доставкой.



Рис. 23

Запрос 21. Выборка № 18


select id_knigi, Nazvanie, Price+50

as 'Цена с доставкой',Izdatelstvo,Telefon,Site

from knigi inner join izdatelstva

on izdatelstva.id_izdatelstva=knigi.id_izdatelstva

where knigi.Price>500

order by Site;

В данном случае будут выводиться id книги, ее название, цена + 50, именуемая Ценой с доставкой, название издательства, его телефон и сайт, удовлетворяющие условию того, что цена книги больше 500 и упорядоченные по названию сайта издательства.



Рис. 24

Разграничение доступа к базе данных при помощи программы MySQL-Front


В программе MySQL-Front имеются широкие возможности по управлению доступом к базе данных, для этого нужно произвести небольшую настройку интерфейса программы для этого надо войти в меню Опции->Глобальные настройки… и в появившемся окне поставить галочку напротив Системные инструменты показать



Рис. 25

После этой операции в главном окне программы появятся следующие элементы:



Рис. 26

Нас интересует элемент пользователи, надо подвести к нему указатель мыши и один раз нажать левую кнопку. Мы увидим окно со списком пользователей, в этом окне надо один раз нажать правой кнопкой мыши и в выпадающем меню выбрать Новое->User…



Рис. 27

Далее появится окно добавления нового пользователя, в закладке Главное нужно ввести имя пользователя и пароль для доступа к базе данных

Далее нужно проследовать во вкладку Права для настройки прав доступа пользователя к базе данных, в этой вкладке нужно нажать на кнопку Новый…:

После нажатия на кнопку Новый… появится следующее окно:

В данном окне можно выбрать к какой базе будет разрешен доступ пользователю, можно задать к какой таблице будет разрешен/запрещен

доступ. Для этого достаточно выбрать нужную базу/таблицу и поставить флажок напротив того параметра, который будет разрешено выполнять пользователю.

Подключение к серверу MySQL


Для подключения к серверу надо запустить программу MySQL-Front при этом появится окно со списком подключений выбрать нужное нам подключение и дважды нажать на нём левой кнопкой мыши, если в окне нет нужного нам подключения, то его нужно создать, нажав на кнопку Новый…. После нажатия на кнопку Новый… появится окно с настройками подключения

В закладке главное вводится имя подключения (имя выбирается на усмотрение пользователя) на Подключение вводится адрес сервера и порт, к которому производится подключение, на вкладке пользователь водится имя пользователя и пароль, а так же название базы данных, к которой производится подключение.

Заключение


В ходе выполнения курсовой были получены навыки создания и управления базами данных при помощи программы MySQL-Front. Проанализировав характеристики и возможности программы MySQL-Front, мы сделали следующие выводы:

1) MySQL-Front позволяет упростить и облегчить создание и управление базами данных;

2) Предоставляет возможность совершенствования и переноса приложений и среды одной СУБД в другую;

3) Интерфейс MySQL-Front является интуитивно понятным, но, тем не менее, для работы с программой необходимы квалифицированные знания теории проектирования баз данных.

Список используемой литературы




  • А.Д. Хомоненко, В.М. Цыганков, М.Г.Мальцев «Учебник.Базы данных»

  • MySQL 3.3 Guide for Administrators, Users and Developers

  • Справочное руководство по MySQL, http://codebase.h11.ru/

  • Справочное руководство «Введение в MySQL» http://www.mysql.ru/docs/gruber/

Москва 2005 г.

Похожие:

Курсовая работа по дисциплине «Базы Данных» iconКурсовая работа по дисциплине «Базы данных» тема «Создание базы данных вуза»
Табельный номер преподавателя, фио, количество аспирантов, ученая степень, ученое звание
Курсовая работа по дисциплине «Базы Данных» iconКурсовая работа по Дисциплине: Базы данных Тема: Разработка реляционной базы данных
Необходимо разработать базу данных для web-сайта муниципального образования Фокинское сельское поселение Чайковского муниципального...
Курсовая работа по дисциплине «Базы Данных» iconКурсовая работа по дисциплине “Базы данных” "Хранилища данных и технология olap"
Исходя из этого, все больше и больше внимания уделяется средствам реализации и построения систем аналитической обработки информации....
Курсовая работа по дисциплине «Базы Данных» iconКурсовая работа выполняется по актуальным вопросам систем обработ
...
Курсовая работа по дисциплине «Базы Данных» iconМетодические указания по выполнению курсовой работы по дисциплине «структуры и алгоритмы обработки данных»
Курсовая работа по дисциплине "Структуры и алгоритмы обработки данных" предполагает закрепление полученных теоретических знаний по...
Курсовая работа по дисциплине «Базы Данных» iconКурсовая работа
Цель работы: Разработать программное обеспечения базы данных в соответствии с зада­
Курсовая работа по дисциплине «Базы Данных» iconКурсовая работа по дисциплине «Компьютерная графика»
Данная курсовая работа посвящена планировке и разработке бдау (Базе Данных Арбитражного Управляющего, работающей «в веб браузере»)...
Курсовая работа по дисциплине «Базы Данных» iconМетодические указания к выполнению контрольных, курсовых работ По дисциплине Базы данных Для специальности 080801. 65 «Прикладная информатика в экономике»
Базы данных : методические указания и задания к выполнению курсовой работы для студентов специальности «Прикладная информатика (в...
Курсовая работа по дисциплине «Базы Данных» iconКурсовая   работа   по   дисциплине   «Программирование   на   языке   высокого   уровня»
Необходима проверка всех входных данных на корректность. В случае ошибки должно выда
Курсовая работа по дисциплине «Базы Данных» iconКурсовая работа на тему: Виды обработки данных
Организационные формы использования информационных технологий при обработке данных
Разместите кнопку на своём сайте:
TopReferat


База данных защищена авторским правом ©topreferat.znate.ru 2012
обратиться к администрации
ТопРеферат
Главная страница