Funktionellt beroende i DBMS: Vad är, typer och exempel

Vad är funktionellt beroende?

Funktionellt beroende (FD) är en begränsning som bestämmer relationen mellan ett attribut och ett annat attribut i ett databashanteringssystem (DBMS). Funktionellt beroende hjälper till att upprätthålla kvaliteten på data i databasen. Det spelar en viktig roll att hitta skillnaden mellan bra och dålig databasdesign.

Ett funktionellt beroende betecknas med en pil "→". Det funktionella beroendet av X på Y representeras av X → Y. Låt oss förstå funktionellt beroende i DBMS med exempel.

Exempelvis:

Anställningsnummer Anställd Namn Lön Stad
1 Dana 50000 San Francisco
2 Francis 38000 london
3 Andrew 25000 Tokyo

I det här exemplet, om vi vet värdet på anställds nummer, kan vi få anställds namn, stad, lön etc. Med detta kan vi säga att orten, anställds namn och lön är funktionellt beroende av anställds nummer.

Nyckelbegrepp

Här är några nyckeltermer för funktionellt beroende i databasen:

Nyckelbegrepp Description
Axiom Axiom är en uppsättning slutledningsregler som används för att härleda alla funktionella beroenden på en relationsdatabas.
Sönderfall Det är en regel som föreslår att om du har en tabell som verkar innehålla två entiteter som bestäms av samma primärnyckel så bör du överväga att dela upp dem i två olika tabeller.
Beroende Det visas på höger sida av det funktionella beroendediagrammet.
determinanten Det visas på vänster sida av funktionsberoendediagrammet.
Unionen Det föreslår att om två tabeller är separata och PK är densamma, bör du överväga att lägga dem. tillsammans

Regler för funktionella beroenden

Nedan är de tre viktigaste reglerna för funktionellt beroende i databasen:

  • Reflexiv regel –. Om X är en uppsättning attribut och Y är_delmängd_av X, så har X värdet Y.
  • Förstärkningsregel: När x -> y gäller, och c är attributuppsättning, gäller även ac -> bc. Det är att lägga till attribut som inte ändrar de grundläggande beroenden.
  • Transitivitetsregel: Denna regel är mycket lik den transitiva regeln i algebra om x -> y gäller och y -> z gäller, då gäller x -> z också. X -> y kallas som funktionellt som bestämmer y.

Typer av funktionella beroenden i DBMS

Det finns huvudsakligen fyra typer av funktionellt beroende i DBMS. Följande är typerna av funktionella beroenden i DBMS:

  • Flervärdigt beroende
  • Trivialt funktionellt beroende
  • Icke-trivialt funktionellt beroende
  • Transitivt beroende

Flervärdigt beroende i DBMS

Flervärdesberoende uppstår i en situation där det finns flera oberoende flervärdesattribut i en enda tabell. Ett flervärdigt beroende är en fullständig begränsning mellan två uppsättningar av attribut i en relation. Det kräver att vissa tuplar finns i en relation. Betrakta följande exempel på flervärdigt beroende för att förstå.

Exempelvis:

Bilmodell Maf_år Färg
H001 2017 Metallisk
H001 2017 Grön
H005 2018 Metallisk
H005 2018 Blå
H010 2015 Metallisk
H033 2012 Grå

I det här exemplet är maf_year och color oberoende av varandra men beroende av car_model. I det här exemplet sägs dessa två kolumner vara multivärde beroende på car_model.

Detta beroende kan representeras så här:

bilmodell -> maf_år

bilmodell-> färg

Trivialt funktionellt beroende i DBMS

Trivialberoendet är en uppsättning attribut som kallas trivial om uppsättningen attribut ingår i det attributet.

Så, X -> Y är ett trivialt funktionellt beroende om Y är en delmängd av X. Låt oss förstå med ett trivialt funktionellt beroendeexempel.

Till exempel:

Emp_id Emp_name
AS555 Harry
AS811 George
AS999 Kevin

Betrakta den här tabellen med två kolumner Emp_id och Emp_name.

{Emp_id, Emp_name} -> Emp_id är ett trivialt funktionellt beroende eftersom Emp_id är en delmängd av {Emp_id,Emp_name}.

Icke trivialt funktionellt beroende i DBMS

Funktionellt beroende som också kallas ett icke-trivialt beroende uppstår när A->B gäller där B inte är en delmängd av A. I en relation, om attribut B inte är en delmängd av attribut A, betraktas det som en icke-trivial beroende.

Företag VD Ålder
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Apple Tim Cook 57

Exempelvis:

(Företag} -> {VD} (om vi känner till företaget känner vi till vd-namnet)

Men VD är inte en delmängd av företaget, och därför är det ett icke-trivialt funktionellt beroende.

Transitivt beroende i DBMS

Ett transitivt beroende är en typ av funktionellt beroende som inträffar när "t" indirekt bildas av två funktionella beroenden. Låt oss förstå med följande exempel på transitivt beroende.

Exempelvis:

Företag VD Ålder
Microsoft Satya Nadella 51
Google Sundar Pichai 46
alibaba Jack Ma 54

{Company} -> {CEO} (om vi känner till företaget vet vi dess vd:s namn)

{VD } -> {Ålder} Om vi ​​känner VD:n vet vi åldern

Därför enligt regeln om transitivt beroende:

{Företag} -> {Ålder} borde hålla, det är vettigt för om vi känner till företagets namn kan vi veta hans ålder.

Notera: Du måste komma ihåg att transitivt beroende endast kan förekomma i en relation av tre eller fler attribut.

Vad är normalisering?

Normalisering är en metod för att organisera data i databasen som hjälper dig att undvika dataredundans, infogning, uppdatering och radering. Det är en process för att analysera relationsscheman baserat på deras olika funktionella beroenden och primärnyckel.

Normalisering är inneboende i relationsdatabasteori. Det kan ha effekten av att samma data dupliceras i databasen, vilket kan resultera i att ytterligare tabeller skapas.

Fördelar med funktionellt beroende

  • Funktionellt beroende undviker dataredundans. Därför upprepas inte samma data på flera platser i den databas
  • Det hjälper dig att upprätthålla kvaliteten på data i databasen
  • Det hjälper dig att definiera betydelser och begränsningar för databaser
  • Det hjälper dig att identifiera dåliga mönster
  • Det hjälper dig att hitta fakta om databasens design

Sammanfattning

  • Funktionellt beroende är när ett attribut bestämmer ett annat attribut i en DBMS-system.
  • Axiom, Nedbrytning, Dependent, Determinant, Union är nyckeltermer för funktionellt beroende
  • Fyra typer av funktionellt beroende är 1) Flervärdigt 2) Trivialt 3) Icke-trivialt 4) Transitivt
  • Flervärdesberoende uppstår i en situation där det finns flera oberoende flervärdesattribut i en enda tabell
  • Trivialberoendet uppstår när en uppsättning attribut som kallas trivial om uppsättningen attribut ingår i det attributet
  • Icke-trivialt beroende uppstår när A->B gäller där B inte är en delmängd av A
  • En transitiv är en typ av funktionellt beroende som inträffar när det indirekt bildas av två funktionella beroenden
  • Normalisering är en metod för att organisera data i databasen som hjälper dig att undvika dataredundans