Sunteți pe pagina 1din 15

Faculty of Computers, Informatics and Microelectronics

Technical University of Moldova

Baze de date si cunostinte


Laboratory work No.8

Procedures and Functions in SQL and Oracle

Authors: Supervisor:
Alexandra Cotovici Irina Cojanu

March 14, 2017


Laboratory work #8

1 Purpose of the laboratory

In this laboratory will be studied procedures and functions.

2 Laboratory Work Requirements

– 1 task Sarcinile vor fi aplicate asupra bazei de date calculatoare.


Scema bazei de date consta din 4 scheme relationale:
produse(Producator, Model, Tip)
PC uri(Cod, Model, Viteza, Ram , Hd, Cd, Pret)
laptop uri(Cod, Model, Viteza, Ram, Hd, Ecran, Pret)
Imprimante(Cod, Model, Color, Tip, Pret)

Tasks are:
1. Sa se creeze proceduri stocate in baza exercitiilor indicate in capitolul 4. Parametrii de intrare
trebuie sa corespunda criteriilor din clauzele WHERE ale exercitiilor respective.
2. Sa se creeze o procedura stocata care ar elimina toate produsele unui producator sau unul din
tipurile de produse ale cestui producator. In calitate de parametru de intrare sa se ia numele prod-
ucatorului si tipul produsului.
3. Sa se creeze o procedura stocata care ar insera in baza de date un model nou de imprimanta. In
cazul in care datele inserate sunt incorecte sau incomplete, sa se afiseze un mesaj de avertizare. In
calitate de parametri de intrare apar datele pentru modelul respectiv.
4. Sa se creeze o procedura stocata care, in calitate de parametru de intrare, sa aiba numarul de
tipuri de produse fabricate de un producator. In urma executarii procedurii, trebuie sa se afiseze un
mesaj informativ, care sa includa valoarea parametrului inserat si un tabel cu coloanele Producator,
Produs, Nr de Modele pentru fiecare tip de produs.
5. Sa se creeze o procedura stocata care ar calcula pretul ce trebuie sa il achite cumparatorul in
timpul promotiilor speciale la magazinul de calculatoare. Procedura va trebui sa calculeze pretul nou
pentru toate produsele unui producator anumit, in cazul cind se anunta promotia. Un cumparator
poate procura deodata un singur model de produse, dar mai multe unitati de acest model. Reducerea
poate fi de citeva tipuri in functie de tipul produsului, pretul initial si numarul de unitati de marfa
procurata.
6. Sa se creeze functii definite de utilizator in baza exercitiilor din cap.4. Parametrii de intrare
trebuie sa corespunda criteriilor din clauzele WHERE ale exercitiilor respective.
7. Sa se scrie functia care ar calcula diferenta aritmetica dintre valoarea curenta a inregistrarii in
cimpul Pret al tabelului pc uri si valoarea cimpului precedent. Ordonarea inregistrarilor in tabel sa
fie facuta dupa cimpul Cod.
8. Folosind tabelul laptop uri, sa se creeze o functie definita de utilzator, care ar citi numele cimpului
si ar atasa sufixul respectiv la valoarea necesara, De exemplu , i cazul in care cimpul este Pret, se
dauca sufixul ”$”, iar daca cimpul este Viteza se ataseaza sufixul ”GHz”

10
9. Se doreste realizarea unei functii definite de utilizator din baza de date calculatoare, care ar putea
transforma cimpul Pret din dolari(starea cuenta) in euro sau lei. Se utilizeaza tabelul imprimante.
Valoarea afisata trebuie sa fie de tip Money.
11. Se cere realizarea unei functii definite de utilizator, care ar calcula cel mai ieftin sau cel mai
scump produs ale unui producator. producatorul e in calitate de parametru.

11
3 Laboratory work implementation

3.1 Laboratory work analysis

3.2 Prove your work with screens

Tasks implemented in SQL:


1. Sa se creeze proceduri stocate in baza exercitiilor indicate in capitolul 4. Parametrii de intrare
trebuie sa corespunda criteriilor din clauzele WHERE ale exercitiilor respective.
Afisarea tuturor PC urilor cu Pretul mai mic de un anumit numar

And results are:

12
And the second procedure, for finding average price of PCs and laptops produces by ”A” maker

And results are:

2. Sa se creeze o procedura stocata care ar elimina toate produsele unui producator sau unul
din tipurile de produse ale cestui producator. In calitate de parametru de intrare sa se ia numele
producatorului si tipul produsului.

13
Tabel before and after:

14
3. Sa se creeze o procedura stocata care ar insera in baza de date un model nou de imprimanta. In
cazul in care datele inserate sunt incorecte sau incomplete, sa se afiseze un mesaj de aveertizare. In
calitate de parametri de intrare apar datele pentru modelul respectiv.

The result is:

15
4. Sa se creeze o procedura stocata care, in calitaet de parametru de intrare, sa aiba numarul de
tipuri de produse fabricate de un producator. In urma executarii procedurii, trebuie sa se afiseze un
mesaj informativ, care sa includa valoarea parametrului inserat si un tabel cu coloanele Producator,
Produs, Nr de Modele pentru fiecare tip de produs.

6. Sa se creeze functii definite de utilizator in baza exercitiilor din cap.4. Parametrii de intrare
trebuie sa corespunda criteriilor din clauzele WHERE ale exercitiilor respective.

16
The second function is:

And third one:

17
7. Sa se scrie functia care ar calcula diferenta aritmetica dintre valoarea curenta a inregistrarii in
cimpul Pret al tabelului pc uri si valoarea cimpului precedent. Ordonarea inregistrarilor in tabel sa
fie facuta dupa cimpul Cod.

The result is:

18
8. Folosind tabelul laptop uri, sa se creeze o functie definita de utilzator, care ar citi numele cimpului
si ar atasa sufixul respectiv la valoarea necesara, De exemplu, in cazul in care cimpul este Pret, se
dauca sufixul ”$”, iar daca cimpul este Viteza se ataseaza sufixul ”GHz”

The first result is:

The second result is:

The third result is:

19
9. Se doreste realizarea unei functii definite de utilizator din baza de date calculatoare, care ar putea
transforma cimpul Pret din dolari(starea curenta) in euro sau lei. Se utilizeaza tabelul imprimante.
Valoarea afisata trebuie sa afie de tip Money.

11. Se cere realizarea unei functii definite de utilizator, care ar calcula cel mai ieftin sau cel
mai scump produs ale unui producator. Producatorul e in calitate de parametru.

20
The first result is:

The second result is:

21
Conclusions

In this laboratory work I have learned how to use functions and procedures to solve some tasks
in MS SQL. We have studied differences between functions and procedures. Procedures and functions
helps in reducing of writing the same querries more times, helps in solving problems. I have learned
and used in some examples how to insert,delete or extract data from tables.

22
References

1 Microsoft documentation ,page:,https://msdn.microsoft.com/en-us/library/


h09t6a82(v=vs.80).aspx bibitemOperators ,page:,https://www.tutorialspoint.com/
sql/sql-operators.htm

23

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