Documente Academic
Documente Profesional
Documente Cultură
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
CHECK
Constrangerile se pot pune la nivel de coloana sau la nivel de tabela.- LA CREAREA TABELEI :
CREATE table
CREATE TABLE nume (id NUMBER (6) CONSTRAINT nume_id_pk PRIMARY KEY, …..)
OBS:
CREATE TABLE nume (id NUMBER (6), ……, CONSTRAINT nume_id_pk PRIMARY KEY (id))
……
Constraint nume_unique UNIQUE (email, phone)
-orice combinatie formata din email si phone este unica si sn. Composite constraint.
OBS:
PRIMARY KEY
- o tabela poate sa aiba o singura cheie primara sau poate sa nu aiba deloc;
1|Page
- primary si unique key creeaza automat INDEX- tabela apare ordonata dupa primary key sau
unique;
FOREIGN KEY
A) La nivel de coloana
B) La nivel de tabela
a) la nivel de coloana
CREATE TABLE EMPLOYEES (last_name varchar2(30), first_name varchar2(30), salary number(6), id_dep
NUMBER(6) REFERENCES DEPARTMENTS(id_dep))
b) la nivel de tabela
CREATE TABLE EMPLOYEES (last_name varchar2(30), first_name varchar2(30), salary number(6), id_dep
number(6), CONSTRAINT employee_id_dep_fk FOREIGN KEY(id_dep) REFERENCES departments
(id_dep))
OBS:
1. Valorile din tabela fiu trebuie sa se regaseasca in tabela tata sau sa fie NULL.
2. Inainea definirii unui foreign key in tabela fiu, trebuie definit un primary key in tabela tata.
3. ON DELETE CASCADE
- dam DEFINIREA LUI LA foreign key DUPA CONSTRANGERE
- DACA SE STERGE O VALOARE DIN TABELA TATA, SE STERG TOATE RANDURILE CORESP DIN
TABELA FIU;
2|Page
4. ON DELETE CASCADE - cand se sterge o val din tabela tata, valorile coresp din tabela fiu devin
NULL;
CHECK
Ex:
A) la nivel de coloana
CREATE TABLE elevi (nume varchar2 (30), media number(5,2) CHECK (media>=0 AND media <= 10))
B) nivel de tabela
CREATE TABLE elevi (nume varchar2(30), media number(5,2), CONSTRAINT media_check CHECK
(media>=0 AND media<=10))
3|Page