Hva er Boyce-Codd normal form (BCNF)?

Innholdsfortegnelse:

Hva er Boyce-Codd normal form (BCNF)?
Hva er Boyce-Codd normal form (BCNF)?
Anonim

Målet med Boyce-Codd Normal Form er å øke dataintegriteten ved å organisere kolonnene og tabellene i en relasjonsdatabase for å oppnå databasenormalisering. Databasenormalisering skjer når det er etablerte relasjoner mellom tabeller og når tabellene har definerte regler for å gjøre databasen mer fleksibel og for å bevare dataene.

Image
Image

Målene med databasenormalisering er å eliminere overflødige data og sikre at dataavhengigheter er fornuftige. En database er normalisert når de samme dataene ikke er lagret i mer enn én tabell og når bare relaterte data er lagret i en tabell.

Opprinnelsen til Boyce-Codd Normal Form

Å følge en rekke retningslinjer sikrer at databaser er normalisert. Disse retningslinjene omtales som normale skjemaer og er nummerert fra én til fem. En relasjonsdatabase beskrives som normalisert hvis den oppfyller de tre første formene: 1NF, 2NF og 3NF.

BCNF ble opprettet som en utvidelse av den tredje normalformen, eller 3NF, i 1974 av Raymond Boyce og Edgar Codd. Mennene jobbet med å lage databaseskjemaer som minimaliserer redundanser med mål om å redusere beregningstiden. Den tredje normalformen fjerner kolonner som ikke er avhengige av primærnøkkelen i tillegg til å oppfylle retningslinjene i den første og andre normalformen. BCNF, som noen ganger refereres til som 3.5NF, oppfyller alle kravene i 3NF og krever at kandidatnøkler ikke er avhengige av andre attributter i en tabell.

På tidspunktet for BCNFs opprettelse var Boyce en av nøkkelutviklerne av Structured English Query Language, senere standardisert som SQL, som forbedret datainnhenting ved å bruke Codds relasjonsmodell. I denne modellen hevdet Codd at strukturell kompleksitet til databaser kunne reduseres, noe som betydde at spørringer kunne bli kraftigere og mer fleksible.

Codd definerte 1NF-, 2NF- og 3NF-retningslinjer ved å bruke sin relasjonsdatabaseinnsikt. Han slo seg sammen med Boyce for å definere BCNF.

Kandidatnøkler og BCNF

En kandidatnøkkel er en kolonne eller kombinasjon av kolonner i en tabell som danner en unik nøkkel i databasen. Kombinasjonen av attributter identifiserer en databasepost uten å referere til andre data. Hver tabell kan inneholde flere kandidatnøkler, hvorav hvilken som helst kan kvalifisere som primærnøkkel. En tabell inneholder bare én primærnøkkel.

Kandidatnøkler må være unike.

En relasjon er i BCNF hvis hver determinant er en kandidatnøkkel. Tenk på en databasetabell som lagrer ansattes informasjon og har attributtene,,, og.

I denne tabellen bestemmer feltet fornavn og etternavn. På samme måte bestemmer tuppelen (,).

Ansatt-ID Fornavn Etternavn Tittel
13133 Emily Smith Manager
13134 Jim Smith Associate
13135 Emily Jones Associate

Kandidatnøkkelen for denne databasen er fordi den er den eneste verdien som ikke kan brukes av en annen rad.

FAQ

    Hva er kravene for Boyce-Codd Normal Form?

    En tabell oppfyller Boyce-Codd Normal Form (BCNF) kravene hvis alle determinanter er kandidatnøkler og relasjonen er i Third Normal Form (3NF). 3NF oppfyller reglene for First Normal Form (1NF) og Second Normal Form (2NF), og alle kolonner er avhengige av primærnøkkelen.

    Hva er forskjellen mellom fjerde normalform og Boyce-Codd normalform?

    Fourth Normal Form (4NF) er ett nivå etter Boyce-Codd Normal Form (BCNF) i databasenormalisering. 4NF oppfyller 3NF-kravene akkurat som BCNF gjør. Imidlertid har 4NF-tabeller ingen avhengigheter med flere verdier, eller mange-til-en-relasjoner, mens BCNF-tabeller kan ha disse avhengighetene.

Anbefalt: