Автор работы: Пользователь скрыл имя, 20 Октября 2013 в 14:44, контрольная работа
По каждому виду спорта должна храниться запись о том, когда был установлен мировой рекорд по этому виду спорта и его единица измерения. При установке нового мирового рекорда в записи должна делаться соответствующая пометка, а сама запись не удаляться из системы.
Система должна выдавать следующую справочную информацию:
какие соревнования были проведены в данный промежуток времени;
какие результаты показали спортсмены в данном соревновании;
какой мировой рекорд установлен по данному виду спорта;
Поволжский
государственный университет
Факультет «Информационных систем и технологий»
Кафедра «Информационные системы и технологии»
Сдана на проверку Допустить к защите
«_____»____201_ г. «_____»____201_ г.
Защищена с оценкой
________________
”_____”______ 201_г.
КУРСОВАЯ РАБОТА
по дисциплине «Базы данных»
Студентка группы 15 ПИ Юртаева Ксения Юрьевна
Руководитель Козлова Ольга Семёновна
№ зачетной книжки 113938
САМАРА
2013
Рецензия
Оглавление
Вариант 11
Задача курсовой работы состоит в том, чтобы создать систему поддержки управления спортивной организацией, которая должна обеспечивать операции (добавление, удаление и изменение) над данными о спортсменах.
В регистрационном списке спортсменов должны храниться следующие сведения:
Наряду с регистрационным списком системой должен поддерживаться каталог спортивной организации, где хранится информация о соревнованиях:
Система должна обеспечивать добавление, удаление и изменение данных каталога, а также поиска соревнования в каталоге на основании введенной даты проведения или места проведения.
В системе должна осуществляться регистрация мировых рекордов по различным видам спорта.
По каждому виду спорта должна храниться запись о том, когда был установлен мировой рекорд по этому виду спорта и его единица измерения. При установке нового мирового рекорда в записи должна делаться соответствующая пометка, а сама запись не удаляться из системы.
Система должна выдавать следующую справочную информацию:
Вариант задания предусматривает разработку ER-диаграммы, хранящей список спортсменов, каталог соревнований и записи о мировых рекордах.
Реализация настоящей БД должна быть произведена средствами СУБД MySQL.
В MySQL должны разрабатываться таблицы, связи между ними.
Необходимо также разработать не менее 10 запросов следующих типов:
Из описания предметной области следуют:
являются атрибутами сущности «Спортсмены».
являются атрибутами сущности «Соревнования».
являются атрибутами сущности «Виды спорта».
являются атрибутами сущности «Участие в соревнованиях».
Между сущностями «Спортсмены» и «Виды спорта»:
Слева направо: «Читатель может иметь несколько записей читательского билета»;
Справа налево: «Каждая запись читательского билета должна принадлежать одному читателю»;
Тип связи:один -ко-многим.
Между сущностями «Каталог библиотеки» и «Запись читательского билета»:
Слева направо: «Книга может быть выдана несколько раз»;
Справа налево: «Каждая запись читательского билета соответствует одной книге»;
Тип связи: один-ко-многим.
Концептуальная модель заданной предметной области представлена на рис. 1
Рис 1. ER-диаграмма предметной области
Для создания данной системы управления данными понадобятся следующие таблицы:
В СУБД MySQL создание таблицы происходит с помощью команды CREATE TABLE.
Создание таблицы Sportsmeny (Спортсмены):
CREATE TABLE ` SOREVNOVANIYA` ( `Id_sportsmena ` INT (11) NOT NULL ,
` Nazv_knigi ` VARCHAR(70) NOT NULL ,
` Author ` VARCHAR( 20 ) NOT NULL ,
` God_izd ` YEAR( 4 ) NOT NULL ,
` Mesto_izd ` VARCHAR( 20 ) NOT NULL ,
` Nazv_izd ` VARCHAR( 25 ) NOT NULL ,
` Vsego ` INT( 5 ) NOT NULL,
` Dostypno ` INT( 5 ) NOT NULL);
Добавление первичного ключа таблицы Catalog_library (Каталог библиотеки):
ALTER TABLE ` Catalog_library ` ADD PRIMARY KEY ( ` Bibl_shiphr ` )
Структура таблицы Catalog_library (Каталог библиотеки):
Создание таблицы Chitatel (Читатель):
CREATE TABLE ` Chitatel `( ` Nom_bil ` INT( 7 ) NOT NULL ,
` Surname ` VARCHAR(15) NOT NULL ,
`Name` VARCHAR( 10 ) NOT NULL ,
` Patronymic ` VARCHAR( 15 ) NOT NULL,
` Address ` VARCHAR( 50 ) NOT NULL ,
` Telephone ` VARCHAR( 15 ) NOT NULL
` Data_vidachi ` DATE NOT NULL);
Добавление первичного ключа таблицы Chitatel (Читатель):
ALTER TABLE ` Chitatel ` ADD PRIMARY KEY ( ` Nom_bil ` )
Структура таблицы Chitatel (Читатель):
Создание таблицы Zap_chit_bil (Запись читательского билета):
CREATE TABLE `Zap_chit_bil` (`Nom_stroki_zap` INT(5) NOT NULL AUTO_INCREMENT,
` Bibl_shiphr ` VARCHAR( 10 ) NOT NULL ,
` Nom_bil ` INT( 7 ) NOT NULL ,
` Data_vid ` DATE NOT NULL ,
` Data_vozv ` DATE NOT NULL) ;
Добавление первичного ключа таблицы Zap_chit_bil (Запись читательского билета):
ALTER TABLE ` Zap_chit_bil ` ADD PRIMARY KEY ( ` Nom_stroki_zap ` )
Структура таблицы Zap_chit_bil (Запись читательского билета):
Общая структура базы данных
С помощью команд INSERT INTO и VALUES происходит вставка строк внутрь той или иной таблицы.
Вставка строки для таблицы Catalog_library (Каталог библиотеки) выполняется следующим образом:
INSERT INTO `Var11`.`Sorevnovaniya` (`Id_sorevnovaniya`, `Nazvanie_sorevnovaniya`, `Data_sorevnovaniya`, `Mesto_provedeniya`) VALUES (NULL, 'Прыжки в воду', '2013-02-04', 'Москва');
INSERT INTO `Catalog_library` ( `Bibl_shiphr` , `Nazv_knigi` , `Author` , `God_izd` , `Mesto_izd` , `Nazv_izd` , `Vsego` , `Dostypno` )
VALUES ( ' 681.3А47 ', ' Информатика 2001:учеб.пособие', ' Алексеев, А.П. ', ' 2001 ', ' Самара', ' СОЛОН-Р ', '50', '9');
Для вставки последующих значений в каждую таблицу команды INSERT INTO и VALUES выполняются аналогично.
Данные в таблице Catalog_library (соревнования):
Данные в таблице Chitatel (Спортсмены):
Данные в таблице Zap_chit_bil (Запись читательского билета):
Для данной системы было создано 11 запросов:
Запрос 1. Какие книги были выданы за промежуток времени с 12 по 31-ое марта;
Создается по данным таблиц Zap_chit_bil (Запись читательского билета), Catalog_library (Каталог библиотеки) и является запросом с использованием внутреннего соединения по одному полю:
Результат выполнения запроса 1:
Запрос 2. Какие книги находятся у читателя Бантюкова;
Создается по данным таблиц Chitatel (Читатель), Zap_chit_bil (Запись читательского билета), Catalog_library (Каталог библиотеки) и является запросом с использованием косвенно связанных таблиц:
Результат выполнения запроса 2:
Запрос 3. Вывести, в какие еще дни выдавались книги, выданные 10 марта;
Создается по данным таблиц Zap_chit_bil (Запись читательского билета), Catalog_library (Каталог библиотеки) и является вложенным запросом:
Результат выполнения запроса 3:
Запрос 4. Выбрать всех читателей, у которых время возврата книги приходится на промежуток между 24 марта и 6 апреля;
Создается по данным таблиц Chitatel (Читатель), Zap_chit_bil (Запись читательского билета) и является запросом с использованием левого внешнего соединения таблиц:
Результат выполнения запроса 4:
Запрос 5. Найти номера билетов читателей, которые взяли те же книги, что и читатель Степанова, номер билета которой 757468;
Создается по данным таблицы Zap_chit_bil (Запись читательского билета) и является запросом с использованием рекурсивного соединения:
Результат выполнения запроса 5:
Запрос 6. Вывести доступное количество экземпляров книг, которые взял читатель Рунжин с номером билета 365708;
Создается по данным таблиц Catalog_library (Каталог библиотеки), Zap_chit_bil (Запись читательского билета) и является вложенным запросом:
Результат выполнения запроса 6: