Skip to main content

Hvad er Boyce-Codd Normal Form (BCNF)?

Finding Candidate Key | Database Management System (Juni 2026)

Finding Candidate Key | Database Management System (Juni 2026)
Anonim

Målet med Boyce-Codd Normal Form (BCNF) er at øge dataintegriteten ved at organisere kolonnerne og tabellerne i en relationsdatabase for at opnå database normalisering. Database normalisering opstår, når der er etablerede relationer mellem tabeller, og når tabellerne har defineret regler for at gøre databasen mere fleksibel og til at bevare dataene.

Målsætningerne med database normalisering er at eliminere overflødige data og sikre, at data afhængigheder giver mening.

En database er normaliseret, når de samme data ikke er gemt i mere end en tabel, og når kun relaterede data er gemt i en tabel.

Oprindelse af Boyce-Codd Normal Form

Efter en række retningslinjer skal databaser normaliseres. Disse retningslinjer refereres til som normale formularer og er nummereret fra en til fem. En relationsdatabase beskrives som normaliseret, hvis den opfylder de tre første formularer: 1NF, 2NF og 3NF.

BCNF blev oprettet som en forlængelse til den tredje normale form, eller 3NF, i 1974 af Raymond Boyce og Edgar Codd. Mændene arbejdede på at oprette databaseskemaer, der minimerer afskedigelser med det formål at reducere beregningstiden. Den tredje normale formular fjerner kolonner, som ikke er afhængige af primærnøglen ud over at opfylde retningslinjerne i den første og anden normale form. BCNF, som undertiden betegnes som 3.5NF, opfylder alle kravene i 3NF og kræver, at kandidatnøgler ikke har nogen afhængighed af andre attributter i en tabel.

På tidspunktet for BCNF's oprettelse var Boyce en af ​​de vigtigste udviklere af Structured English Query Language (SQL), som forbedrede data-hentning ved hjælp af Codds relationelle model. I denne model foreslog Codd, at strukturelle kompleksitet af databaser kunne reduceres, hvilket betød, at forespørgsler kunne være mere kraftfulde og fleksible.

Ved hjælp af hans relationelle database indsigter definerede Codd 1NF, 2NF og 3NF retningslinjer. Han gik sammen med Boyce for at definere BCNF.

Kandidatnøgler og BCNF

En kandidatnøgle er en kolonne eller en kombination af kolonner i en tabel, der danner en unik nøgle i databasen. Kombinationen af ​​attributter kan bruges til at identificere en databasepost uden at henvise til andre data. Hver tabel kan indeholde flere kandidatnøgler, hvoraf en kan kvalificere som den primære nøgle. En tabel indeholder kun en primærnøgle.

Kandidatnøgler skal være unikke.

Et forhold er i BCNF, hvis hver determinant er en kandidatnøgle. Overvej en database tabel, der lagrer medarbejderinformation og har attributterne <> >, , , og .

I denne tabel er feltet bestemmer fornavn og efternavn . Tilsvarende er tuplen ( , ) bestemmer .

Medarbejder-IDFornavnEfternavnTitel
13133EmilySmithManager
13134JimSmithMedarbejder
13135EmilyJonesMedarbejder

Kandidatnøglen til denne database er den fordi det er den eneste værdi, der ikke kan bruges af en anden række.