constrângeri de integritate la nivel de atribut

• constrângeri de integritate la nivel tuplu,

• constrângeri de integritate la nivelul,

• constrângeri de integritate la nivel de baze de date.

Considerăm că aceste tipuri de constrângeri mai detaliat.

relaţii domenii

constrângeri de integritate la nivel de atribut sunt limitări impuse de valorile admisibile ale atributului. Aceste limitări emană din faptul că fiecare atribut este definit pentru un anumit domeniu.

Prin domeniu se înțelege o pluralitate de numita scalare (atomice) valorile din care pot lua valorile unui atribut specific.

Conceptul de domeniu joacă în modelul relațional este foarte important. Descriere pentru atributul său de domeniu vă permite să controlați intrarea corectă în atributele bazei de date.

Integritatea Restricție atribute după cum urmează:

Valoarea fiecărui atribut este luat dintr-un domeniu corespunzător.

Domenii restricționează de asemenea compararea funcționării valorilor atributelor.

În timpul funcționării bazei de date, interogarea datelor, este necesar să se compare valorile cu fiecare alte atribute diferite. Aceasta, desigur, ridică întrebarea: „În cazul în care, o astfel de comparație este corectă?“ Deci - pentru a compara între ele, se poate atribui numai valorile definite în domeniu comun.

Într-adevăr, pare absurd cere: „Ia o listă de elevi care au obținut în punctajul de examen este mai mare decât cea a cursului pe care învață elevul“ care necesită operarea de comparație între valorile cursului în care învață elevul, și a primit de evaluare (deși un alt sens este exprimată printr-un număr întreg pozitiv). Evident, valoarea cursului și evaluarea atributelor. Proprietăți înrudite elev esență. Acestea ar trebui să fie definite în diferite domenii și, prin urmare, nu pot fi comparate între ele.

Trebuie remarcat, totuși, că cele de mai sus nu înseamnă că valorile atributelor definite în diferite domenii, în general, nu poate fi utilizat în expresiile scalare generale. De exemplu, dacă este prezent într-un raport

atribute, și KOLICHESTVO_EDINITS_TOVARA TSENA_EDINITSY_TOVARA. ce

este clar că, în ciuda apartenenței aparente a acestor atribute la un domeniu diferit, valorile lor pot fi folosite într-o expresie aritmetică comună

A = (KOLICHESTVO_EDINITS_TOVARA TSENA_EDINITSY_TOVARA *)

pentru a calcula, de exemplu, costul total al tuturor unităților vândute.

Prin conceptul de domeniu implicit este practic coincide cu conceptul de tipuri de date (așa cum se înțelege în limbaje de programare moderne). Într-adevăr, domeniul este un set matematic, precum și tipul de date determină setul admisibil de valori de date și un set de operații pe ele. Vorbind, cu toate acestea, adevărata bază de date relațională modernă, în care conceptul de domeniu este sprijinit într-un sens limitat. Baza de date încorporată cu condiția de fapt (de exemplu, definit de sistem) tipuri de date primitive, cum ar fi numere întregi, plutitoare numere de puncte, siruri de caractere, etc.

Lipsa de informații sau NULL valori.

Vorbind în contextul conceptului de valori de domenii care pot accepta un anumit atribut ar trebui să acorde o atenție la o situație, care în viața reală nu poate fi exclusă. Și anume, situația în care un anumit valori atribut poate să lipsească. De exemplu, într-o înregistrare de bază de date despre un anumit student poate lipsa de informații cu privire la data nașterii sale sau locul de reședință. Acum, nu contează din ce motive informații atribut valoare poate fi lipsă, cu toate acestea, având în vedere realitatea unor astfel de situații, construirea modelului de domeniu, este de dorit să existe un mijloc de a le reprezenta.

Codd a fost propus să se utilizeze pentru a se referi la lipsa de informații cu privire la valoarea atributului un marcaj special - NULL. în mod obișnuit numit NULL-valoare. Introducere NULL înseamnă marcatorul următor. La definiție (descriere) a unui anumit atribut (de exemplu, împotriva atribut studenți de oraș. Înțeles orașul în care trăiește un student), în plus față de stabilirea domeniului permis pentru că valorile atributelor (o listă de nume valide orașelor) trebuie subliniat faptul că, în cazul în care pentru unii motive sau de la adevărata valoare a acestui atribut este necunoscut marcator, NULL instalat în locul lui.

Imediat ar trebui să acorde o atenție la faptul că NULL nu este una dintre valorile posibile ale atributului. NULL nu este o valoare. a este un indiciu al absenței, real

