Skip to main content

Tietokannan riippuvuussuhteita koskeva opas

Как делают деревянные плиты перекрытия пустотные и другие интересные изделия (Saattaa 2024)

Как делают деревянные плиты перекрытия пустотные и другие интересные изделия (Saattaa 2024)
Anonim

Riippuvuus on rajoitin, joka koskee tai määrittelee attribuuttien välisen suhteen. Se tapahtuu tietokannassa, kun samaan tietokantataulukkoon tallennetut tiedot määrittävät yksiselitteisesti samaan taulukkoon tallennetut muut tiedot. Voit myös kuvata tätä suhteeksi, jossa yhden attribuutin (tai attribuuttien joukon) tunteminen riittää kertomaan toisen attribuutin (tai attribuuttien sarjan) arvon samassa taulukossa.

Tietokannan riippuvuudet usein sekoittavat sekä opiskelijat että tietokantahenkilöstö. Onneksi he eivät ole niin monimutkaisia ​​kuin he voivat näyttää. Niitä voidaan parhaiten selittää muutamalla esimerkillä. Tässä tarkastelemme yhteisiä tietokannan riippuvuustyyppejä.

Tietokannan riippuvuudet ja toiminnalliset riippuvuudet

Sanomalla, että taulukon attribuuttien välillä on riippuvuus, on sama kuin sanomalla, että näiden attribuuttien välillä on funktionaalinen riippuvuus. Jos tietokannassa on riippuvuus, että attribuutti B riippuu attribuutista A, kirjoittaisit sen seuraavasti:

A -> B

Esimerkiksi työntekijän ominaisuuksista, kuten sosiaaliturvan numerosta (SSN) ja nimestä, voidaan sanoa, että nimi riippuu SSN: stä (tai SSN: stä), koska työntekijän nimi voidaan määritellä yksitellen SSN: stä. Päinvastainen lausunto (nimi -> SSN) ei kuitenkaan ole totta, koska useammalla kuin yhdellä työntekijällä voi olla sama nimi, mutta sillä on aina eri SSN.

Trivial Functional Dependencies

Triviaali funktionaalinen riippuvuus ilmenee, kun kuvaat funktionaalisen riippuvuuden attribuutista alkuperäisen attribuutin sisältävien attribuuttien kokoelmaan. Esimerkiksi {A, B} -> B on triviaali funktionaalinen riippuvuus, kuten {nimi, SSN} -> SSN. Tällaista toiminnallista riippuvuutta kutsutaan triviaaliksi, koska se voidaan johtaa järjiltään. On selvää, että jos tiedät jo B: n arvon, B: n arvo voidaan määritellä yksiselitteisesti kyseisen tiedon perusteella.

Täysin toiminnalliset riippuvuudet

Täydellinen toiminnallinen riippuvuus ilmenee, kun olet jo täyttänyt funktionaalisen riippuvuuden vaatimukset ja funktionaalisen riippuvuuden lausunnon vasemmalla puolella olevia attribuuttiarvoja ei voida enää pienentää. Esimerkiksi {SSN, age} -> nimi on toiminnallinen riippuvuus, mutta se ei ole täysin toimiva riippuvuus, koska voit poistaa ikä lausunnon vasemmalta puolelta vaikuttamatta riippuvuussuhteeseen.

Transitiiviset riippuvuudet

Transitiiviset riippuvuudet esiintyvät silloin, kun epäsuora suhde aiheuttaa funktionaalisen riippuvuuden. Esimerkiksi A -> C on transitiivinen riippuvuus, kun se on totta vain siksi, että molemmat A -> B ja B -> C ovat totta.

Monimuotoiset riippuvuudet

Monimuotoisia riippuvuuksia esiintyy, kun taulukon yhden tai useamman rivin läsnäolo merkitsee yhden tai useamman rivin esiintymistä samassa taulukossa. Kuvittele esimerkiksi autoyritys, joka valmistaa monia autonmalleja, mutta tekee aina sekä punaisen että sinisen värin jokaisesta mallista. Jos sinulla on taulukko, joka sisältää valmistajan mallin nimen, värin ja vuoden, kyseisessä taulukossa on moniarvoinen riippuvuus. Jos tietty mallin nimi ja vuosi on rivillä, on myös oltava samanlainen rivi, joka vastaa saman auton punaista versiota.

Riippuvuuksien merkitys

Tietokannan riippuvuudet ovat tärkeitä ymmärtää, koska ne tarjoavat tietokannan normalisoinnissa käytettävät perusrakenteet, prosessin tehokkaan organisoinnin tietokannassa. Esimerkiksi:

  • Jotta taulukko olisi toisessa normaalimuodossa (2NF), taulukossa ei saa olla mitään nonprime-attribuuttiä, joka on toiminnallisesti riippuvainen ehdokasavaimen osajoukosta.
  • Jotta taulukko olisi kolmannessa normaalimuodossa (3NF), jokaisella ei-prime-attribuutilla on oltava ei-siirtymäinen funktionaalinen riippuvuus jokaisesta ehdokasavusta.
  • Jotta taulukko olisi Boyce-Codd-normaalimuodossa (BCNF), jokainen funktionaalinen riippuvuus (muut kuin vähäiset riippuvuudet) on oltava superkey-ohjelmassa.
  • Jotta taulukko olisi neljäs normaalimuoto (4NF), sillä ei saa olla moniarvoisia riippuvuuksia.