Documente Academic
Documente Profesional
Documente Cultură
o vedere (VIEW) este o fereastr prin intermediul creia datele din tabele pot fi
vizualizate sau actualizate.
o vedere poate fi derivat dintr-o alt vedere sau tabel care este referit ca tabel de
baz a vederii o tabel real cu date care sunt stocate fizic;
o vedere este stocat doar ca o secven SELECT. Este o tabel virtual - adic este o
tabel care nu exist fizic, dar i apare utilizatorului ca i cum ar exista;
o vedere nu are date proprii. Ea manipuleaz datele din tabela de baz asociat;
Laborator 9
Laborator 9
Laborator 9
Coloana1, coloana2, etc. sunt numele date coloanelor n vedere i trebuie s corespund
elementelor din lista SELECT.
EXEMPLE:
1. S se creeze o vedere care s conin produsele cu stocul 0.
CREATE OR REPLACE VIEW prod0
AS SELECT codp, denp, dataf, termg
FROM produse
WHERE cants=0;
2. O vedere poate fi utilizat ca orice tabel. S se afieze din vederea prod0 toate produsele
care au termenul de garanie mai mare de 10 zile;
SELECT codp, denp, dataf, termg
FROM prod0
WHERE termg>10;
3. S se creeze o vedere care s conin toate produsele din categoria panificaie cu
denumirea produse_panificaie:
CREATE OR REPLACE VIEW produse_panificatie (cod_prod, den_prod,um,
data_fabric)
AS SELECT codp, denp, um, dataf
FROM produse
WHERE codc IN (SELECT codc FROM categorii WHERE denc='panificatie')
OBSERVAIE:
O vedere nu poate conine clauza ORDER BY. Clauza ORDER BY este specificat cnd se
execut SELECT asupra vederii.
4. S se creeze o vedere cu CHECK OPTION.
CREATE OR REPLACE VIEW agenti_femei
AS SELECT * FROM agenti
WHERE sex='F'
WITH CHECK OPTION;
OBSERVAIE:
Clauza WITH CHECK OPTION specific faptul c INSERT i UPDATE executate prin
intermediul vederii nu permit crearea de linii noi sau modificarea de linii pe care vederea nu
le poate selecta. De exemplu, n vederea agenti_femei nu se pot insera, modifica sau terge
dect linii care au valoarea 'F' n coloana sex.
5. S se insereze o nou nregistrare n vederea agenti_femei.
INSERT INTO agenti_femei VALUES ('12','Toma','Ioana','03-mar-09','02-may89','F','medii');
Laborator 9
agenti_femei
VALUES
('10','Toma','Ion','03-mar-09','02-may-
Laborator 9
OBSERVAIE:
Aceast comand elimin definiia vederii din baza de date. Coloanele i liniile nu sunt
afectate deoarece sunt stocate n tabelele de unde a derivat fiecare vedere. Vederile sau alte
aplicaii bazate pe o vedere tears devin invalide. O vedere poate fi derivat dintr-o tabel
sau din alt vedere!
Doar proprietarul vederii (cel care a creat-o) poate s o tearg.
PROBLEME DE REZOLVAT
1. S se creeze o vedere n care s se afieze numele, prenumele agentilor, numrul
documentului de ncasare i data documentului de ncasare.
2. S se introduc o nou nregistrare n vederea creat la punctul 1. Este posibil? De ce?
3. S se creeze o vedere care s conin angajaii brbai care n anul curent vor iei la pensie
(vor mplini 65 de ani).
4. S se creeze o vedere care s conin toate facturile emise la data curent cu CHECK
OPTION. S se introduc o nou factur n vederea astfel creat. S se modifice datele
unei facturi i s se tearg o factur. S se verifice dup fiecare operaie efectuat i
efectele produse asupra tabelei facturi.
5. S se creeze o vedere care s conin toate documentele de ncasare astfel nct datele
tabelei documente de ncasare s nu poat fi modificate.
6. S se introduc un nou document n vederea creat la punctul 5. S se modifice datele
unui document i s se tearg un document. Sunt posibile aceste operaii?
7. S se tearg vederea creat la punctul 5.
REZOLVRI