Forma normală Boyce-Codd
3NF simplifică problemele de control al datelor redundante de interpretare o valoare nulă, controlul operațiunilor de modificare a datelor doar dacă relația nu are nici un alt FZ, FZ invers particular atribut non-cheie pe unul dintre atributele cheii primare sau a unui compozit multivaloare FZ. În caz contrar, problemele de mai sus rămân nerezolvate. Pentru a elimina astfel de probleme asociate cu existența unor atribute non-cheie reciproce din Legea federală din partea cheii compozite. Acesta a fost propus 3NF îmbunătățită sau NF Boyce-Codd.
Raportul este în formă normală Boyce-Codd (BCNF) în cazul în care este în 3NF, și nu au existat atribute cheie de dependență de atribute non-cheie. Cu alte cuvinte, prezența a numai admite BCNF astfel FZ trivială, în care în cheie de unul sau mai multe alte atribute: care include unele cheie.
Notă. Spre deosebire de 3NF, începe o relație nu poate fi întotdeauna dat în BCNF.
Vom continua considerare exemple din domeniul navigației.
Să presupunem că echipajul este împărțit în echipe, fiecare responsabil pentru diferite tipuri de muncă. Membrii echipajului pot intra în echipe diferite, dar fiecare echipa are un singur cap. O echipă poate avea mai mulți administratori. Fiecare membru al echipajului poate supraveghea o singură echipă. Raportul este dat de Tabelul 6.1 de mai jos:
Tabelul 6.1. atitudine TEAM
Raportul este în 3NF dar include îndepărtarea anomalie. Dacă Petrov scos din echipele de observare, se va pierde informații care Leontiev este liderul echipei de observare, precum și numirea unui nou membru al echipajului pentru monitorizarea echipa nu va ști că ea are un alt lider, în plus față de Prokhorov.
Rețineți că, în cazurile anterioare, relațiile de partiție a avut loc fără a crea redundanță de date, datorită atributului relație invers proporțională din partea cheii. Aducerea legătură cu BCNF este de a crea relații suplimentare, care conține informații despre liderul echipei (vezi Tabelul 6.2).
Tabelul 6.2. atitudine RUKOVODITEL_KOMANDY
Rezultatul de a aduce echipa la BCNF relație este arătată în Fig. 6.5.
Fig. 6.5. Raportul în BCNF
În al patrulea rând Forma normală
Raportul este în a patra formă normală (4NF). în cazul în care este în 3NF sau BCNF și toate multivalentă FZ independente separate în relații individuale cu aceeași cheie. Cu alte cuvinte, atunci când 4NF aplicat la mai mult de un FZ multiple evaluate și impune ca raportul nu conține FZ multivaloare independente.
Luați în considerare atitudinea. care conține informații despre navă (navă), curse de (Voyage) și Captain (Captain) (set tabel 6.3). Raportul din tabelul de mai jos și în Fig. 6.6.
Tabelul 6.3. KAPITAN_KORABL_REYS atitudine
Fig. 6.6. Relația cu dependențe multivaloare
Raportul este în BCNF, și conține numai FZ-evaluate. Cu toate acestea, există o anomalie de ștergere. în cazul în care căpitanul Petrov se retrage și toate tuplurile din ea va fi eliminat, acesta va pierde informații că nava nu Beetle zboruri București - Marsilia. Dacă adăugați un nou zbor, va trebui să introduceți mai multe tuple în atitudinea noastră.
Aducerea relația la 4NF este alocat fiecărui multivalentă FZ atitudinea sa, așa cum se arată în Fig. 6.7.
Fig. 6.7. Raportul în 4NF
Astfel, relația acționare cu procedura 4NF este de a pune în aplicare mai multe proiecții, în acest caz, două proiecții.