Během pohovoru se někteří tazatelé ptají na databázové paradigma, já jsem databáze studoval na vysoké škole, ale o paradigmatu jsem neslyšel, nebo to učitel zmínil a nevěnoval jsem tomu pozornost?
V relačních databázích existuje v současnosti šest paradigmat: první paradigma (1NF), druhé paradigma (2NF), třetí paradigma (3NF), Bass-Cod paradigma (BCNF), čtvrté paradigma (4NF) a páté paradigma (5NF, známé také jako perfektní paradigma).
Obvykle používáme první paradigma (1NF), druhé paradigma (2NF) a třetí paradigma (3NF), což jsou "tři paradigmata", o kterých se v tomto článku diskutuje.
První paradigma (1NF): Vyžaduje, aby každý sloupec tabulky databáze byl nedělitelným atomovým datovým prvkem.
Ilustrovat:
V tabulce výše ani sloupce "Rodinné informace" ani "Informace o škole" nesplňují požadavky na atomicitu, takže nesplňují první paradigma, a jsou upraveny následovně:
Je vidět, že každý upravený sloupec je nedělitelný, takže splňuje první paradigma (1NF);
Paradigma 2 (2NF): Na základě 1NF musí být nekódové atributy zcela závislé na kandidátních kódech (eliminovat částečnou závislost funkcí neprimárních atributů na hlavním kódu na bázi 1NF)
Druhý model musí zajistit, že každý sloupec v databázové tabulce je spojen s primárním klíčem, nikoli pouze jeho částí (hlavně u federovaných primárních klíčů).
Ilustrovat:
V případě znázorněném na výše uvedeném diagramu může stejná objednávka obsahovat různé součiny, takže primární klíč musí být kombinací "číslo objednávky" a "číslo produktu".
Lze však zjistit, že množství produktu, sleva a cena produktu souvisejí s "číslem objednávky" a "číslem produktu", zatímco množství objednávky a doba objednávky jsou pouze spojeny s "číslem objednávky" a nemají nic společného s "číslem produktu".
To nesplňuje požadavky druhého paradigmatu a upravuje se následovně, který je třeba rozdělit do dvou tabulek:
Třetí paradigma (3NF): Na základě 2NF žádný atribut ne-main nezávisí na jiných ne-hlavních atributech (eliminuje závislosti přenosu na základě 2NF)
Třetí paradigma musí zajistit, že každý sloupec dat v datové tabulce je přímo spojen s primárním klíčem, nikoli nepřímo.
Ilustrovat:
V tabulce výše jsou všechny atributy zcela závislé na počtu studentů, takže druhý vzor je splněn, ale "pohlaví třídního učitele" a "věk třídního učitele" přímo závisí na "jménu třídního učitele".
Místo hlavního klíče "studentské číslo" je třeba provést následující úpravy:
Tímto způsobem jsou splněny požadavky třetího paradigmatu.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Bovce Codd Normal Form Bacchus Paradigm)
Třetím paradigmatem korekce je zabránit tomu, aby jeden sloupec primárního klíče závisel na jiných sloupcích primárního klíče. Když 3NF odstraní některé závislosti funkcí a závislosti přenosových funkcí na hlavním atributovém kódu, nazývá se BCNF.
Charakteristický:
1. Všechny hlavní atributy jsou zcela funkční závislosti na každém kódu
2. Všechny hlavní atributy jsou zcela závislé na jednotlivých funkcích kódu, který jej neobsahuje
3. Neexistují žádné atributy, které by byly plně funkční a závislé na žádné sadě nekódových vlastností
Například tabulka zásob (název skladu, jméno administrátora, název produktu, množství), primární klíč je (název skladu, název administrátora, název produktu), který splňuje předchozí tři paradigmata, ale existuje závislost mezi názvem skladu a jménem administrátora, takže smazání skladu způsobí smazání administrátora, takže BCNF není spokojen.
4NF Čtvrté paradigma
Neprimární atributy by neměly mít více hodnot. Pokud existuje vícehodnota, porušuje to čtvrté paradigma. 4NF je restrikční relační vzor, který neumožňuje netriviální a nefunkčně závislé vícehodnotové závislosti mezi vlastnostmi.
Například tabulka kontaktních informací uživatele (uživatelské ID, pevná linka, mobilní telefon), kde uživatelské ID je primární klíč, který splňuje BCNF, ale uživatel může mít více pevných nebo mobilních telefonů, pak je tento design nerozumný a měl by být změněn na (uživatelské ID, typ kontaktu, telefonní číslo).
Poznámka: Pokud se zohlední pouze závislosti funkcí, paradigma s nejvyšší mírou normalizace relačních vzorů je BCNF. Pokud vezmete v úvahu vícehodnotové závislosti, je to 4NF.
5NF Pátý paradigmat
Pátý paradigma je konečný, čímž eliminuje závislost na spojení v 4NF, a pátý paradigma musí splňovat následující požadavky:
1. Čtvrté paradigma musí být splněno
2. Tabulky musí být rozložitelné na menší tabulky, pokud tyto tabulky logicky nemají stejný primární klíč jako původní tabulka.
V obecných praktických aplikacích není nutné zohledňovat pátý paradigmat.
Převedeno z:Přihlášení k hypertextovému odkazu je viditelné. Odkaz:Přihlášení k hypertextovému odkazu je viditelné.
|