Funkcionalna ovisnost u DBMS-u: što je, vrste i primjeri
Što je funkcionalna ovisnost?
Funkcionalna ovisnost (FD) je ograničenje koje određuje odnos jednog atributa prema drugom atributu u sustavu upravljanja bazom podataka (DBMS). Funkcionalna ovisnost pomaže u održavanju kvalitete podataka u bazi podataka. Igra vitalnu ulogu u pronalaženju razlike između dobrog i lošeg dizajna baze podataka.
Funkcionalna ovisnost je označena strelicom “→”. Funkcionalna ovisnost X o Y predstavljena je s X → Y. Razumimo funkcionalnu ovisnost u DBMS-u na primjeru.
Primjer:
Broj zaposlenika | ime zaposlenika | Plata | Grad |
---|---|---|---|
1 | Dana | 50000 | San Francisko |
2 | Franjo | 38000 | London |
3 | Andrija | 25000 | Tokyo |
U ovom primjeru, ako znamo vrijednost broja zaposlenika, možemo dobiti ime zaposlenika, grad, plaću itd. Ovime možemo reći da grad, ime zaposlenika i plaća funkcionalno ovise o broju zaposlenika.
Ključni pojmovi
Ovdje su neki ključni pojmovi za funkcionalnu ovisnost u bazi podataka:
Ključni uvjeti | Description |
---|---|
Aksiom | Aksiomi su skup pravila zaključivanja koja se koriste za zaključivanje svih funkcionalnih ovisnosti o relacijskoj bazi podataka. |
Raspad | To je pravilo koje sugerira da ako imate tablicu za koju se čini da sadrži dva entiteta koji su određeni istim primarnim ključem, trebali biste razmisliti o njihovom razbijanju u dvije različite tablice. |
zavisan | Prikazuje se na desna strana dijagrama funkcionalne ovisnosti. |
determinanta | Prikazuje se na lijevoj strani dijagrama funkcionalne ovisnosti. |
Unija | Predlaže da ako su dvije tablice odvojene, a PK je isti, trebate razmisliti o njihovom stavljanju. zajedno |
Pravila funkcionalnih ovisnosti
Ispod su tri najvažnija pravila za funkcionalnu ovisnost u bazi podataka:
- Refleksivno pravilo –. Ako je X skup atributa, a Y je_podskup_od X, tada X ima vrijednost Y.
- Pravilo povećanja: Kada vrijedi x -> y, a c je postavljen atribut, tada vrijedi i ac -> bc. To je dodavanje atributa koji ne mijenjaju osnovne ovisnosti.
- Pravilo tranzitivnosti: Ovo pravilo je vrlo slično pravilu tranzitivnosti u algebri ako vrijedi x -> y i vrijedi y -> z, tada vrijedi i x -> z. X -> y naziva se funkcionalno koje određuje y.
Vrste funkcionalnih ovisnosti u DBMS-u
Postoje uglavnom četiri vrste funkcionalne ovisnosti u DBMS-u. Slijede vrste funkcionalnih ovisnosti u DBMS-u:
- Višeznačna ovisnost
- Trivijalna funkcionalna ovisnost
- Netrivijalna funkcionalna ovisnost
- Tranzitivna ovisnost
Viševrijedna ovisnost u DBMS-u
Ovisnost s više vrijednosti javlja se u situaciji kada postoji više neovisnih atributa s više vrijednosti u jednoj tablici. Viševrijedna ovisnost potpuno je ograničenje između dva skupa atributa u relaciji. Zahtijeva da određene torke budu prisutne u relaciji. Razmotrite sljedeći primjer ovisnosti s više vrijednosti da biste razumjeli.
Primjer:
Model_automobila | maf_godina | Boja |
---|---|---|
H001 | 2017 | Metalik |
H001 | 2017 | zelena |
H005 | 2018 | Metalik |
H005 | 2018 | plava |
H010 | 2015 | Metalik |
H033 | 2012 | Siva |
U ovom primjeru, maf_year i color neovisni su jedan o drugome, ali ovise o car_model. U ovom primjeru, za ova dva stupca se kaže da imaju više vrijednosti ovisne o car_model.
Ova se ovisnost može prikazati ovako:
model_automobila -> maf_godina
model_automobila-> boja
Trivijalna funkcionalna ovisnost u DBMS-u
Trivijalna ovisnost je skup atributa koji se nazivaju trivijalni ako je skup atributa uključen u taj atribut.
Dakle, X -> Y je trivijalna funkcionalna ovisnost ako je Y podskup od X. Razumimo s primjerom trivijalne funkcionalne ovisnosti.
Na primjer:
Emp_id | Emp_name |
---|---|
AS555 | Pljačkati |
AS811 | George |
AS999 | Kevin |
Razmotrite ovu tablicu s dva stupca Emp_id i Emp_name.
{Emp_id, Emp_name} -> Emp_id je trivijalna funkcionalna ovisnost jer je Emp_id podskup {Emp_id,Emp_name}.
Netrivijalna funkcionalna ovisnost u DBMS-u
Funkcionalna ovisnost koja je također poznata kao netrivijalna ovisnost javlja se kada A->B vrijedi gdje B nije podskup A. U odnosu, ako atribut B nije podskup atributa A, tada se smatra netrivijalnim ovisnost.
O nama | Predsjednik Uprave | Dob |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
jabuka | Tim Cook | 57 |
Primjer:
(Tvrtka} -> {CEO} (ako znamo tvrtku, znamo ime CEO-a)
Ali CEO nije podskup tvrtke, pa je stoga netrivijalna funkcionalna ovisnost.
Tranzitivna ovisnost u DBMS-u
Prijelazna ovisnost je vrsta funkcionalne ovisnosti koja se događa kada je "t" neizravno formirano od dvije funkcionalne ovisnosti. Hajdemo razumjeti sa sljedećim primjerom tranzitivne ovisnosti.
Primjer:
O nama | Predsjednik Uprave | Dob |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibi | Jack Ma | 54 |
{Company} -> {CEO} (ako znamo tvrtku, znamo i ime njezinog CEO-a)
{CEO } -> {Age} Ako znamo izvršnog direktora, znamo i dob
Stoga prema pravilu pravila tranzitivne ovisnosti:
{Company} -> {Age} treba držati, to ima smisla jer ako znamo naziv tvrtke, možemo znati i njegove godine.
Napomena: Morate zapamtiti da se tranzitivna ovisnost može pojaviti samo u odnosu tri ili više atributa.
Što je normalizacija?
Normalizacija je metoda organiziranja podataka u bazi podataka koja vam pomaže u izbjegavanju redundantnosti podataka, anomalija umetanja, ažuriranja i brisanja. To je proces analize relacijskih shema na temelju njihovih različitih funkcionalnih ovisnosti i primarnog ključa.
Normalizacija je svojstvena teoriji relacijskih baza podataka. To može imati učinak dupliciranja istih podataka unutar baze podataka što može rezultirati stvaranjem dodatnih tablica.
Prednosti funkcionalne ovisnosti
- Funkcionalna ovisnost izbjegava redundantnost podataka. Stoga se isti podaci ne ponavljaju na više mjesta u tome baza podataka
- Pomaže vam u održavanju kvalitete podataka u bazi podataka
- Pomaže vam da definirate značenja i ograničenja baza podataka
- Pomaže vam da prepoznate loše dizajne
- Pomaže vam pronaći činjenice o dizajnu baze podataka
rezime
- Funkcionalna ovisnost je kada jedan atribut određuje drugi atribut u a DBMS sustav.
- Aksiom, dekompozicija, ovisna, determinanta, unija ključni su pojmovi za funkcionalnu ovisnost
- Četiri tipa funkcionalne ovisnosti su 1) viševrijedna 2) trivijalna 3) netrivijalna 4) tranzitivna
- Ovisnost s više vrijednosti javlja se u situaciji kada postoji više neovisnih atributa s više vrijednosti u jednoj tablici
- Trivijalna ovisnost javlja se kada skup atributa koji se nazivaju trivijalni ako je skup atributa uključen u taj atribut
- Netrivijalna ovisnost se javlja kada A->B vrijedi gdje B nije podskup od A
- Tranzitivnost je vrsta funkcionalne ovisnosti koja se događa kada je neizravno tvore dvije funkcionalne ovisnosti
- Normalizacija je metoda organiziranja podataka u bazi podataka koja vam pomaže u izbjegavanju redundantnosti podataka