1) Integritatea exploziei
Când se specifică tipul de date, sunt determinate valorile corecte pentru fiecare coloană. Aceasta se numește integritatea domeniului. Un domeniu este un set de valori valide ale coloanelor. Ca metodă alternativă pentru determinarea valorilor valide, se utilizează o proprietate NULL care specifică tipul de valori pentru această coloană. Metodele tradiționale de integritate SQL Server includ impunerea condițiilor pe domeniile coloanelor folosind tipurile personalizate de date, regulile și valorile implicite. Pentru a asigura integritatea, sunt utilizate și constrângeri ANSI (valori implicite și limite de verificare). Rețineți că tipurile de date și proprietatea NULL sunt întotdeauna utilizate, în timp ce alte componente ale sistemului de integritate a datelor nu sunt necesare.
2) Integritatea de referință
3) Integritatea obiectului
Ultimul tip de integritate considerat în această lecție este integritatea obiectului. Acesta definește capacitatea de a adăuga un identificator unic pentru fiecare rând din tabel. Integritatea obiectelor este furnizată prin intermediul unor indicatori unici (discutate în ultima lecție) și al mijloacelor de integritate declarativă (cheia primară sau constrângerea de unicitate), care sunt discutate mai jos.
Pentru a evita problema datelor incomplete sau necunoscute, tipurile de date pot fi utilizate în baze de date, suplimentate cu o așa-numită valoare nulă. Valoarea nulă nu este, de fapt, o valoare, ci un marcator care indică faptul că valoarea este necunoscută.
Astfel, într-o situație în care apariția unor date necunoscute sau incomplete este posibilă, dezvoltatorul are posibilitatea de a alege între două opțiuni.
A doua opțiune este de a utiliza valori nula în loc de date necunoscute. În spatele naturii aparente a acestei abordări sunt ascunse problemele mai puțin evidente și mai profunde. Cea mai evidentă problemă este necesitatea utilizării logicii cu trei valori atunci când se ocupă de date care pot conține valori nula. În acest caz, în cazul unei formulări incorecte a interogărilor, chiar și cele mai naturale interogări pot da răspunsuri incorecte. Există mai multe probleme fundamentale asociate cu justificarea teoretică pentru corectitudinea introducerii valorilor nula, de exemplu, nu este deloc clar dacă valori nula sunt incluse în domenii sau nu.
Aproape toate implementările bazelor de date relaționale moderne permit utilizarea valorilor nulă, în ciuda validității lor teoretice insuficiente. Această situație poate fi comparată cu situația care sa dezvoltat la începutul secolului cu teoria seturilor. Aproape imediat după crearea lui Cantor a teoriei seturilor, au fost descoperite în el contradicții interne (antinomii). Au fost dezvoltate teorii mai riguroase pentru a evita aceste contradicții (teoria seturilor constructive). Cu toate acestea, în munca reală, majoritatea matematicienilor folosesc teoria setului clasic, deoarece teoriile mai riguroase sunt mai limitate și inflexibile în aplicare tocmai datorită rigurozității lor mai mari.
29. Integritatea datelor. Cheia primară, constrângeri legate de conexiuni. Cheie străină. Reguli de afaceri.
Integritatea (din integritatea englezească - intactitatea, inviolabilitatea, securitatea, integritatea) - este înțeleasă ca fiind corectitudinea datelor în orice moment. Dar acest obiectiv poate fi realizat numai în anumite limite: DBMS nu poate controla corectitudinea fiecărei valori individuale introduse în baza de date (deși fiecare valoare poate fi verificată pentru plauzibilitate). De exemplu, se poate constata că valoarea introdusă este de 5 (care reprezintă numărul de zile din săptămână) într-adevăr ar trebui să fie egală cu 3. Pe de altă parte, valoarea 9 este în mod clar eronată și SGBD trebuie să-l respingă. Cu toate acestea, pentru aceasta, ar trebui să fie informată că zilele săptămânii trebuie să aparțină setului (1,2,3,4,5,6,7).
Menținerea integrității bazei de date poate fi văzută ca protejând datele de modificările sau distrugerile incorecte (pentru a nu fi confundată cu schimbările și distrugerile ilegale care reprezintă o problemă de securitate). DBMS-urile moderne au un număr de instrumente pentru a asigura menținerea integrității (precum și mijloacele pentru a asigura menținerea securității).