Што такое Пераходная Dependency ў базе дадзеных

Пазбягайце транзітыўнасць залежнасці, каб дапамагчы забяспечыць нармалізацыю

Транзітыўнасць залежнасці ў базе даных з'яўляецца ўскоснай залежнасцю паміж значэннямі ў той жа табліцы , што выклікае функцыянальную залежнасць . Для дасягнення стандартнай нормировки трэцяй нармальнай формы (3НФ), вы павінны ліквідаваць любую пераходную залежнасць.

Па сваёй прыродзе, транзітыўнай залежнасцю патрабуе трох ці больш атрыбутаў (або слупкі базы дадзеных), якія маюць функцыянальную залежнасць паміж імі, а гэта азначае, што калонка А ў табліцы належыць на калонцы B праз прамежкавы калонцы C.

Давайце паглядзім, як гэта можа працаваць.

Пераходная Залежнасць Прыклад

АЎТАРЫ

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 Маргарэт Этвуд Канада

Ці дапамагло гэта выправіць? Давайце разгледзім нашу залежнасць у цяперашні час:

BOOKS стол:

АЎТАРЫ табліца:

Нам трэба дадаць трэцюю табліцу, каб нармалізаваць гэтыя дадзеныя:

КРАІНЫ

cOUNTRY_ID краіна
Coun_001 Злучаныя Штаты
Coun_002 Канада

АЎТАРЫ

aUTHOR_ID аўтар cOUNTRY_ID
Auth_001 Орсон Скот Кард Coun_001
Auth_002 Маргарэт Этвуд Coun_002

Цяпер у нас ёсць тры табліцы, выкарыстоўваючы знешнія ключы, каб звязаць паміж табліцамі:

Чаму Пераходныя залежнасці Bad Database Design

Што такое значэнне пазбягаючы залежнасці пераходных для забеспячэння 3NF? Давайце разгледзім нашу першую табліцу зноў і ўбачыць праблемы, якія ён стварае:

АЎТАРЫ

aUTHOR_ID аўтар кніга Author_Nationality
Auth_001 Орсон Скот Кард гульня Эндера Злучаныя Штаты
Auth_001 Орсон Скот Кард дзеці Розуму Злучаныя Штаты
Auth_002 Маргарэт Этвуд аповяд Служанкі Канада

Такі дызайн можа спрыяць анамаліях і супярэчлівасці дадзеных, напрыклад:

Такія толькі некаторыя прычыны , па нармалізацыі і пазбягаючы пераходных залежнасцяў, абароны дадзеных і забеспячэння ўзгодненасці.