0% au considerat acest document util (0 voturi)
152 vizualizări18 pagini

Proiect Oracle

Documentul prezintă un proiect Oracle ce conține definiția de tabele, relații, constrângeri și inserarea de date. Sunt create mai multe tabele și relații între ele pentru a reprezenta o bază de date pentru gestiunea unei companii. De asemenea, sunt adăugate constrângeri și comentarii pe coloane și tabele.

Încărcat de

Roxana Nicoleta
Drepturi de autor
© Attribution Non-Commercial (BY-NC)
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
152 vizualizări18 pagini

Proiect Oracle

Documentul prezintă un proiect Oracle ce conține definiția de tabele, relații, constrângeri și inserarea de date. Sunt create mai multe tabele și relații între ele pentru a reprezenta o bază de date pentru gestiunea unei companii. De asemenea, sunt adăugate constrângeri și comentarii pe coloane și tabele.

Încărcat de

Roxana Nicoleta
Drepturi de autor
© Attribution Non-Commercial (BY-NC)
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Facultatea de Economie si Administrarea Afacerilor

2013

Proiect Oracle

Student: Serban Roxana-Nicoleta

Facultatea de Economie si Administrarea Afacerilor

2013

Laboratorul 3-4
1/[Link] se defineasca tabelele bazei de date, indecsii necesari realizarii relatiilor intre tabele si sa se realizeze relatiile intre tabele.
1. CREATE TABLE CATEGORII (CODC VARCHAR2(4) CONSTRAINT CATEGORII_PK PRIMARY KEY, DENC VARCHAR2(20)); -Table created 2. CREATE TABLE PRODUSE (CODP CHAR(4) CONSTRAINT PRODUSE_PK PRIMARY KEY, DENP VARCHAR(60), UM CHAR(3), DATAF DATE, TERMG NUMBER(3), CANTS NUMBER(8,4), PRETS NUMBER(5,2), CODC VARCHAR2(4), CONSTRAINT CATEG_PROD FOREIGN KEY(CODC) REFERENCES CATEGORII); -Table created 3. CREATE TABLE CLIENTI (CUI CHAR(7) CONSTRAINT CLIENTI_PK PRIMARY KEY, DENCL VARCHAR(50), ADRESA VARCHAR(100), TELEFON CHAR(10), LOCALITATE VARCHAR(50), JUDET VARCHAR(30), REGIUNE VARCHAR(20)); -Table created 4. CREATE TABLE AGENTI (CODAG CHAR(3) CONSTRAINT AGENTI_PK PRIMARY KEY, NUME VARCHAR(50), PRENUME VARCHAR(30), DATA_ANG DATE, DATA_N DATE, SEX CHAR(1), STUDII VARCHAR(15)); -Table created 5. CREATE TABLE FACTURI (NR_FACT CHAR(7) CONSTRAINT FACTURI_PK PRIMARY KEY, DATA_FACT DATE, DISCOUNT NUMBER(4,2), DATAS DATE, CODAG CHAR(3), CUI CHAR(7), CONSTRAINT AG_FACT FOREIGN KEY(CODAG) REFERENCES AGENTI(CODAG), CONSTRAINT CL_FACT FOREIGN KEY(CUI) REFERENCES CLIENTI(CUI)); -Table created 6. CREATE TABLE DOCINC (NR_DOC CHAR(7) CONSTRAINT DOCINC_PK PRIMARY KEY, TIP_DOC CHAR(3), DATA_DOC DATE, CUI CHAR(7), CONSTRAINT CL_DOC FOREIGN KEY(CUI) REFERENCES CLIENTI(CUI)); -Table created

Facultatea de Economie si Administrarea Afacerilor

2013

7. CREATE TABLE VANZARI (CODP CHAR(4), NR_FACT CHAR(7), CANTV NUMBER(8,2), PRETV NUMBER(8,2), CONSTRAINT VANZARI_PK PRIMARY KEY(CODP, NR_FACT), CONSTRAINT VANZARI_FK FOREIGN KEY(CODP) REFERENCES PRODUSE, CONSTRAINT VANZARI_FK1 FOREIGN KEY(NR_FACT) REFERENCES FACTURI(NR_FACT)); -Table created 8. CREATE TABLE INCASARI (NR_FACT CHAR(7), NR_DOC CHAR(7), SUMA NUMBER(10,2), CONSTRAINT INCASARI_PK PRIMARY KEY(NR_FACT, NR_DOC), CONSTRAINT INCASARI_FK FOREIGN KEY(NR_FACT) REFERENCES FACTURI, CONSTRAINT INCASARI_FK1 FOREIGN KEY(NR_DOC) REFERENCES DOCINC(NR_DOC)); -Table created CREATE UNIQUE INDEX DENC ON CATEGORII(DENC ASC); -Index created CREATE UNIQUE INDEX DENP ON PRODUSE(DENP ASC); -Index created

[Link] se defineasca pentru tabela Agenti comentariul Agentii organizatiei, iar pentru coloanele data_n si data_ang, Data nasterii respectiv Data angajarii.
COMMENT ON TABLE AGENTI IS Agentii organizatiei; - Statement processed COMMENT ON COLUMN AGENTI.DATA_N IS DATA NASTERII; -Statement processed COMMENT ON COLUMN AGENTI.DATA_ANG IS DATA ANGAJARII; -Statement processed

4. Sa se vizualizeze comentariile definite si apoi sa se stearga aceste comentarii. Sa se vizualizeze din nou comentariile adaugate coloanelor respectiv tabelelor.
SELECT * FROM USER_TAB_COMMENTS;
AGENTI TABLE AGENTII ORGANIZATIEI

Facultatea de Economie si Administrarea Afacerilor

2013

SELECT * FROM USER_COL_COMMENTS; AGENTI AGENTI AGENTI AGENTI AGENTI AGENTI AGENTI CODAG NUME PRENUME DATA_ANG DATA_N SEX STUDII DATA ANGAJARII DATA NASTERII -

COMMENT ON TABLE AGENTI IS; STATEMENT PROCESSED COMMENT ON COLUMN AGENTI.DATA_N IS; STATEMENT PROCESSED COMMENT ON COLUMN AGENTI.DATA_ANG IS; STATEMNET PROCESSED SELECT * FROM USER_TAB_COMMENTS;
AGENTI TABLE -

SELECT * FROM USER_COL_COMMENTS;


AGENTI AGENTI AGENTI AGENTI AGENTI AGENTI AGENTI CODAG NUME PRENUME DATA_ANG DATA_N SEX STUDII -

6. Sa nu se permita introducerea in coloana SEX din tabela Agent decat a valorilor F sau M, in coloana Studii valorile Medii, Superioare, Postuniversitare, iar in coloana TIP_DOC din tabela DocInc, valorile CHF, OP, CEC.
ALTER TABLE AGENTI ADD (CONSTRAINT check_sex CHECK (SEX IN ('F','M'))); -Table altered ALTER TABLE AGENTI ADD (CONSTRAINT check_studii CHECK (STUDII IN (MEDII, SUPERIOARE, POSTUNIVERSITARE))); -Table altered

Facultatea de Economie si Administrarea Afacerilor

2013

ALTER TABLE DOCINC ADD(CONSTRAINT check_tipdoc CHECK (TIP_DOC IN(CHF,OP,CEC))); -Table altered

7. Sa nu se permita introducerea unei date pentru factura si pentru documente mai mare decat data curenta.
ALTER TABLE FACTURI MODIFY (DATA_FACT DEFAULT <2013); -Table altered

8. Pentru facturi si pentru documentele de incasare sa se stabileasca data curenta ca valoare implicita pentru coloanele DataFact si DataDoc.
ALTER TABLE FACTURI MODIFY(DATA_FACT DEFAULT SYSDATE); ALTER TABLE DOCINC MODIFY(DATA_DOC DEFAULT SYSDATE); -Table altered

9. Pentru coloana Regiune din tabela Clienti nu permiteti introducerea decat a valorilor Muntenia, Moldova, Banat , Transilvania.
ALTER TABLE CLIENTI MODIFY(REGIUNE DEFAULT MUNTENIA,MOLDOVA,BANAT,TRANSILVANIA); -Table altered

10. Pentru coloanele CantS, PretS si Discount sa se stabileasca valoarea 0 ca valoare implicita.
ALTER TABLE PRODUSE MODIFY (CANTS DEFAULT 0); TABLE ALTERED ALTER TABLE PRODUSE MODIFY (PRETS DEFAULT 0); TABLE ALTERED ALTER TABLE FACTURI MODIFY (DISCOUNT DEFAULT 0); TABLE ALTERED

11. Pentru coloanele Localitate, Judet si Regiune stabiliti valorile implicite: Galati, Galati , respectiv Moldova.
ALTER TABLE CLIENTI MODIFY(LOCALITATE DEFAULT'GALATI'); -TABLE ALTERED ALTER TABLE CLIENTI MODIFY (JUDET DEFAULT 'GALATI');

Facultatea de Economie si Administrarea Afacerilor

2013

-TABLE ALTERED ALTER TABLE CLIENTI MODIFY(REGIUNE DEFAULT 'MOLDOVA'); -TABLE ALTERED

12. Creati tabela Clienti_moldova cu coloanele: CUI, Denumire, Judet, Regiune care sa contina toti clientii din regiunea Moldova.
CREATE TABLE CLIENTI_MOLDOVA AS SELECT CUI, DENCL, JUDET, REGIUNE FROM CLIENTI WHERE REGIUNE='Moldova'; Table created

13. Stabiliti urmatoarele tipuri de date pt coloanele tabelei Clienti_Moldova: pt Denumire varchar2(45) cu restrictia sa nu accepte decat valori unice, iar pt coloana Regiune stabiliti tipul varchar2(30) cu valoarea implicita Moldova si nu permiteti introducerea nici unei alte valori in aceasta coloana.
ALTER TABLE CLIENTI_MOLDOVA MODIFY(DENCL VARCHAR2(45) CONSTRAINT DEN_U UNIQUE, REGIUNE VARCHAR2(30) CONSTRAINT REG CHECK(REGIUNE IN('Moldova'))); Table altered 14. Dezactivati coloana Regiune din tabela Clienti_moldova si restrictia de

unicitate pt denumire. Activati din nou restrictia de unicitate pt denumire.


ALTER TABLE CLIENTI_MOLDOVA SET UNUSED COLUMN REGIUNE; ALTER TABLE CLIENTI_MOLDOVA DISABLE CONSTRAINT DEN_U; ALTER TABLE CLIENTI_MOLDOVA ENABLE CONSTRAINT DEN_U; 15. Stergeti coloana Regiune din tabela Clienti_moldova si toate constrangerile

definite pt aceasta coloana. ALTER TABLE CLIENTI_MOLDOVA DROP UNUSED COLUMNS; 16. Sa se creeze pt tabela Clienti_moldova indexul descrescator DENUMIRE_IDX si apoi sa se vizualizeze structura tabelei.
CREATE INDEX DENUMIRE_IDX ON CLIENTI_MOLDOVA(DENCL DESC); index created

Facultatea de Economie si Administrarea Afacerilor

2013

DESC CLIENTI_MOLDOVA;
Colum n CUI DENC L JUDET Precisio n Scal e Primary Key Nullabl e Defaul t Commen t 1-3

Table CLIENTI_MOLDOV A

Data Type CHAR VARCHAR 2 VARCHAR 2

Length 7 45 30

17. Sa se stearga indexul definit la pct 16 si sa se vizualizeze din nou structura tabelei.
DROP INDEX DENUMIRE_IDX; Index dropped. DESCRIBE CLIENTI_ MOLDOVA;
Table CLIENTI_MOLDOV A Colum n CUI DENCL JUDET Data Type CHAR VARCHAR 2 VARCHAR 2 Lengt h 7 45 30 Precisio n Scal e Primary Key Nullabl e Defaul t Commen t -

Facultatea de Economie si Administrarea Afacerilor

2013

