Funktionel afhængighed i DBMS: Hvad er, typer og eksempler

Indholdsfortegnelse:

Anonim

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
Google 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
Google 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