VOPROS16! Apariția modelelor set-teoretice în sistemele de baze de date a fost predeterminată de necesitatea urgentă a utilizatorilor de a lucra cu elemente de date, cum este cazul modelelor de grafic, pentru a lucra cu unele obiecte macro.
Modelul principal din această clasă este modelul de date relaționale. Baza teoretică a modelului relațional a fost teoria relațiilor, bazată pe două logici - americanul Charles Soders Pearce (1839-1914) și germanul Ernst Schroeder (1841-1902).
Modelul relațional este o colecție de date constând dintr-un set de tabele bidimensionale.
În manualele privind teoria relațiilor sa arătat că setul de relații este închis cu privire la unele operații speciale, adică împreună cu aceste operații formează o algebră abstractă. Această proprietate cea mai importantă a relației a fost utilizată în modelul relațional pentru dezvoltarea limbajului de manipulare a datelor asociat cu algebra originală.
Matematicianul american EF Codd, în 1970, a formulat mai întâi conceptele și limitările de bază ale modelului relațional, limitând setul de operații în acesta la șapte operații de bază și una suplimentară. Sugestiile lui Codd au fost atât de eficiente pentru sistemele de baze de date, încât pentru acest model ia fost acordat prestigiosul premiu Turing în domeniul fundamentelor teoretice ale tehnologiei informatice.
Orice tabel dintr-o bază de date relațională este format din șiruri care se numesc înregistrări. și coloane, care sunt numite câmpuri. La intersecția rândurilor și coloanelor sunt valori specifice ale datelor. Pentru fiecare câmp, setul de valori este definit, de exemplu, câmpul "Luna" poate avea douăsprezece valori.
Structura tabelei din baza de date relațională este caracterizată de următoarele:
se compune dintr-o colecție de coloane;
Fiecare coloană are un nume unic, care nu se repetă în alte coloane;
secvența coloanelor din tabel nu este semnificativă;
toate rândurile mesei sunt organizate în aceeași structură, adică au același număr de rechizite și au aceeași lungime;
în tabel nu există linii identice;
numărul de rânduri din tabel este practic nelimitat;
secvența de rânduri din tabel nu este semnificativă;
atunci când efectuați manipulări cu tabelul, toate rândurile și coloanele pot fi văzute într-o ordine arbitrară, fără a se lua în considerare conținutul și semnificația acestora.
Pentru acest tip de model există un aparat matematic dezvoltat - algebra relațională. În algebra relațională, o coloană denumită a unei relații se numește atribut, iar setul tuturor valorilor posibile ale unui atribut specific este un domeniu. Rândurile unui tabel cu valori de atribute diferite sunt numite tuple.
De exemplu, în tabelul prezentat în Fig. 7, tuplurile sunt di1, di2, ..., din (i = 1,2, ... m); și domeniile - d1k, d2k, ..., dmk (k = 1,2, ... n). Numărul de atribute conținute într-o relație determină gradul său. și numărul de tupluri este cardinalitatea relației.
Fig. 22. Domenii și tuple de relație
Unul sau mai multe atribute ale căror valori determină unic tupla unei relații se numește cheia acesteia. sau o cheie primară sau un câmp cheie. Adică, un câmp cheie este un câmp ale cărui valori nu sunt repetate în acest tabel. Deci, dacă tabelul conține o listă de angajați și există câmpuri în acesta: Număr de personal, Nume, Poziție, atunci puteți utiliza câmpul Număr de personal ca cheie. Conceptele de bază ale modelului relațional sunt ilustrate în Fig. 23.
Fig. 23. Concepte de bază ale modelului relațional de date
Înregistrările din tabel sunt stocate în ordine de către cheie. Cheia poate fi simplă, constând dintr-un singur câmp și complexă, alcătuită din mai multe câmpuri. O cheie complexă este aleasă în acele cazuri în care niciun câmp din tabel nu determină în mod clar înregistrarea.
În plus față de cheia primară, tabelul poate conține chei secundare, numite și chei străine sau indici.
Un index este un câmp sau un set de câmpuri ale căror valori există în mai multe tabele și care este cheia primară în unul dintre ele. Valorile indicelui pot fi repetate într-un anumit tabel. Indicele oferă o secvență logică a înregistrărilor din tabel, precum și accesul direct la înregistrare.
Cheia primară este căutată întotdeauna numai pentru o singură linie, iar pentru cheia secundară poate fi căutat un grup de rânduri cu aceleași valori ale cheii primare. Sunt necesare chei pentru identificarea și organizarea unică a înregistrărilor de tabele și a indexărilor pentru a comanda și pentru a accelera căutarea.
Indicii vă permit să implementați în mod eficient căutarea și prelucrarea datelor, generați fișiere de index suplimentare. La ajustarea datelor, indexurile sunt ordonate automat, locația fiecărui index este modificată în funcție de condiția acceptată (valori ascendente sau descendente). Înregistrările tabelului relațional nu se mișcă atunci când sunt șterse sau incluse noi înregistrări, valorile câmpurilor cheie ale acestora se schimbă.
Folosind indexuri și chei, se stabilesc legături între tabele. Conexiunea se stabilește prin atribuirea valorilor cheii externe a unei tabele la valorile cheii primare a celeilalte. Un grup de tabele conexe se numește schemă de date