Toiminnallinen riippuvuus tietokannan hallinnan järjestelmässä: tyypit esimerkkeineen

⚡ Älykäs yhteenveto

Toiminnallinen riippuvuus on rajoite, joka määrittää, miten yksi ominaisuus liittyy toiseen tietokannan hallintajärjestelmässä. Se tukee normalisointia tunnistamalla determinantit ja riippuvaiset, ja se luokitellaan moniarvoisiin, triviaaleihin, ei-triviaaleihin ja transitiivisiin riippuvuuksiin.

  • ➡️ Perusidea: Yhtälössä X → Y determinantti X kiinnittää riippuvan Y:n arvon, joka on kirjoitettu nuolella.
  • 🏷️ Keskeisiä termejä: Determinantti, riippuva, ​​aksiooma, hajoaminen ja yhdiste kuvaavat, miten riippuvuuksia nimetään ja käsitellään.
  • 📐 Armstrongin aksioomat: Refleksiivisyys, augmentaatio ja transitiivisuus päättelevät kaikki riippuvuudet, joita joukko loogisesti implikoi.
  • 🔀 Neljä tyyppiä: Moniarvoiset, triviaalit, ei-triviaalit ja transitiiviset riippuvuudet kuvaavat kukin erillisen ominaisuussuhteen.
  • 🧹 Normalisointilinkki: Riippuvuudet ohjaavat normalisointia, mikä poistaa redundanssia ja päivityspoikkeavuuksia.
  • 🔑 Sulkeminen: Attribuutin sulkeuma paljastaa ehdokasavaimet ja sen, onko riippuvuus voimassa.
  • ✅ Hyöty: Hyvät riippuvuudet viestivät hyvästä suunnittelusta ja erottavat laadukkaat skeemat huonoista.

DBMS:n toiminnallinen riippuvuus

Mikä on toiminnallinen riippuvuus?

Toiminnallinen riippuvuus (FD) on rajoite, joka määrittää yhden attribuutin suhteen toiseen attribuuttiin tietokannan hallintajärjestelmässä (DBMS). Toiminnallinen riippuvuus auttaa ylläpitämään tietokannan datan laatua. Sillä on keskeinen rooli hyvän ja huonon tietokantasuunnittelun välisen eron löytämisessä.

Funktionaalista riippuvuutta merkitään nuolella “→”. Y:n funktionaalista riippuvuutta X:stä edustaa X → Y. Ymmärretään funktionaalinen riippuvuus esimerkin avulla.

Esimerkiksi:

Työntekijän numero työntekijän nimi Palkkaus Kaupunki
1 Dana 50000 San Francisco
2 Francis 38000 Lontoo
3 Andrew 25000 Tokio

Tässä esimerkissä, jos tiedämme työntekijänumeron arvon, voimme saada työntekijän nimen, kaupungin, palkan ja niin edelleen. Tällä tavoin voimme sanoa, että kaupunki, työntekijän nimi ja palkka ovat toiminnallisesti riippuvaisia ​​työntekijänumerosta.

Keskeiset ehdot

Tässä on joitakin keskeisiä termejä tietokannan toiminnalliselle riippuvuudelle:

Keskeiset ehdot Tuotetiedot
Axiom Aksioomat ovat joukko päättelysääntöjä, joita käytetään päättelemään kaikki relaatiotietokannan toiminnalliset riippuvuudet.
hajoaminen Sääntö, joka ehdottaa, että jos sinulla on taulukko, joka näyttää sisältävän kaksi saman perusavaimen määrittämää entiteettiä, sinun kannattaa harkita sen jakamista kahdeksi eri taulukoksi.
riippuvainen Se näkyy funktionaalisen riippuvuuden kaavion oikealla puolella.
määräävä tekijä Se näkyy funktionaalisen riippuvuuden kaavion vasemmalla puolella.
Liitto Se ehdottaa, että jos kaksi taulukkoa ovat erillisiä ja niillä on sama ensisijainen avain, kannattaa harkita niiden yhdistämistä.

Funktionaalisten riippuvuuksien säännöt (Armstrongin aksioomat)

