Documente Academic
Documente Profesional
Documente Cultură
___________________________________________________________________________
FIRME
CODFIRMA DENFIRMA LOC CONTBANCA ZONA
AGENTI
CODAGENT NUMEAGENT DATAANG DATANAST ZONA FUNCTIE CODSEF
COMENZI
NRCOM CODFIRMA CODAGENT DATA
RANDCOM
NRCOM CODPRODUS CANT PRET TERMENLIVR
PRODUSE
CODPRODUS DENPRODUS UM STOC
1
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
Definirea restriciilor se poate realiza la nivel de cmp (in-line) sau la nivelul tabelei (out-
of-line):
Sintaxa general:
Tipuri de restricii:
Realizeaza urmatoarele:
- Modificarea structurii tabelei: ADD, MODIFY, DROP COLUMN, SET UNUSED
- Modificarea restrictiilor de integritate: ADD, MODIFY, DROP, DISABLE
CONSTRAINT
- Redenumeste tabela: RENAME
2
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
3
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
UPDATE [TABELA]
SET [COLOANA] = [VALOARE]
WHERE [CONDITIE];
unde:
SELECT specific atributele selectate;
DISTINCT suprim valorile duplicate;
* selecteaz toate atributele;
atribut selecteaz coloana numit;
expresie permite construirea de expresii si valori noi
alias denumiri pentru atributele selectate;
FROM tabele specific tabelele ce conin coloanele selectate.
WHERE clauza permite specificarea conditiilor si a criteriilor de selectie
a datelor
GROUP BY se precizeaza campul dupa care vor fi grupate datele in cazul
expresiilor si functiilor de grup (SUM(), AVG(), COUNT(),
MIN(), MAX())
HAVING in cazul functiilor de grup conditiile impuse acestora se
precizeaza in clauza HAVING
ORDER BY precizeaza ordonarea in functie un anumite campuri ascendent
(ASC) implicit sau descendent (DESC)
4
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
FUNCTII
Funcii single-row (sau scalare). O funcie single-row ntoarce un singur rnd rezultat
pentru fiecare rnd al tabelei interogate sau view
Funcii de grup (sau agregate). O funcie de grup ntoarce un singur rnd rezultat pentru
un grup de rnduri interogate. Funciile de grup pot apare n clauza HAVING
FUNCII DE GRUP
2. S se afieze data primei comenzi ncheiate i data celei mai vechi comenzi ncheiate:
5
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
FUNCTII SINGLE-ROW
Operatorul de concatenare ( || )
SELECT 'produsul: ' || initcap(denprodus)|| ' are stocul diponibil ' || stoc
FROM produse;
6
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
Funcia ROUND()
Funcile SYSDATE
15. Afisati data curenta (se selecteaza data din tabela DUAL):
16. S se afieze comenzile, data ncheierii comenzilor, numrul de luni ntre data curent
i data ncheierii, urmtoarea zi de vineri dup data ncheierii, ultima zi din luna din care
face parte data ncheierii, precum i data corespunztoare dup 2 luni de la data ncheierii
7
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
Funcia ROUND()
18. S se afieze comenzile incheiate in 2004. Se va rotunji data ncheierii la prima zi din
luna corespunztoare dac data ncheierii este n prima jumatate a lunii sau la prima zi din
luna urmtoare:
Funcii de conversie
Funcia EXTRACT ()
8
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
Exemple:
9
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
1. TABELE VIRTUALE
Sa se realizeze o tabela virtuala care sa contina numai produsele pentru care unitatea de
masura (um)=buc.
Sa se stearga inregistrarile din tabela virtuala PROD_BUC_V pentru produsele care au stocul
mai mare de 1000.
Sa realizeze o tabela virtuala cu toti agentii din Muntenia. Tabela virtuala nu va putea fi
actualizata:
10
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
2. INDECSI
Exemple:
Sa se creeze un index pe tabela agenti pe coloana numeagent:
CREATE INDEX AGENTI_NUMEAG_IDX ON AGENTI(NUMEAGENT);
3. SECVENTE
- Sunt utilizate pentru asigurarea unicitatii cheilor primare sau a valorilor pentru care s-a
impus o restrictie de tip UNIQUE.
- Pot fi utilizate pentru mai multe tabele.
- Pentru fiecare secventa se va preciza valoarea de inceput, pasul de incrementare si
valoarea maxima generate.
Exemple:
Sa se creeze o secventa pentru asigurarea unicitatii cheii primare din tabela Comenzi.
11
BAZE DE DATE SEMINAR 3
___________________________________________________________________________
Insert into comenzi values (seq_nrcomanda.nextval, '10', '3', to_date('oct 12,05', 'mon dd,yy'));
4. SINONIME
- Sunt nume alternative utilizate pentru referirea obiectelor unei baze de date
- Pot fi sinonime publice (accesibile tuturor utilizatorilor) sau private.
- Sinonimele publice pot fi create numai de administratorul bazei de date
Exemple:
Sa se creeze un sinonim pentru tabela rindcom:
Create synonym detalii_comanda for rindcom;
12