удь-якої з вхідних в нього атрибутів (частин). Або іншими словами: в 2НФ немає неключових атрибутів, залежних від частини складного ключа (+ виконуються умови 1НФ).
Приклад приведення таблиці до другої нормальної форми
Нехай Начальник і Посада разом утворюють первинний ключ в такій таблиці:
НачальнікДолжностьЗарплатаНалічіе компьютераГришинКладовщик20000НетВасильевПрограммист40000ЕстьВасильевКладовщик25000Нет
Зарплату співробітнику кожен начальник встановлює сам, але її кордони залежать від посади. Наявність же комп'ютера у співробітника залежить тільки від посади, тобто залежність від первинного ключа не повна.
У результаті приведення до 2NF отримаємо дві таблиці:
НачальникДолжностьЗарплатаГришинКладовщик20000ВасильевПрограммист40000ВасильевКладовщик25000
Тут первинний ключ, як і у вихідній таблиці, складовою, але єдиний не входить у нього атрибут Зарплата залежить тепер від усього ключа, тобто повно.
ДолжностьНалічіе компьютераКладовщікНетПрограммістЕсть
. 3 Третя нормальна форма (3NF)
Третя нормальна форма. (Знову визначення дається в припущенні існування єдиного ключа.)
Таблиця знаходиться в третій нормальній формі, якщо вона знаходиться в другій нормальній формі, і при цьому будь-який її неключових атрибут функціонально залежить тільки від первинного ключа. Або що теж саме - немає залежностей неключових атрибутів від інших неключових атрибутів + ??2НФ .
При вирішенні практичних завдань в більшості випадків третього нормальна форма є достатньою. Процес проектування реляційної бази даних, як правило, закінчується приведенням до 3NF.
Приклад приведення таблиці до третьої нормальної форми
ФамилияОтделТелефонГришин111-22-33Васильев111-22-33Петров244-55-66
У результаті приведення до 3NF отримаємо дві таблиці:
ФаміліяОтделГрішін1Васільев1Петров2
ОтделТелефон111-22-33244-55-66
. 4 Нормальна форма Бойса-Кодда (NFBC)
Між третьою і четвертою формами існує ще один різновид - нормальна форма Бойса-Кодда (НФБК). Всі залежні від первинного ключа атрибути повинні бути потенційними ключами відносини. Якщо ця умова не виконується для них створюється окреме ставлення. Щоб сутність відповідала НФБК, вона повинна знаходитися в третій нормальній формі. Будь-яка сутність з єдиним можливим ключем, що відповідає вимогам третьої нормальної форми, автоматично знаходиться в НФБК.
Приклад приведення таблиці до нормальної форми Бойса-Кодда
Номер кліентаДата собеседованіяВремя собеседованіяНомер комнатиНомер сотрудникаС34513.10.0313.00103А138С35513.10.0313.05103А136С36813.09.0313.00102А154С36613.09.0313.30105А207
У результаті приведення до форми Бойса-Кодда отримаємо дві таблиці:
Номер кліентаДата собеседованіяВремя собеседованіяНомер СотрудникаС34513.10.0313.00А138С35513.10.0313.05А136С36813.09.0313.00А154С36613.09.0313.30А207
Дата собеседованіяНомер сотруднікаНомер комнати13.10.03А13810313.10.03А13610313.09.03А15410213.09.03А207105
Приклад ситуації 3NF, але не BCNF: відношення має два (або більше) можливих ключа, що є складовими і мають загальний атрибут. Однак на практиці як правило 3NF еквівалентна BCNF.
. 5 Четверта нормальна форма (4NF)
Таблиця знаходиться в 4NF, якщо вона знаходиться в BCNF і не містить нетривіальних багатозначних залежностей. Багатозначна залежність не є функціональною, вона існує в тому випадку, коли з факту, що в таблиці міститься деяка рядок X, випливає, що в таблиці обов'язково існує деяка певна рядок Y.
Тобто, таблиця знаходиться в 4NF, якщо всі її багатозначні залежності є функціональними.
. 6 П'ята нормальна форма (5NF)
Таблиця знаходиться в 5NF, якщо вона знаходиться в 4NF і будь багатозначна залежність з'єднання в ній є тривіальною.
П'ята нормальна форма більшою мірою є теоретичним дослідженням, і практично не застосовується при реальному проектуванні баз даних. Це пов'язано зі складністю визначення самої наявності залежностей проекції - з'єднання raquo ;, оскільки твердження про наявність такої залежності має бути зроблено для всіх можливих станів БД.
Висновок
Навіщо потрібна нормалізація?
Головне, чог...