Alla on kolme tärkeintä sääntöä tietokannan funktionaaliselle riippuvuudelle. Ne tunnetaan Armstrongin aksioomina, ja niistä voidaan johtaa kaikki muut päättelysäännöt.

  • Refleksiivinen sääntö: Jos X on joukko attribuutteja ja Y on X:n osajoukko, niin X → Y pätee.
  • Augmentaatiosääntö: Kun X → Y pätee ja C on attribuuttijoukko, niin myös XC → YC pätee. Attribuuttien lisääminen ei muuta perusriippuvuutta.
  • Transitiivisuussääntö: Samanlainen kuin algebran transitiivinen sääntö: jos X → Y pätee ja Y → Z pätee, niin X → Z pätee myös.

Näistä on johdettu kolme muuta sääntöä, joita käytetään jatkuvasti käytännössä:

  • Unionin sääntö: jos X → Y ja X → Z, niin X → YZ.
  • Hajoamissääntö: jos X → YZ, niin X → Y ja X → Z.
  • Pseudotransitiivisuussääntö: jos X → Y ja WY → Z, niin WX → Z.

Näiden sääntöjen toistuva soveltaminen riippuvuusjoukkoon tuottaa sen sulkeminen, täydellinen joukko riippuvuuksia, jotka loogisesti seuraavat. Attribuuttijoukon sulkeuma on myös tapa, jolla kandidaattiavaimet löydetään, mikä liittyy suoraan tutkimukseen DBMS-avaimet.

Toiminnallisten riippuvuuksien tyypit DBMS:ssä

Tietokannan hallintajärjestelmissä on pääasiassa neljä toiminnallista riippuvuustyyppiä:

  • Moniarvoinen riippuvuus
  • Triviaali toiminnallinen riippuvuus
  • Ei-triviaali toiminnallinen riippuvuus
  • Transitiivinen riippuvuus

Moniarvoinen riippuvuus DBMS:ssä

Moniarvoinen riippuvuus esiintyy tilanteessa, jossa yhdessä taulukossa on useita toisistaan ​​riippumattomia moniarvoisia attribuutteja. Moniarvoinen riippuvuus on täydellinen rajoite kahden attribuuttijoukon välillä relaatiossa, joka edellyttää tiettyjen tuplejen läsnäoloa. Tarkastellaan seuraavaa esimerkkiä.

Esimerkiksi:

Automalli Maf_year Väri
H001 2017 Metallinen
H001 2017 Vihreä
H005 2018 Metallinen
H005 2018 Sininen
H010 2015 Metallinen
H033 2012 Harmaa

Tässä esimerkissä Maf_year ja Color ovat toisistaan ​​riippumattomia, mutta riippuvaisia ​​Car_model-arvosta. Näiden kahden sarakkeen sanotaan olevan moniarvoisia ja riippuvaisia ​​Car_model-arvosta. Tämä esitetään seuraavasti:

auton_malli → valmistusvuosi

auton_malli → väri

Triviaali toiminnallinen riippuvuus DBMS:ssä

Triviaali riippuvuus on joukko attribuutteja, joita kutsutaan triviaaliksi, jos attribuuttijoukko sisältyy kyseiseen attribuuttiin. Niinpä X → Y on triviaali funktionaalinen riippuvuus, jos Y on X:n osajoukko. Tarkastellaan alla olevaa esimerkkiä.

Emp_id Emp_name
AS555 Ahdistaa
AS811 Yrjö
AS999 Kevin

Tarkastellaan tätä taulukkoa, jossa on kaksi saraketta, Työntekijän_id ja Työntekijän_nimi. {Työntekijän_id, Työntekijän_nimi} → Työntekijän_id on triviaali funktionaalinen riippuvuus, koska Työntekijän_id on osajoukko {Työntekijän_id:stä, Työntekijän_nimestä}

Ei-triviaali toiminnallinen riippuvuus tietokannan hallinnan järjestelmässä

Ei-triviaali riippuvuus syntyy, kun A → B pätee ja B ei ole A:n osajoukko. Jos attribuutti B ei ole A:n osajoukko, riippuvuutta pidetään ei-triviaalina.

