Kaj je funkcionalna odvisnost?
Funkcionalna odvisnost (FD) je omejitev, ki določa razmerje enega atributa do drugega atributa v sistemu za upravljanje baz podatkov (DBMS). Funkcionalna odvisnost pomaga ohranjati kakovost podatkov v bazi podatkov. Bistvenega pomena je najti razliko med dobrim in slabim oblikovanjem baze podatkov.
Funkcionalna odvisnost je označena s puščico "→". Funkcionalno odvisnost X od Y predstavlja X → Y. Razumejmo funkcijsko odvisnost v DBMS s primerom.
Primer:
Številka zaposlenega | ime zaposlenega | Plača | Mesto |
1. | Dana | 50000 | San Francisco |
2. | Frančiška | 38000 | London |
3. | Andrew | 25000 | Tokio |
V tem primeru lahko, če poznamo vrednost številke zaposlenega, dobimo ime zaposlenega, mesto, plačo itd. S tem lahko rečemo, da so mesto, ime zaposlenega in plača funkcionalno odvisni od številke zaposlenega.
V tej vadnici boste izvedeli:
- Ključni pogoji
- Pravila funkcionalnih odvisnosti
- Vrste funkcionalnih odvisnosti v DBMS
- Večvrednostna odvisnost v DBMS
- Trivialna funkcionalna odvisnost v DBMS
- Netrivialna funkcionalna odvisnost v DBMS
- Prehodna odvisnost v DBMS
- Kaj je normalizacija?
- Prednosti funkcionalne odvisnosti
Ključni pogoji
Tu je nekaj ključnih izrazov za funkcionalno odvisnost v zbirki podatkov:
Ključni pogoji | Opis |
Aksiom | Aksiomi so nabor pravil sklepanja, ki se uporabljajo za sklepanje o vseh funkcionalnih odvisnostih v relacijski bazi podatkov. |
Razgradnja | Pravilo pravi, da če imate tabelo, ki vsebuje dve entiteti, ki jih določa isti primarni ključ, jih razmislite o razdelitvi v dve različni tabeli. |
Odvisno | Prikazana je na desni strani diagrama funkcionalne odvisnosti. |
Določilo | Prikazana je na levi strani diagrama funkcionalne odvisnosti. |
Unije | Predlaga, da če sta dve tabeli ločeni in je PK enak, bi jih morali razmisliti. skupaj |
Pravila funkcionalnih odvisnosti
Spodaj so navedena tri najpomembnejša pravila za funkcionalno odvisnost v zbirki podatkov:
- Refleksivno pravilo -. Če je X niz atributov in je Y_subset_of X, potem X vsebuje vrednost Y.
- Pravilo povečanja: Ko drži x -> y in je c nabor atributov, velja tudi ac -> bc. To je dodajanje atributov, ki ne spreminjajo osnovnih odvisnosti.
- Prehodno pravilo: To pravilo je zelo podobno prehodnemu pravilu v algebri, če drži x -> y in y -> z, potem velja tudi x -> z. X -> y se imenuje funkcijsko, ki določa y.
Vrste funkcionalnih odvisnosti v DBMS
V DBMS obstajajo predvsem štiri vrste funkcionalne odvisnosti. Sledijo tipi funkcionalnih odvisnosti v DBMS:
- Večvrednostna odvisnost
- Trivialna funkcionalna odvisnost
- Netrivialna funkcionalna odvisnost
- Prehodna odvisnost
Večvrednostna odvisnost v DBMS
Večvrednostna odvisnost se pojavi v primeru, ko je v eni tabeli več neodvisnih večvrednostnih atributov. Večvrednostna odvisnost je popolna omejitev med dvema nizoma atributov v relaciji. Zahteva, da so v razmerju prisotni določeni nabori. Za razumevanje si oglejte naslednji primer večvrednosti odvisnosti.
Primer:
Car_model | Maf_ leto | Barva |
H001 | 2017 | Kovinski |
H001 | 2017 | Zelena |
H005 | 2018 | Kovinski |
H005 | 2018 | Modra |
H010 | 2015 | Kovinski |
H033 | 2012 | siva |
V tem primeru sta maf_year in barva neodvisni drug od drugega, vendar odvisni od car_model. V tem primeru naj bi bila ta dva stolpca večvredna, odvisno od car_model.
To odvisnost lahko predstavimo tako:
car_model -> maf_year
car_model-> barva
Trivialna funkcionalna odvisnost v DBMS
Trivialna odvisnost je niz atributov, ki se imenujejo trivial, če je nabor atributov vključen v ta atribut.
Torej, X -> Y je trivialna funkcionalna odvisnost, če je Y podskupina X. Razumejmo s primerom trivialne funkcionalne odvisnosti.
Na primer:
Emp_id | Emp_name |
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
Upoštevajte to tabelo z dvema stolpcema Emp_id in Emp_name.
{Emp_id, Emp_name} -> Emp_id je trivialna funkcionalna odvisnost, saj je Emp_id podmnožica {Emp_id, Emp_name}.
Netrivialna funkcionalna odvisnost v DBMS
Funkcionalna odvisnost, ki je znana tudi kot netrivialna odvisnost, se pojavi, ko velja A-> B, kadar B ni podmnožica A. V razmerju, če atribut B ni podmnožica atributa A, se šteje za netrivialno odvisnost.
Podjetje | direktor | Starost |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Apple | Tim Cook | 57 |
Primer:
(Podjetje} -> {CEO} (če poznamo podjetje, poznamo ime izvršnega direktorja)
Toda izvršni direktor ni podmnožica podjetja in zato ni nepomembna funkcionalna odvisnost.
Prehodna odvisnost v DBMS
Prehodna odvisnost je vrsta funkcionalne odvisnosti, ki se zgodi, kadar t posredno tvorita dve funkcionalni odvisnosti. Razumejmo z naslednjim primerom prehodne odvisnosti.
Primer:
Podjetje | direktor | Starost |
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Podjetje} -> {CEO} (če poznamo podjetje, poznamo ime njegovega izvršnega direktorja)
{CEO} -> {Age} Če izvršnega direktorja poznamo, poznamo starost
V skladu s pravilom pravila o prehodni odvisnosti:
{Podjetje} -> {Starost} bi moralo držati, to je smiselno, ker če poznamo ime podjetja, lahko vemo njegovo starost.
Opomba: Ne pozabite, da se prehodna odvisnost lahko pojavi le v razmerju treh ali več atributov.
Kaj je normalizacija?
Normalizacija je metoda organiziranja podatkov v zbirki podatkov, ki vam pomaga, da se izognete odvečnosti podatkov, vstavljanju, posodabljanju in brisanju. Gre za postopek analize shem relacij na podlagi njihovih različnih funkcionalnih odvisnosti in primarnega ključa.
Normalizacija je neločljivo značilna za teorijo relacijskih baz podatkov. Lahko povzroči podvajanje istih podatkov v zbirki podatkov, kar lahko povzroči ustvarjanje dodatnih tabel.
Prednosti funkcionalne odvisnosti
- Funkcionalna odvisnost se izogne odvečnosti podatkov. Zato se isti podatki ne ponavljajo na več lokacijah v tej bazi podatkov
- Pomaga vam pri ohranjanju kakovosti podatkov v zbirki podatkov
- Pomaga vam pri določanju pomenov in omejitev baz podatkov
- Pomaga vam prepoznati slabe modele
- Pomaga vam najti dejstva v zvezi z zasnovo baze podatkov
Povzetek
- Funkcionalna odvisnost je, ko en atribut določi drugega atributa v sistemu DBMS.
- Axiom, Decomposition, Dependent, Determinant, Union so ključni izrazi za funkcionalno odvisnost
- Štiri vrste funkcionalne odvisnosti so 1) večvrednostna 2) trivialna 3) netrivialna 4) tranzitivna
- Večvrednostna odvisnost se pojavi v situaciji, ko je v eni tabeli več neodvisnih večvrednostnih atributov
- Trivialna odvisnost se pojavi, ko nabor atributov, ki se imenuje trivial, če je niz atributov vključen v ta atribut
- Netrivialna odvisnost se pojavi, ko velja A-> B, kadar B ni podskupina A
- Tranzitiv je vrsta funkcionalne odvisnosti, ki se zgodi, kadar je posredno tvorjena iz dveh funkcionalnih odvisnosti
- Normalizacija je metoda organiziranja podatkov v zbirki podatkov, ki vam pomaga, da se izognete odvečnosti podatkov