Laboratorul 5-6
INSERT INTO CATEGORII VALUES(C1, INCALTAMINTE);- 1 ROW(S) INSERTED INSERT INTO CATEGORII VALUES(C2, ACCESORII); INSERT INTO CATEGORII VALUES(C3, HAINE); INSERT INTO PRODUSE(CODP,DENP,UM,CANTS,PRETS,CODC) VALUES(P1, CIZME DAMA, BUC, 20,90,C1); INSERT INTO PRODUSE(CODP,DENP,UM,CANTS,PRETS,CODC) VALUES(P2, PANTOFI DAMA,BUC,20,85,C1); INSERT INTO PRODUSE(CODP,DENP,UM,CANTS,PRETS,CODC) VALUES(P3, GEANTA DAMA,BUC,10,65,C2); INSERT INTO PRODUSE(CODP,DENP,UM,CANTS,PRETS,CODC) VALUES(P4, ESARFA,BUC,10,25,C2); INSERT INTO PRODUSE(CODP,DENP,UM,CANTS,PRETS,CODC)VALUES('P5','CAMASA DAMA','BUC','15','70','C3'); INSERT INTO PRODUSE(CODP,DENP,UM,CANTS,PRETS,CODC)VALUES('P6','FUSTE','BUC','15','80',' C3'); INSERT INTO CLIENTI VALUES('J01','TAKKO','[Link]','0734563436','GALATI','GALATI','MOLDOVA'); INSERT INTO CLIENTI VALUES('J02','ATMOSPHERE','STR. LALELEI','0748932109','TIMISOARA','TIMIS','BANAT'); INSERT INTO AGENTI VALUES('AG1','IONESCU','MARCEL',TO_DATE('10/02/2011','DD/MM/YYYY'),TO_DAT E('02/03/1989','DD/MM/YYYY'),'M','MEDII'); INSERT INTO AGENTI VALUES('AG2','STEFANESCU','IRINA',TO_DATE('23/04/2012','DD/MM/YYYY'),TO_DA TE('12/12/1988','DD/MM/YYYY'),'F','MEDII'); INSERT INTO FACTURI VALUES('1456',TO_DATE('10/04/2013','DD/MM/YYYY'),'0',NULL,'AG1','J01'); INSERT INTO FACTURI VALUES('5632',TO_DATE('01/05/2013','DD/MM/YYYY'),'0',NULL,'AG2','J02'); INSERT INTO DOCINC VALUES('12345','CHF',NULL,'J01'); INSERT INTO DOCINC VALUES('27893','CEC',NULL,'J02'); INSERT INTO VANZARI VALUES('P1','1456','10','95');

Facultatea de Economie si Administrarea Afacerilor

2013

INSERT INTO VANZARI VALUES('P2','1456','10','90'); INSERT INTO VANZARI VALUES('P3','5632','5','75'); INSERT INTO VANZARI VALUES('P4','5632','3','30'); INSERT INTO INCASARI VALUES('1456','12345','1850'); INSERT INTO INCASARI VALUES('5632','27893','465');

1. Sa se insereze 2 inregistrari in tabela clienti.


INSERT INTO CLIENTI VALUES('J01','TAKKO','[Link]','0734563436','GALATI','GALATI','MOLDOVA'); INSERT INTO CLIENTI VALUES('J02','ATMOSPHERE','STR. LALELEI','0748932109','TIMISOARA','TIMIS','BANAT');

2. Sa se insereze o noua inregistrare cu valori doar pentru coloanele Codp,denumire produs, data fabricatiei si termen de garantie in tabela Produs.
INSERT INTO PRODUSE(CODP,DENP,DATAF,TERMG)VALUES('P7','CUREA',TO_DATE('20/03/2013', 'DD/MM/YYYY'),'100');

[Link] se insereze o noua inregistrare cu valori doar pentru coloanele [Link], data document in tabela documente de incasare.
INSERT INTO DOCINC(NR_DOC,DATA_DOC)VALUES('1',TO_DATE('11/04/2013','DD/MM/YYYY'));

4. Sa se insereze doua noi inregistrari in tabela facturi.


INSERT INTO FACTURI VALUES('100',TO_DATE('12/02/2013','DD/MM/YYYY'),'0',TO_DATE('21/05/2013','DD/M M/YYYY'),'AG1','J02'); INSERT INTO FACTURI VALUES('101',TO_DATE('22/04/2013','DD/MM/YYYY'),'10',TO_DATE('23/05/2013','DD/ MM/YYYY'),'AG2','J01');

[Link] se micsoreze cu 10 RON suma incasata cu documentul 12345 pentru factura 1456.
UPDATE INCASARI SET SUMA=SUMA-10 WHERE NR_DOC='12345' AND NR_FACT='1456'; 1 ROW(S) UPDATED

6. Sa se inlocuiasca data fabricatiei pentru un produs cu data curenta.


UPDATE PRODUSE SET DATAF=SYSDATE WHERE CODP='P1'; 1 row(s) updated

Facultatea de Economie si Administrarea Afacerilor

2013

7. Sa se marcheze adaugand *** la numele agentilor barbati cu varsta peste 20 de ani.


UPDATE AGENTI SET NUME=NUME||'***' WHERE SEX='M' AND DATA_N<='02/02/1990'; 1 row(s) updated

8. Sa se adauge 2 luni la data facturii emisa de catre un anumit agent catre un client.
UPDATE FACTURI SET DATA_FACT=ADD_MONTHS(DATA_FACT,2) WHERE CODAG='AG1' AND CUI='J01'; 1 row(s) updated.

