Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 2184|Atbildi: 0

[Paziņojums] Relāciju datu bāzes dizains: populāra izpratne par trim paradigmām

[Kopēt saiti]
Publicēts 21.03.2024 10:53:13 | | | |
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.





Iepriekšējo:Alibaba mākonis aizstāj privāto tīklu (virtuālais slēdzis) tīkls nav sasniedzams
Nākamo:Startējiet lietotni Guardian ASP.NET Core ar PM2
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com