valoarea acestui atribut, care este de fapt, desigur, există, dar este în prezent necunoscută sau nesigură. Din același motiv, setul de valori admisibile de atribute care definesc domeniul. Acesta nu poate fi extinsă prin includerea -values ​​NULL, deoarece nu este permisă într-o altă valoare de domeniu. și unul din domeniul deja definit. dar în acest moment necunoscut.

Rețineți, de asemenea, că, în general vorbind, pentru fiecare relație atribut poate fi tolerat lipsa lui de valori, adică, specificați NULL în locul markerului. Acest lucru se aplică, în special, atributele cheie și relația vor fi discutate în detaliu mai târziu.

Considerațiile de mai sus în favoarea introducerii relațională token-ul modelului NULL. Se pare destul de rezonabil. În practică, cu toate acestea, introducerea de NULL conduce la o complicație semnificativă a modelului. Problemele apar atunci când se determină operarea compararea valorilor diferitelor atribute, precum și identificarea potențialelor relație cheie externă, determinarea operațiunilor (agregate) de grup pe valorile atributelor (sumă, medie, etc.). Din acest motiv, în special, unele care lucrează în domeniul de oameni de știință baze de date, în special date [1], introducerea

în modelul relațional este NULL valoare este considerată eronată, considerată ca un factor care încalcă integritatea modelului, și complicat în mod inutil. Cu toate acestea, bazele de date moderne sunt de obicei menținute sunt valorile NULL. Profesioniștii care lucrează

în baze de date ar trebui să fie bine cunoscute caracteristici care decurg din utilizarea lor.

expresii scalare cu valori lipsă (NULL). Trei cifre (3VL) logica

Luați în considerare utilizarea particulară la care rezultă NULL valoare Kq atunci când efectuează diverse operații asupra valorilor atributelor scalare, adică problemele care apar atunci când se utilizează ca operanzi orice atribut scalar, valorile care pot fi necunoscute sau nedefinită. De exemplu, considerăm tuplele relație care descriu unele dintre obiecte, proprietăți, care la rândul lor corespund atributelor relației dintre lungime și lățime. Să presupunem că pentru unele facilități valori specifice ale acestor atribute pot fi necunoscute. Valorile acestor atribute pot fi folosite ca operanzi ale diferitelor operații scalare, de exemplu, atunci când se calculează suprafața obiectului valorile atributului prin înmulțirea lungimii și lățimii.

Aspect care apare imediat în acest caz este faptul că, dacă operanzi este o expresie scalar nu este definit, atunci rezultatul acestei expresii poate fi, de asemenea, cunoscut.

Dacă nu cunoașteți valorile de orice lungime de operand sau latime. iar valoarea calculată a suprafeței (lungime x latime) nu este cunoscut. Atunci când o valoare operand necunoscut de lungime. necunoscut va fi, de asemenea valori scalare ale următoarelor expresii aritmetice:

- lungime. + Lungime. 10. LUNGIME + 10 + lungime. LUNGIME - 10 10 - LUNGIME. LUNGIME × 10 × 10 lungime. LUNGIME / 10 10 / lungime.

Complexitatea, cu toate acestea, că nu este întotdeauna expresia cu o valoare necunoscută operanzi nu este foarte specific. Deci, în mod evident, necesită o definiție specială a tipului de lungime de expresie - lungime. rezultatul care este cunoscut și trebuie să fie 0 (zero), în orice caz, indiferent de valoarea cunoscută sau necunoscută operandului. Interpretarea ambigua LUNGIMEA expresie / 0 când nuluri LUNGIMEA operanzi (în loc de divizare de afișare obișnuit de la zero erori).

Mai particular provoacă atribut utilizare mare presupunere lipsesc valori (NULL) cu operații scalare comparând

a = b. a ≠ b. a> b. o

Într-un caz tipic, rezultatul comparării funcționării, două valori posibile este adevărat - adevărat și fals - fals. Presupunerea în expresii operanzi, folosind operatorii de compararea statelor, atunci când producția lor nu este cunoscută, are ca rezultat necesitatea de a completa cele două state adevărate și logică de stat falsă a treia logica, care poate fi numit unk (de necunoscut engleză -. Necunoscut). Cu alte cuvinte, ipoteza în valorile atributelor ale rezultatelor lipsă sau incerte în necesitatea de a trece de la o logică cu două valori (adevărat. Fals) la ternar (true. Fals. Unk), numită și 3VL-logica (din limba engleză trei valori logica).

constrângeri de integritate la nivel de atribut

Ar trebui să fie modificate în mod corespunzător și funcționarea logică scalară de bază și. SAU și NU. mesele lor de adevăr iau formularul de mai jos.