Повна версія

Головна arrow Інформатика arrow Бази даних: проектування

  • Увеличить шрифт
  • Уменьшить шрифт


<<   ЗМІСТ   >>

П'ята нормальна форма (5НФ)

Найчастіше виникає залежність атрибутів відносини, коли вони попарно залежні один від одного. Наприклад, ставлення з атрибутами "Замовлення", "Товар", "Постачальник" є таким, оскільки є функціональна залежність товару від постачальника, а також залежність замовлення від товару і постачальника. Така функціональна залежність називається залежністю з'єднання. Змістовно її можна визначити наступним чином: замовлення містить багато товарів, товар поставляється безліччю постачальників, постачальник міститься у великій кількості замовлень.

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

Відношення знаходиться в п'ятій нормальній формі тоді і тільки тоді, коли воно знаходиться в 4НФ і кожна нетривіальна залежність визначається її потенційним ключем.

Таким чином, розглядається відношення не в 51ІФ, оскільки екземпляр даних не визначається потенційним ключем "Замовлення" і (або) "Товар", а формується тільки комбінацією всіх атрибутів відносини. В результаті вихідне відношення може бути розділене на три відносини, які будуть перебувати в п'ятій нормальній формі (рис. 2.84).

image124

Мал. 2.84. Подання відносини в 5НФ


Цей поділ призводить до утворення в кожному відношенні залежностей від потенційних ключів, а з'єднання відносин сформує повністю точне вихідне відношення.

Правило переходу 4НФ ​​- "5НФ

Якщо відношення знаходиться в 4НФ і існують залежності з'єднання, не можуть бути визначені потенційними ключами, то виділяються відносини, що містять такі залежності.

В результаті проведення всіх операцій нормалізації до 5НФ вважається, що розробник отримує повністю нормалізоване відношення, нс містить ніяких аномалій оновлення.

Шоста нормальна форма (6НФ)

Іноді в базах даних необхідно використовувати хронологічні відомості, що підкоряються тимчасовим даними, де одним з атрибутів є дата та (або) час, або інтервальним значенням, оскільки хронологія може відображатися не тільки даними часу, але і іншими елементами, які можна представити у вигляді суворої послідовно і висловити інтервалом значень. Використання тимчасових даних обумовлено необхідністю відображення в базі даних хронології життя окремих відомостей або їх комбінації. Наприклад, в часі можна відстежувати статус замовлення, занесення в замовлення товару або щось ще. При цьому кожен елемент тимчасового відстеження підпорядковується власним тимчасовому показнику. В результаті відношення має мати для кожного зміни атрибута відстеження свій екземпляр (табл. 2.26).

Таблиця 2.26

Приклад відносини "Замовлення"

замовлення

статус

товар

Дата

31

створено

-

01.01.2014

31

створено

Порохотяг

01.01.2014

31

створено

Пилосос, чайник

02.01.2014

31

оформлений

Пилосос, чайник

02.01.2014

31

оплачено

Пилосос, чайник

03.01.2014

31

доставлений

Пилосос, чайник

06.01.2014



Звичайно, таке ставлення досить проблематично обробляти, оскільки потрібно дублювати раніше сформовані відомості, а також виникають аномалії оновлення, які потребують контролю наявних даних.

Відношення знаходиться в шостий нормальній формі тоді і тільки тоді, коли воно представлено в 5НФ. задовольняє всім нетривіальним залежностям з'єднання і одна з розглянутих проекцій виконується по всіх атрибутів відносини.

По суті, ставлення в шостий нормальній формі передбачає виділення відносини, але тимчасового зчеплення потенційному ключу і відносин по схильним хронології атрибутам з цим потенційним ключем (рис. 2.85).

image125

Мал. 2.85. Ставлення в 6НФ


Правило переходу 5НФ 6НФ

Якщо відношення знаходиться в 5НФ і в ньому присутні незалежні в часі хронологічні атрибути, то виділяється відношення хронології, що становить тимчасове розвиток, з атрибутами у вигляді ключа, який використовується в виділених відносинах з хронологічним атрибутам, функціонально залежним від тимчасового ключа.

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

 
<<   ЗМІСТ   >>