Liceul Teoretic ION BARBU Sector 5 Bucuresti DEPOZIT
Liceul Teoretic ”ION BARBU” Sector 5, Bucuresti DEPOZIT DE CALCULATOARE Profesor indrumator Ionescu Mihaela Absolvent Ştefan Sorin-Cătălin
CUPRINS v v v v Introducere Descrierea lucrarii Diagrama ERD Maparea Reguli structurale Reguli procedurale Concluzii Bibliografie
INTRODUCERE Proiectul “Depozit de calculatoare” reprezinta o baza de date, creata in scopul pastrarii informatiilor necesare acestui tip de afacere. Realizarea sa a fost facuta in Oracle Application Express, iar pentru construirea diagramei ERD si a imaginilor intercalate in proiect am lucrat in Microsoft Word si ADOBE PHOTOSHOP CS 6. Pentru realizarea acestui proiect este necesar sa cream tabele cu datele corespunzatoare si sa stabilim legaturi intre acestea.
DESCRIEREA LUCRARII Trebuie sa proiectati o baza de date a unui depozit de calculatoare. Baza de date trebuie sa contina informatii despre firma – codul unic de identificare de la Registrul Comertului , nume, adresa , produsele comercializate si angajatii depozitului. De asemenea, se doreste sa se tina o evidenta clara a angajatilor depozitului (cu ajutorul contractelor de munca , a datelor personale – nume, adresa, telefon si a departamentului in care lucreaza). Clientii nostri pot fi atat persoane fizice, cat si firme. Firma trebuie sa tina o evidenta clara a componentelor, a asamblarilor efectuate si a calculatoarelor vandute. Pentru fiecare calculator asamblat, trebuie sa cunoastem piesele componente si garantia pentru fiecare piesa in parte (intrucat pentru diferite piese se acorda perioade si clauze diferite de garantie). De asemenea se doreste o evidenta a clientilor. Un client poate cumpara de mai multe ori de la noi, avand una sau mai multe facturi. Un calculator se poate defecta de mai multe ori. Reparatia se realizeaza de un angajat al companiei. Un angajat poate realiza mai multe reparatii. Se doreste stabilirea situatiilor reparatiilor si garantiilor.
DIAGRAMA ERD ASAMBLARE CLIENT GARANTIE are #id * nume * telefon * strada * numar * data_nastere o bloc o apartament o codpostal * localitate #id_garantie *perioada apartine are COMPONENTA are CALCULATOR apartine are este #id_pc *pret #id_comp *denumire *producator *detalii *pret poate avea apartine FACTURA #id_factura *data ANGAJAT are pentru REPARATIE #id_reparatie *data_inceput *data_sfarsit este realizata executa #id_angajat * nume * prenume * telefon * strada * numar * data_nastere o bloc o apartament o codpostal * localitate Pornind de la descrierea de mai sus am realizat modelul conceptual
MAPAREA RELATIILOR Entitatea ANGAJAT contine toti angajatii din companie, Cheie primara este atributul ID_ANGAJAT. In aceasta entitate nu sunt chei externe.
MAPAREA RELATIILOR Entitatea ASAMBLARE este reprezentata de toate asamblarile componentelor pentru fiecare calculator in parte. Cheie primara este atributul ID. Avem cheie externa ID_PC catre entitatea CALCULATOR si cheie externa ID_COMPONENTA, catre entitatea COMPONENTA. Toate atributele sunt obligatorii.
MAPAREA RELATIILOR Entitatea CALCULATOR este reprezentata de toate calculatoarele asamblate in depozit. Cheie primara este entitatea ID_PC. Toate atributele sunt obligatorii in aceasta entitate. Cheie externa este atributul ID_FACTURA, catre entitatea FACTURA.
MAPAREA RELATIILOR Entitatea CLIENT este reprezentata de toti clientii care au apelat la serviciile noastre. Cheie primara in aceasta entitate este atributul ID. Nu sunt chei externe, insa avem mai multe constrangeri de tip NOT NULL.
MAPAREA RELATIILOR Entitatea COMPONENTA are cheie primara atributul ID_COMPONENTA. Cheie externa este atributul ID_GARANTIE, catre entitatea GARANTIE. Avem mai multe attribute cu constrangeri NOT NULL.
MAPAREA RELATIILOR Entitatea FACTURA este reprezentata de facturile emise de angajati, in urma vanzarilor. Cheie primara este atributul ID_FACTURA. Cheie externa catre entitatea CLIENT este atributul ID_CLIENT. Toate atributele in aceasta entitate au constrangere de tip NOT NULL.
MAPAREA RELATIILOR Entitatea GARANTIE contine toate garantiile pentru fiecare component in parte. Cheie primara in aceasta entitate este atributul ID_GARANTIE. Nu sunt chei externe in aceasta entitate.
MAPAREA RELATIILOR Entitatea REPARATIE reprezinta toate reparatiile pentru calculatoare. Cheie primara in aceasta entitate este atributul ID_REPARATIE. Chei externe sunt atributele ID_PC (catre entitatea CALCULATOR) si ID_ANGAJAT (catre entitatea ANGAJAT). Toate atributele sunt obligatorii in aceasta entitate.
REGULI STRUCTURALE CALCULATOR - REPARATIE Un calculator poate fi reparat de una sau mai multe ori O reparatie se poate realiza pentru un singur calculator ANGAJAT - REPARATIE Un angajat poate realiza una sau mai multe reparatii O reparatie poate fi realizata de un singur angajat GARANTIE - COMPONENTA O componenta are o singura garantie O garantie se acorda unei singure componente ASAMBLARE - COMPONENTA O componenta poate fi asamblata intr-un singur calculator O asamblare in calculator contine o singura component
REGULI STRUCTURALE CLIENT - FACTURA O factura poate apartine unui singur client. Un client poate avea una sau mai multe facturi ANGAJAT-FACTURA Un angajat poate emite una sau mai multe facturi O factura este emisa de un angajat FACTURA – CALCULATOR Un calculator poate fi trecut pe o singura factura O factura poate avea unul sau mai multe calculatoare ASAMBLARE - CALCULATOR O asamblare se poate realiza pentru un singur calculator Pentru un calculator se realizeaza mai multe asamblari.
REGULI PROCEDURALE Sa se afiseze numele, prenumele, data nasterii si numarul de telefon tuturor angajatilor select nume, prenume, data_nastere, telefon from angajat Sa se afiseze toate piesele pe care le contine calculatorul cu id-ul 5 select componenta. denumire, componenta. producator From componenta, asamblare where componenta. id_componenta = asamblare. id_componenta andasamblare. id_pc in (select calculator. id_pc from calculator, asamblare Where asamblare. id_pc = calculator. id_pc and calculator. id_pc=5) Sa se afiseze adresa si numarul de telefon al clientului „Bogdan Iuliana” select strada, numar, bloc, apartament, codposta, localitate, telefon from client where nume = ‘Bogdan Iuliana’ Sa se afiseze toate reparatiile, data de inceput si sfarsit , pentru calculatorul cu id 2 SELECT id_reparatie, data_inceput, data_sfarsit FROM reparatie WHERE id_pc=2 Sa se afiseze numele si facturile tuturor clientilor SELECT a. nume, b. id_factura from client a, factura b where id_factura=id Afisati numele si numarul de telefon al tuturor clientilor care nu locuiesc la bloc SELECT nume, telefon from client where bloc IS NULL Afisati numele, prenumele angajatilor ordonati dupa dasta de nastere. SELECT nume, prenume from angajat order by data_nastere
REGULI PROCEDURALE Sa se afiseze numele si prenumele angajatilor care au data de nastere = 18 -noiembrie-1995. SELECT nume, prenume from angajat where data_nastere='18/nov/1995‘ Sa se afiseze numele si data facturii tuturor clientilor. SELECT a. nume , b. data from client a , factura b where a. id=b. id_factura Sa se afiseze numele angajatului care repara un anume PC , data de inceput a lucrari si pretul lucrarii. SELECT a. nume , b. data_inceput , c. pret from angajat a , reparatie b , calculator c where a. id_angajat=b. id_pc and a. id_angajat=c. id_pc Sa se modifice data de inceput a lucrarii tuturor pc-urilor care au id-ul de reparatie 1 , si sa se scrie noua data ca un camp denumit “noua data”. SELECT id_reparatie , data_inceput+7 as "Noua data" , data_sfarsit from reparatie where id_reparatie=1 Sa se afiseze numele clientului si data in care a fost emisa factura. SELECT a. nume , b. data from client a , factura b where a. id=b. id_client
Concluzii Am reusit sa construiesc o baza de data care gestioneaza in amanunt un depozit de calculatoare. Reusind sa stochez toate informatiile necesare pentru o buna functionare a acestuia. Concluzii „GESTIONAREA SPITALULUI ORĂŞENESC TG. BUJOR” este un proiect ce are ca scop organizarea angajaţilor pe sectii medicale si după tipul functiei, dar si a repartizarii pacientilor in cadrul spitalului in functie de boala de care sufera si de tratamentul prescris de doctori. De asemenea, el facilitează preluarea simultană a informaţiilor memorate în tabele diferite, ceea ce uşurează munca personalului din conducere atunci când este nevoie să se scoată rapoarte. Aşadar, am creat o bază de date care corespunde nevoilor organizatorice şi de gestiune ale unui spital întrucât: Baza de date păstrează înregistrarea întregii activităţi a spitalului, făcând afacerea mai uşor de gestionat; Am creat legături logice între principalele elemente ale afacerii (angajaţi, contracte de munca , sectii medicale, pacienti, fise de observatii ); Baza de date este flexibilă, permiţând realizarea unor rapoarte şi statistici complexe; multe informaţii despre sectii medicale existente, si despre doctori şi ceilalti angajati din cadrul spitalului, cat si activitatea angajaţilor pot fi extrase din baza de date pentru a fi aduse la cunoştinţa pacientilor sau a conducerii; Această bază de date poate fi considerată un model general-valabil pentru organizarea activităţii în orice spital. Accesul la informaţiile conţinute în baza de date va fi permis numai persoanelor autorizate şi doar câţiva angajaţi specializaţi vor putea să introducă/şteargă informaţii din baza de date.
BIBLIOGRAFIE DOCUMENTAŢII ON-LINE Academia Oracle http: //ilearning. oracle. com/ilearn/en/learner/jsp/login. jsp? site=Oracle. Acad &action=1100 Oracle 10 g database https: //iacademy 3. oracle. com/ Wikipedia http: //ro. wikipedia. org/
- Slides: 20