Definirea modelului relațional

Tipul elementului de tabel valoare

Raportul este cel mai important concept și un tabel bidimensional care conține unele date.

Esența este obiectul de orice natură, datele care sunt stocate în baza de date. Datele stocate pe esența cu respect.

Atributele sunt proprietăți care caracterizează esența. Structura mesei, fiecare atribut este numit, și corespunde antetul unei coloane într-un tabel.
Matematic, relația poate fi descrisă după cum urmează. Să presupunem că avem n seturi de luminiscenta, D2, D3. Dn, atunci raportul R este setul de tuple comandate. în cazul în care dk. Dk, dk - atribut. un Dk - domeniu de relația R.

În general, în ceea ce privește ordinea tuplele ca în orice set este nedefinit. Cu toate acestea, într-o bază de date relațională pentru tuple ușor încă simplifica. Cel mai adesea acest lucru este selectat un atribut pe care sistemul sortează automat tuplele în ordine crescătoare sau descrescătoare. În cazul în care utilizatorul nu atribuie atributul comanda, sistemul atribuie automat numărul de tupluri în ordinea intrării lor. Punct de vedere tehnic, dacă vă rearanja atributele cu respect, atunci obținem o atitudine nouă. Cu toate acestea, nu conduce la formarea de noi relații într-o bază de date relațională atribute permutare.

Domeniul este setul de toate valorile posibile ale unui atribut specific al relației. relație MEMBRU cuprinde domeniu 4. Domeniul 1 conține numele tuturor angajaților, domeniul 2 - un număr de toate departamentele companiei, domeniul 3 - numele tuturor domeniului de posturi 4 - data nașterii tuturor angajaților. Fiecare domeniu formează o valoare de un anumit tip de date, cum ar fi numeric sau caracter.

3 relație MEMBRU cuprinde un tuplu. Tuplul relației în cauză este compusă din 4 elemente, fiecare dintre acestea fiind selectate dintr-un domeniu corespunzător. Fiecare tuplu corespunde rând al tabelului.

Schema de relații (antet) este o listă de nume de atribute. De exemplu, pentru relația exemplu circuitul membru are forma (nume, departament, funcție, D_Rozhdeniya). Setul de tuple ale relației în sine este adesea menționată ca conținutul (corp) relația.

cheie primară (relația cheie, atributul cheie) este atributul relație care identifică în mod unic fiecare dintre tuple sale. De exemplu, în ceea ce privește lucrător (nume, departament, funcție, D_Rozhdeniya) este un atribut cheie „Lang“. Cheia poate fi un compozit (complex). t. e. constau din mai multe atribute.

Fiecare relație are o combinație de atribute este necesară, care poate servi ca o cheie. Existența acestuia este garantată de faptul că raportul - este un set care nu conține aceleași elemente - tupluri. E. În ceea ce privește tupluri nici un duplicat, ceea ce înseamnă că, cel puțin, întregul set de atribute are proprietatea de a identifica în mod unic tuplele relației. În multe SGBD este permis să creeze o relație, fără a defini cheile.

Pot exista cazuri în care raportul are mai multe atribute ale combinațiilor, fiecare dintre care identifică în mod unic toate tuplele relației. Toate aceste combinații sunt atribute posibile relații cheie. Oricare dintre chei posibile poate fi selectat ca primar.

Dacă cheia primară selectată este format din setul minim necesar de atribute, ei spun că nu este excesiv.

Tastele sunt de obicei utilizate pentru atingerea următoarelor obiective:

1) evitarea suprapunerii valorilor în atributele cheie (alte atribute nu sunt luate în considerare);

2) comanda tuple. Poate comanda in, ascendent sau descendent valori ale tuturor atributelor cheie, precum și ordonarea mixtă (pentru un singur - o creștere, iar pe de altă parte - în jos);

3) accelerează raportul tuple (secțiunea 3.2);

4) organizarea de tabele de legare (secțiunea 3.3).

Să presupunem că, în ceea ce privește R1 nu are nici un atribut-cheie ale căror valori sunt valorile atributelor cheie într-o altă relație R2. Apoi, noi spunem că atributul și R1 are o relație cheie externă.

Utilizarea relațiilor externe cheie sunt stabilite între comunicarea. De exemplu, există două atitudini STUDENT (nume, grup, Specialitatea) și obiecte (Nazv.Pr. ore), care sunt conectate raportul STUDENT_PREDMET (numele complet. Nazv.Pr. rank) (Fig. 3.2). În ceea ce privește liantul și atributele nume Nazv.Pr formează o cheie compozit. Aceste atribute sunt chei externe, chei primare sunt alte relații.

Modelul relațional impune constrângeri cheie străine pentru a asigura integritatea datelor, numit integritatea referențială. Acest lucru înseamnă că fiecare valoare a cheii externe trebuie să se potrivească șirul în relația de legare.

Din moment ce nu fiecare masă poate fi asociată cu atitudinea, vom da condițiile îndeplinirii care permite mesei să ia în considerare atitudinea.

1. Toate liniile din tabel trebuie să fie unic, așa mai departe. E. Poate fi linii cu aceeași cheie primară.

2. Denumirile coloanelor de masă trebuie să fie diferite, iar valorile lor simple, t. E. Un grup de valori inacceptabile într-o coloană de un singur rând.

3. Toate liniile de unul din tabel trebuie să aibă o structură corespunzătoare denumirilor și tipurile de coloane.

4. Ordinea de rânduri din tabel poate fi arbitrară.

Cel mai adesea masa cu o atitudine plasată într-un fișier separat. În unele RDBMS-un tabel separat (relația) este considerată a fi baza de date. În alte baze de date, baza de date poate conține mai multe tabele.

Tabelul de date este de obicei stocate pe un disc magnetic într-un fișier de sistem de operare separat, astfel încât este posibil să existe constrângeri asupra denumirii sale. Numele de câmp sunt stocate în tabele. Termenii definiți Baze de date formarea lor, care, de regulă, câmpurile lungime și alfabetul utilizate nu impun limitări serioase.

În cazul în care este definit prin raportul dintre masa are o cheie, se consideră că tabelul are, de asemenea, o cheie, și este numit cheia sau tabel cu câmpurile cheie.

Cea mai mare parte fișierului tabelul bazei de date include o parte de control (descriere tipuri de câmpuri, nume de câmpuri și alte informații) și zona de localizare înregistrări.

Relațiile pot fi utilizate sistem de operare care permite să se obțină relația celuilalt. De exemplu, rezultatul unei interogări la o bază de date relațională poate fi o nouă atitudine, calculată pe baza relațiilor existente. Prin urmare, putem împărți datele prelucrate sunt stocate pe, și calculează partea. Unitatea de bază a datelor într-o bază de date relațională este un raport, nu tupluri sale individuale (înregistrări).

După cum sa menționat mai sus, tabelul cheie definiție înseamnă pentru sortarea automată a înregistrărilor, controlul repetarea valorilor în domenii cheie ale înregistrărilor și a operațiunilor de căutare de viteză creștere de execuție în tabel. Pentru a pune în aplicare aceste funcții în baza de date utilizate de indexare. „Codul“ termen este strâns legat de conceptul de „cheie“, cu toate că există unele diferențe între ele.

Sub simbolul înseamnă să înțeleagă operațiile înregistrările de accelerare de căutare în tabel și, prin urmare, și alte operații care utilizează căutarea: .. Extragerea, modificarea, sortarea, și așa pe masa pentru care indicele utilizat este numit indexat.

Soluții pentru problemele de organizare a accesului fizic la informație depinde în mare măsură de următorii factori:

tipul de conținut în înregistrările cheie fișierul index;

tipul de referiri (indicatori) pentru a scrie tabelul principal;

metoda de căutare dorită piese.

În fișierul index pot fi stocate valori cheie ale câmpurilor cheie din tabel sau tasta convoluție indexate (numită cod hash). Avantajul de a stoca valori hash în schimb constă în faptul că lungimea convoluție indiferent de lungimea valorii inițiale a câmpului cheie este întotdeauna o anumită valoare constantă și suficient de mică (de exemplu, 4 octeți), ceea ce reduce semnificativ operațiunile de căutare. Un dezavantaj al hashing este necesitatea de a efectua operația de convoluție (necesită o anumită perioadă de timp), precum și combaterea apariției coliziunilor (convoluție valori diferite pot da același cod hash).

Două metode de căutare sunt cel mai des utilizate în practică:

binar (bazat pe împărțirea intervalului de căutare în jumătate).

Să ilustrăm organizarea tabelelor de indexare două scheme: monist și dualist. În același timp, vom lua o serie de ipoteze, de obicei, efectuate în sistemele informatice moderne Să OS sprijină organizarea directă a datelor de pe un disc magnetic, fișierele principale de masă și index sunt stocate în fișiere separate. Fișierele de informații sunt stocate ca un set de blocuri de dimensiuni fixe, cum ar fi un număr întreg de clustere.

În cazul în care câmpurile indexate stocate hash-cheie din tabel, algoritmul de căutare al intrării dorite (cu cheia specificată) în fișierul de index în tabel cuprinde următoarele trei etape.

1. Formarea valorilor convoluție unui câmp cheie al înregistrării dorite.

2. Căutați fișierul index pe unitatea de înregistrare, primul câmp este mai mare decât valoarea rezultată a convoluție (este garantat pentru a găsi convoluției dorit în acest bloc).

Schema de două nivele într-un număr de cazuri, este mai rațional, ea chei (convoluție) înregistrări separate de conținutul înregistrărilor (fig. 3.4). În această schemă, tabelul index principal distribuite pe multitudinea de fișiere: un fișier al fișierului index principal și o multitudine de blocuri cu chei.

În practică, pentru a crea un index pentru un câmp de tabel de baze de date, utilizatorul specifică un tabel care necesită indexare. Domeniile-cheie ale tabelului din mai multe SGBD, de obicei, indexate automat. fișierele index generate de domeniile-cheie ale tabelului, adesea menționată ca fișierul index primar.

Comunicarea indicele secundar cu elemente ale bazei de date pot fi instalate în diferite moduri. Unul dintre ei - utilizează un indice secundar ca o intrare pentru cheia primară, în care apoi, folosind indexul de căutare primare produse pentru înregistrările necesare.

Unele baze de date, cum ar fi Access, o divizie a indecșilor pe primar și secundar nu sunt produse. În acest caz, folosit pentru a crea automat indici si indici, conform cu oricare dintre domeniile non-cheie definite de utilizator.

Principalul motiv pentru creșterea vitezei diferitelor operații în tabele indexate este faptul că cea mai mare parte a lucrării se face cu fișiere de index mici, nu cu noi înșine tabele. Cel mai mare efect al creșterii productivității realizate cu tabele indexate pentru volum mare pentru tabele. Indexarea necesită un spațiu mic disc suplimentar și costul redus al procesorului pentru a schimba indicii în acest proces. Indicii, în general, se pot modifica înainte de a executa interogări de baze de date, după efectuarea interogări de baze de date pe un utilizator comenzi speciale sau provocări de aplicații software.

La proiectarea bazei de date reale de informații este de obicei plasat în mai multe tabele. Tabelele cu informații semantice asociate. În tabelele bazei de date relaționale pentru a indica conexiunile face operația de legare a acestora.