Sunteți pe pagina 1din 6

GRUPA________ NUME______________________________

TEST MODEL LABORATOR BAZE DE DATE

I. Creați baza de date respectând următoarele cerințe: (4.5p total)


1. Realizați următoarele tabele (respectând proprietățiile câmpurilor prezentate
mai jos) și creați legătura între ele (3p)

Tabelul CLIENTI: Tabelul FACTURI


COD_CLIENT -> de tip TEXT, field size 3 NR_FACT -> de tip NUMBER, field size
NUME -> de tip TEXT, field size 40 INTEGER
LOCALITATE –> de tip TEXT DATA_FACT -> de tip DATE/TIME, format
MEDIUM DATE
REPREZENTANT -> de tip TEXT
VALOARE -> de tip NUMBER, field size
TELEFON -> de tip TEXT
SINGLE, format STANDARD,
validation rule >=0, text
validation=”Ati introdus un numar
negativ”
COD_CLIENT -> de tip TEXT, field size 3

2. Adăugați următoarele înregistrări în tabel: (1.5p)

Tabelul CLIENTI
Tabelul FACTURI

II. INTEROGĂRI (4.5p total – 0.3 fiecare interogare)


1. Realizați o interogare în care să afișați toate câmpurile din tabelul
FACTURI. Denumiți interogarea Q1

2. Realizați o interogare în care să afișați numele și localitatea fiecărui client


din tabelul CLIENTI. Denumiți interogarea Q2.

3. Realizați o interogare în care să afișati toate facturile > 500. Ordonați


înregistrările descrescător în funcție de valoare. Denumiți interogarea Q3.

4. Realizați o interogare în care să afișati numărul facturii, data facturii și


valoarea pentru facturile > 500 din data de 6 mai. Denumiți interogarea Q4.

5. Realizați o interogare în care să afișati toti clienții din localități ce încep cu


litera B. Denumiți interogarea Q5.

6. Realizați o interogare în care să afișati numărul facturii, data facturii și


valoarea pentru FACTURILR ce au fost emise între 6 mai și 10 mai.
Ordonați înregistrările crescător în funcție de dată. Denumiți interogarea Q6.

7. Realizați o interogare în care să afișati data celei mai vechi facturi. Denumiți
interogarea Q7.
8. Realizați o interogare în care să afișati media valorii facturilor mai mari de
300 de lei. Denumiți interogarea Q8.

9. Realizați o interogare în care să afișati toate câmpurile din tabelul facturi și


în plus să creați un câmp TVA (care se calculează ca 19% din valoare) și un
câmp VALOARE_TOTALA (care se calculeaza ca valoare + TVA).
Denumiți interogarea Q9.

10.Realizați o interogare în care să afișati toate facturile împreună cu numele


clientului. Ordonați înregistrările descrescător în funcție de valoare.
Denumiți interogarea Q10.

11.Realizați o interogare în care să afișati numărul facturii, data facturii,


valoarea, numele clientului și localitatea pentru facturile între 400 și 800
vândute clienților din Brașov sau Sibiu. Ordonați înregistrările alfabetic în
funcție de numele clientului. Denumiți interogarea Q11.

12.Realizați o interogare în care să afișati toate facturile, numele clientului și


reprezentantul pentru facturile care sunt mai mici de 800 și care au fost
vandute unui reprezentatant cu un nume din fix 4 litere. Ordonați
înregistrările alfabetic în funcție de numele reprezentantului. Denumiți
interogarea Q12.

13. Realizați o interogare în care să afișati toate facturile, și toate informațiile


despre clienți pentru facturile care au fost vândute în 5 mai, 6 mai, 10 mai și
11 mai. Denumiți interogarea Q13.

14. Realizați o interogare în care să calculați suma facturilor pentru fiecare


client. Ordonați alfabetic în funcție de numele clientului. Denumiți
interogarea Q14.

15. Realizați o interogare în care să calculați media facturilor pentru fiecare


