Лабораторная работа №5. Нормализация отношений
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Целью лабораторной работы является приобретение навыков в нормализации отношений.

Требования к содержанию, оформлению и порядку выполнения

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

Теоретическая часть

Теоретические сведения, необходимые для выполнения лабораторной работы, представлены в теме 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, просмотров: 171.