Целью лабораторной работы является приобретение навыков в нормализации отношений.
Требования к содержанию, оформлению и порядку выполнения
В содержательной части отчета по выполнению лабораторной работы требуется отразить процесс нормализации отношений согласно своему варианту. В заключении необходимо сделать вывод о преимуществах информационной модели, полученной в результате выполнения нормализации, по сравнению с исходной моделью.
Теоретическая часть
Теоретические сведения, необходимые для выполнения лабораторной работы, представлены в теме 4.
Общая постановка задачи
Требуется разработать модель БД согласно своему варианту (см. следующий раздел). В каждом варианте задан минимальный набор атрибутов.
В качестве дополнительного задания рекомендуется объединить несколько логически связанных вариантов в один или обоснованно добавлять новые атрибуты.
Список индивидуальных данных
1. ФИО студента; Группа; Предмет; Количество часов; Дата сдачи экзамена; Оценка.
2. ФИО сотрудника; Отдел; Должность; Оклад; Регистрационный номер контракта; Дата подписания контракта; Дата окончания контракта.
3. Дата поставки; Поставщик; Адрес поставщика; Наименование товара; Единица измерения; Количество товара; Цена за единицу товара.
4. Материал; Единица измерения; Дата поступления на склад; Поступившее количество материала; Дата отпуска со склада; Отпущенное количество; Сотрудник, которому отпущен материал.
5. Тема дипломного проекта; ФИО студента; ФИО руководителя; Год выпуска; Оценка.
6. Год выпуска; Число студентов; ФИО члена государственной аттестационной комиссии; Основное место работы члена государственной аттестационной комиссии.
7. Дата заказа; Суммарная стоимость заказа; Заказанный товар; Единица измерения; Количество товара; Цена за единицу товара; Поставщик.
8. Дата; Валюта; Курс покупки, руб.; Курс продажи, руб.; Обменный пункт; Кассир.
9. Наименование изделия; Дата сборки изделия; Наименование комплектующего; Число комплектующих; Стоимость одного комплектующего.
10. Наименование изделия; Дата сборки; Сборщик; Контролер; Заключение контролера.
11. Название многокомпонентной смеси; Дата приготовления смеси; Компонент; Вес компонента.
12. ФИО студента; Группа; Год рождения; Дата прохождения флюорографии; Результат; Пункт прохождения флюорографии.
13. Название книги; Автор; Издательство; ФИО студента; Группа; Дата выдачи книги; Дата возврата книги.
14. ФИО сотрудника; Отдел; Должность; Дата приема на работу; Дата начала стажировки; Дата окончания стажировки; Место стажировки.
15. ФИО сотрудника; Отдел; Дата приема на работу; Год рождения ребенка сотрудника; Дата выдачи льготной путевки для ребенка сотрудника; Продолжительность путевки; Место отдыха; Сумма льготы.
16. ФИО сотрудника; Отдел; Дата приема на работу; Дата выплаты стимулирующей надбавки; Сумма надбавки.
17. ФИО пациента; Адрес пациента; Дата выписки льготного рецепта; Лекарственный препарат; ФИО врача; Место работы врача.
18. Марка автомобиля; Номер; Цвет; Владелец; Дата въезда на автостоянку; Номер занятого места; Дата выезда со стоянки; ФИО дежурного, впустившего автомобиль на стоянку; ФИО дежурного, выпустившего автомобиль со стоянки.
19. Название компакт-диска; Название песни; Исполнитель; Время звучания.
20. Регистрационный номер документа; Название документа; Дата документа; Дата передачи документа для ознакомления; Название отдела, куда передан документ; Телефон отдела; Дата возврата документа.
Пример выполнения работы
Рассмотрим 20 вариант. В данном варианте требуется разработать модель БД, в которой сохраняется информация о движении некоторых документов. Согласно заданию, необходимо сохранять следующий минимальный набор атрибутов:
· Регистрационный номер документа (РН_док);
· Название документа (Имя_док);
· Дата документа (Дата_док);
· Дата передачи документа для ознакомления (Дата_перед);
· Название отдела, куда передан документ (Имя_отд);
· Телефон отдела (Тел_отд);
· Дата возврата документа (Дата_возв).
Назовем исходное отношение «Движение документов» (ДВ_ДОК). Здесь в скобках указаны сокращения, которые будут использоваться далее для обозначения атрибутов и отношения.
Итак, требуется разработать модель БД для хранения отношения ДВ_ДОК(РН_док, Имя_док, Дата_док, Дата_перед, Имя_отд, Тел_отд, Дата_возвр). Данное отношение находится в 1НФ.
В данном отношении ключ составляют следующие атрибуты: РН_док, Имя_отд, Дата_перед. При этом предполагается следующее:
· любые два различных документа должны иметь различные регистрационные номера (значение атрибута РН_док должно быть уникально);
· не должно быть отделов с одинаковыми названиями (значение атрибута Имя_отд должно быть уникально);
· документ передается для ознакомления в некоторый отдел не чаще чем единица приращения атрибута Дата_перед. Например, если атрибут Дата_перед сохраняет дату как день, месяц и год, то документ должен передаваться для ознакомления в некоторый отдел не чаще, чем один раз в день. Если требуется передавать документ в отдел более чем один раз в день, то в атрибуте Дата_перед кроме дня, месяца и года требуется сохранять время передачи документа.
В отношении ДВ_ДОК есть следующие частичные функциональные зависимости:
1. Атрибуты Имя_док, Дата_док зависят от части составного ключа РН_док.
2. Атрибут Тел_отд зависит от части составного ключа Имя_отд.
Таким образом, данное отношение не находится во 2 НФ и требует дальнейших преобразований.
Чтобы устранить частичную зависимость в отношении, необходимо разложить отношение на два отношения следующим образом:
1. Построить проекцию без атрибутов, которые находятся в частичной функциональной зависимости от составного ключа.
2. Построить проекцию на часть составного ключа и атрибуты, зависящие от этой части.
Для устранения первой частичной зависимости в отношении ДВ_ДОК, необходимо выполнить следующие действия:
1. ДВ1=ДВ_ДОК[РН_док, Имя_отд, Дата_перед, Тел_отд, Дата_возвр].
2. ДОК=ДВ_ДОК[РН_док, Имя_док, Дата_док].
Итак, исходное отношение ДВ_ДОК разбито на два отношения: ДВ1 и ДОК. В результате разбиения устранена зависимость атрибутов Имя_док, Дата_док от части составного ключа РН_док, которая имелась в отношении ДВ_ДОК. Однако, в полученном отношении ДВ1 еще осталась зависимость атрибута Тел_отд от части составного ключа Имя_отд. Для устранения данной частичной зависимости необходимо выполнить следующие действия:
1. ДВ=ДВ1[РН_док, Имя_отд, Дата_перед, Дата_возвр].
2. ОТД=ДВ1[Имя_отд, Тел_отд].
В результате отношение ДВ1 разбито на два отношения: ДВ и ОТД. В данных отношениях частичные зависимости отсутствуют.
Итак, после всех преобразований исходное отношение ДВ_ДОК разбито на три отношения: ДОК, ДВ и ОТД, которые находятся во 2НФ. Поскольку в полученных отношениях отсутствуют функциональные зависимости между неключевыми атрибутами, то эти отношения находятся в 3НФ. Полученная модель данных в виде диаграммы IDEF1X представлена на рис.Л5.1.
В модели определены три отношения (сущности): ДОК, ДВ и ОТД. Отношения ДОК и ОТД содержат информацию о документах и отделах соответственно. Отношение ДВ содержит информацию о движении документов. Один документ может передаваться для ознакомления много раз, поэтому между отношением ДОК и ДВ определена идентифицирующая связь типа один-ко-многим. Один отдел может брать для ознакомления много документов, поэтому между отношением ОТД и ДВ определена идентифицирующая связь типа один-ко-многим.
Контрольные вопросы к защите
1. Основные понятия реляционной модели данных.
2. Понятие нормализации отношений. Цели выполнения нормализации.
3. Понятие функциональной зависимости между атрибутами. Виды зависимостей.
4. Понятие 1НФ, 2НФ и 3НФ.
5. Правила выполнения нормализации отношений.
Способ оценки результатов
Критерии оценки результатов совпадают с критериями, определенными при описании лабораторной работы №1 в разделе «Способ оценки результатов».
Дата: 2016-09-30, просмотров: 202.