Hvad er funktionel afhængighed?
Funktionel afhængighed (FD) er en begrænsning, der bestemmer forholdet mellem en attribut og en anden attribut i et databasestyringssystem (DBMS). Funktionel afhængighed hjælper med at opretholde kvaliteten af data i databasen. Det spiller en vigtig rolle for at finde forskellen mellem godt og dårligt databasedesign.
En funktionel afhængighed betegnes med en pil "→". Den funktionelle afhængighed af X på Y er repræsenteret af X → Y. Lad os forstå funktionel afhængighed i DBMS med eksempel.
Eksempel:
Medarbejdernummer | Ansattes navn | Løn | By |
1 | Dana | 50000 | San Francisco |
2 | Francis | 38000 | London |
3 | Andrew | 25000 | Tokyo |
I dette eksempel, hvis vi kender værdien af medarbejdernummer, kan vi få medarbejdernavn, by, løn osv. Ved dette kan vi sige, at byen, medarbejdernavn og løn funktionelt afhænger af medarbejdernummer.
I denne vejledning lærer du:
- Nøglebegreber
- Regler for funktionelle afhængigheder
- Typer af funktionelle afhængigheder i DBMS
- Afhængighed i flere værdier i DBMS
- Trivial Funktionel afhængighed i DBMS
- Ikke triviel Funktionel afhængighed i DBMS
- Transitiv afhængighed i DBMS
- Hvad er normalisering?
- Fordele ved funktionel afhængighed
Nøglebegreber
Her er nogle nøgleord for funktionel afhængighed i database:
Nøglebegreber | Beskrivelse |
Axiom | Axioms er et sæt slutningsregler, der bruges til at udlede alle de funktionelle afhængigheder i en relationsdatabase. |
Nedbrydning | Det er en regel, der antyder, at hvis du har en tabel, der ser ud til at indeholde to enheder, der bestemmes af den samme primære nøgle, bør du overveje at opdele dem i to forskellige tabeller. |
Afhængig | Det vises på højre side af det funktionelle afhængighedsdiagram. |
Determinant | Det vises på venstre side af det funktionelle afhængighedsdiagram. |
Union | Det antyder, at hvis to tabeller er adskilte, og PK er den samme, bør du overveje at placere dem. sammen |
Regler for funktionelle afhængigheder
Nedenfor er de tre vigtigste regler for funktionel afhængighed i databasen:
- Refleksiv regel -. Hvis X er et sæt attributter og Y er_subset_of X, har X en værdi på Y.
- Forstørrelsesregel: Når x -> y holder, og c er attributindstillet, så holder også ac -> bc. Det er at tilføje attributter, der ikke ændrer de grundlæggende afhængigheder.
- Transitivitetsregel: Denne regel ligner meget den transitive regel i algebra, hvis x -> y holder og y -> z holder, så gælder også x -> z. X -> y kaldes som funktionelt, der bestemmer y.
Typer af funktionelle afhængigheder i DBMS
Der er hovedsageligt fire typer funktionel afhængighed i DBMS. Følgende er typerne af funktionelle afhængigheder i DBMS:
- Afhængighed med flere værdier
- Trivial funktionel afhængighed
- Ikke-triviel funktionel afhængighed
- Transitiv afhængighed
Afhængighed i flere værdier i DBMS
Afhængighed med flere værdier opstår i den situation, hvor der er flere uafhængige attributter med flere værdier i en enkelt tabel. En afhængighed med flere værdier er en komplet begrænsning mellem to sæt attributter i en relation. Det kræver, at visse tupler er til stede i en relation. Overvej følgende eksempel på flere værdier afhængighed for at forstå.
Eksempel:
Bilmodel | Maf_year | Farve |
H001 | 2017 | Metallisk |
H001 | 2017 | Grøn |
H005 | 2018 | Metallisk |
H005 | 2018 | Blå |
H010 | 2015 | Metallisk |
H033 | 2012 | Grå |
I dette eksempel er maf_år og farve uafhængige af hinanden, men afhængige af bilmodel. I dette eksempel siges det, at disse to kolonner er flerværdige afhængige af bilmodel.
Denne afhængighed kan repræsenteres således:
bilmodel -> maf_år
bil_model-> farve
Trivial Funktionel Afhængighed i DBMS
Trivial afhængighed er et sæt attributter, der kaldes trivielt, hvis sæt attributter er inkluderet i den attribut.
Så X -> Y er en triviel funktionel afhængighed, hvis Y er en delmængde af X. Lad os forstå med et eksempel på en triviel funktionel afhængighed.
For eksempel:
Emp_id | Emp_name |
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
Overvej denne tabel med to kolonner Emp_id og Emp_name.
{Emp_id, Emp_name} -> Emp_id er en triviel funktionel afhængighed, da Emp_id er en delmængde af {Emp_id, Emp_name}.
Ikke-triviel funktionel afhængighed i DBMS
Funktionel afhængighed, der også kaldes en ikke-privat afhængighed, opstår, når A-> B gælder, hvor B ikke er en delmængde af A. Hvis attribut B ikke er en delmængde af attribut A i et forhold, betragtes det som et ikke-trivielt afhængighed.
Selskab | direktør | Alder |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Æble | Tim Cook | 57 |
Eksempel:
(Company} -> {CEO} (hvis vi kender virksomheden, kender vi CEO-navnet)
Men CEO er ikke en delmængde af virksomheden, og derfor er den ikke-triviel funktionel afhængighed.
Transitiv afhængighed i DBMS
En transitiv afhængighed er en type funktionel afhængighed, der sker, når t indirekte dannes af to funktionelle afhængigheder. Lad os forstå med følgende eksempel på transitiv afhængighed.
Eksempel:
Selskab | direktør | Alder |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Company} -> {CEO} (hvis vi kender compayen, kender vi dens CEO's navn)
{CEO} -> {Age} Hvis vi kender CEO, kender vi Age
Derfor i henhold til reglen om regel for forbigående afhængighed:
{Company} -> {Age} skal holde, det giver mening, for hvis vi kender virksomhedsnavnet, kan vi kende hans alder.
Bemærk: Du skal huske, at transitiv afhængighed kun kan forekomme i et forhold på tre eller flere attributter.
Hvad er normalisering?
Normalisering er en metode til at organisere dataene i databasen, som hjælper dig med at undgå dataredundans, indsættelse, opdatering og sletning anomali. Det er en proces til analyse af relationsskemaerne baseret på deres forskellige funktionelle afhængigheder og primære nøgle.
Normalisering er iboende i relationel databaseteori. Det kan medføre, at de samme data duplikeres i databasen, hvilket kan resultere i oprettelse af yderligere tabeller.
Fordele ved funktionel afhængighed
- Funktionel afhængighed undgår dataredundans. Derfor gentages de samme data ikke flere steder i databasen
- Det hjælper dig med at opretholde kvaliteten af data i databasen
- Det hjælper dig med at definere betydninger og begrænsninger af databaser
- Det hjælper dig med at identificere dårlige designs
- Det hjælper dig med at finde fakta vedrørende databasedesignet
Resumé
- Funktionel afhængighed er, når en attribut bestemmer en anden attribut i et DBMS-system.
- Axiom, nedbrydning, afhængig, determinant, union er nøgleord for funktionel afhængighed
- Fire typer funktionel afhængighed er 1) Flerværdi 2) Trivial 3) Ikke-triviel 4) Transitiv
- Afhængighed med flere værdier opstår i den situation, hvor der er flere uafhængige attributter med flere værdier i en enkelt tabel
- Trivial afhængighed opstår, når et sæt attributter, der kaldes trivielt, hvis sæt attributter er inkluderet i den attribut
- Ikke-privat afhængighed opstår, når A-> B gælder, hvor B ikke er en delmængde af A
- En transitiv er en type funktionel afhængighed, der sker, når den indirekte dannes af to funktionelle afhængigheder
- Normalisering er en metode til at organisere dataene i databasen, som hjælper dig med at undgå dataredundans