See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 2184|Vastuse: 0

[Kommunikatsioon] Relatsiooniline andmebaasi disain: populaarne arusaam kolmest paradigmast

[Kopeeri link]
Postitatud 21.03.2024 10:53:13 | | | |
Intervjueerimise ajal küsivad mõned intervjueerijad andmebaasi paradigma kohta, olen varem kolledžis andmebaase uurinud, aga pole sellest kuulnud või õpetaja on seda maininud ja ma pole sellele tähelepanu pööranud?

Praegu on relatsioonilistes andmebaasides kuus paradigmat: esimene paradigma (1NF), teine paradigma (2NF), kolmas paradigma (3NF), Bass-Cod paradigma (BCNF), neljas paradigma (4NF) ja viies paradigma (5NF, tuntud ka kui täiuslik paradigma).

Tavaliselt kasutame esimest paradigmat (1NF), teist paradigmat (2NF) ja kolmandat paradigmat (3NF), mis on "kolm paradigmat", mida selles artiklis käsitletakse.

Esimene paradigma (1NF): Nõuab, et iga andmebaasitabeli veerg oleks jagamatu aatomandmeüksus.

Illustreerida:



Ülaltoodud tabelis ei vasta ei "Pereinformatsioon" ega "Kooliinfo" veerg aatomilisuse nõuetele, seega ei vasta need esimesele paradigmale ning neid kohandatakse järgmiselt:



On näha, et iga korrigeeritud veerg on jagamatu, seega rahuldab see esimese paradigma (1NF);

Paradigma 2 (2NF): 1NF alusel peavad mitte-koodilised atribuudid olema täielikult sõltuvad kandidaatkoodidest (kaotada mitte-primaarsete atribuutide osaline funktsioonisõltuvus põhikoodist 1NF alusel)

Teine paradigma peab tagama, et iga veerg andmebaasitabelis on seotud esmase võtmega, mitte ainult osa põhivõtmest (peamiselt föderaalsete primaarvõtmete puhul).

Illustreerida:



Ülaltoodud diagrammil näidatud juhul võib sama järjekord sisaldada erinevaid tooteid, seega peab peamine võti olema kombinatsioon "tellimuse number" ja "toote number".

Siiski võib leida, et toote kogus, allahindlus ja hind on kõik seotud "tellimuse numbri" ja "toote numbriga", kuid tellimuse kogus ja tellimuse aeg on seotud ainult "tellimuse numbriga" ega ole seotud "toote numbriga".

See ei vasta teise paradigma nõuetele ja seda kohandatakse järgmiselt, mida tuleb jagada kaheks tabeliks:



Kolmas paradigma (3NF): 2NF alusel ei sõltu ükski mitte-peamine atribuut teistest mitte-peamistest atribuutidest (edastussõltuvuste kaotamine 2NF alusel)

Kolmas paradigma peab tagama, et iga andmetabeli andmeveerg on otseselt seotud primaarvõtmega, mitte kaudselt.

Illustreerida:



Ülaltoodud tabelis sõltuvad kõik atribuudid täielikult õpilase arvust, seega on täidetud teine paradigma, kuid "klassiõpetaja sugu" ja "klassiõpetaja vanus" sõltuvad otseselt "klassiõpetaja nimest".

Peamise võtme "õpilase number" asemel tuleb teha järgmised kohandused:



Nii täidetakse kolmanda paradigma nõuded.

ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。

BCNF (Bovce Coddi normaalvormi Bacchus paradigma)

Kolmas paradigma paradigma on takistada ühe primaarvõtme veeru sõltumist teistest põhivõtme veergudest. Kui 3NF kõrvaldab osa funktsioonisõltuvustest ja ülekandefunktsioonide sõltuvustest peamise atribuudi koodist, nimetatakse seda BCNF-iks.

Tunnus:

1. Kõik peamised atribuudid on täielikult funktsionaalsed sõltuvused igast koodist

2. Kõik peamised atribuudid sõltuvad täielikult funktsioonist iga koodi suhtes, mis neid ei sisalda

3. Puuduvad atribuudid, mis oleksid täielikult funktsionaalsed ja sõltuvad mistahes mitte-koodi omaduste komplektist

Näiteks laotabelis (laonimi, administraatori nimi, toote nimi, kogus) on peamine võti (lao nimi, administraatori nimi, toote nimi), mis rahuldab eelnevad kolm paradigmat, kuid lao ja administraatori nimede vahel on sõltuvus, seega lao kustutamine põhjustab administraatori kustutamise, mistõttu BCNF ei ole rahul.

4NF neljas paradigma

Mitte-primaarsed atribuutid ei tohiks omada mitut väärtust. Kui on olemas mitmeväärtus, rikub see neljandat paradigmat. 4NF on piiratud relatsioonimuster, mis ei luba mitte-triviaalseid ega funktsioonist sõltuvaid mitmeväärtuslikke sõltuvusi omaduste vahel.

Näiteks kasutaja kontaktandmete tabel (kasutaja ID, lauatelefon, mobiiltelefon), kus kasutaja ID on peamine võti, mis rahuldab BCNF-i, kuid kasutajal võib olla mitu lauatelefoni või mitu mobiiltelefoni, siis see disain on ebamõistlik ja tuleks muuta (kasutaja ID, kontakti tüüp, telefoninumber).

Märkus: Kui arvestada ainult funktsioonisõltuvusi, on paradigma, millel on kõrgeim relatsiooniliste mustrite normaliseerimise aste, BCNF. Kui arvestada mitme väärtuse sõltuvusi, siis on see 4NF.

5NF Viies Paradigma

Viies paradigma on lõplik paradigma, mis kõrvaldab 4NF-is ühenduse sõltuvuse, ning viies paradigma peab vastama järgmistele nõuetele:

1. Neljas paradigma tuleb täita

2. Tabelid peavad olema dekomponeeritavad väiksemateks tabeliteks, välja arvatud juhul, kui need tabelid loogiliselt omavad sama primaarvõtit nagu algne tabel.

Üldistes praktilistes rakendustes ei pea arvestama viiendat paradigmat.

Üleviidud:Hüperlingi sisselogimine on nähtav.
Viide:Hüperlingi sisselogimine on nähtav.





Eelmine:Alibaba Cloud asendab privaatvõrgu (virtuaalse lüliti) võrgu, mis on kättesaamatu
Järgmine:Alusta Guardian ASP.NET Core rakendust PM2-ga
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com