Restricționarea unei chei unice (UNIQUE)
Această restricție specifică cerința ca valoarea câmpului (coloanei) sau a grupului de câmpuri (coloane) din cheia unică să fie unică. în raport cu alte înregistrări. Constrângerea UNIQUE pe o coloană de masă este similară cu cea primară. Pentru fiecare linie de date, trebuie să conțină valori unice. Setați pentru o anumită coloană constrângerea cheie primară. de asemenea, puteți seta constrângerea UNIQUE la o altă coloană în același timp. Diferența dintre limitarea cheilor primare și unice este că cheia primară servește atât pentru organizarea datelor din tabel, cât și pentru conectarea tabelelor asociate. În plus, dacă utilizați constrângerea UNIQUE, puteți avea o valoare NULL. dar numai o singură dată.
Limitarea valorii (NOT NULL)
Pentru fiecare coloană a tabelului, puteți seta constrângerea NOT NULL. Este interzisă introducerea unei valori zero în această coloană.
Restricție de verificare (CHECK) și reguli
Această restricție este utilizată pentru a verifica validitatea datelor introduse într-o anumită coloană a tabelului, adică restricția CHECK oferă un alt nivel de protecție a datelor.
Verificați constrângerile de integritate specifică intervalul de valori posibile pentru o coloană sau coloane. În centrul constrângerilor de integritate CHECK se utilizează expresii logice.
Este permisă aplicarea mai multor constrângeri CHECK în aceeași coloană. În acest caz, acestea vor fi aplicabile în ordinea în care au fost create. Este posibil să se aplice aceeași constrângere la diferite coloane și să se utilizeze valorile altor coloane în expresii logice. Specificarea parametrului NOT FOR REPLICATION vă instruiește să nu efectuați acțiunile de testare dacă acestea sunt efectuate de subsistemul de replicare.
Restricțiile de verificare pot fi implementate folosind reguli. O regulă este un obiect de bază de date autonom, care este asociat cu o coloană de tabelă sau cu un tip de date personalizat. În plus, aceeași regulă poate fi asociată simultan cu mai multe coloane și tipuri de date de utilizator, ceea ce reprezintă un avantaj incontestabil. Cu toate acestea, un dezavantaj semnificativ este că o singură regulă poate fi asociată cu fiecare coloană sau tip de date. Puteți combina constrângerile de verificare a integrității cu regulile. În acest caz, se verifică verificarea consistenței pentru valoarea introdusă. și regulile.
Regula poate fi creată de comanda:
Limita prestabilită (DEFAULT)
Coloanei i se poate atribui o valoare implicită. Va fi relevant dacă utilizatorul nu introduce nicio altă valoare în coloană.
În mod separat, ar trebui să remarcăm avantajul utilizării valorilor implicite la adăugarea unei noi coloane în tabel. Dacă nu permiteți stocarea valorilor NULL pentru coloana pe care o adăugați și valoarea implicită nu este definită, operația de adăugare a coloanei va eșua.
Când definiți o coloană în tabel cu parametrul ROWGUIDCOL, serverul determină automat valoarea implicită pentru aceasta ca funcție NEWID (). Astfel, pentru fiecare linie nouă, identificatorul global unic va fi generat automat.
Un mecanism suplimentar pentru utilizarea valorilor implicite este obiectele bazei de date create de comanda:
Când creați o masă. cu excepția metodelor considerate, puteți specifica un cuvânt cheie opțional CONSTRAINT. Pentru a atribui o constrângere unui nume care este unic în baza de date.
Cuvintele cheie CLUSTERED și NONCLUSTERED vă permit să creați un index clustered sau nonclustered pentru o coloană. Pentru a limita KEY PRIMARY, în mod implicit este creat un index cluster. și pentru a limita UNIQUE - nonclustered. În fiecare tabel poate fi creat un singur indice cluster. caracteristica distinctivă a căreia, conform acesteia, ordinea fizică a rândurilor din tabelă se schimbă. ASC și DESC definesc metoda de ordonare a datelor în index.
Folosind parametrul WITH FILLFACTOR = fill_factor, specificați cât de mult sunt completate paginile de index atunci când creați indexul. Valoarea factorului de umplere este indicată în procente și poate varia de la 0 la 100.
Numele ON group_name indică grupul în care va fi stocat tabelul.
Schimbarea unui tabel
Modificările la tabel pot fi făcute de comanda:
Pe lângă parametrii deja menționați, definim parametrul TRIGGER ALL. care vă instruiește să activați sau să dezactivați un anumit declanșator sau toate declanșatoarele asociate tabelului.