Asigurarea integrității bazei de date

Integritatea datelor este asigurată de un set de oferte speciale, numite constrângeri de integritate.

constrângeri de integritate sunt declarații cu privire la valorile posibile ale unităților de informații individuale și conexiunile dintre ele.

În cele mai multe cazuri, constrângerile de integritate definite de domeniul caracteristici (deși ele pot reflecta caracteristicile pur informaționale).

Constrângerile pot referi la diferite obiecte de date: atribute relații tupluri, comunicarea între ele, și altele asemenea.

Pentru câmpurile (atribute), următoarele tipuri de constrângeri:

· Tipul și formatul câmpului (permit în mod automat de intrare doar la un anumit tip de date).

· Specificarea unui interval de valori. Această limitare este în general utilizat pentru câmpurile numerice. Distinge intervale deschise și închise: prima valoare fixă ​​este doar una dintre limitele, al doilea - ambele frontiere.

· Interzicerea câmpului gol. Limitarea pentru a evita apariția în baza de date „trage“, înregistrările care lipsesc toate datele necesare, cum ar fi: „numele“ trebuie să facă în mod necesar o diferență, iar în câmpul de valoare „rata de absolvire“ poate să lipsească.

· Seturi de domeniu. Limitarea evitarea diversității excesive a datelor, în cazul în care este posibil să se limiteze, de exemplu, valoarea „poziția“ câmpul pentru profesori poate fi unul dintre următoarele: asistent, lector superior, conferențiar, profesor.

· Verificați unicitatea valorii oricărui domeniu. Limitarea pentru a evita intrările dublate. Această limitare se produce atunci când sunt afișate în baza oricăruia dintre aceste obiecte, atunci când câmpul este un identificator unic al obiectului; astfel încât această limitare este adesea numit integritate obiect constrângere.

Clasificarea de mai sus a restricțiilor este destul de convențional, așa fel gama de referință de domeniu pot fi considerate ca referință.

Constrângerile de mai sus definesc câmpul de valoare se verifică în funcție de faptul dacă este introdusă sau ajustată prima valoare limită disponibilă în baza de date. Restricțiile sunt folosite numai atunci când verificarea admisibilității ajustărilor prevăzute la restricții de tranziție. De exemplu, în cazul în care baza de date are un câmp „angajat de vârstă“, apoi în ajustarea valorii acestui câmp poate fi crescută numai; în cazul în care există „anul nașterii“, în baza de date, atunci ar trebui să fie interzis ajustarea câmpului. Dacă încercați să faceți o corecție de diagnostice incorecte trebuie dat un mesaj.

În ceea ce privește constrângerile de integritate referitoare la tuplele, se înțelege aici, orice restricție privind valoarea întregului rând, considerat ca un întreg (o limitare naturală este cerința de unicitatea fiecărui rând al tabelului), sau constrângeri asupra raporturi ale valorilor individuale ale câmpurilor într-un rând (de exemplu, valoarea câmpului „vechime“ nu trebuie să depășească „vârsta“).

Există limite, verificând relația dintre înregistrările într-un tabel, de exemplu, „anul de naștere a mamei“ trebuie să fie mai mică decât „anul nașterii copilului“; Nu poți fi un părinte și un copil de aceeași persoană.

În legătură cu întregul tabel, rezultatul următor poate fi un exemplu de restricții. Să presupunem că statul de plată este format din valoarea salariului mediu al angajatului, care este de 10 000. Apoi, ca și constrângerile de integritate din tabel poate fi setat la o expresie care indică faptul că valoarea medie a „salariul“ trebuie să fie mai mică de 10.000.

În cazul în care baza de date nu permite controlul oricăror constrângeri de integritate, este necesar să se creeze o procedură (program), care permite să o facă.

Toate restricțiile care au fost discutate mai sus, afectează unitățile de informații într-un singur tabel. În plus față de aceste limitări, există limitări legate de mai multe tabele înrudite, cum ar fi limitarea integritatea comunicării. care se exprimă în faptul că o valoare atribut care reflectă legătura dintre obiectele și o relație cheie străină să fie aceeași cu una din valorile atributelor, care este relațiile-cheie care descriu obiectul corespunzător. De exemplu, baza de date are trei tabele: „Profesori“, „Disciplina“ și un tabel care arată relația dintre profesori și discipline: codul profesor în ultimele trei mese trebuie să se potrivească cu unul dintre codurile din „tabelul profesorilor și cod disciplina - valoarea câmpului corespunzător în tabelul „Subiecte“.

Un tip special de restricții este o interdicție privind actualizarea. Se poate referi, de asemenea, la un anumit domeniu, precum și la întreaga înregistrare, și pentru întreaga masă. De exemplu, nu se poate schimba valorile acestor domenii, cum ar fi „naștere“, „Locul nașterii“; sau chiar dacă există o filă „Promovarea“ cu câmpuri „numărul de personal al angajatului“, „tip de promovare“, „data“ - în acest tabel de înregistrare pot fi adăugate numai, și nu pot fi schimbate.

În acest exemplu, există, de asemenea, o restricție a existenței între tabelul „Promovarea“ și „angajați“ de masă: numărul angajatului în „Promoție“ de masă trebuie să fie prezentă în tabelul „angajați“; atunci când ștergeți o înregistrare în tabelul „Angajații“ toate intrările asociate din tabelul „Promoții“ ar trebui, de asemenea, să fie șterse.

Constrângerile sunt separate prin monitorizarea conformității timp cu restricții - pe secțiunea transversală și amânată. constrângerile de integritate amânat nu pot fi respectate în timpul executării unui grup de operațiuni, dar trebuie să fie urmată de finalizarea operațiunilor de grup. Cu conceptul de constrângeri amânate sunt strâns legate de conceptul de tranzacție. În Microsoft Access, o tranzacție este definit ca un set de operațiuni, care este confirmat de sistemul rezultat (salvat) dacă și numai dacă toate operațiile au fost recrutare de succes. Dacă oricare dintre operațiunile tranzacției eșuează, toate operațiunile efectuate anterior sunt anulate, iar datele sunt returnate la starea în care a avut înainte de începerea tranzacției. Un exemplu este transferul de bani dintr-un cont bancar la altul, care constă din două operații: scoaterea banilor dintr-un cont și se adaugă aceeași sumă de bani într-un alt cont.

Constrângerile sunt separate prin metoda de referință - pe explicită și implicită. Restricții implicite determinate de modelul de date specifice și baza de date sunt verificate automat. Restricții implicite de obicei aparțin clasei de constrângeri sintactice, în contrast cu constrângerile de integritate semantice care decurg din zona subiect specific.

Exemplele de constrângeri legate de datele utilizatorului. Conceptul de integritatea, și se poate referi la informațiile de serviciu.

Împreună cu conceptul de integritate a bazei de date, conceptul poate fi introdusă integritatea informațiilor BND este de a asigura corectitudinea informațiilor interrelaționării tuturor componentelor sale.

Rezumat. Specificarea constrângerilor de integritate și controale sunt o parte importantă a proiectului și funcționarea BND. La proiectarea BND este necesar să se examineze posibilitățile de a controla integritatea bazei de date utilizate oferă. În cazul în care baza de date nu face în mod automat menține limita dorită, asigurând conformitatea acestuia devine o preocupare a designerului.