client din orașul BRASOV. Ordonați descrescător în funcție medie.
Denumiți interogarea Q15.

SE ACORDĂ UN PUNCT DIN OFICIU


TIMP DE LUCRU 75 MINUTE
REZOLVARE INTEROGĂRI:

1.
SELECT *
FROM FACTURI

2.
SELECT NUME, LOCALITATE
FROM CLIENTI

3.
SELECT *
FROM FACTURI
WHERE VALOARE>500
ORDER BY VALOARE DESC

4.
SELECT NR_FACT, DATA_FACT, VALOARE
FROM FACTURI
WHERE VALOARE >500 AND DATA_FACT =#05/06/2022#

5.
SELECT *
FROM CLIENTI
WHERE LOCALITATE LIKE "B*"

6.
SELECT NR_FACT, DATA_FACT, VALOARE
FROM FACTURI
WHERE DATA_FACT BETWEEN #05/06/2022# AND #05/10/2022#
ORDER BY DATA_FACT

7.
SELECT MIN(DATA_FACT) AS CEA_MAI_VECHE_FACTURA
FROM FACTURI
8.
SELECT AVG(VALOARE) AS MEDIE_FACTURI_PLUS_300
FROM FACTURI
WHERE VALOARE >300

9.
SELECT NR_FACT, DATA_FACT, VALOARE, COD_CLIENT,
VALOARE*0.19 AS TVA, VALOARE*1.19 AS VALOARE_TOTALA
FROM FACTURI

10.
SELECT FACTURI.*, CLIENTI.NUME
FROM FACTURI INNER JOIN CLIENTI ON
FACTURI.COD_CLIENT=CLIENTI.COD_CLIENT
ORDER BY FACTURI.VALOARE DESC

11.
SELECT FACTURI.NR_FACT, FACTURI.DATA_FACT,
FACTURI.VALOARE, CLIENTI.NUME, CLIENTI.LOCALITATE
FROM FACTURI INNER JOIN CLIENTI ON
FACTURI.COD_CLIENT=CLIENTI.COD_CLIENT
WHERE FACTURI.VALOARE BETWEEN 400 AND 800 AND
CLIENTI.LOCALITATE IN ("BRASOV", "SIBIU")
ORDER BY CLIENTI.NUME

12.
SELECT FACTURI.*, CLIENTI.NUME, CLIENTI.REPREZENTANT
FROM FACTURI INNER JOIN CLIENTI ON
FACTURI.COD_CLIENT=CLIENTI.COD_CLIENT
WHERE FACTURI.VALOARE<800 AND CLIENTI.REPREZENTANT LIKE
"????"
ORDER BY CLIENTI.NUME

SE ACORDĂ UN PUNCT DIN OFICIU


TIMP DE LUCRU 75 MINUTE
13.
SELECT FACTURI.*, CLIENTI.*
FROM FACTURI INNER JOIN CLIENTI ON
FACTURI.COD_CLIENT=CLIENTI.COD_CLIENT
WHERE DATA_FACT IN (#05/05/2022#, #05/06/2022#, #05/10/2022#,
#05/11/2022#)

14.
SELECT CLIENTI.NUME, SUM(FACTURI.VALOARE) AS
VALOARE_TOTALA
FROM FACTURI INNER JOIN CLIENTI ON
FACTURI.COD_CLIENT=CLIENTI.COD_CLIENT
GROUP BY CLIENTI.NUME

15.
SELECT CLIENTI.NUME,
CLIENTI.LOCALITATE,AVG(FACTURI.VALOARE) AS
VALOARE_TOTALA
FROM FACTURI INNER JOIN CLIENTI ON
FACTURI.COD_CLIENT=CLIENTI.COD_CLIENT
GROUP BY CLIENTI.NUME, CLIENTI.LOCALITATE
HAVING CLIENTI.LOCALITATE="BRASOV"
ORDER BY AVG(FACTURI.VALOARE) DESC

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