Skip to main content

Vad är Boyce-Codd Normal Form (BCNF)?

#truckereala207 - VREAU SA VAD CAT DORM (Maj 2025)

#truckereala207 - VREAU SA VAD CAT DORM (Maj 2025)
Anonim

Målet med Boyce-Codd Normal Form (BCNF) är att öka dataintegriteten genom att organisera kolumnerna och tabellerna i en relationsdatabas för att uppnå databas normalisering. Databas normalisering sker när det finns etablerade relationer mellan tabeller och när tabellerna har definierat regler för att göra databasen mer flexibel och för att bevara data.

Målsättningen med databas normalisering är att eliminera överflödiga data och för att säkerställa dataförlängningar vettigt.

En databas normaliseras när samma data inte lagras i mer än ett bord och när endast relaterade data lagras i en tabell.

Ursprung av Boyce-Codd Normal Form

Följande riktlinjer säkerställer att databaser normaliseras. Dessa riktlinjer kallas normala formulär och numreras från en till fem. En relationsdatabas beskrivs som normaliserad om den uppfyller de tre första formerna: 1NF, 2NF och 3NF.

BCNF skapades som en förlängning till den tredje normala formen, eller 3NF, 1974 av Raymond Boyce och Edgar Codd. Männen arbetade för att skapa databasscheman som minimerar redundans med målet att minska beräknings tiden. Den tredje normala formulären tar bort kolumner som inte är beroende av primärnyckeln förutom att de uppfyller riktlinjerna i den första och andra normala formuläret. BCNF, som ibland kallas 3.5NF, uppfyller alla krav i 3NF och kräver att kandidatnycklar inte har något beroende av andra attribut i en tabell.

Vid tidpunkten för BCNF: s skapelse var Boyce en av nyckelutvecklarna av Structured English Query Language (SQL), vilket förbättrade datainsamling genom att använda Codds relationsmodell. I denna modell föreslog Codd att strukturella komplexiteten i databaser kunde minskas, vilket innebar att frågor kunde vara mer kraftfulla och flexibla.

Med hjälp av hans relationella databasinsikt har Codd definierat 1NF, 2NF och 3NF riktlinjer. Han lagde med Boyce för att definiera BCNF.

Kandidatnycklar och BCNF

En kandidatnyckel är en kolumn eller en kombination av kolumner i en tabell som utgör en unik nyckel i databasen. Kombinationen av attribut kan användas för att identifiera en databaspost utan att referera till någon annan data. Varje tabell kan innehålla flera kandidatnycklar, varav en kan kvalificera som primär nyckel. En tabell innehåller bara en primär nyckel.

Kandidatnycklar måste vara unika.

Ett förhållande är i BCNF om varje determinant är en kandidatnyckel. Tänk på en databas tabell som lagrar medarbetarinformation och har attributen <> >, , , och .

I denna tabell, fältet bestämmer förnamn och efternamn . På samma sätt är tupeln ( , ) bestämmer .

Anställnings-IDFörnamnEfternamnTitel
13133EmilySmedChef
13134JimSmedAssociera
13135EmilyJonesAssociera

Kandidatnyckeln för denna databas är eftersom det är det enda värdet som inte kan användas av en annan rad.