Mis andmebaasi sõltuvad?

Andmebaasi sõltuvused on teema, mis sageli segab nii õpilasi kui ka andmebaasi spetsialiste. Õnneks pole see nii keeruline ja seda saab illustreerida mitmete näidete abil. Käesolevas artiklis uurime ühiseid andmebaasi sõltuvuste tüüpe.

Andmebaasi sõltuvad / funktsionaalsed sõltuvad

Andmebaasis toimub sõltuvus, kui sama andmebaasi tabelisse salvestatud teave määrab unikaalselt kindlaks sama tabeli salvestatud muu teabe. Seda saab kirjeldada ka kui suhet, kui ühe atribuudi (või atribuutide kogumi) väärtuse tundmine on piisav, et anda teile sama tabeli teise atribuudi (või atribuutide komplekti) väärtus.

Tabeli atribuutide vahel sõltuvus on sama kui öeldes, et nende atribuutide vahel on funktsionaalne sõltuvus. Kui sõltuvus andmebaasis on selline, et atribuut B sõltub atribuudist A, kirjutad selle kui "A -> B".

Näiteks lahtris, kus on loetletud töötaja omadused, sealhulgas sotsiaalkindlustuse number (SSN) ja nimi, võib öelda, et see sõltub SSNist (või SSN -> nime), sest töötaja nime saab SSNist üheselt kindlaks määrata. Kuid vastupidine avaldus (nimi -> SSN) ei ole tõene, kuna rohkem kui ühel töötajal võib olla sama nimi, kuid erinevad SSN-id.

Triviaalsed funktsionaalsed sõltuvused

Triviaalne funktsionaalne sõltuvus tekib siis, kui kirjeldate atribuudi funktsionaalset sõltuvust atribuutide kogumile, mis sisaldab esialgset atribuuti. Näiteks "{A, B} -> B" on triviaalne funktsionaalne sõltuvus, nagu on "{name, SSN} -> SSN". Sellist funktsionaalset sõltuvust nimetatakse triviaalseks, sest seda saab tuletada mõistest. On selge, et kui te juba teate B väärtust, siis saab selle väärtuse B ainuisikuliselt kindlaks määrata selle teadmisega.

Täisfunktsionaalsed sõltuvad

Täisfunktsionaalne sõltuvus tekib siis, kui olete juba täitnud funktsionaalse sõltuvuse nõuded ja funktsionaalse sõltuvuse avalduse vasakpoolsel küljel olevate atribuutide komplekti ei saa veelgi vähendada. Näiteks "{SSN, age} -> name" on funktsionaalne sõltuvus, kuid see ei ole täielik funktsionaalne sõltuvus, kuna saate eemaldada vanuse avalduse vasakust küljest sõltuvusseisu mõjutamata.

Transitiivsed sõltuvad

Transitiivsed sõltuvused tekivad siis, kui esineb kaudne suhe, mis põhjustab funktsionaalse sõltuvuse. Näiteks on "A -> C" transitiivne sõltuvus, kui see on tõene ainult seetõttu, et mõlemad "A -> B" ja "B -> C" on tõesed.

Mitmevärtne sõltuvus

Mitmevärtne sõltuvus tekib siis, kui tabeli ühe või mitme rea olemasolu viitab ühe või mitme teise rea olemasolule selles samas tabelis. Näiteks kujutlege autoettevõtet, mis toodab palju autosid, kuid alati teeb iga mudeli punast ja sinist värvi. Kui teil on tabel, mis sisaldab iga toote autori mudeli nime, värvi ja aastat, siis on see tabel mitmeväärtusega sõltuvuses . Kui teatud mudeli nime ja aasta kohta on sinine sinine rida, peab olema sama rea, mis vastab sama auto punasele versioonile.

Sõltuvuse tähtsus

Andmebaasi sõltuvused on oluline mõista, sest need pakuvad andmebaasi normaliseerimiseks kasutatavaid põhilisi ehitusplokke. Näiteks: