Друга нормальна форма (2НФ)
Друга нормальна форма (2НФ) застосовується до відношення із складними ключами (відношення з простим первинним ключем завжди знаходиться, принаймні, у 2НФ) і заснована на понятті повної функціональної залежності.
У деякому відношенні R атрибут B називається повністю функціонально залежним від складного атрибуту A, якщо атрибут B функціонально залежить від повного значення атрибута A і не залежить від будь якої підмножини його повного значення. В цьому випадку атрибут A називаютьдетермінантом.
Відповідно, функціональна залежність А à B є повною, якщо видалення будь якого атрибутаз А призводить до втрати цієї залежності. Якщо залежність зберігається, то має місце часткова функціональна залежність А à B.
Реляційна таблиця знаходиться вдругій нормальній формі (2НФ), - якщо вона відповідає 1НФ і кожен неключовий атрибут є повністю функціонально залежним від ключа.
Це означає, що ключ однозначно визначає неключовий атрибут, тобто одному значенню ключа відповідає одне значення неключового атрибута. Якщо ключ складний, то залежність повинна виконуватись на рівні всього ключа, а не якої-небудь його частини.
Нормалізація 1НФ-відношення з утворенням 2НФ-відношень полягає в усунені часткових залежностей.
Якщо у відношенні між атрибутами існує часткова залежність, то функціонально-залежні атрибути переміщуються в нове відношення разом з копією їх детермінанта.
Приклад відношення Оренда, що знаходиться в 1НФ.
Особистий № орендаря | № об’єкта оренди | Прізвище орендаря | Адреса об’єкта оренди | Дата початку оренди обєкта | Дата закінчення терміну оренди | Рента, грн.. | Особистий № власника об’єкта оренди | Прізвище власника |
ONOR | NOO | PIBO | ADR | PDAT | KDAT | SR | ONV | PIBV |
1.Виявляємо всі функціональні залежності fz1-fz6 для відношення Оренда з парою атрибутів ONOR, NOO в якості первинного ключа:
fz1: ONOR, NOO à PDAT, KDAT (Повна залежність)
fz2: ONOR à PIBO (Часткова залежність)
fz3: NOO à ONV, PIBV, ADR, SR (Часткова залежність)
fz4: ONV à PIBV (Транзитивна залежність)
fz5: ONOR, PDAT à NOO, ADR, SR (Потенційний ключ)
fz6: NOO, PDAT à ONom, PIBO, KDAT (Потенційний ключ)
2.Перевіряємо приналежність до другої нормальної форми.
Їй має відповідати відсутність часткової залежності від ключа. Але fz2 та fz3 вказують на 2 випадки її присутності. Це означає, що дане відношення не знаходиться в 2НФ.
Для приведення відношення Оренда до 2НФ необхідно створити нові відношення, причому так, щоб атрибути, що не входять у первинний ключ, були переміщені в них разом з копією частини первинного ключа, від якої вони функціонально залежать.
Застосування цього правила в нашому випадку приведе до створення трьох нових відношень – Орендар, Власники_Нерухомості, Облік_оренди:
Особистий № орендаря | Прізвище орендаря |
ONOR | PIBO |
Власники нерухомості
№ об’єкта оренди | Адреса об’єкта оренди | Рента, грн.. | Особистий № власника об’єкта оренди | Прізвище власника |
NOO | ADR | SR | ONV | PIBV |
Облік оренди
Особистий № орендарря | № об’єкта оренди | Дата початку оренди обєкта | Дата закінчення терміну оренди |
ONOR | NOO | PDAT | KDAT |
Отримані відношення знаходяться в 2НФ, оскільки кожен атрибут, що не входить в первинний ключ, повністю функціонально залежить від первинного ключа відношення.