Under intervjuet vil noen intervjuere spørre om databaseparadigmet, jeg har studert databaser på universitetet før, men jeg har ikke hørt om paradigmet, eller læreren har nevnt det, og jeg har ikke fulgt med?
Det finnes for øyeblikket seks paradigmer i relasjonsdatabaser: det første paradigmet (1NF), det andre paradigmet (2NF), det tredje paradigmet (3NF), Bass-Cod-paradigmet (BCNF), det fjerde paradigmet (4NF) og det femte paradigmet (5NF, også kjent som det perfekte paradigmet).
Vanligvis bruker vi det første paradigmet (1NF), det andre paradigmet (2NF) og det tredje paradigmet (3NF), som er de «tre paradigmene» som skal diskuteres i denne artikkelen.
Første paradigme (1NF): Krever at hver kolonne i databasetabellen er et udelelig atomært dataelement.
Illustrere:
I tabellen ovenfor oppfyller verken kolonnene "Family Information" eller "School Information" atomicitetskravene, så de oppfyller ikke det første paradigmet, og justeres som følger:
Det kan sees at hver justert kolonne er udelelig, så den tilfredsstiller det første paradigmet (1NF);
Paradigme 2 (2NF): På grunnlag av 1NF må ikke-kodeattributter være fullstendig avhengige av kandidatkoder (eliminer delvis funksjonsavhengighet av ikke-primære attributter på masterkode på 1NF-basis)
Det andre paradigmet må sikre at hver kolonne i databasetabellen er relatert til primærnøkkelen, ikke bare en del av primærnøkkelen (hovedsakelig for fødererte primærnøkler).
Illustrere:
I tilfellet vist i diagrammet ovenfor kan samme orden inneholde forskjellige produkter, så primærnøkkelen må være en kombinasjon av "ordrenummer" og "produktnummer".
Det kan imidlertid finnes at produktmengde, produktrabatt og produktpris alle er relatert til «ordrenummer» og «produktnummer», men ordremengde og bestillingstid er kun relatert til «ordrenummer» og har ingenting med «produktnummer» å gjøre.
Dette oppfyller ikke kravene til det andre paradigmet, og justeres som følger, som må deles inn i to tabeller:
Tredje paradigme (3NF): På grunnlag av 2NF avhenger ikke noe ikke-hovedattributt av andre ikke-hovedattributter (noe som eliminerer overføringsavhengigheter basert på 2NF)
Det tredje paradigmet må sikre at hver kolonne med data i datatabellen er direkte relatert til primærnøkkelen, ikke indirekte.
Illustrere:
I tabellen ovenfor er alle attributter helt avhengige av elevnummeret, så det andre paradigmet oppfylles, men «klasselærerens kjønn» og «klasselærerens alder» avhenger direkte av «klasselærerens navn».
I stedet for hovednøkkelen "studentnummer" må følgende justeringer gjøres:
På denne måten oppfylles kravene i det tredje paradigmet.
ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。
BCNF (Bovce Codd Normalform Bacchus-paradigmet)
Det tredje paradigmet for korreksjon er å forhindre at én kolonne i primærnøkkelen avhenger av andre kolonner i primærnøkkelen. Når 3NF eliminerer noen funksjonsavhengigheter og overfører funksjonsavhengigheter på hovedattributtkoden, kalles det BCNF.
Karakteristisk:
1. Alle hovedattributter er fullstendig funksjonelle avhengigheter av hver kode
2. Alle hovedattributter er fullstendig funksjonsavhengige av hver kode som ikke inneholder den
3. Det finnes ingen attributter som er fullt funksjonelle og avhengige av noen mengde ikke-kodeegenskaper
For eksempel, lagertabellen (lagernavn, administratornavn, produktnavn, mengde), primærnøkkelen er (lagernavn, administratornavn, produktnavn), som oppfyller de tre foregående paradigmene, men det er en avhengighet mellom lagernavnet og administratornavnet, så å slette et lager vil føre til at administratoren blir slettet, og BCNF er derfor ikke tilfredsstilt.
4NF fjerde paradigme
Ikke-primære attributter skal ikke ha flere verdier. Hvis det finnes en multi-verdi, bryter den med det fjerde paradigmet. 4NF er et restriksjonsrelasjonelt mønster som ikke tillater ikke-trivielle og ikke-funksjonsavhengige flerverdiavhengigheter mellom egenskaper.
For eksempel, tabellen for brukerkontaktinformasjon (bruker-ID, fasttelefon, mobiltelefon), hvor bruker-ID-en er primærnøkkelen, som oppfyller BCNF, men en bruker kan ha flere fasttelefoner eller flere mobiltelefoner, da er dette designet urimelig og bør endres til (bruker-ID, kontakttype, telefonnummer).
Merk: Hvis kun funksjonsavhengigheter vurderes, er paradigmet med høyest grad av normalisering av relasjonelle mønstre BCNF. Hvis du vurderer flerverdiavhengigheter, er det 4NF.
5NF Femte Paradigme
Det femte paradigmet er det siste paradigmet, som eliminerer tilkoblingsavhengigheten i 4NF, og det femte paradigmet må oppfylle følgende krav:
1. Det fjerde paradigmet må oppfylles
2. Tabeller må være dekomponerbare i mindre tabeller, med mindre disse tabellene logisk sett har samme primærnøkkel som den opprinnelige tabellen.
I generelle praktiske anvendelser trenger ikke det femte paradigmet å vurderes.
Overført fra:Innloggingen med hyperkoblingen er synlig. Referanse:Innloggingen med hyperkoblingen er synlig.
|