- Една релация ще бъде в 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 | 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 | Бопал |