Yritys CEO Ikä
Microsoft Satya Nadella 51
Google Sundar Pichai 46
omena Tim Cook 57

Esimerkiksi:

{Yritys} → {Toimitusjohtaja} (jos tiedämme Yrityksen, tiedämme myös toimitusjohtajan nimen). Mutta toimitusjohtaja ei ole Yrityksen osajoukko, ja siksi se on ei-triviaali toiminnallinen riippuvuus.

Transitiivinen riippuvuus DBMS:ssä

Transitiivinen riippuvuus on funktionaalisen riippuvuuden tyyppi, joka tapahtuu, kun kaksi funktionaalista riippuvuutta määrää attribuutin epäsuorasti. Tarkastellaan alla olevaa esimerkkiä.

Yritys CEO Ikä
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Alibaba Jack Ma 54

{Yritys} → {Toimitusjohtaja} (jos tunnemme yrityksen, tiedämme myös sen toimitusjohtajan nimen).

{Toimitusjohtaja} → {Ikä} (jos tunnemme toimitusjohtajan, tiedämme myös hänen ikänsä).

Siksi transitiivisen riippuvuuden säännön nojalla {Yritys} → {Ikä} pitäisi päteä, mikä on järkevää, koska jos tiedämme yrityksen nimen, voimme löytää sen iän.

Huomautus: transitiivinen riippuvuus voi esiintyä vain kolmen tai useamman attribuutin välisessä suhteessa.

Mitä on normalisointi?

Normalisointi on menetelmä, jolla järjestetään tietoja tietokannassa ja joka auttaa välttämään tietojen redundanssia sekä lisäys-, päivitys- ja poistopoikkeavuuksia. Se on prosessi, jossa analysoidaan relaatiokaavioita niiden erilaisten toiminnallisten riippuvuuksien ja ensisijaisen avaimen perusteella.

Normalisointi on relaatiotietokantateorian ominaisuus. Se voi jakaa tiedot useampiin taulukoihin siten, että jokainen tieto tallennetaan kerran. Koko prosessi käsitellään oppaassa tietokannan normalisointi, joka perustuu suoraan yllä oleviin riippuvuustyyppeihin.

Toiminnallisen riippuvuuden edut

  • Toiminnallinen riippuvuus välttää datan redundanssia, joten sama data ei toistu useissa paikoissa tietokanta.
  • Se auttaa ylläpitämään tietokannan tietojen laatua.
  • Se auttaa sinua määrittelemään tietokantojen merkitykset ja rajoitukset.
  • Se auttaa tunnistamaan huonot suunnitteluratkaisut.
  • Se auttaa sinua löytämään faktoja tietokannan suunnittelusta.

UKK

Determinantti on nuolen vasemmalla puolella oleva attribuutti, joka kiinnittää arvon. Riippuvainen on oikealla puolella oleva attribuutti, jonka arvo määritetään. Yhtälössä X → Y X määrittää Y:n.

Funktionaalinen riippuvuus määrittää riippuvaiselle yhden arvon. Moniarvoinen riippuvuus sallii joukon riippumattomia arvoja, minkä vuoksi se tarvitsee oman attribuuttinsa ja johtaa neljänteen normaalimuotoon.

Laske attribuuttijoukon sulkeuma riippuvuuksien avulla. Jos sulkeuma sisältää kaikki relaation attribuutit, joukko on superavain; pienin tällainen joukko on avainehdokas.

Kyllä. Riippuvuuksien löytämiseen tarkoitetut algoritmit, joista osa on tekoälyn avustamia, skannaavat tietojoukon ja ehdottavat mahdollisia riippuvuuksia. Suunnittelijan on vahvistettava ne, koska esimerkkidatassa totta oleva kaava ei välttämättä päde sääntönä.

Se tallentaa faktan muusta kuin avainattribuutista, joten sen päivittäminen voi aiheuttaa poikkeavuuksia. Transitiivisten riippuvuuksien poistaminen on juuri sitä, mitä kolmas normaalimuoto vaatii, sillä se pitää jokaisen faktan yhdessä paikassa.

Tiivistä tämä viesti seuraavasti: