LABORATORUL 2

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

Modificarea tabelelor

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)

Dictionarul de date

 

 Inserarea de date în tabel

 Inserare prin subconsultare

 

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.