Med razgovorom bodo nekateri intervjuvalci vprašali o paradigmi baz podatkov, sam sem že prej študiral podatkovne baze na fakulteti, vendar nisem slišal za paradigmo, ali pa je učitelj omenil in nisem bil pozoren?
Trenutno obstaja šest paradigm v relacijskih podatkovnih bazah: prva paradigma (1NF), druga paradigma (2NF), tretja paradigma (3NF), Bass-Cod paradigma (BCNF), četrta paradigma (4NF) in peta paradigma (5NF, znana tudi kot popolna paradigma).
Običajno uporabljamo prvo paradigmo (1NF), drugo paradigmo (2NF) in tretjo paradigmo (3NF), ki so "tri paradigme", ki jih obravnavamo v tem članku.
Prva paradigma (1NF): Zahteva, da je vsak stolpec tabele podatkovne baze nedeljiv atomski podatkovni element.
Ponazoritev:
V zgornji tabeli niti stolpca "Družinske informacije" niti "Šolske informacije" ne izpolnjujeta atomskih zahtev, zato ne ustrezata prvemu paradigmi in sta prilagojeni na naslednji način:
Vidimo lahko, da je vsak prilagojen stolpec nedeljiv, zato izpolnjuje prvi paradigm (1NF);
Paradigma 2 (2NF): Na podlagi 1NF morajo biti ne-kodni atributi popolnoma odvisni od kandidatnih kod (odpraviti delno odvisnost funkcij neprimarnih atributov od glavne kode na osnovi 1NF)
Druga paradigma mora zagotoviti, da je vsak stolpec v tabeli baze podatkov povezan s primarnim ključem, ne le z delom primarnega ključa (predvsem za federirane primarne ključe).
Ponazoritev:
V primeru, prikazanem na zgornjem diagramu, lahko isto naročilo vsebuje različne produkte, zato mora biti primarni ključ kombinacija "številke naročila" in "številke izdelka".
Vendar pa je mogoče ugotoviti, da so količina izdelka, popust izdelka in cena izdelka povezani z "številko naročila" in "številko izdelka", vendar sta količina naročila in čas naročila povezana le z "številko naročila" in nimata nobene zveze s "številko izdelka".
To ne izpolnjuje zahtev druge paradigme in se prilagodi na naslednji način, ki jo je treba razdeliti v dve tabeli:
Tretja paradigma (3NF): Na podlagi 2NF noben atribut, ki ni glavni, ne temelji na drugih ne-glavnih atributih (odprava odvisnosti prenosa na podlagi 2NF)
Tretja paradigma mora zagotoviti, da je vsak stolpec podatkov v podatkovni tabeli neposredno povezan s primarnim ključem, ne posredno.
Ponazoritev:
V zgornji tabeli so vsi atributi popolnoma odvisni od številke učenca, zato je drugi vzorec izpolnjen, vendar sta "spol razrednega učitelja" in "starost razrednega učitelja" neposredno odvisna od "imena razrednega učitelja".
Namesto glavnega ključa "študentska številka" je treba narediti naslednje prilagoditve:
Na ta način so izpolnjene zahteve tretje paradigme.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Bovce Codd Normal Form Bacchus Paradigma)
Tretji pristop popravka je preprečiti, da bi en stolpec primarnega ključa bil odvisen od drugih stolpcov primarnega ključa. Ko 3NF odpravi nekatere odvisnosti funkcij in odvisnosti prenosnih funkcij od glavne atributne kode, se imenuje BCNF.
Lastnost:
1. Vse glavne lastnosti so popolnoma funkcionalne odvisnosti vsake kode
2. Vsi glavni atributi so popolnoma odvisni od funkcije vsake kode, ki je ne vsebuje
3. Ni atributov, ki bi bili popolnoma funkcionalni in odvisni od katerega koli nabora nekodnih lastnosti
Na primer, tabela zalog (ime skladišča, ime skrbnika, ime izdelka, količina), primarni ključ je (ime skladišča, ime skrbnika, ime izdelka), ki izpolnjuje prejšnje tri paradigme, vendar obstaja odvisnost med imenom skladišča in imenom administratorja, zato bo brisanje skladišča povzročilo izbris administratorja, zato BCNF ni zadovoljen.
4NF Četrta paradigma
Neprimarni atributi ne bi smeli imeti več vrednosti. Če obstaja večvrednost, to krši četrti paradigm. 4NF je restrikcijski relacijski vzorec, ki ne dovoljuje netrivialnih in od funkcije odvisnih večvrednostnih odvisnosti med lastnostmi.
Na primer, tabela uporabniških kontaktnih informacij (uporabniški ID, stacionarni telefon, mobilni telefon), kjer je uporabniški ID primarni ključ, ki izpolnjuje BCNF, vendar ima uporabnik lahko več stacionarnih ali več mobilnih telefonov, potem je ta zasnova nerazumna in bi jo bilo treba spremeniti v (uporabniški ID, vrsta kontakta, telefonska številka).
Opomba: Če upoštevamo le odvisnosti funkcij, je paradigma z najvišjo stopnjo normalizacije relacijskih vzorcev BCNF. Če upoštevamo večvrednostne odvisnosti, je to 4NF.
5NF Peta paradigma
Peta paradigma je končna, ki odpravlja odvisnost od povezave v 4NF, peta pa mora izpolnjevati naslednje zahteve:
1. Četrto paradigmo je treba izpolniti
2. Tabele morajo biti razcepljive na manjše tabele, razen če imajo te tabele logično enak primarni ključ kot izvirna tabela.
V splošnih praktičnih aplikacijah petega paradigme ni treba upoštevati.
Preneseno iz:Prijava do hiperpovezave je vidna. Referenčni:Prijava do hiperpovezave je vidna.
|