Kaj so odvisnosti od baze podatkov?

Odvisnosti baze podatkov so tema, ki pogosto zmede tako študente kot tudi baze podatkov. Na srečo niso tako zapleteni in jih je mogoče najbolje ilustrirati z uporabo številnih primerov. V tem članku pregledamo skupne vrste odvisnosti od baze podatkov.

Odvisnosti od baze podatkov / funkcionalne odvisnosti

Odvisnost se pojavi v bazi podatkov, če informacije, shranjene v isti tabeli zbirke podatkov, edinstveno določajo druge podatke, shranjene v isti tabeli. To lahko opisate tudi kot razmerje, kjer je poznavanje vrednosti enega atributa (ali nabora atributov) dovolj, da vam pove vrednost drugega atributa (ali niza atributov) v isti tabeli.

Če rečemo, da obstaja odvisnost med atributi v tabeli, je enaka dejstvu, da obstaja funkcijska odvisnost med temi atributi. Če obstaja odvisnost v bazi podatkov tako, da je atribut B odvisen od atributa A, bi to napisali kot »A -> B«.

Na primer, v tabeli z navedbo značilnosti zaposlenih, vključno s številko socialnega zavarovanja (SSN) in imenom, lahko rečemo, da je ime odvisno od SSN (ali SSN -> imena), ker je ime delavca mogoče enolično določiti iz svojega SSN-a. Vendar pa obratna izjava (ime -> SSN) ni resnična, ker ima več kot en zaposleni enako ime, vendar različne SSN.

Trivialne funkcionalne odvisnosti

Trivialna funkcionalna odvisnost se pojavi, ko opisujete funkcionalno odvisnost atributa na zbirki atributov, ki vključuje izvorni atribut. Na primer, "{A, B} -> B" je trivialna funkcionalna odvisnost, kot je "{name, SSN} -> SSN". Ta vrsta funkcionalne odvisnosti se imenuje trivialna, ker jo je mogoče izpeljati iz zdravega razumevanja. Očitno je, da če že poznate vrednost B, potem je vrednost B lahko enolično določena s tem znanjem.

Polne funkcionalne odvisnosti

Popolna funkcionalna odvisnost se zgodi, ko že izpolnjujete zahteve za funkcionalno odvisnost, in nabor atributov na levi strani stavka funkcionalne odvisnosti ni več mogoče zmanjšati. Na primer, »{SSN, starost} -> ime« je funkcijska odvisnost, vendar ni polna funkcionalna odvisnost, ker lahko odstranite starost z leve strani stavka, ne da bi vplivali na odvisnost.

Prehodne odvisnosti

Tranzicijske odvisnosti se pojavijo, ko je posredno razmerje, ki povzroča funkcionalno odvisnost. Na primer, "A -> C" je prehodna odvisnost, če je resnična le zato, ker sta obe "A -> B" in "B -> C" resnična.

Večvalentne odvisnosti

Večvalentne odvisnosti se pojavijo, če prisotnost ene ali več vrstic v tabeli pomeni prisotnost ene ali več vrstic v isti tabeli. Predstavljajte si na primer avtomobilsko podjetje, ki proizvaja veliko modelov avtomobila, vendar vedno naredi rdeče in modre barve vsakega modela. Če imate mizo, ki vsebuje ime modela, barvo in leto vsakega avtomobila, ki ga podjetje proizvaja, obstaja večvalentna odvisnost v tej tabeli. Če obstaja vrsta za določeno ime modela in leto v modri barvi, mora biti tudi podobna vrstica, ki ustreza rdeči različici istega avtomobila.

Pomen odvisnosti

Odvisnosti baze podatkov so pomembne za razumevanje, ker zagotavljajo osnovne gradnike, ki se uporabljajo pri normalizaciji baz podatkov . Na primer: