Veelwaardige afhanklikheid in databasisse

INHOUDSOPGAWE:

Veelwaardige afhanklikheid in databasisse
Veelwaardige afhanklikheid in databasisse
Anonim

In 'n relasionele databasis vind 'n afhanklikheid plaas wanneer die inligting wat in dieselfde databasistabel gestoor is, ander inligting wat in dieselfde tabel gestoor is, uniek bepaal. 'n Meerwaarde-afhanklikheid vind plaas wanneer die teenwoordigheid van een of meer rye in 'n tabel die teenwoordigheid van een of meer ander rye in dieselfde tabel impliseer. Anders gestel, twee eienskappe (of kolomme) in 'n tabel is onafhanklik van mekaar, maar albei is afhanklik van 'n derde kenmerk.

Image
Image

'n Meerwaarde-afhanklikheid verhoed die normaliseringstandaard vierde normaalvorm. Relasionele databasisse volg vyf normale vorms wat riglyne vir rekordontwerp verteenwoordig. Hulle voorkom opdateringsafwykings en teenstrydighede in die data. Die vierde normale vorm handel oor veel-tot-een-verhoudings in 'n databasis.

Funksionele afhanklikheid vs. meerwaarde-afhanklikheid

Om 'n meerwaarde-afhanklikheid te verstaan, is dit nuttig om te hersien wat 'n funksionele afhanklikheid is.

As 'n kenmerk X uniek 'n kenmerk Y bepaal, dan is Y funksioneel afhanklik van X. Dit word geskryf as X -> Y. Byvoorbeeld, in die Studente-tabel hieronder, bepaal die Student_Name die Majoor:

Student_Name Major
Ravi Kunsgeskiedenis
Beth Chemistry

Hierdie funksionele afhanklikheid kan geskryf word: Student_Name -> Major. Elke Student_Name bepaal presies een Majoor en nie meer nie.

As jy wil hê dat die databasis ook die sportsoorte wat hierdie studente neem moet dophou, dink jy dalk die maklikste manier om dit te doen is om net nog 'n kolom by te voeg met die titel Sport:

Student_Name Major Sport
Ravi Kunsgeskiedenis Sokker
Ravi Kunsgeskiedenis Volleybal
Ravi Kunsgeskiedenis Tennis
Beth Chemistry Tennis
Beth Chemistry Sokker

Die probleem hier is dat beide Ravi en Beth verskeie sportsoorte speel. Dit is nodig om 'n nuwe ry by te voeg vir elke bykomende sport.

Hierdie tabel het 'n veelwaardige afhanklikheid bekendgestel omdat die hoofvak en die sport onafhanklik van mekaar is, maar albei van die student afhanklik is. Dit is 'n eenvoudige voorbeeld en maklik identifiseerbaar, maar 'n multiwaarde-afhanklikheid kan 'n probleem in 'n groot, komplekse databasis word.

'n Veelwaarde-afhanklikheid word geskryf X ->-> Y. In hierdie geval:

Student_Name ->-> Major

Student_Name ->- > Sport

Dit word gelees as "Student_Name multidetermines Major" en "Student_Name multidetermines Sport."

'n Veelwaarde-afhanklikheid vereis altyd ten minste drie eienskappe, want dit bestaan uit ten minste twee eienskappe wat afhanklik is van 'n derde.

Veelwaardige afhanklikheid en normalisering

'n Tabel met 'n meerwaarde-afhanklikheid oortree die normaliseringstandaard van vierde normale vorm omdat dit onnodige oortollighede skep en kan bydra tot inkonsekwente data. Om dit tot by 4NF te bring, is dit nodig om hierdie inligting in twee tabelle te verdeel.

Die tabel hieronder het nou 'n funksionele afhanklikheid van Student_Name -> Major, en geen multivalued afhanklikhede:

Student_Name Major
Ravi Kunsgeskiedenis
Ravi Kunsgeskiedenis
Ravi Kunsgeskiedenis
Beth Chemistry
Beth Chemistry

Terwyl hierdie tabel ook 'n enkele funksionele afhanklikheid van Student_Name -> Sport: het

Student_Name Sport
Ravi Sokker
Ravi Volleybal
Ravi Tennis
Beth Tennis
Beth Sokker

Normalisering word dikwels bewerkstellig deur komplekse tabelle te vereenvoudig sodat hulle inligting bevat wat met 'n enkele idee of tema verband hou eerder as om te probeer om 'n enkele tabel te veel uiteenlopende inligting bevat.

Aanbeveel: