Varësia shumëdimensionale në hartimin e bazës së të dhënave

Vartësia shumëdimensionale thyen formën e katërt normale

Në një bazë të dhënash relacionale, një varësi ndodh kur informacioni i ruajtur në të njëjtën tabelë të bazës së të dhënave përcakton në mënyrë unike informacione të tjera të ruajtura në të njëjtën tabelë. Një varësi me shumë vlerë bëhet kur prania e një ose më shumë rreshtave në një tabelë nënkupton praninë e një ose më shumë rreshtave të tjerë në atë tabelë të njëjtë. Vendosni një mënyrë tjetër, dy atributet (ose kolonat) në një tabelë janë të pavarura nga njëri-tjetri, por të dyja varen nga një atribut i tretë.

Një varësi me shumë vlera e pengon standardin normal të formës së katërt normal (4NF). Bazat e të dhënave relacionale ndjekin pesë forma normale që paraqesin udhëzime për dizajn rekord. Ato parandalojnë anomalitë dhe mospërputhjet në të dhënat. Forma e katërt normale merret me marrëdhënie shumë-me-një në një bazë të dhënash .

Varësia funksionale kundrejt varësisë shumëvjeçare

Për të kuptuar një varësi me shumë vlera, është e dobishme të rishikojmë se çfarë është një varësi funksionale.

Nëse një atribut X përcakton unikisht një atribut Y, atëherë Y është funksionalisht i varur nga X. Kjo është shkruar si X -> Y. Për shembull, në tryezën e Studentëve më poshtë, Emri i Studentit përcakton Major:

studentët
Emri i studentit I madh
Ravi Histori arti
beth kimi


Kjo varësi funksionale mund të shkruhet: Student_Name -> Major . Çdo Student_Name përcakton pikërisht një Major, dhe jo më shumë.

Nëse dëshironi që databaza të përcjellë edhe sportet që këta nxënës marrin, mund të mendoni se mënyra më e lehtë për ta bërë këtë është të shtoni një kolonë të titulluar Sport:

studentët
Emri i studentit I madh sport
Ravi Histori arti futboll
Ravi Histori arti Volejboll
Ravi Histori arti Tenis
beth kimi Tenis
beth kimi futboll


Problemi këtu është se si Ravi dhe Beth luajnë shumë sporte. Është e nevojshme të shtoni një rresht të ri për çdo sport shtesë.

Kjo tabelë ka prezantuar një varësi të shumëfarëshme, sepse sportet e mëdha dhe sportive janë të pavarura nga njëri-tjetri, por të dyja varen nga studenti.

Ky është një shembull i thjeshtë dhe lehtësisht i identifikueshëm, por një varësi shumëdimensionale mund të bëhet problem në një bazë të dhënash të madhe komplekse.

Një varësi me shumë vlerë është shkruar X -> -> Y. Në këtë rast:

Student_Name -> -> Major
Student_Name -> -> Sport

Kjo lexohet si "Student_Name multidetermines Major" dhe "Student_Name multidetermines Sport."

Një varësi me shumë vlera gjithmonë kërkon të paktën tre atribute sepse përbëhet nga të paktën dy atribute që varen nga një e treta.

Varësia me shumë vlera dhe normalizimi

Një tabelë me një varësi shumëdimensionale shkel standardin e normalizimit të formës së katërt normal (4NK) sepse krijon redundanca të panevojshme dhe mund të kontribuojë në të dhëna të paqëndrueshme. Për ta sjellë këtë deri në 4NF, është e nevojshme të thyhen këto informata në dy tabela.

Tabela më poshtë ka një varësi funksionale të Student_Name -> Major, dhe nuk ka varësi të shumëfishta:

Studentët dhe Majorët
Emri i studentit I madh
Ravi Histori arti
Ravi Histori arti
Ravi Histori arti
beth kimi
beth kimi

Ndërsa kjo tryezë gjithashtu ka një varësi të vetme funksionale të Student_Name -> Sport:

Studentët dhe Sportet
Emri i studentit sport
Ravi futboll
Ravi Volejboll
Ravi Tenis
beth Tenis
beth futboll

Është e qartë se normalizimi shpesh adresohet duke thjeshtuar tabelat komplekse në mënyrë që ato të përmbajnë informacion lidhur me një ide ose temë të vetme, në vend që të përpiqen të bëjnë një tabelë të vetme të përmbajnë shumë informata të ndryshme.