САМОСТОЯТЕЛЬНАЯ РАБОТА ПО НОРМАЛИЗАЦИИ ОТНОШЕНИЙ




ЗАДАНИЕ 1

Экземпляр отношения:

Блюдо Вид Рецепт Порций Дата Р Продукт Калорийность Вес(г) Поставщик Город Страна Вес(кг) Цена($) Дата П
Лобио Закуска Лом.   1/9/94 Фасоль     «Хуанхэ» Пекин Китай   0.37 24/8/94
          Лук     «Наталка» Киев Украина   0.52 27/8/94
          Масло     «Лайма» Рига Латвия   1.55 30/8/94
          Зелень     «Даугва» Рига Латвия   0.99 30/8/94
Харчо Суп ...   1/9/94 Мясо     «Наталка» Киев Украина   2.18 27/8/94
          Лук     «Наталка» Киев Украина   0.52 27/8/94
          Томаты     «Полесье» Киев Украина   0.45 27/8/94
          Рис     «Хуанхэ» Пекин Китай   0.44 27/8/94
          Масло     «Полесье» Киев Украина   1.62 27/8/94
          Зелень     «Наталка» Киев Украина   0.88 27/8/94
Шашлык Горячее ...   1/9/94 Мясо     «Юрмала» Рига Латвия   2.05 30/8/94
          Лук     «Полесье» Киев Украина   0.61 27/8/94
          Томаты     «Полесье» Киев Украина   0.45 27/8/94
          Зелень     «Даугава» Рига Латвия   0.99 30/8/94
Кофе Десерт ...   1/9/94 Кофе     «Хуанхэ» Пекин Китай   2.87 24/8/94

Дозаполним данные в изначальном экземпляре отношенияи дадим имя отношению :

Блюдо Вид Рецепт Порций Дата Р Продукт Калорийность Вес (г) Поставщик Город Страна Вес(кг) Цена($) Дата П
Лобио Закуска Лом.   1/9/94 Фасоль     «Хуанхэ» Пекин Китай   0.37 24/8/94
Лобио Закуска Лом.   1/9/94 Лук     «Наталка» Киев Украина   0.52 27/8/94
Лобио Закуска Лом.   1/9/94 Масло     «Лайма» Рига Латвия   1.55 30/8/94
Лобио Закуска Лом.   1/9/94 Зелень     «Даугва» Рига Латвия   0.99 30/8/94
Харчо Суп Блендер   1/9/94 Мясо     «Наталка» Киев Украина   2.18 27/8/94
Харчо Суп Блендер   1/9/94 Лук     «Наталка» Киев Украина   0.52 27/8/94
Харчо Суп Блендер   1/9/94 Томаты     «Полесье» Киев Украина   0.45 27/8/94
Харчо Суп Блендер   1/9/94 Рис     «Хуанхэ» Пекин Китай   0.44 27/8/94
Харчо Суп Блендер   1/9/94 Масло     «Полесье» Киев Украина   1.62 27/8/94
Харчо Суп Блендер   1/9/94 Зелень     «Наталка» Киев Украина   0.88 27/8/94
Шашлык Горячее На углях   1/9/94 Мясо     «Юрмала» Рига Латвия   2.05 30/8/94
Шашлык Горячее На углях   1/9/94 Лук     «Полесье» Киев Украина   0.61 27/8/94
Шашлык Горячее На углях   1/9/94 Томаты     «Полесье» Киев Украина   0.45 27/8/94
Шашлык Горячее На углях   1/9/94 Зелень     «Даугава» Рига Латвия   0.99 30/8/94
Кофе Десерт Заказать   1/9/94 Кофе     «Хуанхэ» Пекин Китай   2.87 24/8/94

Отношение находится в 1НФ, так как на пересечении каждого столбца и каждой строки содержится одно значение.

Аномалии для :

Аномалия Есть ли в отношении Пример
Модификации Есть Для изменения рецепта у любого продукта надо пересмотреть всю таблицу
Удаления Есть Если удалить строчку с Блюдом шашлык и с Продуктом Мясо, то пропадет информацию о поставщике «Юрмала»
Вставки данных Есть Для создания нового блюда необходимо сразу определить калорийность

 

Потенциальные ключи:

{Блюдо, Дата_П, Продукт} – первичный ключ

{Рецепт, Дата_П, Продукт}

Функциональные зависимости:

Продукт -> Калорийность;

Блюдо -> Вид;

Блюдо -> Рецепт;

Блюдо, Дата_Р -> Порции;

Блюдо, Продукт -> Вес;

Продукт, Поставщик, Город, Страна, Дата_П -> Вес (кг);

Продукт, Поставщик, Город, Страна, Дата_П -> Цена ($);

Ключевые атрибуты:

Блюдо, Рецепт, Дата_Р, Продукт

Неключевые атрибуты:

Вид, Порции, Калорийность, Вес(г), Поставщик, Город, Страна, Вес(кг), Цена ($), Дата_П

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

