Sunteți pe pagina 1din 9

Colegiul Naţional “Horia, Cloşca şi Crişan” Alba Iulia

Proiect pentru examenul de atestat


Tema proiectului: Gestiunea unui restaurant
Baza de date: Oracle

Profesori îndrumători: Realizat de:

Carmen Palcu Dreghiciu Tudor

Laura Mureşan cls a XII-a D

2010
1. Enunţul problemei:

Să se realizeze o aplicaţie pentru gestionarea unui restaurant.

2. Specificarea cerinţelor:

Cu ajutorul bazei de date se realizeaza gestiunea unui restaurant. Aceasta baza de


data contine informatii despre meniurile existente, client si comenzile facute de
acestia.

a) Să se afişeze valoarea si data celei mai mari comenzi;

b) Să se afişeze valoare si data celei mai mici comenzi;

c) Să se afişeze meniul frantuzesc ;

d) Să se afişeze ultima comanda;

e) Să se afişeze meniurile disponibile;

f) Să se afişeze numele tuturor clienţilor;

3. Analiza problemei: Comanda

Clienti Pentru a putea gestiona centrul de închirieri video avem nevoie de


#id_comand
a
următoarele entităţi şi de următoarele atribute:
#Cod clienti Meniu
*cod_meniu
*nume #Cod_meniu
*cod_clienti
*prenume *Nume_meni
*masa_nr u
*nr_telefon
*data *Supe,ciorbe

*pret *Gustare
rece

*Friptura

*Paine

*Desert

*Bauturi
Am notat: -identificatorul unic cu # ( pentru Comanda id_comanda, pentru Clienţi
Id_client, pentru Meniu Cod_meniu);-atributele opţionale cu *.
Clienti

#Cod clienti Meniu


sunt comandate
*nume #Cod_meniu

*prenume *Nume_meni
u
*nr_telefon
*Supe_ciorb
e

*Gustare
rece

*Friptura
Comanda
*Paine
#id_comanda
*Desert
*cod_meniu
*Bauturi
*cod_clienti

comanda *masa_nr

*data

*pret
Convenţiile de reprezentare a relaţiilor sunt:

Caracteristicile relaţiei Valoare Mod de repreyentare


Numele relaţiei Un verb Se scrie deasupra relaţiei
Opţionalitatea Relaţie obligatorie(TREBUIE) Linie continuă
Relaţie opţională(POATE) Linie întreruptă
Cardinalitatea Una şi numai una Linie simplă
Una sau mai multe Picior de cioară

Corespunzător celor 3 entităţi avem 3 tabele de tipul:

Clienti:

Numele coloanei Tip Tip cheie Opţionalitate


Cod-clienti Number Pk #
Nume Varchar2 *
Prenum Varchar2 *

Comanda:

Numele coloanei Tip Tip cheie Opţionalitate


Id_comanda Number Pk #
Cod_clienti Number *
Cod_meniu Number *
Masa_nr Number *
Data Date *
Pret Number *

Meniu:
Numele coloanei Tip Tip cheie Opţionalitate
Cod_meniu Number Pk #
Nume_meniu Number *
Supe,ciorbe Varchar2 *
Gustare rece Varchar2 *
Gustare calda Varchar2 *
Paine Varchar2 *
Desert Varchar2 *
Bauturi Varchar2 *

Rezultatul va afişa doar acea porţiune din tabele care se cere la fiecare cerinţă.

4. Proiectarea problemei:

Am construit o aplicaţie care conţine tabelele Comanda, Clienţi, Meniu,


formele Comanda, Clienţi, Meniu şi rapoartele Comanda, Clienţi, Meniu, Filmul cel mai
vechi, Clientul cu cea mai mare restanţă, Filmele horror, Ultimul film închiriat,
Persoanele care au închiriat filme, Filmele închiriate, Numele clienţilor.

Forma Comanda permite operaţii de adăugare, modelare, ştergere de


câmpuri în tabela Filme.

Forma Clienti permite operaţii de adăugare, modelare, ştergere de câmpuri


în tabela Clienţi.

Forma Meniu permite operaţii de adăugare, modelare, ştergere de câmpuri


în tabela Închirieri.

a)Pe baza tabelului Comanda, raportul Comanda cea mai mare comanda
afiseaza valoarea si data celei mai mari comenzi.

select id_comanda,masa_nr,data,pret

from comanda

where pret=(select max(pret) from comanda)

b) Pe baza tabelului Comanda, se afiseaza valoarea si data celei mai mici


comenzi.
select id_comanda,masa_nr,data,pret

from comanda

where pret=(select min(pret) from comanda)

Pe baza tabelului Meniu, se afiseaza meniul frantuzesc.

c) Să se afişeze meniul frantuzesc ;

select nume_meniu,supe_ciorbe,gustare_rece,gustare_calda,paine,desert,bauturi

from meniu

where (cod_meniu=3)

d) Sa se afiseze ultima comanda;

select id_comanda,masa_nr,data

from comanda

where data=(select max(data) from comanda)

e) Sa se afiseze meniurile disponibile;

Select nume_f "Filme inchiriate"

From inchirieri

Where (nume_f is not null)

f) Pe baza tabelului Clienţi, raportul Numele clienţilor realizează afişarea


numelor tuturor clienţilor.

Select nume "Clienti"

From clienti

5. Detalii de implementare:

Oracle a constituit centrul inovator pentru software-ul din domeniul


afacerilor, platforma pentru noua generaţie de calculatoare şi, în prezent, cea mai
importantă companie de software pentru mediul enterprise din lume, cu mai mult de
320 000 de clienţi, oferind programe de studiu al bazelor de date, creând premisele
implementării economiei bazate pe cunoaştere şi a societăţii informaţionale. Aplicaţia
este realizată în Oracle Application Express datorită faptului că Oracle prezintă
concept generale de programare şi tehnologii de baze de date, care sunt utilizate la ora
actual de majoritatea companiilor importante din domeniul tehnologiei informaţiei
precum Yahoo, Nokia, IMB, VISTA Technology Services.

Aplicaţia a fost testată cu următoarele date:


6. Ghid de utilizare:

Aplicaţia este realizată in schema ro_3878_sql01_s02 cu parola


Informatica12. Aplicaţia se numeşte Gestiunea unui restaurant şi are la bază un
meniu din care putem alege să realizăm actualizări ale tabelelor sau interogări.

Pentru a realiza o actualizare se face click pe Gestiunea unui restaurant, iar


pentru a implementa o interogare se face click pe una dintre icoanele aflate la
secţiunea Navigation.

7. Autoevaluare şi direcţii de extindere:

Aplicaţia realizează toate cerinţele şi pot fi îmbunătăţite aspectele legate


de interfaţa utilizatorului.

8. Bibliografie :

- Carmen Popescu, Manual de Informatică cls. a XII-a, ed. L&S Info-mat, 2007;

- ***Manual de Informatică pentru clasa a XII-a, ed. Gimnasium, 2007.