Funktionsberoende i DBMS: Vad är, typer och exempel

Innehållsförteckning:

Anonim

Vad är funktionellt beroende?

Funktionsberoende (FD) är en begränsning som bestämmer förhållandet 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 för att hitta skillnaden mellan bra och dålig databasdesign.

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

Exempel:

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älld nummer, kan vi få anställds namn, stad, lön, etc. På detta sätt kan vi säga att staden, anställds namn och lön är funktionellt beroende av anställds nummer.

I den här handledningen lär du dig:

  • Nyckelbegrepp
  • Regler för funktionella beroenden
  • Typer av funktionella beroenden i DBMS
  • Flervärdesberoende i DBMS
  • Trivial Funktionellt beroende i DBMS
  • Icke trivialt Funktionsberoende i DBMS
  • Transitivt beroende i DBMS
  • Vad är normalisering?
  • Fördelar med funktionellt beroende

Nyckelbegrepp

Här är några nyckeltermer för funktionell beroende i databas:

Nyckelbegrepp Beskrivning
Axiom Axioms är en uppsättning regler som används för att härleda alla funktionella beroenden i en relationsdatabas.
Sönderfall Det är en regel som antyder att om du har en tabell som verkar innehålla två enheter som bestäms av samma primärnyckel, bör du överväga att dela upp dem i två olika tabeller.
Beroende Den visas på höger sida av funktionsberoende diagrammet.
Determinant Den visas på vänster sida av det funktionella beroendediagrammet.
Union 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 följer de tre viktigaste reglerna för funktionell beroende i databas:

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

Typer av funktionella beroenden i DBMS

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

  • Flervärdesberoende
  • Trivial Functional Dependency
  • Icke-trivialt funktionsberoende
  • Transitivt beroende

Flervärdesberoende i DBMS

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

Exempel:

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

I detta exempel är maf_år och färg oberoende av varandra men beroende av bilmodell. I det här exemplet sägs dessa två kolumner vara flervärdiga beroende av bilmodell.

Detta beroende kan representeras så här:

car_model -> maf_year

bil_modell-> färg

Trivial Functional Dependency in 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 funktionsberoende om Y är en delmängd av X. Låt oss förstå med ett Trivial Functional Dependency Exempel.

Till exempel:

Emp_id Emp_name
AS555 Harry
AS811 George
AS999 Kevin

Tänk på den här tabellen med två kolumner Emp_id och Emp_name.

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

Non Trivial Functional Dependency in DBMS

Funktionellt beroende som även kallas ett icke-beroende beroende inträffar när A-> B gäller när B inte är en delmängd av A. Om attribut B inte är en delmängd av attribut A i ett förhållande betraktas det som en icke-trivial beroende.

Företag vd Ålder
Microsoft Satya Nadella 51
Google Sundar Pichai 46
Äpple Tim Cook 57

Exempel:

(Företag} -> {VD} (om vi känner till företaget vet vi VD: s namn)

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

Transitivt beroende i DBMS

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

Exempel:

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

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

{CEO} -> {Age} Om vi ​​känner till CEO, känner vi till Age

Därför enligt regeln om övergående beroende:

{Company} -> {Age} borde hålla, det är vettigt, för om vi vet företagsnamnet kan vi känna till hans ålder.

Obs! Du måste komma ihåg att transitivt beroende bara kan förekomma i en relation av tre eller flera attribut.

Vad är normalisering?

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

Normalisering är inneboende i relationsdatabasteorin. Det kan ha effekten att duplicera samma data i databasen, vilket kan leda till att ytterligare tabeller skapas.

Fördelar med funktionellt beroende

  • Funktionsberoende undviker dataredundans. Därför upprepas inte samma data på flera platser i databasen
  • 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 angående databasdesignen

Sammanfattning

  • Funktionsberoende är när ett attribut bestämmer ett annat attribut i ett DBMS-system.
  • Axiom, sönderfall, beroende, determinant, union är nyckelord för funktionellt beroende
  • Fyra typer av funktionsberoende är 1) Flervärdet 2) Trivial 3) Icke-trivialt 4) Transitivt
  • Flervärdesberoende uppstår i situationen där det finns flera oberoende flervärdesattribut i en enda tabell
  • Trivialberoende inträffar när en uppsättning attribut som kallas trivial om uppsättningen attribut ingår i det attributet
  • Icke-beroende beroendet inträffar när A-> B gäller när B inte är en delmängd av A
  • En transitiv är en typ av funktionellt beroende som händer 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