Продукт -> Калорийность;

Блюдо -> Вид;

Блюдо -> Рецепт;

 

Блюдо, Дата_Р -> Порции;

Блюдо, Продукт -> Вес.

. Сводная_Таблица

Блюдо Дата Р Продукт Поставщик Город Страна Вес(кг) Цена($) Дата П
Лобио 1/9/94 Фасоль «Хуанхэ» Пекин Китай   0.37 24/8/94
Лобио 1/9/94 Лук «Наталка» Киев Украина   0.52 27/8/94
Лобио 1/9/94 Масло «Лайма» Рига Латвия   1.55 30/8/94
Лобио 1/9/94 Зелень «Даугва» Рига Латвия   0.99 30/8/94
Харчо 1/9/94 Мясо «Наталка» Киев Украина   2.18 27/8/94
Харчо 1/9/94 Лук «Наталка» Киев Украина   0.52 27/8/94
Харчо 1/9/94 Томаты «Полесье» Киев Украина   0.45 27/8/94
Харчо 1/9/94 Рис «Хуанхэ» Пекин Китай   0.44 27/8/94
Харчо 1/9/94 Масло «Полесье» Киев Украина   1.62 27/8/94
Харчо 1/9/94 Зелень «Наталка» Киев Украина   0.88 27/8/94
Шашлык 1/9/94 Мясо «Юрмала» Рига Латвия   2.05 30/8/94
Шашлык 1/9/94 Лук «Полесье» Киев Украина   0.61 27/8/94
Шашлык 1/9/94 Томаты «Полесье» Киев Украина   0.45 27/8/94
Шашлык 1/9/94 Зелень «Даугава» Рига Латвия   0.99 30/8/94
Кофе 1/9/94 Кофе «Хуанхэ» Пекин Китай   2.87 24/8/94

. Продукт_Калорийность

Продукт Калорийность
Фасоль  
Лук  
Масло  
Зелень  
Мясо  
Томаты  
Рис  
Кофе  

. Блюдо_Рецепт

Блюдо Рецепт
Лобио Лом.
Харчо Блендер
Шашлык На углях
Кофе Заказать

. Блюдо_Вид

Блюдо Вид
Лобио Закуска
Харчо Суп
Шашлык Горячее
Кофе Десерт

. Блюдо_Порции

Блюдо Порций Дата Р
Лобио   1/9/94
Харчо   1/9/94
Шашлык   1/9/94
Кофе   1/9/94

. Блюдо_Вес

Блюдо Продукт Вес (г)
Лобио Фасоль  
Лобио Лук  
Лобио Масло  
Лобио Зелень  
Харчо Мясо  
Харчо Лук  
Харчо Томаты  
Харчо Рис  
Харчо Масло  
Харчо Зелень  
Шашлык Мясо  
Шашлык Лук  
Шашлык Томаты  
Шашлык Зелень  
Кофе Кофе  

 

Аномалии для :

Аномалия Есть ли в отношении Пример
Модификации Есть Для изменения имени у поставщика надо пересмотреть всю таблицу
Удаления Есть Если удалить строчку с Блюдом шашлык и с Продуктом Мясо, то пропадет информацию о поставщике «Юрмала»
Вставки данных Нет  

 

Отношения , , , , находятся в 3НФ, так как все неключевые атрибуты взаимно-независимы.

Отношение не в 3НФ, так как неключевые атрибуты взаимно-зависимы:

Продукт, Поставщик, Город, Страна, Дата_П -> Вес (кг);

Продукт, Поставщик, Город, Страна, Дата_П -> Цена ($);

Делаем декомпозицию:

. Сводная_Таблица

Блюдо Дата Р Продукт Поставщик Город Страна Дата П
Лобио 1/9/94 Фасоль «Хуанхэ» Пекин Китай 24/8/94
Лобио 1/9/94 Лук «Наталка» Киев Украина 27/8/94
Лобио 1/9/94 Масло «Лайма» Рига Латвия 30/8/94
Лобио 1/9/94 Зелень «Даугва» Рига Латвия 30/8/94
Харчо 1/9/94 Мясо «Наталка» Киев Украина 27/8/94
Харчо 1/9/94 Лук «Наталка» Киев Украина 27/8/94
Харчо 1/9/94 Томаты «Полесье» Киев Украина 27/8/94
Харчо 1/9/94 Рис «Хуанхэ» Пекин Китай 27/8/94
Харчо 1/9/94 Масло «Полесье» Киев Украина 27/8/94
Харчо 1/9/94 Зелень «Наталка» Киев Украина 27/8/94
Шашлык 1/9/94 Мясо «Юрмала» Рига Латвия 30/8/94
Шашлык 1/9/94 Лук «Полесье» Киев Украина 27/8/94
Шашлык 1/9/94 Томаты «Полесье» Киев Украина 27/8/94
Шашлык 1/9/94 Зелень «Даугава» Рига Латвия 30/8/94
Кофе 1/9/94 Кофе «Хуанхэ» Пекин Китай 24/8/94

 

