Forme normale de scheme de relații

Conceptul, pe care o vom lua în considerare în această secțiune este legată de conceptul de dependențe funcționale, de ex., E. Sensul de normalizare a schemelor de baze de date este indisolubil legată de noțiunea de restricții impuse de dependența funcțională a sistemului, și rezultă în mare parte din acest concept.

Punctul de plecare al oricărei proiectare baze de date este o reprezentare a unui domeniu sub forma uneia sau mai multor relații, și fiecare pas de proiectare a unui set de circuite realizate relații cu proprietăți „îmbunătățite“. Astfel, procesul de proiectare este o relație de circuit de normalizare, în care fiecare formă normală succesivă posedă proprietăți, într-un mod mai bun decât cel precedent.

Fiecare formă normală corespunde unui anumit set de constrângeri, iar raportul este într-o formă normală dacă satisface setul de limitări inerente. Un exemplu este limitarea primei forme normale - valorile tuturor atributelor sunt relații atomice.

În teoria bazelor de date relaționale alocate de obicei următoarea secvență de forme normale:

1) Primul Normal Forma (1 NF);

2) A doua formă normală (2 NF);

3) a treia formă normală (3 NF);

4) forma normală Boyce - Codd (BCNF);

5) forma normală a patra (4 NF);

6) a cincea formă normală sau o formă normală a proiecției-compus (5 NF sau PJ / NF).

(În cursul prelegeri include o examinare detaliată a primelor patru forme normale ale relațiilor de bază, astfel încât nu vom discuta în detaliu a patra și a cincea formă normală.)

Proprietățile de bază ale formelor normale sunt după cum urmează:

1) fiecare urmând o formă normală într-un mod mai bun decât forma normală anterioară;

2) trecerea la forma normală a următoarelor proprietăți forme normale anterioare reținute.

În centrul procesului de proiectare este metoda de normalizare, adică. E. Raportul de descompunere, situat în forma normală anterioară, două sau mai multe relații care satisfac cerințele din formularul de mai jos normale (cu acest lucru ne vom confrunta cu atunci când ne trebuie să progreseze prin materialul pentru a efectua normalizarea sau alte relații de bază).

Așa cum am menționat în secțiunea dedicată creării unor relații de bază set definit de dependențe funcționale impune limite asupra raporturilor de bază corespunzătoare circuitului. Aceste restricții sunt, în general, puse în aplicare în două moduri:

2) procedural, t. E. Codul scris (folosind așa-numitele declanșatoare menționate mai sus).

Cu ajutorul logicii simplu poate înțelege ce este sensul de normalizare a schemelor de baze de date. Normaliza o bază de date sau baze de date duce la normal - înseamnă identificarea unor astfel de relații de bază scheme pentru a minimiza necesitatea de a scrie cod pentru a crește productivitatea bazei de date, pentru a facilita sprijinul pentru integritatea datelor privind starea și integritatea referențială. Asta este de a face codul și să lucreze cu el la fel de ușor și convenabil pentru dezvoltatori și utilizatori.

Pentru a demonstra în mod clar activitatea față de bază de date non-normalizate și normalizat, luați în considerare exemplul următor.

Să presupunem că avem o atitudine de bază, care conține informații despre rezultatele sesiunii de examinare. am văzut deja, înainte de o astfel de bază de date.

Astfel, opțiunea 1 din schema bazei de date.

Sesiunea (număr record-cărți. Nume, prenume, al doilea prenume, subiect. Vot)

În acest sens, așa cum se vede din schema de imagine relația de bază, având în vedere componenta cheie primară:

cheie primară (№ carte de înregistrare, subiect);

De asemenea, în acest sens, având în vedere sistemul de dependențe funcționale:

Aici este o vedere sub formă de tabel o mică parte a relațiilor de schemă de baze de date. Acest fragment, am folosit deja în examinarea constrângerilor de dependență funcționale, astfel încât exemplul său, vom fi destul de ușor de înțeles și de subiect.

Forme normale de scheme de relații

Deci, schema noastră relație existentă „sesiune“ este împărțit în două scheme: schema de „studenți“, care conțin numai informații despre studenții instituției, precum și schema de „Session“, care conține informații despre ultima sesiune anterioară. Apoi, declara cheile, astfel încât să puteți obține cu ușurință toate informațiile necesare.

Arătăm va arata ca noua relație cu sistemul său cheie.

Versiunea 2 a schemei bazei de date.

Studenți (număr record-cărți. Numele, prenumele)

cheie primară (№ record de carte).

cheie primară (№ înregistrare carte, subiect)

cheie externă (№ carte de înregistrare) Referințe studenți (număr numărul de înregistrare-carte).

Ce avem acum? În ceea ce privește „studenți“ cheie primară „număr-record cărți“ determină funcțional celelalte trei atribute: „Nume“, „Nume“ și „mijloc“. Și în ceea ce privește „sesiune“ cheie compozit primar „numărul de înregistrare carte, subiect“, de asemenea, în mod explicit, adică literalmente determină funcțional ultimul atribut al acestei relații scheme - .. „Evaluare“. Și legătura între aceste două relații se stabilesc: este efectuată de relația externă cheie „Session» «№ record de carte“, care se referă la atributul relație același nume «Studenții» și prezintă toate informațiile necesare atunci când vi se cere.

Noi acum arată cum să se uite tabele reprezentate relație corespunzătoare cu al doilea exemplu de referință corespunzătoare schemele bazelor de date.

Forme normale de scheme de relații

Forme normale de scheme de relații

articole similare