Normalizarea mese - studopediya

Toate mesele sunt construite în prima formă normală, deoarece fiecare coloană a tabelului este indivizibilă și într-un tabel cu coloane, au aceeași semnificație de valori.

Tabelul „Rezumat“ prin coloanele ID-ul student ID-ul și planul de link-uri informațiile despre student cu informații despre o anumită disciplină și înregistrează note că data studenților, rang și de livrare a examenului (set-off) depind în mod explicit conținutul coloanelor 1R Student și planul de 1R, care reprezintă cheie primară compozit. Astfel, toate tabelele au o cheie primară, care identifică în mod unic un rând și nu excesive, și este posibil să spunem că masa este într-o formă normală de-al doilea.

Să luăm în considerare tabelul „curriculum“, care conține o listă de subiecte ale curriculum-ului actual. cheie primară Tabelul este un plan de coloană 1R care caracterizează în mod unic fiecare curriculum disciplina până la un semestru, adică. E. Pentru disciplinele care studiază gradul de mai mult de un semestru, masa va fi retrase din circuitul agricol cât mai multe linii ca studiul dureaza disciplina semestre. Apoi, stocarea numelor de discipline în tabelul „curriculum“ devine redundant: de exemplu, în cazul în care studiul limbii engleze durează șase semestre, numele de „limba engleză“ va fi repetat în șase înregistrări, și există o șansă de a face șase erori de intrare diferite ale aceluiași nume.

Pentru a evita acest lucru, vom efectua descompunerea relațiilor „curriculum-ului“, subliniind numele discipline într-o singură relație. Rezultatul este un tabel de „disciplina“ suplimentare cu coloane și 1RDistsiplina Numele și stolbetsNaimenovanie în „curriculum“ tabel va înlocui disciplina coloană, formând astfel o cheie secundară, conectarea unui nou tabel cu „curriculum“ de masă.

Acum putem vorbi despre baza de date „Session“, schema relațională care este reprezentată prin următoarele cinci tabele:

• «Studenții“ - conține câte un rând pentru fiecare dintre elevi;

• «Curriculum“ - conține un rând pentru un semestru separat disciplina;

• «Disciplina“ - conține un rând pentru numele disciplinei;

• «Rezumat“ - conține un rând pentru fiecare rezultat de a pune studenții individuale disciplina separată;

• «Personal» - conține câte un rând pentru fiecare dintre profesori.

Fig. 6.9 descrie grafic tabelele listate, coloanele lor, primare și chei străine. Vizați chei primare și străine, urmate de structuri de construcții suplimentare - indici, oferind acces rapid la date printr-o valoare-cheie.

Normalizarea mese - studopediya

Toate tabelele bazei de date „sesiune“ sunt în formă normală a treia:

• fiecare coloană a tabelului este indivizibil, si intr-un tabel cu aceleași coloane au valorile de sens (1nF);

• cheie primară identifică în mod unic o intrare și să nu fie excesive, toate câmpurile fiecărui tabel depinde de cheia sa primară (2NF);

• valoarea oricărui câmp nu este inclusă în cheia primară nu depinde de valoarea unui alt câmp, care nu sunt incluse în cheia primară (ZNF).

Următorul pas al desenului - domeniul (domeniile) definirea datelor stocate în tabele coloane. În paralel cu tipul de activitate, trebuie să formuleze constrângeri de integritate asociate tipului - o listă de tip valori valide.

Pe baza caracteristicilor de date și funcționalitatea necesară pentru a specifica modul de prezentare și posibilele modificări ale limitelor pentru fiecare dintre coloanele din tabele. Este necesar să se răspundă la datele respective ce tipuri ar trebui să fie stocate în coloane și care este lungimea lor maximă (de exemplu, în cazul în care este de așteptat coloana pentru a menține valoarea de interes, atunci acesta va fi suficient de o lungime tip de date de 1 octet, deoarece intervalul de valori posibile - 0-255 și dacă este selectat tipul „șir de caractere“, coloana este de dorit pentru a specifica o dimensiune maximă de date, etc.), pentru coloana ...

În plus, în fiecare tabel trebuie izolate coloane care trebuie completate pentru a crea un singur rând al tabelului. Stabilirea unor astfel de constrângeri de integritate nu permit, de exemplu, a intrat în tabel linia „Studenții“, care nu specifică un număr de grup. În cazul în care astfel de constrângeri de integritate nu sunt specificate, șirul poate apărea în tabel, care nu vor fi luate în considerare atunci când se efectuează funcții de prelucrare a datelor: apariția în tabelul „Studenții“ linia fără un număr de grup va cauza o eroare în formarea declarațiilor.

Un alt punct important - o sarcină pentru valorile implicite coloană. Valoarea implicită este ulterior introdusă automat în coloana menționată pentru fiecare rând. De exemplu, într-o coloană de livrare dată tabelul „Rezumat“, în completarea liniei următoare poate fi adăugată automat data curentă.

Mai jos, în fig. 6,10 tabelul bazei de date a prezentat „sesiune“, cu tipurile de date pe coloană, și oferă integritate limitată.

Toate exemplele folosesc un SQL (Structured Query Language), discutat în capitolul următor, va fi construit pe baza acestei baze de date de formare „Session“.

Normalizarea mese - studopediya

Normalizarea mese - studopediya

Normalizarea mese - studopediya