9. Sa se micsoreze cu o zi data documentului emis catre un client intr-o anumita data.


UPDATE DOCINC SET DATA_DOC=DATA_DOC-1 WHERE CUI='J02' AND DATA_DOC='11/04/2013'; 0 row(s) updated.

10. Sa se modifice localitatea cu valoarea De introdus pentru toti clientii din judetele ale caror denumiri incep cu T si se termina cu S.
UPDATE CLIENTI SET LOCALITATE='De introdus' WHERE LPAD(JUDET,1)='T'; 1 row(s) updated SELECT * FROM CLIENTI;
CUI J01 J02 DENCL TAKKO ATMOSPHERE ADRESA [Link] STR. LALELEI TELEFON 0734563436 0748932109 LOCALITATE GALATI De introdus JUDET GALATI TIMIS REGIUNE MOLDOVA BANAT

11. Sa se stearga din tabela produse toate produsele care mai au 2 zile pana la expirare.
DELETE FROM PRODUSE WHERE DATAF+TERMG=SYSDATE+2; 0 row(s) deleted.

12. Sa se stearga din tabela facturi toate facturile care mai au 10 zile pana la scadenta.
DELETE FROM FACTURI WHERE DATAS=SYSDATE+10;

Facultatea de Economie si Administrarea Afacerilor

2013

13. Sa se stearga din tabela agenti, toti agentii minori.


DELETE FROM AGENTI WHERE EXTRACT (YEAR FROM SYSDATE)-EXTRACT (YEAR FROM DATA_N)<18;

14. Sa se stearga din tabela agenti, agentii femei cu studii medii si care nu au studii de specialitate.
DELETE FROM AGENTI WHERE SEX='F' AND STUDII='Medii';

Laboratorul 7-8
1. SELECT DENP,UM,CANTS FROM PRODUSE
WHERE CODC='C1' OR CODC='C2' ORDER BY CANTS DESC;
DENP UM CIZME DAMA PANTOFI DAMA ESARFA BUC GEANTA DAMA CANTS BUC 20 BUC 20 10 BUC 10

2. S se selecteze denumirea produsului, unitatea de msur, cantitatea stocului i termenul de garanie i anul fabricaiei pentru toate produsele fabricate n lunile aprilie, mai, iunie anul 2005 n ordine alfabetic
SELECT DENP,UM,CANTS,TERMG,DATAF FROM Produse WHERE EXTRACT(MONTH FROM DATAF) BETWEEN 5 AND 8 AND EXTRACT (YEAR FROM DATAF)=2013 ORDER BY DENP ASC; DENP UM CANTS TERMG DATAF 05/17/2013

CIZME DAMA

BUC 20

3. S se selecteze numele i prenumele ntr-o singur coloan, sexul i studiile pentru toi agenii femei cu studii medii n ordinea descresctoare a numelui i prenumelui.

Facultatea de Economie si Administrarea Afacerilor

2013

SELECT (Nume || Prenume) NUME_PRENUME ,Sex,Studii FROM AGENTI WHERE lower(SEX) LIKE 'f' AND lower(studii) LIKE 'medii;

NUME_PRENUME STEFANESCUIRINA

SEX F

STUDII MEDII

4. S se selecteze numele, prenumele, vrsta i vechimea agenilor comerciali n ordinea descresctoare a vechimii i a vrstei.
SELECT NUME,PRENUME(EXTRACT (YEAR FROM SYSDATE)EXTRACT(YEAR FROM DATA_N))VARSTA,(EXTRACT (YEAR FROM SYSDATE)-EXTRACT (YEAR FROM DATA_ANG))VECHIME FROM AGENTI ORDER BY VECHIME DESC ,VARSTA DESC;
ORA-00923: FROM keyword not found where expected

5. S se calculeze i s se afieze numrul total de ageni comerciali brbai i femei (sex, numr ageni).
SELECT SEX, COUNT(*) Nr_Angajati FROM AGENTI GROUP BY SEX ;
SEX M F NR_ANGAJATI 1 1

6. S se afiseze denumirea categoriei i numrul total de produse din fiecare categorie.


SELECT DENC ,COUNT(*) Nr_produse FROM CATEGORII
DENC NR_PRODUSE 1 1 1

GROUP BY DENC;

