Baze de Date in Economie

Imagine preview
(7/10)

Acest referat descrie Baze de Date in Economie.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier doc de 6 pagini .

Profesor indrumator / Prezentat Profesorului: Ioan Rusu

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca. Ai nevoie de doar 3 puncte.

Domeniu: Calculatoare

Extras din document

CREATE TABLE angajati( cod_angajat NUMBER(4),

cod_departament NUMBER(2),

nume_slujba VARCHAR2(13),

val_salariu NUMBER(10 );

INSERT INTO angajati VALUES(7934,10,'FUNCTIONAR',1300);

INSERT INTO angajati VALUES(7782,10,'MANAGER',2450);

INSERT INTO angajati VALUES(7839,10,'PRESEDINTE',5000);

INSERT INTO angajati VALUES(7788,20,'ANALIST',3000);

INSERT INTO angajati VALUES(7902,20,'ANALIST',3000);

INSERT INTO angajati VALUES(7369,20,'FUNCTIONAR',800);

INSERT INTO angajati VALUES(7876,20,'FUNCTIONAR',1100);

INSERT INTO angajati VALUES(7566,20,'MANAGER',2975);

INSERT INTO angajati VALUES(7900,30,'FUNCTIONAR',950);

INSERT INTO angajati VALUES(7698,30,'MANAGER',2850);

INSERT INTO angajati VALUES(7499,30,'VANZATOR',1600);

INSERT INTO angajati VALUES(7654,30,'VANZATOR',1250);

INSERT INTO angajati VALUES(7844,30,'VANZATOR',1500);

INSERT INTO angajati VALUES(7521,30,'VANZATOR',1250);

SELECT * FROM angajati ORDER BY val_salariu asc;

COD_ANGAJAT COD_DEPARTAMENT NUME_SLUJBA VAL_SALARIU

7369 20 FUNCTIONAR 800

7900 30 FUNCTIONAR 950

7876 20 FUNCTIONAR 1100

7654 30 VANZATOR 1250

7521 30 VANZATOR 1250

7934 10 FUNCTIONAR 1300

7844 30 VANZATOR 1500

7499 30 VANZATOR 1600

7782 10 MANAGER 2450

7698 30 MANAGER 2850

7566 20 MANAGER 2975

7788 20 ANALIST 3000

7902 20 ANALIST 3000

7839 10 PRESEDINTE 5000

Functii analitice versus functii de grup standard

Diferenta dintre functiile analitice si functiile de grup standard (cum ar fi AVG, SUM, etc.) e bazata pe faptul ca cele doua tipuri lucreaza pe seturi de valori definite in mod diferit. Functiile de grup standard ar produce o valoare pentru fiecare set de randuri, valoare definita de functia GROUP BY. Functiile analitice permit de asemenea gruparea randurilor definite de interogare, iar valoarea functiei analitice e bazata pe grupul de randuri. Diferenta e ca GROUP BY comprima randurile detaliate intr-un singur rand, pe cand functiile analitice produc o valoare pentru fiecare rand detaliat cuprins intr-un grup. Functiile analitice permit o grupare a randurilor definita de interogare si au valoarea bazata pe grupuri.

Interogarea de mai jos foloseste o functie de grup standard cu una GROUP BY pentru a produce suma salariilor pe grup definita de aceleasi NUME_SLUJBA si COD_DEPARTAMENT.

SELECT cod_departament,nume_slujba, SUM(val_salariu)

FROM angajati

GROUP BY cod_departament,nume_slujba;

COD_DEPARTAMENT NUME_SLUJBA SUM(VAL_SALARIU)

10 FUNCTIONAR 1300

10 MANAGER 2450

10 PRESEDINTE 5000

20 ANALIST 6000

20 FUNCTIONAR 1900

20 MANAGER 2975

30 FUNCTIONAR 950

30 MANAGER 2850

30 VANZATOR 5600

Urmatoarea interogare ilustreaza o functie analitica care produce aceeasi suma, dar afiseaza toate randurile. Se observa ca prima are 9 randuri rezultat, iar a doua 14.

SELECT cod_angajat,cod_departament,nume_slujba,

SUM(val_salariu) OVER (PARTITION BY cod_departament, nume_slujba ) sum_val_salariu FROM angajati;

COD_ANGAJAT COD_DEPARTAMENT NUME_SLUJBA SUM_VAL_SALARIU

7934 10 FUNCTIONAR 1300

7782 10 MANAGER 2450

7839 10 PRESEDINTE 5000

7788 20 ANALIST 6000

7902 20 ANALIST 6000

7369 20 FUNCTIONAR 1900

7876 20 FUNCTIONAR 1900

7566 20 MANAGER 2975

7900 30 FUNCTIONAR 950

7698 30 MANAGER 2850

7499 30 VANZATOR 5600

7654 30 VANZATOR 5600

7844 30 VANZATOR 5600

7521 30 VANZATOR 5600

Principala diferenta la acest punct care ajuta la recunoastere este ca functiile analitice nu comprima grupuri de randuri intr-unul singur asa cum fac functiile standard. Asta inseamna ca primele pot fi aplicate unui modul SQL continand un GROUP BY, insa singurele coloane (expresii) la care se poate face referire sunt cele care sunt grupate plus celelalte functii de grup.

Fisiere in arhiva (1):

  • Baze de Date in Economie.doc

Alte informatii

Functii fereastra