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