. ИнформацияоПоставках

Продукт Поставщик Город Страна Вес(кг) Цена($) Дата П
Фасоль «Хуанхэ» Пекин Китай   0.37 24/8/94
Масло «Лайма» Рига Латвия   1.55 30/8/94
Мясо «Наталка» Киев Украина   2.18 27/8/94
Лук «Наталка» Киев Украина   0.52 27/8/94
Томаты «Полесье» Киев Украина   0.45 27/8/94
Рис «Хуанхэ» Пекин Китай   0.44 27/8/94
Масло «Полесье» Киев Украина   1.62 27/8/94
Зелень «Наталка» Киев Украина   0.88 27/8/94
Мясо «Юрмала» Рига Латвия   2.05 30/8/94
Лук «Полесье» Киев Украина   0.61 27/8/94
Зелень «Даугава» Рига Латвия   0.99 30/8/94
Кофе «Хуанхэ» Пекин Китай   2.87 24/8/94

 

Проверка корректности процедуры нормализации:

Получаем следующее отношение :

Блюдо Дата Р Продукт Поставщик Город Страна Дата П Вес(кг) Цена($)
Лобио 1/9/94 Фасоль «Хуанхэ» Пекин Китай 24/8/94   0.37
Лобио 1/9/94 Лук «Наталка» Киев Украина 27/8/94   0.52
Лобио 1/9/94 Масло «Лайма» Рига Латвия 30/8/94   1.55
Лобио 1/9/94 Зелень «Даугва» Рига Латвия 30/8/94   0.99
Харчо 1/9/94 Мясо «Наталка» Киев Украина 27/8/94   2.18
Харчо 1/9/94 Лук «Наталка» Киев Украина 27/8/94   0.52
Харчо 1/9/94 Томаты «Полесье» Киев Украина 27/8/94   0.45
Харчо 1/9/94 Рис «Хуанхэ» Пекин Китай 27/8/94   0.44
Харчо 1/9/94 Масло «Полесье» Киев Украина 27/8/94   1.62
Харчо 1/9/94 Зелень «Наталка» Киев Украина 27/8/94   0.88
Шашлык 1/9/94 Мясо «Юрмала» Рига Латвия 30/8/94   2.05
Шашлык 1/9/94 Лук «Полесье» Киев Украина 27/8/94   0.61
Шашлык 1/9/94 Томаты «Полесье» Киев Украина 27/8/94   0.45
Шашлык 1/9/94 Зелень «Даугава» Рига Латвия 30/8/94   0.99
Кофе 1/9/94 Кофе «Хуанхэ» Пекин Китай 24/8/94   2.87

 

Значения в отношении равны значениям в отношении

Нормализацию на БКНФ проводить не надо, так как отношения не содержат пересекающих ключей.

Нормализацию на 4НФ проводить не надо, так как нет отношений, в которых все атрибуты составляли бы потонциальные ключи.

Нормализацию на 5НФ проводить не надо, так как отсутствуют зависимости соединения.


 

ЗАДАНИЕ 2

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

График :

Номер_сотрудника Дата Смена Рабочее_место Вышел_на_работу?
  5.5.2017   Стол1 Да
  5.5.2017   Стол1 Нет
  5.5.2017   Стол2 Да
  5.5.2017   Стол2 Да
  5.5.2017   Стол3 Да
  5.5.2017   Стол4 Нет

 

Провести нормализацию отношения.

Отношение находится в 1НФ, так как на пересечении каждого столбца и каждой строки содержится одно значение.

Потенциальные ключи:

{Номер_сотрудника, Дата, Смена}

{Рабочее_место, Дата, Смена}

Функциональные зависимости:

Номер_сотрудника, Дата, Смена ->Рабочее_место;

Номер_сотрудника, Дата, Смена ->Вышел_на_работу?;

Рабочее_место, Дата, Смена->Рабочее_место;

Рабочее_место, Дата, Смена->Вышел_на_работу?;

Ключевые атрибуты:

Номер_сотрудника, Дата, Смена, Рабочее_место

Неключевые атрибуты:

Вышел_на_работу?

Отношение соответсвует 2НФ, так как нет зависимости неключевых атрибутов от части сложного ключа.

Отношение находятся в 3НФ, так как все неключевые атрибуты взаимно-независимы.

Необходимо проверить на соответствие НФ Бойса-Кодда, так как отношение содержит пересекающиеся потенциальные ключи. Рассмотррим функциональные зависимости и определим, что отношение соответствует НФ Бойса-Кодда, так каквсе функциональные зависимости в качестве детерминанта имеет некоторый потенциальный ключ.

Отношение соответствует 4НФ, так как в потенциальные ключи входят не все атрибуты отношения.

Отношение соответствует 5НФ, так как отношение не содержит зависимостей соединения.

 

 



Поделиться:




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

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


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