INCALTAMINTE ACCESORII HAINE

7. S se afieze denumirea clientului i discountul mediul acordat fiecrui client n parte pentru toi clieni din Galai, Timis.
SELECT DENCL,DISCOUNT,AVG(DISCOUNT) FROM CLIENTI

Facultatea de Economie si Administrarea Afacerilor

2013

INNER JOIN FACTURI ON [Link]=[Link] WHERE JUDET IN(GALATI,TIMIS); GROUP BY DENCL,DISCOUNT;


ORA-00911: invalid character

8. S se afieze numrul facturii, data facturii i valoarea facturii pentru toate facturile emise ntre anii 2012 i 2013 n ordinea cronologic.
SELECT FACTURI.NR_FACT, DATA_FACT, SUM(CANTV*PRETV) VAL_FACTURA FROM FACTURI INNER JOIN VANZARI ON FACTURI.NR_FACT=VANZARI.NR_FACT WHERE EXTRACT(YEAR FROM DATA_FACT) -BETWEEN 2012 AND 2013 GROUP BY DATA_FACT,FACTURI.NR_FACT ORDER BY DATA_FACT;

NR_FACT 5632 1456

DATA_FACT 05/01/2013 06/10/2013

VAL_FACTURA 465 1850

9. S se afieze anul i sumele totale anuale ncasate n ordine cronologic.


SELECT EXTRACT(YEAR FROM Data_Fact) An,(Cantv*Pretv) Suma FROM Facturi INNER JOIN Vanzari ON Facturi.Nr_fact = Vanzari.Nr_fact ORDER BY An ;
AN 2013 2013 2013 2013 SUMA 950 90 375 900

10. S se afieze anul, luna i sumele totale lunare ncasate n ordine cronologic descresctoare.
SELECT EXTRACT(YEAR FROM Data_fact) AN,EXTRACT(MONTH FROM Data_fact)Luna,SUM(SUMA)Valoare

Facultatea de Economie si Administrarea Afacerilor

2013

FROM Incasari, Facturi GROUP BY EXTRACT (YEAR FROM Data_fact),EXTRACT(MONTH FROM Data_fact) ORDER BY AN DESC;
AN 2013 2013 2013 2013 LUNA VALOARE 2 4 5 6 2305 2305 2305 2305

11. S se afieze anul, denumirea clientului i valoarea total anual a vnzrilor efectuate ctre fiecare client n parte in ordinea descresctoare a anilor i cresctor dup denumirea clientului.
SELECT EXTRACT(YEAR FROM Data_fact), DENCL , (SUM (Cantv *Pretv))Valoare FROM Clienti INNER JOIN Facturi INNER JOIN Vanzari ON Vanzari.Nr_fact=Facturi.Nr_fact ON [Link]=[Link] GROUP BY EXTRACT(YEAR FROM Data_fact),Dencl ORDER BY EXTRACT(YEAR FROM Data_fact) DESC;
EXTRACT(YEARFROMDATA_FACT) 2013 2013 DENCL ATMOSPHERE TAKKO VALOARE 465 1850

12. S se afiseze anul, numele i prenumele agentului i valoarea total anual a vnzrilor efectuate ctre fiecare agent n parte n ordinea descresctoare a anilor pentru anii 2012,2013.
SELECT EXTRACT(YEAR FROM DATA_FACT),NUME,PRENUME,(SUM (CANTV * PRETV)) VALOARE FROM AGENTI INNER JOIN FACTURI INNER JOIN VANZARI ON VANZARI.NR_FACT = FACTURI.NR_FACT ON FACTURI. CODAG = AGENTI. CODAG WHERE EXTRACT(YEAR FROM DATA_FACT) BETWEEN 2012 AND 2013 GROUP BY EXTRACT(YEAR FROM DATA_FACT) ,NUME,PRENUME ORDER BY EXTRACT(YEAR FROM DATA_FACT) DESC ;

Facultatea de Economie si Administrarea Afacerilor

2013

EXTRACT(YEARFROMDATA_FACT) 2013 2013

NUME IONESCU*** STEFANESCU

PRENUME MARCEL IRINA

VALOARE 1850 465

13. S se afieze numrul facturii, data facturii i valoarea discountului acordat facturii respective n ordine cronologic.
SELECT NR_FACT,DATA_FACT,DISCOUNT FROM FACTURI ORDER BY NR_FACT ASC;
NR_FACT 100 101 DATA_FACT DISCOUNT 0 10 0 0 02/12/2013 04/22/2013

