Počas pohovoru sa niektorí personalisti pýtajú na paradigmu databáz, už som sa databázy učil na vysokej škole, ale o paradigme som nepočul, alebo ju spomenul učiteľ a nevenoval som tomu pozornosť?
V relačných databázach je v súčasnosti šesť paradigmat: prvý (1NF), druhý (2NF), tretí (3NF), Bass-Cod paradigm (BCNF), štvrtý paradigm (4NF) a piaty (5NF, známy aj ako dokonalý paradigmat).
Zvyčajne používame prvú paradigmu (1NF), druhú (2NF) a tretiu paradigmu (3NF), čo sú "tri paradigmy", o ktorých sa bude diskutovať v tomto článku.
Prvá paradigma (1NF): Vyžaduje, aby každý stĺpec databázovej tabuľky bol nedeliteľnou atómovou dátovou položkou.
Ilustrovať:
V tabuľke vyššie ani stĺpce "Rodinné informácie" ani "Školské informácie" nespĺňajú požiadavky na atómovosť, takže nespĺňajú prvý paradigmat, a sú upravené nasledovne:
Je zrejmé, že každý upravený stĺpec je nedeliteľný, takže spĺňa prvý princíp (1NF);
Paradigma 2 (2NF): Na základe 1NF musia byť atribúty mimo kódu úplne závislé od kandidátskych kódov (odstrániť čiastočnú závislosť funkcií neprimárnych atribútov na hlavnom kóde na základe 1NF)
Druhá paradigma musí zabezpečiť, aby každý stĺpec v databázovej tabuľke súvisel s primárnym kľúčom, nie len s jeho časťou (najmä pre federované primárne kľúče).
Ilustrovať:
V prípade znázornenom na vyššie uvedenom diagrame môže tá istá objednávka obsahovať rôzne produkty, takže primárny kľúč musí byť kombináciou "číslo objednávky" a "číslo produktu".
Dá sa však zistiť, že množstvo produktu, zľava produktu a cena produktu súvisia s "číslom objednávky" a "číslom produktu", ale suma objednávky a čas objednávky súvisia len s "číslom objednávky" a nemajú nič spoločné s "číslom produktu".
Toto nespĺňa požiadavky druhého paradigmatu a upravuje sa nasledovne, ktorý je potrebné rozdeliť do dvoch tabuliek:
Tretia paradigma (3NF): Na základe 2NF žiadny ne-hlavný atribút nezávisí od iných ne-hlavných atribútov (čím sa eliminujú závislosti prenosu na základe 2NF)
Tretia paradigma musí zabezpečiť, že každý stĺpec dát v tabuľke údajov je priamo spojený s primárnym kľúčom, nie nepriamo.
Ilustrovať:
V uvedenej tabuľke sú všetky atribúty úplne závislé od počtu študentov, takže druhý model je splnený, ale "pohlavie triedneho učiteľa" a "vek triedneho učiteľa" priamo závisia od "mena triedneho učiteľa".
Namiesto hlavného kľúča "študentské číslo" je potrebné vykonať nasledujúce úpravy:
Týmto spôsobom sú splnené požiadavky tretej paradigmy.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Bovce Codd Normal Form Bacchus Paradigma)
Tretím paradigmatom korekcie je zabrániť tomu, aby jeden stĺpec primárneho kľúča závisel od iných stĺpcov primárneho kľúča. Keď 3NF odstráni niektoré závislosti funkcií a prenosové funkcie na hlavnom atribútovom kóde, nazýva sa BCNF.
Charakteristický:
1. Všetky hlavné atribúty sú úplne funkčné závislosti na každom kóde
2. Všetky hlavné atribúty sú úplne závislé od funkcie od každého kódu, ktorý ho neobsahuje
3. Neexistujú žiadne atribúty, ktoré by boli plne funkčné a závislé od akejkoľvek množiny nekódových vlastností
Napríklad inventárna tabuľka (názov skladu, meno administrátora, názov produktu, množstvo), primárny kľúč je (názov skladu, meno administrátora, názov produktu), ktorý spĺňa predchádzajúce tri paradigmy, ale existuje závislosť medzi názvom skladu a menom administrátora, takže vymazanie skladu spôsobí vymazanie administrátora, takže BCNF nie je spokojný.
4NF Štvrtá paradigma
Neprimárne atribúty by nemali mať viacero hodnôt. Ak existuje viacnásobná hodnota, porušuje to štvrtý paradigmatický princíp. 4NF je retrikčný relačný vzor, ktorý neumožňuje netriviálne a nefunkčne závislé viachodnotové závislosti medzi vlastnosťami.
Napríklad tabuľka kontaktných informácií používateľa (používateľské ID, pevná linka, mobilný telefón), kde používateľské ID je primárny kľúč, ktorý spĺňa BCNF, ale používateľ môže mať viacero pevných alebo mobilných telefónov, potom je tento dizajn nerozumný a mal by sa zmeniť na (používateľské ID, typ kontaktu, telefónne číslo).
Poznámka: Ak sa zohľadnia len závislosti funkcií, paradigma s najvyššou mierou normalizácie relačných vzorov je BCNF. Ak zohľadníte viachodnotové závislosti, je to 4NF.
5NF Piata paradigma
Piata paradigma je finálna, ktorá eliminuje závislosť na spojení v 4NF, a piata paradigma musí spĺňať nasledujúce požiadavky:
1. Štvrtý paradigmat musí byť splnený
2. Tabuľky musia byť rozložiteľné na menšie tabuľky, pokiaľ tieto tabuľky logicky nemajú rovnaký primárny kľúč ako pôvodná tabuľka.
Vo všeobecných praktických aplikáciách nie je potrebné brať do úvahy piaty paradigmat.
Prenesené z:Prihlásenie na hypertextový odkaz je viditeľné. Referencia:Prihlásenie na hypertextový odkaz je viditeľné.
|