logo

Третя нормальна форма (3NF)

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

Відношення знаходиться в третій нормальній формі, якщо воно виконує принаймні одну з наступних умов для кожної нетривіальної функціональної залежності X → Y.

  1. X — суперключ.
  2. Y є простим атрибутом, тобто кожен елемент Y є частиною деякого ключа-кандидата.
  3. приклад:

    щось швидке сортування

    Таблиця 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 депутат Бхопал