- Відношення буде в 3NF, якщо воно знаходиться в 2NF і не містить транзитивної часткової залежності.
- 3NF використовується для зменшення дублювання даних. Він також використовується для досягнення цілісності даних.
- Якщо для непростих атрибутів немає транзитивної залежності, тоді відношення має бути в третій нормальній формі.
Відношення знаходиться в третій нормальній формі, якщо воно виконує принаймні одну з наступних умов для кожної нетривіальної функціональної залежності X → Y.
- X — суперключ.
- Y є простим атрибутом, тобто кожен елемент Y є частиною деякого ключа-кандидата.
приклад:
щось швидке сортування
Таблиця EMPLOYEE_DETAIL:
EMP_ID | EMP_NAME | EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|---|---|
222 | Гаррі | 201010 рік | ВГОРУ | Ноїда |
333 | Стефан | 02228 | НАС | Бостон |
444 | І | 60007 | НАС | Чикаго |
555 | Кетрін | 06389 | Великобританія | Норвіч |
666 | Джон | 462007 | депутат | Бхопал |
Суперключ у таблиці вище:
{EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on
Ключ кандидата: {EMP_ID}
Непрості атрибути: У наведеній таблиці всі атрибути, крім EMP_ID, не є простими.
Команди Linux створити папку
Тут EMP_STATE і EMP_CITY залежать від EMP_ZIP і EMP_ZIP залежать від EMP_ID. Непрості атрибути (EMP_STATE, EMP_CITY) транзитивно залежать від суперключа (EMP_ID). Це порушує правило третьої нормальної форми.
Ось чому нам потрібно перемістити EMP_CITY та EMP_STATE до нової таблиці з EMP_ZIP як первинним ключем.
Таблиця СПІВРОБІТНИК:
EMP_ID | EMP_NAME | EMP_ZIP |
---|---|---|
222 | Гаррі | 201010 рік |
333 | Стефан | 02228 |
444 | І | 60007 |
555 | Кетрін | 06389 |
666 | Джон | 462007 |
Таблиця EMPLOYEE_ZIP:
EMP_ZIP | EMP_STATE | EMP_CITY |
---|---|---|
201010 рік | ВГОРУ | Ноїда |
02228 | НАС | Бостон |
60007 | НАС | Чикаго |
06389 | Великобританія | Норвіч |
462007 | депутат | Бхопал |