Intervijas laikā daži intervētāji jautās par datu bāzes paradigmu, es iepriekš esmu pētījis datu bāzes koledžā, bet neesmu dzirdējis par paradigmu, vai skolotājs to ir pieminējis, un es neesmu pievērsis uzmanību?
Šobrīd relāciju datubāzēs ir sešas paradigmas: pirmā paradigma (1NF), otrā paradigma (2NF), trešā paradigma (3NF), Bass-Cod paradigma (BCNF), ceturtā paradigma (4NF) un piektā paradigma (5NF, pazīstama arī kā ideālā paradigma).
Parasti mēs izmantojam pirmo paradigmu (1NF), otro paradigmu (2NF) un trešo paradigmu (3NF), kas ir "trīs paradigmas", kas tiks aplūkotas šajā rakstā.
Pirmā paradigma (1NF): pieprasa, lai katra datu bāzes tabulas kolonna būtu nedalāms atomu datu vienums.
Ilustrētu:
Iepriekš esošajā tabulā ne kolonnas "Informācija par ģimeni", ne "Informācija par skolu" neatbilst atomiskuma prasībām, tāpēc tās neatbilst pirmajai paradigmai, un tās tiek pielāgotas šādi:
Var redzēt, ka katra koriģētā kolonna ir nedalāma, tāpēc tā atbilst pirmajai paradigmai (1NF);
2. paradigma (2NF): Pamatojoties uz 1NF, atribūtiem, kas nav kodi, jābūt pilnībā atkarīgiem no kandidātkodiem (novērst daļēju funkciju atkarību no neprimārajiem atribūtiem no pamatkoda, pamatojoties uz 1NF)
Otrajai paradigmai ir jānodrošina, ka katra kolonna datu bāzes tabulā ir saistīta ar primāro atslēgu, nevis tikai daļu no primārās atslēgas (galvenokārt federatīvajām primārajām atslēgām).
Ilustrētu:
Iepriekš redzamajā diagrammā redzamajā gadījumā vienā pasūtījumā var būt dažādi produkti, tāpēc primārajai atslēgai jābūt "pasūtījuma numura" un "produkta numura" kombinācijai.
Tomēr var konstatēt, ka preces daudzums, preces atlaide un produkta cena ir saistītas ar "pasūtījuma numuru" un "produkta numuru", bet pasūtījuma summa un pasūtījuma laiks ir saistīti tikai ar "pasūtījuma numuru" un tiem nav nekāda sakara ar "produkta numuru".
Tas neatbilst otrās paradigmas prasībām un tiek pielāgots šādi, kas jāsadala divās tabulās:
Trešā paradigma (3NF): Pamatojoties uz 2NF, jebkurš ne-galvenais atribūts nav atkarīgs no citiem ne-galvenajiem atribūtiem (novēršot pārraides atkarības, pamatojoties uz 2NF)
Trešajai paradigmai ir jānodrošina, ka katra datu tabulas datu kolonna ir tieši saistīta ar primāro atslēgu, nevis netieši.
Ilustrētu:
Iepriekš minētajā tabulā visi atribūti ir pilnībā atkarīgi no skolēna skaita, tāpēc tiek izpildīta otrā paradigma, bet "klases skolotāja dzimums" un "klases skolotāja vecums" ir tieši atkarīgs no "klases skolotāja vārda".
Galvenās atslēgas "studenta numurs" vietā jāveic šādas korekcijas:
Tādā veidā tiek izpildītas trešās paradigmas prasības.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Bovce Codd normālas formas Bacchus paradigma)
Trešā korekcijas paradigma ir novērst vienas primārās atslēgas kolonnas atkarību no citām primārās atslēgas kolonnām. Kad 3NF novērš dažas funkciju atkarības un pārsūtīšanas funkciju atkarības no galvenā atribūta koda, to sauc par BCNF.
Raksturīgs:
1. Visi galvenie atribūti ir pilnīgi funkcionālas atkarības no katra koda
2. Visi galvenie atribūti ir pilnībā atkarīgi no katra koda, kas to nesatur
3. Nav atribūtu, kas būtu pilnībā funkcionāli un atkarīgi no jebkuras ne-koda rekvizītu kopas
Piemēram, krājumu tabula (noliktavas nosaukums, administratora nosaukums, preces nosaukums, daudzums), primārā atslēga ir (noliktavas nosaukums, administratora nosaukums, produkta nosaukums), kas atbilst iepriekšējām trim paradigmām, bet pastāv atkarība starp noliktavas nosaukumu un administratora nosaukumu, tāpēc noliktavas dzēšana izraisīs administratora dzēšanu, tāpēc BCNF nav apmierināts.
4NF ceturtā paradigma
Neprimārajiem atribūtiem nedrīkst būt vairākas vērtības. Ja ir vairākas vērtības, tas pārkāpj ceturto paradigmu. 4NF ir ierobežojuma relāciju modelis, kas nepieļauj netriviālas un no funkcijas neatkarīgas daudzvērtību atkarības starp īpašībām.
Piemēram, lietotāja kontaktinformācijas tabula (lietotāja ID, fiksētais tālrunis, mobilais tālrunis), kur lietotāja ID ir primārā atslēga, kas atbilst BCNF, bet lietotājam var būt vairāki fiksētie tālruņi vai vairāki mobilie tālruņi, tad šis dizains ir nepamatots un jāmaina uz (lietotāja ID, kontaktpersonas veids, tālruņa numurs).
Piezīme: Ja tiek ņemtas vērā tikai funkciju atkarības, paradigma ar visaugstāko relāciju modeļu normalizācijas pakāpi ir BCNF. Ja ņemat vērā vairāku vērtību atkarības, tas ir 4NF.
5NF Piektā paradigma
Piektā paradigma ir pēdējā paradigma, kas novērš savienojuma atkarību 4NF, un piektajai paradigmai jāatbilst šādām prasībām:
1. Jāievēro ceturtā paradigma
2. Tabulām jābūt sadalāmām mazākās tabulās, ja vien šīm tabulām loģiski nav tādas pašas primārās atslēgas kā sākotnējai tabulai.
Vispārējā praktiskajā pielietojumā piektā paradigma nav jāņem vērā.
Pārcelts no:Hipersaites pieteikšanās ir redzama. Atsauce:Hipersaites pieteikšanās ir redzama.
|