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