Under interviewet vil nogle interviewere spørge ind til databaseparadigmet, jeg har studeret databaser på universitetet før, men jeg har ikke hørt om paradigmet, eller læreren har nævnt det, og jeg har ikke fulgt med?
Der findes i øjeblikket seks paradigmer i relationelle databaser: det første paradigme (1NF), det andet paradigme (2NF), det tredje paradigme (3NF), Bass-Cod-paradigmet (BCNF), det fjerde paradigme (4NF) og det femte paradigme (5NF, også kendt som det perfekte paradigme).
Normalt bruger vi det første paradigme (1NF), det andet paradigme (2NF) og det tredje paradigme (3NF), som er de "tre paradigmer", der diskuteres i denne artikel.
Første Paradigme (1NF): Kræver, at hver kolonne i databasetabellen er et udelbart atomart dataelement.
Illustrere:
I tabellen ovenfor opfylder hverken kolonnerne "Family Information" eller "School Information" atomicitetskravene, så de opfylder ikke det første paradigme og justeres som følger:
Det kan ses, at hver justeret kolonne er udelelig, så den opfylder det første paradigme (1NF);
Paradigme 2 (2NF): På baggrund af 1NF skal ikke-kodeattributter være fuldstændig afhængige af kandidatkoder (eliminer delvis funktionsafhængighed af ikke-primære attributter på masterkode på 1NF-basis)
Det andet paradigme skal sikre, at hver kolonne i databasetabellen er relateret til primærnøglen, ikke kun en del af primærnøglen (primært for fødererede primærnøgler).
Illustrere:
I tilfældet vist i ovenstående diagram kan den samme rækkefølge indeholde forskellige produkter, så primærnøglen skal være en kombination af "ordrenummer" og "produktnummer".
Det kan dog konstateres, at produktmængden, produktrabatten og produktprisen alle er relateret til "ordrenummeret" og "produktnummeret", men ordremængden og ordretiden er kun relateret til "ordrenummeret" og har intet at gøre med "produktnummeret".
Dette opfylder ikke kravene i det andet paradigme og justeres således, som skal opdeles i to tabeller:
Tredje paradigme (3NF): På baggrund af 2NF afhænger enhver ikke-hovedattribut ikke af andre ikke-hovedattributter (hvilket eliminerer transmissionsafhængigheder på grundlag af 2NF)
Det tredje paradigme skal sikre, at hver kolonne med data i datatabellen er direkte relateret til primærnøglen, ikke indirekte.
Illustrere:
I tabellen ovenfor afhænger alle attributter fuldstændigt af elevnummeret, så det andet paradigme er opfyldt, men "klasselærerens køn" og "klasselærerens alder" afhænger direkte af "klasselærerens navn".
I stedet for hovednøglen "studenternummer" skal følgende justeringer foretages:
På denne måde opfyldes kravene i det tredje paradigme.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Bovce Codd Normalform Bacchus Paradigme)
Det tredje paradigme for korrektion er at forhindre, at én kolonne i primærnøglen afhænger af andre kolonner i primærnøglen. Når 3NF fjerner nogle funktionsafhængigheder og overfører funktionsafhængigheder på hovedattributkoden, kaldes det BCNF.
Karakteristisk:
1. Alle hovedattributter er fuldstændigt funktionelle afhængigheder af hver kode
2. Alle hovedattributter er fuldstændig funktionsafhængige af hver kode, der ikke indeholder den
3. Der findes ingen attributter, der er fuldt funktionelle og afhængige af noget sæt ikke-kode-egenskaber
For eksempel lagertabellen (lagernavn, administratornavn, produktnavn, mængde) er primærnøglen (lagernavn, administratornavn, produktnavn), som opfylder de foregående tre paradigmer, men der er en afhængighed mellem lagernavnet og administratornavnet, så sletning af et lager vil føre til, at administratoren slettes, og BCNF er derfor ikke opfyldt.
4NF Fjerde Paradigme
Ikke-primære attributter bør ikke have flere værdier. Hvis der findes en multi-værdi, bryder den det fjerde paradigme. 4NF er et restriktionsrelationelt mønster, der ikke tillader ikke-trivielle og ikke-funktionsafhængige flerværdiede afhængigheder mellem egenskaber.
For eksempel brugerens kontaktinformationstabel (bruger-ID, fastnettelefon, mobiltelefon), hvor bruger-ID'et er primærnøglen, som opfylder BCNF, men en bruger kan have flere fastnettelefoner eller flere mobiltelefoner, så er dette design urimeligt og bør ændres til (bruger-ID, kontakttype, telefonnummer).
Bemærk: Hvis kun funktionsafhængigheder tages i betragtning, er paradigmet med den højeste grad af normalisering af relationelle mønstre BCNF. Hvis man betragter afhængigheder med flere værdier, er det 4NF.
5NF Femte Paradigme
Det femte paradigme er det sidste paradigme, som eliminerer forbindelsesafhængigheden i 4NF, og det femte paradigme skal opfylde følgende krav:
1. Det fjerde paradigme skal opfyldes
2. Tabeller skal kunne opdeles i mindre tabeller, medmindre disse tabeller logisk set har samme primærnøgle som den oprindelige tabel.
I generelle praktiske anvendelser behøver det femte paradigme ikke at blive taget i betragtning.
Overført fra:Hyperlink-login er synlig. Henvisning:Hyperlink-login er synlig.
|