Базы данных

Автор работы: Пользователь скрыл имя, 20 Октября 2013 в 14:44, контрольная работа

Краткое описание

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

Прикрепленные файлы: 1 файл

курсовая_пример.doc

— 3.00 Мб (Скачать документ)

Поволжский  государственный университет телекоммуникаций и информатики

Факультет «Информационных  систем и технологий»

 

Кафедра «Информационные системы и технологии»

 

Сдана на проверку Допустить к защите

«_____»____201_ г.    «_____»____201_ г.

Защищена с оценкой

________________

”_____”______ 201_г.

 

КУРСОВАЯ  РАБОТА

по дисциплине «Базы данных»

 

 

Студентка группы                     15 ПИ     Юртаева Ксения Юрьевна 

 

Руководитель     Козлова Ольга Семёновна

 

 

№ зачетной книжки 113938

 

 

САМАРА

2013

Рецензия 

Оглавление

 

 

 

 

            1. Постановка задачи

Вариант 11

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

В регистрационном списке спортсменов должны храниться следующие сведения:

  • фамилия, имя и отчество спортсмена;
  • дата рождения спортсмена;
  • вид спорта;
  • название команды;
  • разряд.

Наряду с  регистрационным списком системой должен поддерживаться каталог спортивной организации, где хранится информация о соревнованиях:

  • название соревнования;
  • дата проведения;
  • место проведения.

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

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

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

Система должна выдавать следующую справочную информацию:

  • какие соревнования были проведены в данный промежуток времени;
  • какие результаты показали спортсмены в данном соревновании;
  • какой мировой рекорд установлен по данному виду спорта;

 

Вариант задания предусматривает  разработку ER-диаграммы, хранящей список спортсменов, каталог соревнований и записи о мировых рекордах.

Реализация настоящей  БД должна быть произведена средствами СУБД MySQL.

В MySQL должны  разрабатываться таблицы, связи между ними.

Необходимо также разработать не менее 10 запросов следующих типов:

  1. С использованием внутреннего соединения по одному полю;
  2. С использованием косвенно связанных таблиц;
  3. С использованием внешнего соединения таблиц;
  4. С использованием рекурсивного соединения;
  5. С использованием вложенного запроса;
  6. С использованием функций агрегирования;
  7. Перекрестный запрос;
  8. С параметрами;
  9. С вычисляемым полем.

 

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

 

Из описания предметной области следуют:

    1. Сущности:
    • Спортсмены;
    • Соревнования;
    • Виды спорта;
    • Участие в соревнованиях.

 

    1. Атрибуты:
    • ID спортсмена;
    • Фамилия;
    • Имя;
    • Отчество;
    • Дата рождения;
    • Вид спорта;
    • Команда;
    • Разряд;

являются атрибутами сущности «Спортсмены».

  • ID соревнования;
  • Название соревнования;
  • Дата проведения;
  • Место проведения;

являются атрибутами сущности «Соревнования».

      • Вид спорта;
      • Мировой рекорд;
      • Дата рекорда;
      • Единица измерения;

являются атрибутами сущности «Виды спорта».

      • ID участия;
      • ID спортсмена;
      • ID соревнования;
      • Вид спорта;
      • Результат;

являются атрибутами сущности «Участие в соревнованиях».

 

    1. Ключи сущностей:
    • ID спортсмена является первичным ключом сущности «Спортсмены»;
    • ID соревнования является первичным ключом сущности  «Соревнования»;
    • Вид спорта является первичным ключом сущности  «Виды спорта»;
    • ID участия является первичным ключом сущности  «Участие в соревнования».

 

    1. Связи сущностей:

Между сущностями «Спортсмены» и «Виды спорта»:

Слева направо: «Читатель может иметь несколько записей читательского билета»;

Справа  налево: «Каждая запись читательского билета должна принадлежать одному читателю»;

Тип связи:один -ко-многим.

Между сущностями «Каталог библиотеки» и «Запись читательского билета»:

Слева направо: «Книга может быть выдана несколько раз»;

Справа  налево: «Каждая запись читательского  билета соответствует одной книге»;

Тип связи: один-ко-многим.

Концептуальная модель заданной предметной области представлена на рис. 1





 

 

 


 

 



 



 

 

Рис 1. ER-диаграмма предметной области

  1. Разработка таблиц и схемы базы данных

 

Для создания данной системы  управления данными понадобятся  следующие таблицы:

  • Sportsmeny
  • Sorevnovaniya
  • Vidy_sporta
  • Uchastie 

В СУБД 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 (Запись читательского билета):

 

 

 

  1. Запросы системы

 

Для данной системы было создано 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:

 

                   

Информация о работе Базы данных