Hva er funksjonell avhengighet?
Funksjonell avhengighet (FD) er en begrensning som bestemmer forholdet til ett attributt til et annet attributt i et databasestyringssystem (DBMS). Funksjonell avhengighet bidrar til å opprettholde kvaliteten på dataene i databasen. Det spiller en viktig rolle for å finne forskjellen mellom god og dårlig databasedesign.
En funksjonell avhengighet er betegnet med en pil "→". Den funksjonelle avhengigheten av X til Y er representert av X → Y. La oss forstå funksjonell avhengighet i DBMS med eksempel.
Eksempel:
Ansatt nummer | arbeidstakers navn | Lønn | By |
1 | Dana | 50000 | San Fransisco |
2 | Francis | 38000 | London |
3 | Andrew | 25000 | Tokyo |
I dette eksempelet, hvis vi vet verdien av ansattnummer, kan vi få ansattes navn, by, lønn osv. Ved dette kan vi si at byen, ansattes navn og lønn er funksjonelt avhengig av antall ansatte.
I denne opplæringen lærer du:
- Nøkkelord
- Regler for funksjonelle avhengigheter
- Typer av funksjonelle avhengigheter i DBMS
- Avhengig av flere verdier i DBMS
- Trivial Funksjonell avhengighet i DBMS
- Ikke triviell funksjonell avhengighet i DBMS
- Transitiv avhengighet i DBMS
- Hva er normalisering?
- Fordeler med funksjonell avhengighet
Nøkkelord
Her er noen nøkkelord for funksjonell avhengighet i databasen:
Nøkkelord | Beskrivelse |
Axiom | Axioms er et sett av slutningsregler som brukes for å utlede alle de funksjonelle avhengighetene i en relasjonsdatabase. |
Nedbrytning | Det er en regel som antyder at hvis du har en tabell som ser ut til å inneholde to enheter som bestemmes av den samme primærnøkkelen, bør du vurdere å dele dem opp i to forskjellige tabeller. |
Avhengig | Den vises på høyre side av det funksjonelle avhengighetsdiagrammet. |
Avgjørende faktor | Den vises på venstre side av det funksjonelle avhengighetsdiagrammet. |
Union | Det antyder at hvis to tabeller er atskilt, og PK er den samme, bør du vurdere å legge dem. sammen |
Regler for funksjonelle avhengigheter
Nedenfor er de tre viktigste reglene for funksjonell avhengighet i databasen:
- Refleksiv regel -. Hvis X er et sett med attributter og Y er_subset_ av X, har X en verdi på Y.
- Forstørrelsesregel: Når x -> y holder, og c er attributt satt, så holder også ac -> bc. Det er å legge til attributter som ikke endrer de grunnleggende avhengighetene.
- Transitivitetsregel: Denne regelen er veldig lik den transitive regelen i algebra hvis x -> y holder og y -> z holder, så gjelder også x -> z. X -> y kalles som funksjonelt som bestemmer y.
Typer av funksjonelle avhengigheter i DBMS
Det er hovedsakelig fire typer funksjonell avhengighet i DBMS. Følgende er typene funksjonelle avhengigheter i DBMS:
- Flerverdig avhengighet
- Trivial Funksjonell Avhengighet
- Ikke-triviell funksjonell avhengighet
- Transitiv avhengighet
Avhengig av flere verdier i DBMS
Avhengighet med flere verdier oppstår i situasjonen der det er flere uavhengige flerverdige attributter i en enkelt tabell. En avhengighet med flere verdier er en fullstendig begrensning mellom to sett med attributter i en relasjon. Det krever at visse tupler er til stede i et forhold. Tenk på følgende flervurderte avhengighetseksempel å forstå.
Eksempel:
Bilmodell | Maf_year | Farge |
H001 | 2017 | Metallisk |
H001 | 2017 | Grønn |
H005 | 2018 | Metallisk |
H005 | 2018 | Blå |
H010 | 2015 | Metallisk |
H033 | 2012 | Grå |
I dette eksemplet er maf_år og farge uavhengig av hverandre, men avhengig av bilmodell. I dette eksemplet sies det at disse to kolonnene er flerverdige avhengig av bilmodell.
Denne avhengigheten kan representeres slik:
bilmodell -> maf_år
bil_modell-> farge
Trivial Funksjonell Avhengighet i DBMS
Trivialavhengigheten er et sett med attributter som kalles trivielt hvis attributtsettet er inkludert i det attributtet.
Så, X -> Y er en triviell funksjonell avhengighet hvis Y er en delmengde av X. La oss forstå med et Trivial Funksjonell Avhengighetseksempel.
For eksempel:
Emp_id | Emp_name |
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
Vurder denne tabellen med to kolonner Emp_id og Emp_name.
{Emp_id, Emp_name} -> Emp_id er en triviell funksjonell avhengighet ettersom Emp_id er en delmengde av {Emp_id, Emp_name}.
Ikke-triviell funksjonell avhengighet i DBMS
Funksjonell avhengighet som også er kjent som en ikke-avhengighetsavhengighet oppstår når A-> B gjelder når B ikke er en delmengde av A. Hvis et attributt B ikke er en delmengde av attributt A i et forhold, blir det sett på som et ikke-trivielt avhengighet.
Selskap | administrerende direktør | Alder |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
eple | Tim Cook | 57 |
Eksempel:
(Company} -> {CEO} (hvis vi kjenner selskapet, kjenner vi CEO-navnet)
Men administrerende direktør er ikke en delmengde av selskapet, og derfor er det ikke-triviell funksjonell avhengighet.
Transitiv avhengighet i DBMS
En transitiv avhengighet er en type funksjonell avhengighet som skjer når t indirekte dannes av to funksjonelle avhengigheter. La oss forstå med følgende eksempler på transitiv avhengighet.
Eksempel:
Selskap | administrerende direktør | Alder |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Company} -> {CEO} (hvis vi kjenner compayen, vet vi konsernsjefens navn)
{CEO} -> {Age} Hvis vi kjenner CEO, kjenner vi Age
Derfor i henhold til regelen om overgangsavhengighet:
{Company} -> {Age} burde holde, det er fornuftig, hvis vi vet firmanavnet, kan vi kjenne hans alder.
Merk: Du må huske at transitiv avhengighet bare kan forekomme i et forhold på tre eller flere attributter.
Hva er normalisering?
Normalisering er en metode for å organisere dataene i databasen som hjelper deg med å unngå dataredundans, innsetting, oppdatering og sletting av anomali. Det er en prosess med å analysere relasjonsskjemaene basert på deres forskjellige funksjonelle avhengigheter og primærnøkkel.
Normalisering er iboende i relasjonell databaseteori. Det kan føre til at de samme dataene dupliseres i databasen, noe som kan føre til at det opprettes flere tabeller.
Fordeler med funksjonell avhengighet
- Funksjonell avhengighet unngår dataredundans. Derfor gjentas ikke samme data på flere steder i den databasen
- Det hjelper deg å opprettholde kvaliteten på dataene i databasen
- Det hjelper deg å definere betydninger og begrensninger av databaser
- Det hjelper deg å identifisere dårlige design
- Det hjelper deg å finne fakta om databasedesignet
Sammendrag
- Funksjonell avhengighet er når ett attributt bestemmer et annet attributt i et DBMS-system.
- Axiom, Decomposition, Dependent, Determinant, Union er nøkkelord for funksjonell avhengighet
- Fire typer funksjonell avhengighet er 1) Multivalued 2) Trivial 3) Non-trivial 4) Transitive
- Avhengighet med flere verdier oppstår i situasjonen der det er flere uavhengige flerverdige attributter i en enkelt tabell
- Trivial avhengighet oppstår når et sett med attributter som kalles trivielt hvis attributtsettet er inkludert i det attributtet
- Ikke-privat avhengighet oppstår når A-> B gjelder når B ikke er en undergruppe av A
- En transitiv er en type funksjonell avhengighet som skjer når den indirekte dannes av to funksjonelle avhengigheter
- Normalisering er en metode for å organisere dataene i databasen som hjelper deg med å unngå dataredundans