1456 06/10/2013 5632 05/01/2013

14. S se afieze codul produsului, denumirea produsului, unitatea de msur, cantitatea maxim vndut i preul minim de vnzare pentru fiecare produs n parte.
SELECT [Link],DENP, UM, MAX(CANTV), MIN(PRETV) FROM PRODUSE INNER JOIN VANZARI ON [Link]=[Link] GROUP BY [Link], DENP, UM ORDER BY CODP;
CODP P1 P2 P3 P4 DENP CIZME DAMA PANTOFI DAMA GEANTA DAMA ESARFA UM BUC BUC BUC BUC MAX(CANTV) 10 10 5 3 MIN(PRETV) 95 90 75 30

15. S se afieze denumirea clientului, numele i prenumele agentului, nr. Facturii, data facturii i valoarea facturii pentru toate facturile cu valorile mai mari de 10 i emise 2013.
SELECT [Link],[Link],[Link], FACTURI. NR_Fact , FACTURI.Data_Fact ,sum([Link]*[Link])

Facultatea de Economie si Administrarea Afacerilor

2013

AS VALFACT FROM CLIENTI , AGENTI , facturi , vanzari WHERE [Link]=[Link] AND [Link] = [Link] AND FACTURI.NR_FACT = VANZARI.NR_FACT GROUP BY [Link] , [Link] , [Link] , FACTURI.NR_Fact , FACTURI.Data_Fact;

DENCL TAKKO ATMOSPHERE

NUME IONESCU*** STEFANESCU

PRENUME MARCEL IRINA

NR_FACT 1456 5632

DATA_FACT 06/10/2013 05/01/2013

VALFACT 1850 465

Laboratorul 9
1. Sa se creeze o vedere in care sa se afiseze numele,prenumele agentilor,numarul documentului de incasat si data documentului de incasare.
CREATE OR REPLACE VIEW AGENTI_DATE AS SELECT [Link] , [Link] ,INCASARI.NR_DOC , DOCINC.data_doc FROM AGENTI , FACTURI ,INCASARI , DOCINC WHERE [Link] = [Link] AND FACTURI.NR_FACT = INCASARI.NR_FACT AND INCASARI.NR_DOC = DOCINC.NR_DOC; VIEW CREATED

SELECT *FROM AGENTI_DATE;


NUME IONESCU*** STEFANESCU PRENUME MARCEL IRINA NR_DOC 12345 27893 DATA_DOC -

2. Sa se introduca o noua inregistrare in vederea creata la punctul 1. Este posibil? De ce?


INSERT INTO AGENTI_DATE VALUES ('IVASCU','CATALIN','10' ,'AUG-18-1955');
ORA-01779: cannot modify a column which maps to a non key-preserved table

3. Sa se creeze o vedere care sa contina angajatii barbati care in anul curent vor iesi la

pensie(vor implini 65 de ani.


CREATE OR REPLACE VIEW PENSIE_AGENTI AS SELECT *FROM AGENTI

Facultatea de Economie si Administrarea Afacerilor

2013

WHERE Sex='M' AND EXTRACT(YEAR FROM SYSDATE)-EXTRACT(YEAR FROM DATA_N)='65'; VIEW CREATED SELECT *FROM PENSIE_AGENTI; NO DATA FOUND.

5. Sa se creeze o vedere care sa contina toate documentele de incasare astfel incat datele

tabelei documente de incasare sa nu poate fi modificate.


CREATE OR REPLACE VIEW Documente_incasari AS SELECT *FROM DOCINC WITH ONLY CONSTRAINT doar_citire; VIEW CREATED READ

6. Sa se introduca un nou document in vederea creata la punctul 5. Sa se modifice datele

unui document si sa se stearga un document.


INSERT INTO Documente_incasari VALUES('12','CEC','DEC-15-212', '21');
ORA-42399: cannot perform a DML operation on a read-only view

UPDATE Documente_incasari SET TIP_DOC='C' WHERE TIP_DOC='CEC';


ORA-42399: cannot perform a DML operation on a read-only view

DELETE FROM Documente_incasari WHERE NR_DOC='12345';


ORA-42399: cannot perform a DML operation on a read-only view

7. Sa se stearga vederea creata la punctul 5. DROP VIEW Documente_incasari; view dropped

Facultatea de Economie si Administrarea Afacerilor

2013

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