Што е транзитивна зависност во базата на податоци

Избегнувајте транзитивни зависности за да се обезбеди нормализација

Транзитивната зависност во базата на податоци е индиректен однос помеѓу вредностите во истата табела која предизвикува функционална зависност . За да го постигнете нормалниот стандард на третата нормална форма (3NF), мора да ја елиминирате транзитивната зависност.

По својата природа, транзитивната зависност бара три или повеќе атрибути (или колона на база на податоци) кои имаат функционална зависност меѓу нив, што значи дека колоната А во табела се потпира на колона Б преку посредната колона В.

Ајде да видиме како ова може да функционира.

Пример за транзитивна зависност

АВТОРИ

Author_ID Автор Книга Author_Nationality
Auth_001 Орсон Скот картичка Играта на Ендер Соединети Држави
Auth_001 Орсон Скот картичка Играта на Ендер Соединети Држави
Auth_002 Маргарет Атвуд Приказна за слугинката Канада

Во горниот пример AUTHORS:

Но, оваа табела воведува транзитивна зависност:

Избегнување на транзитивни зависности

За да обезбедиме Трета нормална форма, да ја отстраниме транзитивната зависност.

Можеме да започнеме со отстранување на колоната Книга од табелата Автори и креирање посебна табела за Книги:

КНИГИ

Book_ID Книга Author_ID
Book_001 Играта на Ендер Auth_001
Book_001 Деца на умот Auth_001
Book_002 Приказна за слугинката Auth_002

АВТОРИ

Author_ID Автор Author_Nationality
Auth_001 Орсон Скот картичка Соединети Држави
Auth_002 Маргарет Атвуд Канада

Дали ова го поправи? Да ги испитаме нашите зависности сега:

КНИГИ :

АВТОРИ табела :

Треба да додадеме трета табела за нормализирање на овие податоци:

COUNTRIES

Country_ID Земја
Coun_001 Соединети Држави
Coun_002 Канада

АВТОРИ

Author_ID Автор Country_ID
Auth_001 Орсон Скот картичка Coun_001
Auth_002 Маргарет Атвуд Coun_002

Сега имаме три табели, користејќи ги странските клучеви за поврзување меѓу табелите:

Зошто транзитивните зависности се лоши База на податоци за дизајн

Која е вредноста на избегнување на транзитивни зависности кои ќе помогнат да се обезбеди 3NF? Ајде повторно да ја разгледаме нашата прва маса и да ги видиме проблемите што ги создава:

АВТОРИ

Author_ID Автор Книга Author_Nationality
Auth_001 Орсон Скот картичка Играта на Ендер Соединети Држави
Auth_001 Орсон Скот картичка Деца на умот Соединети Држави
Auth_002 Маргарет Атвуд Приказна за слугинката Канада

Овој вид на дизајн може да придонесе за податоци аномалии и недоследности, на пример:

Ова се само некои причини зошто нормализацијата и избегнувањето транзитивни зависности ги штитат податоците и обезбедуваат конзистентност.