Structura de date model model relațional

Nu fiecare tabel este relațional, tabelele relaționale au anumite proprietăți.

Proprietățile tabelului relațional:

1. Fiecare element al tabelului este un element de date







2. toate coloanele sunt omogene

3. fiecare câmp tabel are un nume unic

4. nu există înregistrări identice

5. ordinea rândurilor și a coloanelor poate fi arbitrară

Prima proprietate cere ca la intersecția unui rând și a unei coloane să existe o valoare atomică (indivizibilă, fără o structură internă).

Exemplu În câmpul Album tabel, proprietatea atomicității valorii atributului este încălcată.

Pentru a asigura comunicarea între mese, se folosesc chei străine. Valorile cheii externe se formează pe baza valorilor cheii primare corespunzătoare. În figura 1, în câmpul Cod de grup este cheia străină pentru grupul de tabelă pentru grupul de chei primare

Tipuri de relații între tabele

Legăturile dintre mese sunt foarte importante, deoarece ele indică cum să găsești, să postezi și să utilizezi informații din câmpurile a două sau mai multe tabele. În plus, relațiile reflectă regulile relației dintre obiectele reprezentate în diferitele tabele.

Există trei tipuri de relații: unul la unul, unul la mulți, mulți la mulți.

Grupuri 1 - M Albume

Acest tip de relație corespunde relației dintre tabelele Grupului și Album. Fiecare grup poate avea mai multe albume, dar orice album poate fi lansat de un anumit grup. Un tabel din partea relației 1 se numește principal. masa din partea multora este subordonată.

Cu The Beatles

Aceste tabele sunt legate împreună prin atribute comune (numărul grupului).







Economia plasării datelor sub formă de tabele legate (și nu sub forma unei singure) devine mai tangibilă cu creșterea numărului de intrări în tabele.

grup M - M muzician

De exemplu, un grup poate fi interpretat de mai mulți muzicieni, iar orice muzician poate juca în mai multe grupuri muzicale.

Tabelul 3 arată corespondența unei relații multiple cu multe.

Relația one-to-one (1-1): Doar o singură intrare dintr-o altă tabelă poate corespunde fiecărei înregistrări a unui tabel. Această conexiune este rar utilizată în baze de date. De fapt, este folosit atunci când, din anumite motive, este necesar să se stocheze informații despre un obiect în diferite tabele. Dacă este necesar, toate informațiile din aceste tabele pot fi colectate într-una.

O parte a modelului relațional este asociată cu integritatea datelor, a fost și este supusă celei mai mari schimbări. În unele detalii, experții de vârf încă nu au un punct de vedere comun. Această secțiune va rezuma dispozițiile generale referitoare la integritatea datelor.

Atunci când vorbim despre integritatea datelor, se presupune că există anumite reguli menite să asigure coerența (fiabilitatea) informațiilor stocate în baza de date.

Există reguli generale care se aplică tuturor bazelor de date relaționale și regulilor specifice referitoare la o anumită bază de date. Asigurarea conformității cu aceste reguli este asumată de DBMS.

După cum sa menționat deja, fiecare bază de date poate solicita implementarea propriilor reguli private.

Exemplu O listă de reguli private pentru o bază de date pentru studenți ar putea include următoarele reguli:

- Anul absolvirii> = Anul admiterii +5

- Numerele grupului trebuie selectate din lista 10,11, 20, 21, 30, 31, 40, 50

- Numărul biletului pentru student trebuie să fie reprezentat ca nnnnnn, unde n este numărul

Regulile generale de integritate sunt asociate cu conceptele de chei primare și străine.

Integritatea regulii obiectului. Niciun element al cheii primare nu poate conține o valoare goală.

Ca cheie primară, trebuie să selectați câmpuri care vor conține neapărat valori interpretate fără echivoc.

Exemplu Tastă primară Numărul contului bancar conține valori goale. Această situație este inacceptabilă pentru bazele de date relaționale. Aici, valoarea goală poate fi interpretată în moduri diferite: 1) angajatul are un număr de cont bancar, dar el, din anumite motive, nu este specificat; 2) angajatul nu are un număr de cont bancar 3) nu se știe dacă angajatul are sau nu un număr de cont bancar.







Articole similare

Trimiteți-le prietenilor: