Sunteți pe pagina 1din 12

Laborator 2

Tema:

restaurarea tabelelor i ncrcarea datelor


lucrul cu constngeri (creare, activare, dezactivare, tergere).

1. Creai un cont nou de acces la baza de date Oracle, cont de tip obinuit. Alegei numele utilizatorului
ca fiind gestiune. Dac nu reuiti, poate c ar fi bine s v amintii c e necesar ca mai nti s va
conectai la baza de date cu un cont de administrator.
2. Sub noul domeniu se restaureaz tabelele catalog si stocuri pornind de la fiierele text n care au fost
salvate structurile i datele.
n primul rnd se vor crea structurile tabelelor astfel:
a) se deschide fiierul text care conine comanda/comenzile CREATE TABLE

b) se selecteaz i se copiaz coninutul (copy)


c) sub serverul Oracle, n pagina Home se alege opiunea SQL

d) dac fiierul text conine o singura comand CREATE TABLE, atunci se va selecta, n
continuare, opiunea SQL Commands -> Enter command.

n noua pagin se lipete textul copiat anterior i se ruleaz comanda prin apsarea butonului Run:

e) dac fiierul text conine mai multe comenzi CREATE TABLE, atunci se va alege o
alternativ pentru punctul d) i anume SQL Scripts -> Create.

n noua pagin se lipete textul copiat anterior, se introduce un nume pentru script, de exemplu
refacere_tabele i se ruleaz comanda prin apsarea butonului Run:

n pagina nou afiat se apas iari butonul Run:

Pentru a vedea rezultatul rulrii se apas pictograma View Results:

Observaie: dac refacerea structurii tabelelor se face individual, comand cu comand, atunci va trebui
s inei seama de faptul c dac ntre dou tabele exist o relaie, atunci tabelul printe trebuie refcut
naintea tabelului copil. n exemplul de fa, structura tabelului catalog se va reface nainte de cea a
tabelului stocuri (n comanda CREATE TABLE STOC URI ... se face referire la tabelul catalog).
3. Se ncarc tabelele catalog i stocuri cu datele salvate n fiierele text catalog.txt i stoc.txt, n aceast
ordine.
Pentru aceasta se face alegerea Home -> Utilities -> Data Load/Unload -> Load:

Se opteaz pentru ncrcarea datelor dintr -un format text (Load Text Data):

n pagina Load Data se fac alegerile corecte, adic cele care se potrivesc situaiei de fa (Load To
Existing table, Load From Upload file) i se acioneaz butonul Next, apoi iar Next:

Se selecteaz tabelul n care se ncarc datele:

Se editeaz n zona File folderul i numele fiierului text care conine datele de ncrcat

sau, mai simplu, se apas butonul Browse i se alege folderul i fiierul text :

Se seteaz caracterul care separ cmpurile n fiierul text (, sau \t n zona Separator) astfel nct acesta
s coincid cu cel ales atunci cnd s-au descrcat datele i se bifeaz caseta First row contains column
names dac primul rnd din fiierul text conine numele coloanelor i nu un rnd de date efecive.
Dac nu suntei siguri de ultimul lucru, atunci ar fi bine s deschidei, cu aplicaia Notepad, fiierul text
care conine datele de ncrcat i s v convingei:

.
Dup ce s-au fcut alegerile corecte se apas butonul Next, se verific dac informaiile din rndul
Column Names se potrivesc cu coninuturile coloanelor afiate mai jos i apoi se acioneaz butonul
Load Data pentru ncrcarea propriu -zis.

Serverul Oracle va afia un feedback privind modul n care s -a derulat aciunea ,

iar dac dorii detalii, atunci click pe pictograma Details:

.
Odat refcut tabelul catalog, se parcurge aceeai procedur pentru ncrcarea datelor n tabelul stoc.
Observaie: exist situaii n care fiierul text care conine datele nu are n primul rnd al coninutului
su informaii privind coloanele (la descrcare nu s-a bifat caseta de validare First row contains column
names). E cazul fiierului stoc.txt:

n astfel de cazuri va trebui ca n pagina Load s alegei numele coloanelor din listele combinate afiate
n rndul Column Names:

4. Completai baza de date prin crearea a dou noi tabele numite furnizori i clieni. Cele dou tabele au
aceeai structur i anume:
furnizori, clieni
cod

NUMBER(4,0)

nume

VARCHAR2(40)

adresa

VARCHAR2(80)

tel

VARCHAR2(10)

email

VARCHAR2(30)

n acest caz munca poate fi uurat prin proiectarea structurii pentru unul dintre tabele, de exemplu
furnizori, urmat de copierea comenzii CREATE TABLE n pagina SQL Commands, modificarea
numelui tabelului peste tot unde apare n comand i apoi rularea comenzii.
5. Adugai nregistrri n cele dou tabele :
furnizori

clieni

6. n tabelul stoc creai urmtoarele reguli de validare (adic constrngeri de tip check):
i)

stoc_ini 0

ii)

intrari 0

iii) iesiri 0
iv) stoc_fin = stoc_ini + intrari iesiri.
Pentru a aduga o constrngere urmai calea Home -> object Browser -> selectai tabelul stoc -> tabul Constraints:

Acionai butonul Create, atribuii un nume noii constrngeri, alegei tipul acesteia, coloana asupra
creia se va exercita constrngerea i apoi, n zona Constraint Expression editai regula de validare.
Exemplu: crearea ultimei constrngeri (iv) poate fi realizat fcnd setrile din imaginea urmtoare:

Dup apsarea butoanelor Next, apoi Finish, se va afia din nou pagina Constraints care conine
informaii privind ultima constrngere creat:

.
7. Pe parcursul adugrii unei constrngeri putei afia comanda SQL care produce modificarea
solicitat dnd click pe link-ul SQL:

Observaie:
1.de reinut ideea c solicitarea de creare a unei constngeri nu se finalizeaz n cazul n care
exist nregistrri n tabel care nu verific condiia de validare cerut. Pentru constrngerea de
mai sus acest lucru se exprim prin relaia stoc_fin stoc_ini+intari-iesiri.
Att timp ct o constrngere este activ (starea ENABLED, vezi figura de mai sus) orice
nregistrare care se adaug n tabel sau care se modific trebuie s respecte condiia exprimat
prin acea constrngere.
2. O constrngere poate fi dezactivat (butonul Disable, vezi figura de mai sus), iar pe durata
acestei stri nregistrrile tabelului nu trebuie s respecte condiia impus prin respectiva
constrngere.
3. O constrngere poate fi ndeprtat (butonul Drop).
8. Activai/dezactivai una din regulile de validare existente n baza de date i adugai/modificai
nregistrri care verific i altele care nu verific regula. Observai efectele pe care le produc aceste
aciuni. La final, tergei sau modificai nregistrrile care nu verific regulile de validare i lsai active
aceste reguli.

10

tergerea/modificarea unei nregistrri se poate dnd click pe pictograma de pe coloana Edit, urmat apoi
de acionarea butonului Delete (pentru tergere) sau operarea modificrilor i apoi apsarea butonului
Apply Changes (pentru modificare).

9. Vizualizai comanda CREATE TABLE (pagina SQL) i observai completrile aduse prin adugarea
noilor constrngeri.

11

12

S-ar putea să vă placă și