Wat is Boyce-Codd Normal Form (BCNF)?

BCNF minimearret redundaasjes en nimt gegevens yntegriteit

It doel fan Boyce-Codd Normal Form (BCNF) is om dataintegriteit te fergrutsjen troch it organisearjen fan de kolommen en tabellen fan in relaasje-database om de normaasje fan database te realisearjen. Databanknarisearring is bard as der relaasjes tusken tabellen fêststeld binne en wannear't de tabels regels definiearre hawwe om de databank flugger te meitsjen en de gegevens te behâlden.

De doelen fan de normale databank binne dat redundante gegevens te eliminearjen en soargje dat dataôfhinklikens sin betsjutte.

In databank is normearre wannear't deselde gegevens net mear yn ien tabel opslein wurde en as allinich dêryn bepaalde gegevens yn in tafel opslein binne.

Oarsprong fan Boyce-Codd Normal Form

Nei in rige fan rjochtlinen soargje derfoar dat databanken normearre wurde. Dizze rjochtlinen wurde neamd as normale foarmen en binne nûmere fan ien fan 'e fiif. In relaasje-database is beskreaun as normalisearre as it de earste trije formulieren foldocht: 1NF, 2NF, en 3NF.

BCNF is ûntstien as in útwreiding foar de tredde normale foarm, of 3NF, yn 1974 troch Raymond Boyce en Edgar Codd. De manlju wurken oan om skealje fan database-skema's te meitsjen dy't minimale ferwidering meitsje mei it doel fan 'e kompensearjende tiid te fergrutsjen. De tredde normale foarm fuortsmiet de kolommen dy't net ôfhinklik binne fan 'e primêre kaai neist de gearkomsten yn' e earste en twadde normale foarmen. BCNF, dat soms ek as 3.5NF neamd wurdt, foldocht oan alle easken fan 3NF en fereasket dat kandidaatskippen gjin ôfwikseling hawwe oer oare attributen yn in tabel.

Yn 'e tiid fan it ûntstean fan' e BCNF wie Boyce ien fan 'e wichtige ûntwikkelders fan' e strukturearre Ingelsk Query Language (SQL), dy't ferbettere gegevens weromkaam troch it relaasjemodel Codd te brûken. Yn dit model stelde Codd dat struktureel kompleksiteit fan databases kin wurde ferlege, wat betsjutte dat fragen mooglik makliker en fleksibel wêze kinne.

Mei syn relaasje-database ynsichten, Codd definieare 1NF, 2NF, en 3NF-rjochtlinen. Hy hie mei Boyce tegearre om BCNF te definiearjen.

Candidate Keys en BCNF

In kandidaat kieze in kolom of kombinaasje fan kolommen yn in tabel dy't in unyk kaai foarmet yn de database. De kombinaasje fan attributen kin brûkt wurde om in databasedateken te identifisearjen sûnder referinsjes nei oare data. Elke tabel kin meardere kandidaatskippen befetsje, elk ien kin kwalifisearje as de primêre kaai. In tabel befettet inkele primêre kaai.

Kandidatenkoppen moatte unyk wêze.

In relaasje is yn BCNF as elke fêststeller in kandidaat is. Tink derom dat in databank tabel hâldt dat personielynformaasje bewarret en hat de eigenskippen , , , en .

Yn dizze tabel befettet it fjild earste en namme en lêste_name. Lykwols bepaalt de tupel (, ) .

Employee Id Foarnamme Achternamme Titel
13133 Emily Smith Behearder
13134 Jim Smith Kompanjon
13135 Emily Jones Kompanjon


De kandidaat foar dizze databank is de omdat it de ienige wearde is dy't net troch in oare rige brûkt wurde kin.