Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
» Crearea si utilizarea constrangerilor


Crearea si utilizarea constrangerilor


Crearea si utilizarea constrangerilor

Constrangerile se definesc cu scopul de a asigura integritatea datelor dintr-o tabela si din coloane individuale. Instructiunea CREATE TABLE permite crearea cheilor primare si externe, asigurarea unicitatii valorilor din coloane si linii, specificarea constrangerilor de validare si de valoare implicita.

Constrangerea PRIMARY KEY

Se foloseste pentru a asigura integritatea coloanelor precum si integritatea referentiala. Definirea unei constrangeri Primary Key asigura unicitatea liniilor din tabela, impiedicand introducerea de valori duplicat intr-o combinatie de una sau mai multe coloane. Ea impiedica introducerea de valori Null in coloana(-ele)pe care este definita aceasta constrangere. Conduce la crearea unui index unic pe coloana (-le), index care se poate utiliza pentru regasirea mai rapida a liniilor din tabela. La definirea acestei constrangeri se utilizeaza cuvintele cheie PRIMARY KEY.



Constrangerea FOREIGN KEY

Se foloseste impreuna cu o constrangere PRIMARY KEY, definita anterior, pe o tabela asociata. O astfel de constrangere asociaza una sau mai multe coloane, ale unei tabele, cu o multime identica de coloane pe care a fost definita o constrangere PRIMARY KEY in cadrul unei alte tabele. Atunci cand sunt modificate valori in coloanele tabelei pe care s-a definit constrangerea PRIMARY KEY, se modifica automat si coloanele din cealalta tabela pe care s-a definit constrangerea FOREIGN KEY.

Cele doua constrangeri: PRIMARY KEY si FOREIGN KEY asigura faptul ca liniile corespunzatoare din tabelele asociate raman in corespondenta. Actualizarea automata a valorilor corespunzatoare din tabelele pe care s-au definit cele doua constrangeri se numeste integritatea referentiala declarativa.

Tabela specificata dupa cuvantul cheie REFERENCES este tabela in care pe baza coloanei (-lor) s-a definit o constrangere Primary Key.

Coloanele corespunzatoare pe baza carora se definesc constrangerile Primary Key si Foreign Key nu trebuie neaparat sa aiba acelasi nume.

Constrangerea UNIQUE

Se poate aplica oricarei coloane dintr-o tabela pentru a impiedica inscrierea de valori duplicat in coloana respectiva. O astfel de coloana nu poate sa reprezinte o cheie primara, sau sa faca parte dintr-o cheie primara a tabelului.

Constrangerea CHECK

Limiteaza valorile care pot fi introduse in una sau mai multe coloane ale tabelului. De exemplu, se poate utiliza pentru a restrange valorile care pot fi inscrise intr-o coloana de tip numeric, la un interval mai mic decat cel permis de tipul de date.

Operatia de asociere a unei validari cu o coloana a unei table se numeste legare. Pentru aceeasi coloana se pot defini mai multe validari.

Constrangerea DEFAULT

Se foloseste pentru a asigura inscrierea automata a unei valori intr-o coloana a unei tabele atunci cand la operatia de inserare nu este specificata nici o valoare. Se poate defini o constrangere Default pe baza valorii care apare cel mai frecvent in cadrul unei coloane, scutind utilizatorul de a mai introduce acesta valoare implicita la inserarea liniilor.

Exemple:

Se creaza tabela Client cu doua campuri: cod (este cheie primara si se numeroteaza automat incepand de la 1) si denumire client.   

create table client (cod_client int not null identity (1, 1) primary key,

den_client varchar (30) not null)

Se creaza tabela Client avand campurile: cod (este cheie primara), denumire client, judet care poate lua doua valori "dj" si "ot", valoarea implicita fiind "dj".

create table client (cod_client int primary key, den_client varchar (30) not null,

judet varchar (2) check (judetin ('dj', 'ot')) default 'dj')

Se creaza tabela cu informatii despre facturile emise unor clienti. Tabela are campul nr_fact cheie primara, iar cod_client cheie externa. Valoarea facturii este cuprinsa intre 1000000 si 100000000. Data facturii are valoarea implicita data curenta furnizata de functia getdate().

create table facturi (nr_fact int identity primary key, data smalldatetime not null default getdate(), valoare int check (valoare between 1000000 and 100000000), cod_client int constraint c1 foreign key (cod_client) references client (cod_client))





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate