Crearea si intretinerea
obiectelor bazei de date
Tipuri
de date in Oracle
Crearea si stergerea tabelelor , crearea unui
tabel dupa sablon si redenumirea unui tabel
In parte, exemplificarea problemelor abordate va fi facuta
folosind scheme relationala de aici.
Consistenta
logica a bazei de date
Constrangerile reprezinta modul de validare a datelor din una sau mai multe
coloane ale unui tabel. Oracle permite cinci tipuri de constrangeri, care pot
fi definita pe una sau mai multe coloane intr-un tabel: NOT NULL, CHECK,
UNIQUE, PRIMARY KEY si FOREIGN KEY. Adesea, aplicatiile utilizator valideaza
datele introduse in baza de date chiar inaintea unei operatii INSERT sau
UPDATE - cea mai buna solutie pentru implementarea regulilorde afacere
complexe.
Similar celorlalte obiecte ale bazei de date constrangerile pot fi
definite la definirea structurii tabelului sau pot fi adaugate mai
tarziu. Constrangerile pot fi, de asemenea, sterse, dezactivate sau activate.
Fiacarei constrangeri i se atribuie, atunci cand este creata un nume.
daca nu i se atribuie explicit un nume atunci Oracle ii va atribui un nume
implicit, furnizat de sistem.
Constrangerea de NULL poate fi definita numai la nivel de coloana. Toate
celelalte constrangeri pot fi definite fie la nivel de coloan[ fie la
nivel de tabel. Anumite constrangeri, cum ar fi cele care compara valorile a
doua coloane trebuie definite obligatoriu la nivel de tabel.
Observatie:
este
indicat, ca, pentru usurinta lucrului sa se foloseasca o
notatie “pseudo-ungureasca”, adica sa se prefixeze numele
fiecarei restrictii cu :
- pk_ - pentru cheile primare ( pk_numetabel)
- un_ - pentru cheile alternative
(un_numetabel_numecamp)
- nn_ - pentru atributele cu valori obligatorii
(nn_numetabel_numecamp)
- ck_ - pentru reguli de validare la nivel de câmp sau
inregistrare
- fk_ - pentru cheile straine (fk_tabelreferinta_tabelreferit))
Valori implicite (DEFAULT)
Valori nenule (constrangerea NOT NULL)
Chei primare si chei alternative (PRIMARY
KEY si UNIQUE)
Reguli
la nivel de camp si de inregistrare (CHECK)
Restrictii referentiale. Chei straine (FOREIGN KEY)
Intrebari si exercitii
a. In ce consta
dictionarul de date Oracle si unde
este el localizat.
b. Care este semnificatia fiecarui prefix utilizat in numele vederilor dictionarului de date.
c. Care este modalitatea pe care trebuie sa o folositi pentru a regasi date referitoare la diferitele obiecte ale bazei de date (ex. pentru a gasi care sunt numele constrangerilor si coloanele asupra carora sunt impuse
in tabelul emp.
1. Conectati-va la serverul
Oracle folosind urmatoarea informatie de conectare:
user:scott
parola:tiger
host_name:oracle09
2. Scrieti un script care sa permita
crearea tabelelor corespunzatoare urmatoarei scheme relationale:
CATALOG_id (mat, den, um , pu, pume )
GESTIUNI_id (gest,
numegest)
RULAJ_id(codop, tipd, nrd, tipo , gest, mat, cant, valoare ,tvad)
STOC_id(gest,
mat, cont, stoc,
sold)
TIPD_id (tipd,
numd, tipo, tva, ded)
OBSERVATIE: Sufixul id adaugat numelor de tabele va fi un sir de
caractere care sa identifice
obiectul creat de fiecare dintre dumneavoastra.
???? De ce este necesara aceasta identificare????
Se vor impume restrictiile necesare
(chei, restrictii referentiale, etc.). Pentru siguranta incepeti scriptul
prin comanzi de stergere a tabelelor.
3. Verificati dacă tabelele au fost create corect, afisand urmatoarele
informatii (din vederile dictionarului de date):
- care sunt tabelele utilizatorului
- care sunt coloanele tabelelor
- care sunt constrangerile impuse in fiecare tabel
4. Folosind drept sablon tabelul emp, creati un nou tabel denumit empc_id.
5. Dupa exemplul prezentat in sectiunea "Tipuri de date abstracte
definite de utilizator" , proiectati si creati un tip de data propriu.
Creati un tabel in care sa folositi tipul de data creat si populati acest
tabel cu date.
6. Creati un vector de marime variabila, care sa contina maxim 5 nume
ale posibililor autori pentru o lucrare (stiintifica).Creati si populati
un tabel care sa utilizeze acest vector.
7. Creati un tabel avand drept sablon tabelul emp.
8. Populati acest tabel cu datele corespunzatoare din tabelul emp
(inserare prin subconsultare). Verificati rezultatul si motivati-l.
9. Creati un script prin care sa introduceti in tabelul GESTIUNI
creat anterior valori preluate de la tastatura.