h1

Constrangeri SQL (NOT NULL,UNIQUE, PRIMARY KEY,FOREIGN KEY,CHECK,DEFAULT)

November 2, 2009

Exista 2 proceduri stocate sistem care fac referire la constrangeri pt.a vedea informatii detaliate despre constrangeri:

sp_helpconstraint nume_tabela si  sp_help_constraintname pt.a vedea informatii despre constrangerile create

– constrangerile sunt folosite in SQL pt. a limita tipul datelor care se vor afla in tabele

Exista 6 tipuri de constrangeri:

CONSTRANGEREA NOT NULL


not null

CONSTRANGEREA UNIQUE:


unique

ALTE EXEMPLE CONSTRANGERE UNIQUE:


unique2

CONSTRANGEREA CHEIE PRIMARA (PRIMARY KEY)


pk

pk2

Constrangerea FOREIGN KEY
O cheie straina este o coloana cu aceleasi valori care se regaseste intr-o alta tabela. Cu alte cuvinte e o coloana din tabela2 care are aceleasi valori ca o coloana din tabela1.

Fie 2 tabele  cu numele T1 si T2 cu urmatoarele campuri:

T1(P_Id,Prenume,Nume,Adresa,Oras)

T2(O_Id,O_Nr,P_Id)

Obs. P_Id e cheie primara (PRIMARY KEY) pt. tabela T1

O_Id e cheie primara PK (PRIMARY KEY) pt. tabela T2

P_ID e cheie straina FK (FOREIGN KEY) pt. tabela T2

Constrangerea FOREIGN KEY este folosita pt. a preveni actiuni ce ar distruge legatura dintre tabelele T1 si T2.

Previne inserarea de date invalide in coloana FOREIGN KEY (trebuie sa aiba aceleasi valori ale tabelei la care face referire).

In continuare sunt prezentate exemple folosind constrangerea FOREIGN KEY:

fk

fk2

OBS. Pt. folosirea unei BD existente folosim cuv.cheie USE:

USE nume_BD

GO

OBS: SQL SERVER (MS-SQL) nu este case sensitive nu face distinctie intre litere mari si mici.

CONSTRANGEREA CHECK:

check

ALTE EXEMPLE CONSTRANGEREA CHECK:

check2

CONSTRANGEREA DEFAULT:

– este folosita pt.a  insera o valoare default (implicita) intr-o coloana. Valoarea default va fi adaugata toate inregistrarilor noi introduse daca nici o alta valoare nu este specificata.

Exemple:

default

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: