Реализация в СУБД Access




Контрольная работа «Элементы проектирования и разработки баз данных»

Цель: выработать навыки создание простых баз данных в СУБД Access.

Задачи:

1. Привести описание предметной области (объем не менее 0,5 страницы), указать: назначение БД, перечень данных планируемых для хранения, границы предметной области (что не включается в предметную область), основного пользователя БД, основные транзакции (к задаче 6).

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

3. Преобразовать полученную ER-модель в реляционную. Выполнить нормализацию до 3 нормальной формы.

4. Реализовать полученную реляционную модель в СУБД Access.

5. Заполнить полученную базу данных (не менее 10 записей в каждой таблице)

6. Сформулировать не менее 5 запросов на выборку и реализовать их в виде SQL выражения, при этом хотя бы:

один запрос на выборку из одной таблице,

два запроса на выборку из двух таблиц и более,

один запрос к одной таблице содержащий агрегирующую функцию,

два запроса к двум и более таблицам содержащий агрегирующую функцию,

один запрос с группировкой (GROUP BY).

1. Вариант выполняемой работы выбирается по номеру зачетки (две последние цифры). 2.

2. Отчет по контрольной работе в полном объеме распечатывается и сдается на проверку на кафедру(отчет д.б.оформлен соответствующим образом, страницы прономерованы и либо прошиты, либо вложены в папку – скоросшиватель) Шаблон отчета прилагается.

3. Параллельно с «бумажным» вариантом должна на быть готова к представлению и работе на «флешке» соответствующая база данных.

Индивидуальные задания

Предметные области:


0. Деканат

1. Кулинарная книга

2. Кинотеатр

3. Медиотека

4. Фонотека

5. Видеотека

6. Сайты в Интернете

7. Отдел кадров

8. Автосервис

9. Продажа автомобилей

10. Аэропорт

11. Железнодорожное депо

12. Библиотека

13. Воинская часть

14. Деканат вуза

15. Гостиничный комплекс

16. Коммунальные платежи

17. Автоматизированное рабочее место терапевта

18. Магазин спорттоваров

19. Книжный магазин

20. Страховая компания

21. Учет очередников на получение жилья

22. Телефонный справочник

23. Пособия и студенты

24. Компьютер и комплектующие

25. Животный мир

26. Земельный кадастр

27. Склад

28. Российская футбольная премьер –лига

29. Агентство недвижимости

30. Салон красоты

31. Брачное агентство

32. Мебельный магазин

33. Фотосалон

34. Хоккей: Супер-лига

35. Туристическая фирма.


 

 

Пример выполнения

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

Описание предметной области

Рассмотрим пример выполнения варианта 0. Предметная область «Деканат». База данных «Деканат» предназначена для хранения сведений о студентах факультета, а именно: фамилия, имя, отчество, номер зачетной книжки, сведения об успеваемости по дисциплинам. База данных не предполагает хранение сведений об учебных планах группы и индивидуальных учебных планах, допускает возможность выбора для каждого студента любой дисциплины в рамках направления, внесенной ранее в БД. Пользователем БД является сотрудник деканата. К базе данных будут выполняться следующие запросы:

1. Формирование списков студентов по группам.

2. Формирование списка дисциплин по заданному направлению.

3. Определить число отличников в каждой группе.

Модель сущность-связь

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

  Сущность Атрибуты Домены Тип данных
  Студент Шифр студента Множество допустимых шифров студентов Число
    Фамилия Множество допустимых фамилия Строка
    Имя Множество допустимых имен Строка
    Отчество Множество допустимых отчеств Строка
    Год рождения Множество годов рождения с 1940 Число
    Шифр группы Строки в формате Год поступления – аббревиатура направления Строка
  Группы Шифр группы Строки в формате Год поступления – аббревиатура направления Строка
    Шифр направления Строки в формате число-число-число, определяющие множество допустимых шифров направлений Строка
  Направления Шифр направления Строки в формате число-число-число, определяющие множество допустимых шифров направлений Строка
    Название направлений Множество допустимых названий направлений, определенных классификатором направлений Строка
  Дисциплины Шифр дисциплины Множество допустимых шифров дисциплин Строка
    Название дисциплины Множество допустимых названий дисциплин Строка
  Успеваемость ID оценки Множество числе от 1 до N Число
    Шифр студента Множество допустимых шифров студентов Число
    Шифр дисциплины Множество допустимых шифров дисциплин Строка
    Семестр Число от 1 до 12 Число
    Оценка Множество (зачтено, не зачтено, отлично, хорошо, удовлетворительно, неудовлетворительно) Строка

 

Диаграмма ER-модели

Реляционная модель

Таблица/ Отношение Поля Тип данных Обязательное Примечания
Студент Шифр студента Число Да Первичный ключ
  Фамилия Строка Да  
  Имя Строка Да  
  Отчество Строка Нет  
  Год рождения Число Нет  
  Шифр группы Строка Да Внешний ключ
Группы Шифр группы Строка Да Первичный ключ
  Шифр направления Строка Да Внешний ключ
Направления Шифр направления Строка Да Первичный ключ
  Название направлений Строка Да  
Дисциплины Шифр дисциплины Строка Да Первичный ключ
  Название дисциплины Строка Да  
Успеваемость ID оценки Число Да Первичный ключ
  Шифр студента Число Да Внешний ключ
  Шифр дисциплины Строка Да Внешний ключ
  Семестр Число Да  
  Оценка Строка Да  

Нормализация:

НФ1 – все данные атомарны.

НФ2 – в таблицах нет функциональных зависимостей от части первичного ключа.

НФ3 – в таблицах нет транзитивных функциональных зависимостей.

Вывод: Реляционная модель находится в НФ3.

Реализация в СУБД Access

Используя конструктор создаем таблицу «Студент». В поле Год рождения задаем ограничение на год рождения (см. Правило проверки).

Используя конструктор создаем таблицу «Группы». Поскольку используется форматированный шифр группы – для отслеживания корректности ввода используем Маску ввода.

 

Создаем схему данных. Талицы Направления и Группы связаны по полю Шифр направления как один-ко-многим.

 

Аналогично описываем остальные связи

Результирующая схема данных приведена на рисунке ниже.

 

Заполнение базы данных

Ниже приведены заполненные таблицы

 

 

Приводим пример по каждой таблице

Запросы

 

1. Формирование списков студентов по группам.

SELECT Студент.[Шифр студента], Студент.Фамилия, Студент.Имя

FROM Студент

WHERE (Студент.[Шифр группы]=[]);

 

2. Формирование списка дисциплин по заданному направлению.

SELECT Направления.[Шифр направления], Дисциплины.[Шифр дисциплины], Дисциплины.[Название дисцплины]

FROM Направления INNER JOIN Дисциплины ON Направления.[Шифр направления] = Дисциплины.[Шифр направления]

WHERE (((Направления.[Шифр направления])=[]));

 

3. Определить число отличников в каждой группе.

SELECT Count(Студент.[Шифр студента]) AS [Count-Шифр студента]

FROM Студент INNER JOIN Успеваемость ON Студент.[Шифр студента] = Успеваемость.[Шифр студента]

WHERE (((Успеваемость.Оценка)="отлично"))

GROUP BY Студент.[Шифр группы];

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-08-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: