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 MP Бопал

    Супер ключ в таблицата по-горе:

     {EMP_ID}, {EMP_ID, EMP_NAME}, {EMP_ID, EMP_NAME, EMP_ZIP}....so on 

    Ключ на кандидата: {EMP_ID}

    Неосновни атрибути: В дадената таблица всички атрибути с изключение на EMP_ID не са основни.

    какво е desktop.ini

    Тук 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 MP Бопал