Download as pdf
Download as pdf
You are on page 1of 26
Cerinta comund a tuturor subi ‘Stiind c& este formulata, in mod simpliicat, o problema de gestiune real, pentru Gare se va construi o baza de date format din cel putin doua tabele, vi se cere s& analizati problema dupa urmatorul plan de idei 1) Deduceti din enunt entitalile necesare si determinati atributele lor ‘semnificative; 2) Stabilti relatile dintre aceste entitaji si reprezentati ansamblul entitati-relatii ssub forma unei diagrame; 3) Pentru fiecare entitate dati exemplu de minimum doua inregistréri apartinand tabelului care corespunde entitati, Inregistrari care contin date fictive. 4) Sorieti instructiunea SQL corespunzatoare unei cerinfe specificate In enunful problemei. rvatil Tn rezolvarile propuse au fost folosite conventiile de reprezentare si notafie Oracle: # pentru identificatorul unic, * pentru atribut obligatoriu, ° pentru atribut optional et. ‘+ Inregistrarle folosite in exemple evidentiaza doar un mod de codificare a datelor, existand si alte tipuri de date ce se pot folosi pentru codificare (de exemplu, pentru valoarea de adevar se pot folosi caracterele A/F sau numerele 4/0 sau sirutle adevaratals, © in exemplele de inregistrari s-a folosit o reprezentare tabelara in care sunt puse in evidenta: structura tabelei, cheia primara (bold shading), cheile externe (bold italic) si chelle exteme care compun cheia primarai (bold italic shading). Acestor reprezentéri tabelare li se pot asocia sdgeti ce definesc mai sugesti relate « “Verbele” asociate relatilor au fost alese astfel incat sa fie sugestive, dar si pentru a demonsira diversitatea posibiitatior de expresie. La citirea relaillor, acestea se completeazé sau se declina corespunzator. ‘+ Sa ales, in general, cea mai simpla rezolvare, elevul avand libertatea sa ‘modeleze o solujie cu subtipuri sau cu entitati suplimentare. + Pentru fiecare entitate, s-au ales atributele obligatori precizate prin enunf si alte atribute ce caracterizeaza in mod evident entitatea respectiva. Se pot adauga si alte atribute sau se pot omite unele dintre cele care apar In rezolvarea propusa dar nu sunt specificate in enunt si nu contribuie la identificarea instanfelor. Sunt ‘cazuri in care, renunténdu-se la unele atribute, modelarea soluliel se poate realiza cu doar doua entitati (vezi rezolvarea problemei 18). ‘© Cheia primara aleasa dintre atributele sau combinatile de atribute ce formeazé tun mod de identificare a instanfelor (identiicator unic) este cea folosita uzual tn astfel de cazuri (codul numeric personal-CNP, seria de fabricafe, etc.) sau este cconstruita In mod artifical (numerotari sau codificar interne). PROBLEMA 1 Pentru intocmirea orarului se stabileste la Inceput de an incadrarea profesorilor la clase: pentru fiecare clasa ¢i fiecare disciplins se va stabili profesorul care va preda disciplina respectiva si numarul de ore pe care le va avea saptimanal la acea clasa. Fiecare clasa este identiicata prin nivelulclasei (9, 10 etc.) si litera sa (A,B, C, etc.) Fiecare clas& are 0 specializare (mate-info,filclogie, ete.) si este eventual desemnata 0 sala unde se desfagoara majoritatea orelor avelei clase. Pentru un profesor se retin: un numar de ldentifcare, numele, prenumele si speciiaizarea principala. Pentru simpliicare, se considera c& nu existé semigrupe cu profesor difeij si nici discipline cu numar dferit de ore de la 0 s&ptamand la alta Corinte: 4) Sa se afigeze numarul total de ore de la clasa a 9-a A. Rezolvare: O solutie posibilé este reprezentata prin diagrama urmatoare LASA PROFESOR # nivel tia ‘litera INCADRARE ime! * specializare #aisciplina + preneme nore Specialzare 2 mate-info, intensiv info | @ 3 F | Fiologie 10 [A | mate-info 2 INCADRARI nivel_| litera | 1d_profesor | disciplina’ Tore 3 fa faz Matematica 3 a [A [a2 Complements mat. | 1 10 [A [22 Psihologie 1 a |r [22 Logica 1 PROFESORI [Prenume _[specializare | [ionescu ‘matematica [ Vasile ed.fizica 4) SELECT SUM(nt_ore) FROM incadrari WHERE nivel=9 AND litera=' observati catalog la presors, Cerinta: PROBLEMA 2 Un medic de familie doreste 88 aiba 0 evidenta a tuturor consultajillor efectuate si a medicamentelor prescrise. La fiecare consultatie medicul transcrie anumite observati. Tot aici se prescriu tn anumite cantitai, medicamente aflate intr-un catalog la un anumit pret. El trebuie sa raporteze periodic ce medicamente a prescris, care dintre acestea sunt compensate si cu ce procent, Ceringa: 4) S8 se afigeze toate medicamentele cu pretul mal mic decat 40. Rezolvare: 0 solutie posibila este reprezentat prin urmatoarea diagramé: CONSULTATIE MEDICAMENT ood Hood “data “denumire “pret PRESCRIERE antitate “compensat procent CONSULTATII Cod Data Observatil 3045 (05-03-2011 | Tuse, febra. Repaos gi tratament 3 zile 3046 08-03-2011 | Febra si durert Repaos tratament 4 zile MEDICAMENTE. Cod Denumire, Pret 12345 Aspirina, 32.80 23461 ‘Augmentin 36.30. 28191 Tantum Verde | 24.00 PRESCRIERI ‘Cod-Consultafie | Cod-medicament | Cantilate | Compensat | Procent 3045 12345 70 Ne 3045 28191 @ Da 3046 23461 2 Da SELECT * FROM medicamente WHERE pret<40; 89 PROBLEMA 3 O firma de telefonie oferd diferite tipuri de abonamente clientilor sai. Firma doreste 8 aiba evidenta acestora si a abonamentelor lor. Fiecare tip de abonament are un pref, o denumire, un numér de minute incluse in abonament si un numar de minute gratuite. Pentru fiecare client se pastreaza CNP-ul, numele, prenumele, adresa si eventual, adresa de email. Un client poate avea mai multe abonamente, fiecare dintre acestea avand un numar de telefon, 0 data de inceput si o zi de plata a abonamentului ering’: 4) Sa se gtearg’ abonamentulclientului cu numarul de telefon 0789012345. Rezolvare: O solutio posibila este reprezentata prin urmatoarea diagrama: sue caracterccass ( HEL nume *denumire *prenume “pret vadresa *min_incluse “min_gratuite ‘anr_telefon *dala_inceput “ava plata CLIENTI ‘CNP [Nume | Prenume _[ Adresa Email 1730505200190 | lonescu__| Dorian. ‘Str-Rozelor 15 | dorian@gmail com 2650810400258 | Dinu | Corina foana | Str.Parcului 7 | ioana@yahoo.com TIP_ABONAMENTE [cop Denumire | Min_incluse | Min_gratuite 400 85 100 433 75 120 ABONAMENTE Nr telefon Data inceput | Ziva Plata ‘725676901 | 1730805200760 | 400, 18-12-2008 | 18 0745123123 | 1730505200190 | 133 19-42-2008 | 18 0789012345 | 2650810400258 | 400 18-12-2008 [16 DELETE FROM abonamente WHERE nr_telefon='0789012345' 90, PROBLEMA 4 © fim cu mai multe departamente pregateste Tn sediul fiecarui departament Sarbstoare @ pomului de Craciun dedicata copilor angajatilor fmel. Astfel © Fecesara o evident a angajatior din departamente si a opilor acestora. Pentru Fecare departament este mentionata denumirea si adresa departamentului, iar pentru copi este important de slut care sunt baiel si care sunt fete, precum si varsta fiecdiruia. Observatie: Dacd un copil are ambii parinti angejat la fim, este Tnregistrat ca parinte unul singur dintre acestia Cerinta: “4) 88 se atigeze tofi copii angajatulul care are CNP 1911112410410. Rezolvare: solutie posibilé este reprezentata diagrama urmatoare. DEPARTAMENT ANGAJAT COPIL far are apartine| #CNP tine cod *denumire _parinte | COD | Nume Data nast_] Sex [1730505200100 1 | lonescu Marius [09-04-2008 _[M 1730505200190 | 2 __| lonescu Diana 02-08-1995 _| F 7730505200190 | 3___| lonescu Dan 02-08-1995_|M 2650810400258 [1 | Danciu Sorina 11-09-2002 _[ F. = SELECT Nume FROM copii WHERE CNP_parinte = '1911112410410'; PROBLEMA 5 Compania nationala de transport feroviar de c&latrl tine evidenta tuturor trenurilor si a rutelor acestora. Pentru fiecare tren sunt memorate: tipul trenului (regio, interregio, etc.), numarul acestuia si firma de transport careia Ti apartine, Este necesara gio lst& a tuturor stajilor (gari sau halte) prin care trece fiecare tren, cu ropere kilometrice pe baza cérora sa fie stabilt pretul biletelor elberate, Se vor ignora in aceasta problema atét evidenta biletelor, cat gi alte restrict legate de Circulatia sezonier& a trenurlor, de tipurile de gamnituri din care pot fi formate ete. Cerinte: 4) Sa se afigeze lungimea totala 2 rutel trenului R4133. Rezolvare: O solutie posibilé este reprezentaté prin diagrama urmatoare LISTA ASO “km __ Adaugam observajia ca, daca exista regiementar legate de numerele trenurilor (cele regio au 5 cifre in numar, cele internationale sau intercity au 2 cifre, etc.), cheia primara a tabelei trenuri poate fi format numai din numérul trenului, tipul trenului ramanand un atribut oarecare (sau cheie externa daca se adauga o tabeld cu tipuri de trenuri si alte informatii legate de fiecare tip de tren). TREN tip jumar Firma R 7215 ‘SNCFR IC 88 ‘SNCFR Ik 5500 TFC STATIE id [tp denumire 1 Gara | Sacele 2 Gara | Bragov_ 3 Hata Miajet 4 Gara [ Neholu ISTA_AS! Tip_tren | Ne tren | 1d_statio_ | Km R 5500 4 71 Reaaeees 5500 3 65, IC 88. 2 0 R 7215 2 oO ‘SELECT MAX(km) FROM lista_asoc WHERE tip_tren='R’ AND nr_tre 92 PROBLEMA 6 Se doreste 0 evident a caloulatoarelor si a componentelor de calculatoare existente in liceu. Fiecare calculator are un numér de inventar si, acitional, 0 eticheta cu 0 denumire interna stabilté de administrator. Componentele de calcuiatoare pot sa facd parte din calculatoare sau ot fi pastrate separat, pentru schimbarea unor componente defecte. Orice components are o serie $1 o data de fabricatie, starea componente’ la ultima verificare fling consemnata prin “functional sau defect’. In inventarul coli, fiecare calculator ere asociaté o list a ‘componentelor ce intr in alcatuirea acestuia. Corinto: '4) Sd se treacd in starea ‘defect’ componenta cu seria 123321006SD. Rezolvare: © solute posibit este reprezentata prin diagrama ce urmeaz8. S-2 tmodelatcazul in care se deste evidenta Intima conigurajlo cleuatoarelor. Dacd intereseaza doar esociroa curenl dire componente gi calouatoare, sunt suficiente entitatile CALCULATOR-COMPONENTA aflate in relatie one-to-many. apare 7 ~ 2° ( COMPONENTA Feene “date, fad *marca LISTA_ASOCIERE *denumire ny & ‘ea CALCULATOARE Nr_iny | Etichete Marca 5201_| HPOt ‘Shark P2000 {[5230_[ HPDirector [Msi 6200 COMPONENTE Serie Data fab | Denumire 123321006SD__| 18-12-2008 | CD-ROM 52X tional_| WMAFD1867095_| 19-01-2003 | HardDisk 150GB__ | functional 34C98790T | 28-02-2006 | HardDisk Laptop — | defect ve #203FR 18-12-2008 | Memorie DIMM T 1G LISTE DE ASOCIERE [Ror [nr calculator | Serie_comp —[Daia_montar 1 [5201 z3saT006S [18-12-2007 [sao TMs 4203F 36 — [18-12-2007 [sao WMAFO 1867095 | 18-12-2007 [5250 Lin raz0ar36 —[¥5-00:2008 UPDATE componente SET stare= ‘defect’ WHERE serie = '123321006SD" 93 PROBLEMA7 Se doreste 0 evident a calculatoarelor din liceu si a locurilor (salilor) unde sunt acestea amplasate pe parcursul anilor. Fiecare calculator are un numar de inventar si, aditional, o etichet& cu o denumire interna stabilité de administrator. Diferitele locuri din liceu unde se affé calculatoarele se identifica printr-un numar de ordine si o denumire sugestiva, La orice mutare a unui calculator dintr-un loc tn altul, este consemnata data la care inceteazé vechiul amplasament si data la care Incepe noul amplasament al calculatorului respectiv. Cering 4) S& se afigeze numarul caleulatoarelor pentru care eticheta incepe cu HPO’; Rezolvare: O solute posibilé este reprezentaté prin diagrama ce urmeaza. S-a modelat pastrarea “istoriculu” amplasamentelor caloulatoarelar. In lipsa acestuia, rau suficiente entitle LOCATIE si CALCULATOR aflate Tn relatie one-to-many. a figureazé CALCULATOR s OCATIE #nr_inv for “eticheta Cot) “denumire *marea AMPLASAMENT ‘data_amplasare °data_mutare CALCULATOARE Locaqil Nrinv [ Eticheta___| Marea Nr 5201 | HPOt ‘Shark P2000 | 1 Directort Denumire, 5230 _| HPDirector__| MSI 6200 2 Director2 5202_|HPO2 | Shark P2000 | 3 Lab 5203__| HPO3 ‘Shark P2000 4 Cancelarie AMPLASAMENTI Er inv | Nr_ loc 7] Data_amplasare | Data_mutare | 5201 18-09-2006, 5202_| 18-09-2006 15.09.2008 5230) "18-12-2008 5202, 15-09-2008 SELECT count(*) FROM calculatoare WHERE eticheta like "HPO%'; PROBLEMA 8 £2 un Supermarket se vand diverse produse care se gasesc In stoc. Se doreste sa 8 stocurilor disponibile, precum si a vanzairilor 0d de bare, comun pentru toate obiectele de acelas| tip. La cumpararea produselor se emite un bon de casa care are un numar $10 data. Pe un bon se gasesc mal multe produse, pentru fiecare specificénduse Cantitatea cumpérata Coringa: 4) S8 se micgoreze cu 10 cantitatea din stoc pentru produsul cu codul 102583 Rezolvare: 0 solutie posibila este reprezentata diagrama urmatoare: PRODUS ‘ood *denumire “cantitate *pret "producator LISTA BON *cantitate PRODUSE 7102583 217658 Caiet biologie 534671 ‘Stilou BONURI 12-10-2091 13-10-2017 LISTA_BONURI Cantitate UPDATE lista_bonuri SET cantitate=cantitate-10 WHERE cod_produs=102583 PROBLEMA 9 Pentru examenul auto se constituie 0 banca de date formata din intrebari, fiecare intrebare avand un enun{, un domeniu (sanctiuni, reguli de prioritate, regim de viteza etc.) si un grad de dificultate. Pentru fiecare intrebare exista tref sau mai ‘multe réspunsuri propuse. Dintre raspunsurile asociate unel intrebéti, unele sunt corecte, altele sunt gresite. Intrebarile sunt distribuite in seturi de cate 26, formandu-se astiel mai multe chestionare cu diverse specifcatii, o intrebare putndu-se afla pe un singur chestionar. Corina: 4) $8 se afigeze toate intrebarile cu difcultatea cel putin & Rezolvare: O solute posibilé este reprezentata prin diagrama urmatoare’ CHESTIONAR INTREBARE RASPUNS Har for litera °Specificatic *cerinta < “formulare apartine |*domeniu | apartine | sadevar “dificultate CHESTIONARE, [—ENr._| Speciticatie 1__| Auto’ 2 ‘3 | RATB 4 [Auto (Dificil—a se echilibra) INTREBARI Ceringa: Domeniu | Difcutate Care este limita legala de | Regim 8 viteza in localitati? viteza Th ce situatii se recomanda | Regim reducerea vitezei?_ _—_| viteza ‘Cate puncte ‘Sanofiuni RASPUNSURI 'Nr_intreb | Litera | Formulare 12 70 Keni 12 ‘50. Kenvh 12 Depinde de indicator 308, 5 puncte SELECT * FROM intrebari WHERE dificultate>=8 PROBLEMA 10 La gridina zoologicd se tine evidenta animalolor gi a locuri unde se aia aoestes Le aes ant dal. Aste, gradina este impata tn zone identficate prin tere (A. 6. ete), intro zona find adapostite toate animalele apartinand uneia fav Met Bho spect. Fiecare animal apartine unei singure specii si este identficat print-un numar, Se mai cunosc anul nasteri animaiulul si, eventual numele sau. Ceringa: 4) $8 se corecteze -dacd exista- sau 8 so completeze —dacd nu existe fumele animalului cu codul 1 astfel incét acesta sé devina BAMBY. Rezolvare: © solute posibila este reprezentata prin diagrama ce urmearA Montiondm 8 in zoologie, specille se grupeaza in ordine, Tncrengaturl, regnur tte. dar, pentru simplifcare, aceste ierarhli pot s4 nu fie luate in discull. ‘aL eecie zona a ss «| ite Trost S| rome a “toot “amplasament a ANIMALE Nr] An_nast Cod_specie | 1__| 2006 ole | 1 a 12_[ 2009 | Din 2010. 2010 Nume Desoriere [Leu siberian | Specie de stopa, raiesie.._| Tquana cu gugé | Traieste in preajma | Cocos de munte | Traieste [2 altitudini cuprinse Intro ‘Amplasament Vestul parcului, tnire | fantana si gard vestic _} Zona centralé ‘ona de est PROBLEMA 14 Oficile postale au ca oferta de abonament o lista de publicatii care contine: numele Publicatiei si pretul pe sapamana sau pe luna (In functie de tipul acesteia). Pentru @ se abona la orice ziar sau revista, persoanele doritoare trebuie sa furizeze ‘numele, adresa si eventual un numar de telefon. Clientii primesc cate o chitanta Pentru fiecare abonament, in care se specificd numele publicatiel, perioada de timp pe care este valabil abonamentul Ceringa: 4) S& se stearga chitanta cu seria ASS12. Rezolvare:_O solutie posibilé este reprezentata prin dlagrama urmatoare PUBLICATIE CLIENT #cod_p #numar_e *nume *nume “tip * adresé * pret_unitar ° telefon, ° descriere serie * data_Inceput * nr_unit_timp PUBLICATII God_p [Nume [Tip | Pret_unitar | Desoriere 1 Practic__| Sapt_| 18 Bucatérie 2 Adevarul_| Sapt [54 ti 3 [Rebus Lunar [15 CLIENTI Numar_e_ | Nume ‘Adres Telefon 201 ‘Albulesou lon_| Str Apusulul 7 1122 202 Bob Vali ‘Str-Alba 87 1321 206 Dan Gigi | Al. Compozitorio 1516 CHITANTE Cod p | Numér_c] Serie | Data_inceput | Nun imp. 1 201 AS511 [15.02.2007 | 12 202 As512 | 22.06.2007__| 62 1 1 206 ‘8620 | 30.07.2008 | 12 2 206 woot | 11.10.2008 | 6 DELETE FROM chitante WHERE serie='AS512" PROBLEMA 12 (© companie de asiguriri oferd pentru persoane fizice sau jurdice diferite tipuri de asiguréri (pentru furt, incendi, explozi, inundati, cutremure, accident, boal’, invaliditate, deces). Fiecare client primeste un cod la semnarea contractului, Contract in care sunt precizate si numele acestula, prima anuala de plats, numarul de ani pentru care se face asigurarea gi data semnsriiacestela. Cerinta: 4) Sa se reduca cu 50% prima anualé pentru contractele mai vechi de un an. Rezolvare: © solutie posibili este reprezentati de folosirea a trei entitati ASIGURARE, cu identificatorul unic cod_asigurare, CLIENT identificat prin codul ‘asociat prin contract si CONTRACT, entitatea de intersecti. ‘aparine tine ASIGURARE A CLIENT A cod_asig cod_client * tip name * descriere + tip adres * telefon ASIGURARI Tip Descriere 9 ineendi ‘Asigurare standard 7 Furt [Asigurare completa CLIENT! € Nume Tip ‘Adresa Telefon 101 | Stanciu Carmen | Persoana fizics | Str. Libertati Nr.7_| 0274478987 457 ___| TopMecanic S.C | Persoana juridic’ | Str. Pacii Nr. 49 _ | 0214991273 CONTRACTE [_Nr_ani_[Data_semnare | Prima_anuala | Cod_asigurare | Codec | 10 72.40.2007 | 650 7 457 | 5 3.03,2009 | 400 te tor] UPDATE contracte SET prima_anuala=prima_anuala/2 WHERE SYSDATE()-data_semnare>365; PROBLEMA 13 La serviciul de salubritate angajat de primarie se fine evidenta strézitor, pietelor si parcurlor care trebuie curstate, pentru fiecare dintre. aceste locuri find retinute: Sectorul (zona), suprafata si detalile de amplasament. In flecare zi de munca, pentru fiecare loc, sunt desemnati mai multi angajati care se ocupa de curatenie. De la 0 21 ia alta, angelatilor de salubritate li se repartizeazé alt loc pe care sa il curefe. Pentru fiocare zi de lucru este realizata o list cu angajati, pentru fiecare angajat find specficate: numele, funcfia si locul la curatirea carla participé in ziua respectva, Ceringa: '4) 8A se afigeze numarul total de angajati care au fost desemnati sa se ocupe de curatenia locatiei cu codul 3 in luna mai a anului 2014. Rezolvare: 0 solutie posibil este reprezentata prin diagrama urmatoare ANGAJAT #CNP “nume *suprafata PROGRAMARE *prenume edescriere data “functie LOCATH Cod | Sector | Suprafaia__ Descriere. 1 [10 300 Piafa Drumul Taberei, __| agroalimentara ean cea D0 em | ot Sioa weve ANGAJATI "1730505200190 | Ionescu Dorian muneitor fs Nume_ Prenume, Funciie 2650821000258 | Dinu Corina loana | gef de echipa PROGRAMARI Cod loc | CNPLangajat_[Data__| ~__ [1730505200190 | 18.12.2008 1730505200190 | 19.12.2008 | 2650810400258 | 18.12.2008 | 1730505200190 | 20.12.2008 SELECT COUNT() FROM programari WHERE cod_loc=3 AND data BETWEEN 01.05.2014’ AND °31.05.2014" PROBLEMA 14 O firma de inchirieri de masini doreste sa tind evidenta masinllor inchiriate si a Glientilor. Pentru fiecare masina se retine numarul de inmatriculare, tipul, clasa $i ‘motorizarea, iar pentru fiecare client retinem codul numeric personal, numele $i numarul de telefon; maginile se inchiriazé pe baza unul contract cu clientul, caracterizat printr-un numar de inregistrare, data semnaii si cea a preluarii masini, data retumaril si garantia, Corinta: 4) Sa se elimine masinile de clas C din baza de date. Rezolvare: 0 solufie posibila este reprezentata prin diagrama urmatoare: are Inchiriazas WS ‘#nr_inmatriculare SONTRACT ‘data_semnare *clasa 2 : “data_preluare eae “data_returnare “garantie MASINI _ [ Nr_inmatriculare Tip mot }G65ETC | Ford Focus | Benzina \G 167 AMP Fiat Punto 18.382 XXL, | Hyundai Tucson | Moto CLIENTI aay "ae telefon —] 79008 0730773454 49411... , | lesulescu TaurubLaurentiu 0762923462 | A OO eee ae | CONTRACTE - _ | id | Data_ | Data ba | Saante Sne | Remit) | semnare_| preluare returnare_| client Jeulare 15.11.2017 | 1000 19205. Bé2 ETC — {1 eur I 9417.9.2011 [70.11.2011 | 28.11.201 | 1500 | 19477... [1S 38 XXL 1 tbr | [92 1.92017 [14.11.2017 DELETE FROM masini WHERE clasa='C’ PROBLEMA 15 Un depozit doreste s& achizitioneze materiale de la diversi furnizori. Depozitul detine un catalog de materiale, identificate printr-un cod, o denumire sl, eventual, 0 ‘scurta descriete. Fiecare furnizor oferteaz4 mai multe dintre aceste materiale, la propriul pret, Depozitul are evidenta tuturor furnizorilor, cu adresa si telefonul de contact al fiecaruia, Cerinta: 4) Scrieti comanda SQL care adauga un nou furnizor, cu date alese de voi. Rezolvare: Am avut in vedere de aceasta data s4 modelam rezolvarea pastrand toate ofertele fumnizorilor (atat pe cele actuale, cat si pe cele anterioare). Rezolvarea propusd este sugeratd de diagrama urmatoare: pentru OFERTA #id * pret * data_ine MATERIAL ood “denumire *calitate * denumire * adresa PROBLEMA 4 © firma de cor avand 0 denui multe tari, inc solicitate, pe Cerinta: 4) Sa se af Rezolvare: O PRODUS # cod * denumire * pret ° descriere * telefon data_sf sdescriere PRODUSE ( © pers_contact Ged | 234 [Re FURNIZORI 7087 | Fusta Ta denumire ‘Adresa telefon ers_contact 722 | Bricolage_Fr_| StrDoma nr.15 | 1234567800 |= CERERI (Ci 123 | Sandvik Str-Albestinr.22 | 0123456789 | Dobre Melania Coa 234 MATERIALE, 5087 ‘cod | denumire [Caltate | descriere: 7057 10 ciment tt rnetoxic 4 polistiren 1 BENEFICH t Cod OFERTE 123 | Di id pret dala_inc | data_sf T_material | id_funizor 1 100 70.01.1999 | 10.05.1999 _| 10 122 a7 re 2 200 714.06.2000_| 15.09.2000 | 11 123 Lt 5 120 10.05.1999 7 SELECT nu INSERT INTO Furnizor (id,denumire,adresa, telefon) VALUES (13, ‘Energomontaj ,'Bd.Preciziei 20'/0722222222') Depozitul pastrand erioare).. PROBLEMA 16 © firma de confecti realizeazé mai multe produse textile, la diferte pretur,flecare avand 0 denumire si, eventual, 0 descriere, Aceasta firma are beneficiari din mai mute tari, inclusiv din Romania. Pentru fiecare beneficiar exista o lista de produse solictate, pentru fiecare produs fiind specificata cantitatea ceruta. Cerinta: 4) Sa se afigeze numele tuturor beneficiarlor din Romania Rezolvare: O solutie posibilé este reprezentata prin diagrama urmatoare: PRODUS # od * pret ¢ descriere * telefon * cantitate PRODUSE (PDE) Cod Denumire Descriere 234 | Rochie de seara O rochie eleganta, potrivita pentru ocazil. 1087 | Fusta mini Articol la moda, cu un imprimeu jucaus, CERERI (CRI) Cod p | Cod b | Data Cantitate ] 234, 123 12.12.2012 | 10 1057 a7 [44.11.2011 [2 | 1057 a27__ [42.42.2011 | 20 BENEFICIARI (BN!) Cod | Nume | Tara Adresa Telefon 423 [Diane Smith] USA | 2301, 6" Avenue, New | 8778852237 York, NY 127 | Francesca | RO | Sos. Oftenitel, nr. 201, B1.12, | 0722645022 lonescu ‘So. 8, ap.77 ‘SELECT nume FROM beneficiari WHERE tara="RO’ PROBLEMA 17 La un concurs intematjonal se Tnregistreaza mai multe cl Tee multi tarlcipant, Flecare concurent primeste in concurs un cod unic $i se Inregistreaza Fae, Ia 0 anumité catogorie de varsta. Fiecare participant participa la 0 Singuré proba. Organizatori doresc © evidenta @ participantilor, precum si a probelor sustinute. Cerinta: ’) Afigati numele si prenumele concurentior junior. Rezolvare: Se pot forma 3 entitat: PROBA, PARTICIPANT, TARA. Daca tara, in siete numelu, nu este Tnregistraté prin ate atrioute (indicat ‘continent, etc.), €2 State deveri un atibut al entitaji PARTICIPANT, reducane modelul la doua enti PARTICIPANT # ood nr *nume “ $* denumire categ_varsta * deseriere 2 @_mail Denumire: Deseriere Matematica ‘Analiza matematica aA Informatica ‘Algoritmica * ume ‘Nume Continent * continent ‘China ‘Asia Romania PROBE PARTICIPANT! el eg vara] [[eod [We probal[ Ind tare Nume Prenume | Categ varsta 1 234, RO, Popescu | George union, 123, 2z CH Brinygd | _Jyangh ‘Senior 501 71 CH Chai Fing Junior SELECT nume , prenume FROM participant! WHERE categ_varsta="Junior mai_ multi ‘Inregistreaza Ipartcipa la o precum sia re tematica ica Continent Asia Europa PROBLEMA 18 La biblioteca gcolii se tine evidenta fondului de carte existent i a cilitorlor inscrigi la biblioteca. Lunar, bibliotecarul doreste sa alcatuiasca o situatie a cititorilor care au tntarziat mai mult de 10 zile cu returnarea caijilor. Pentru fiecare cititor exist 0 fis care contine datele personale ale acestuia s/o lista a imprumuturilor efectuate (til, autorul, numérul de inventar, data imprumutului). La restituirea crti, In fig se completeazé si data restituir Cerinta: 4) Afisatj numarul c&rtilor imprumutate care nu au fost inca restituite. Rezolvare: O solutie posibila este reprezentata prin diagrama urmatoare (CARTE 7 , (SUITOR #nr_inventar [imprumutata imprumuta | CNP title * nume_prenume * adres * telefon }# data_Imprumut| ° data_restituire CART! (—PENe inventar | Titu Rezumat 1 Citadela__[ J. Cronin 2 Huligani_ | M.Eliade alee 3 Micul print | A. de Saint-Exupery | Poveste alegorica iMPRUMUTURI Nr carte ||CNP Data_imprumut | Data restture 1920417300565 _| 18.08.08, 28.06.08 2821014480345 | 29.08.08 7 [1760829122122 | 20.10.08 3.0008 rr760520129122 | 26.08.08 fr760520122122 | 15.09.2008, Nume_prenume | Adresa | Telefon 1920412300568 Romana,4 | 0416881212 | 2821014480345 dio 1760529122122 Florilor.14 | 0316881210, SELECT COUNT(*) FROM Imprumuturi WHERE Data_restituire IS NULL. PROBLEMA 19 La inceputul anului scolar, unor profesori din cadrul corpului profesoral li se Tepartizeaza céte 0 clasa la dirigentie. Astfel trebuie alcatuite liste cu elevii din fiecare clasa, liste care sa contina att numérul matrcol al elevului, cat gi numele, Prenumele, codul numeric personal, data nasterii si adresa acestula. Orice list trebule sa confina gi numele, prenumele si specialitatea profesorulul driginte Cerinta: 4) Sa se adauge un nou elev in clasa a X-a A. Rezolvare: O solutie posibilé este reprezentata prin diagrama urmatoare: fev PROFESOR '# nr_matricol #CNP nue *nume * prenume “specialtate *data_n ate CLasA ones # cod “specilizare sala ELEVI Nr_matricol_| Nume Prenume, Data a Adresa [201 Ene Valentin 12.11.1994 | Romana.4 | 202 Alecu Ramona 03.04.1994 | Tzvor,23 206, Tudorache_| Dan. 17.12.1993 | Florilor, 14 CLASE [[eod_| Spocarzare Sas Driginte Sh__| matemaica-nfommaica [21 | 156091350000 9B | ficlagie intensv engl | 12 | 268T100a00000 10A | Filologie 14 4721212000000 108 | matematceanformatca | 17 | 2ratt 1000000 Inti informatoa PROFESORI ‘Speciaitate [1560817390000 [AMuzicescu | Muzica | | 2631109400000 |B. Conta | Economie _| | 1721212000000 | ‘D. Creanga_| Lb. romand | 2741111000000 [ A. lonescu _| Chimie INSERT INTO elevi VALUES (105, Popescu’Lucian’,10A','4.06,1993','Florilor, 2’) 106 soral ti se cu elevii din cat si numele, ja. Orice list iriginte, Aarest Romana4 zvor,23, Florilor, 14 inte. 11390000 1109400000 1212000000 741111000000 ‘Specialitate Muzica Economie Lb. romana Chimie PROBLEMA 20 Periodic, avioanele unei companii de zbor sunt supuse unor teste de verificare a starii lor tehnice. Exista un set de teste obligatorii pentru fiecare avion. Un test are urmatoarele specificati: denumirea testului, unul sau doi posibili parametri care se verified gi, eventual, o descriere a metodsi de aplicare. Ca urmare a efectuaii testelor, pentru fiecare avion se intocmeste o fisa tehnicé ce precizeazé seria avionului, modelul, data fabricatiel, data testarii si lista rezultatelor (valorile masurate pentru parametril specific) tuturor testelor aplicate. Cerinta: 4) S& se adauge un nou avion in baza de date. Rezolvare: 0 solutie posibilé este reprezentata prin diagrama urmatoare: nr REZULTAT *nume_t Jt sata r {* rezuitat_1 AVIOANE a | Wodel_a AR 500 | 12,05,2000 Boeing 777 | 01.08.2002 | Param_1 Param-2 | Metoda Electric _| E_primar Eaux | Aparat_ in i functiune UP207 Mecanic | Rez_forja_de ‘Se aplica 0 i torsiune forta CB305 Termic | Temp_ini Tempfin [Se masoaré 4 temp. REZULTATE ‘Serie-a Data Rezultat_1 | Rezultat 2 [uPz01 15.08.2008 | 240 110 | uPzot 15.08.2008. | 1 (reugi (€B305 45.10.2008 | 20 0 (€B305 31.10.2008 | 15 75 INSERT INTO avioane (serie_a, model_a, data_f) VALUES (‘YR123'AS",'23.02,2001') 107 PROBLEMA 21 {2 un service auto se tine evidenta masinilor gi a interventilor efectuate. Masinile ‘Sunt identificate prin numarul de tnmatriculare, marca si model. Pentru ficcare Masind este Inregsitrata o listé de defectiuni diagnosticate, fiecare defectiune find remediata Int-un hangar dotat corespunzator tipului defectiuni (electri, mecanic, de vopsitorie, etc). Pentru fiecare tip de defectiune exista un unie hanger, cu un umar si, eventual un telefon. La remedierea defectiunii se trece dats finalizarl operate Cerinta: 4) Sa se afigeze toate inrecistrrile din tabelul MASINI grupate dupa marca Rezolvare: 0 solutie posibila este reprezentata prin diagrama ce urmeaza, (MASINA — Femediazé are # numar | ]* marca corspundeh | | * model (DEFECT jee) MASINI [-———fNumar_[ area [ Moder | B-07-LTU | BMV [4x4 Telefon] | [B-33-FRY | Dacia —| Berlina 12345; B-53-ERD | Trabant | Combi seer — | este —feertty Some fain 2 Electric B-53-ERD__| 7 Baterie oxidata | 25.10.2011 Mecanic B-53-ERD [2 ‘Cutie viteze blocata SELECT * FROM masini GROUP BY marca PROBLEMA 22 fe. Masinile fru fiecare Un artist plastic se ocupa de reconditionarea unor piese de mobilier. Pentru fiecare une find piesa, el doreste sa inregistreze: numarul de ordine al piesei, denumirea si stilul ‘mecanic, acesteia gi, eventual, o scurté descriere. in plus, pentru a stabili pretul restauraril, Tica un el {ine evidenta materialelor necesare, pentru fiecare material specificandu-se finalizinii Cantitatea folosita, 0 denumire gi un pret uniter. Cerinta: 4) S8 se adauge in baza de date o noua piesa in vederea restaurari. Rezolvare: O solutie posibilé este reprezentata prin diagrama urmatoare: (PIESA MATERIAL #numar # cod *denumire * denumire * stil * pret | ° descriere (LisTA MAT cantitate MATERIALE sod | Denumire, 1__| clei de case 54 | diblu tenn 12 [inte alama Denumire | Sti Deseriere ‘scaun | clasic | Remediere tabiltate ‘sfegnic | venejian | Alam, inscr[plie steers LISTE_MAT Cantitate 1 10 4 25 INSERT INTO piese VALUES (4, ‘scaun’, ‘GOTIC’) PROBLEMA 23 Pentru fiimele popularizate pe un site se retin: numele, data lanséti, regizorul principal si distributia. Biografia oricarui actori care apare in distributiia a cel putin tun film poate fi consuitaté pe acelasi site. Astfel, sunt publicate: numele oficial, numele de artist, eventual data nasteri gi filmogratia artistului (format din numele acelor filme popularizate de site n care actorul a jucat) Ceringa: 4) SA se afigeze numele regizorilor si numele flmelor al caror regizor a coordonat cel putin dou producti de pe site. Rezolvare: O solutie posibilé este reprezentata prin diagrama urmatoare. Dac admitem c& exista filme in care acelasi actor joacé dou sau mai multe roluri diferite (vezi Eddie Murphy in Profesorul Traznit), atunci atributul rol trebuie s& fac& parte din identificatorul unic al entitaii Distributi. a FILM #nr * nume * data_lan * regizor ° descriere Descriere 92.08.1989 | J.Cameron | SF suspans. Fortareata | Dec 1996_| M. Bay ACTOR! Nr [ Numereal__[ Nume_ar Data_nagt 1 [Tom Hanks | Thomas Jeffrey Hanks [_ 2 [edHaris | Edward Allen Haris | 28.17.1950 3-_[ Nicole Kidrian | Nicole Mary Kidman — 4a] Nicolas Cage _| Nicholas kim Coppola | 707.1964 pisreisuti ‘Nrfilm | Nractor | Rol ‘Opini_ertice 1 2 Virgil Brigman. Prestatie la nivelul 2 2 F.Hummel Rol conturat 2 4 Stanley Goodspeed SELECT regizor, nume FROM filme GROUP BY regizor HAVING count(regizor)>=2 SELECT regizorul col putin oficial, numele PROBLEMA 24 intr. bloc de locuinte se tine evidenta locatarior, rupati pe apartamente. Pentru fiecare locatar care este angajat se cunosc datele despre locul sdu de muncd declarat ca fiind curent. Astfel, pentru apartamentele care cumuleaza restante substaniiale, se doreste sa se poets Iva legatura cu fmele unde lucreazé locatari In vederea solution&rii restantelor. Corinta: 4) Sa se afigeze totalul restantelor din bloc. Rezolvare: 0 solutie posibila este r APARTAMENT ‘nr *etaj “nr_camere *telefon ° restanta APARTAM jeprezentata prin diagrama urmatoare: LOCATAR ANGAJATOR #CNP angajat_ | #CUI ‘nume > *denumire “prenume vadresa °@_mail *tel_contact Nr] Eta]_[ Nr camere_| Telefon 1 1P. (0215678901 (0215679327 aie att 5 12 0211234567 LOGATARI Nr_ap | CNP. Name Prenume | mail ICUl_angajator 1511220307426 | lonescu Grigore | iongr_1951_||125078 @gmail.com 7730811400775 | Dobre Constantin | dobre_cons 411423 @yahoo.com | 2750923400520 | Dobre Doina Mia | doina @yahoo.com 2350101150281 | Coman Elisabeta \ai4423 ANGAJATORI Cul] Denumire “411423 | Horticola 1Mal Telefon ‘Adrest (0313456789 _| Pantelimon 13 | 125078 | Horia Valu (0741234567 _| Dora 88, ap.1_| 367600 | Munplast S.A 0222340563 | Bd. Mai §, Seo] SELECT SUM(restanta) FROM apartamente it PROBLEMA 25 In campionatul national de fotbal 2014-2018 sunt inregistrate mai multe echipe, ‘organizate in 3 divizii (A, B, C). O echipa are un cod de 3 litere, un nume gi un sediu (0 adres). Toate echipele din aceeasi divizie sunt programate sa joace intre ele dou jocuri (tur gi retur). Un mec! se joaca in cadrul unei etape (0 etapa este formatd din toate meciurile care se joacd la o anumité data), find stabllite: echipa gazd8, echipa oaspete si, dupa Incheierea partidei, se adauga scorul (numar goluri marcate de gazde ~ numar goluri marcate de oaspefi) si, eventual, aprecieri ale juralistitor sportivi, Cerinta: 4) SA se afigeze golaverajul echipei cu codul STE (Steaua). Golaverajul une echipe se obtine scézénd din totalul de goluri marcate totalul golurilor primite. Rezolvare: 0 solutie posibila este reprezentata prin dlagrama urmatoare : ECHIPA # cod * divizie *nume * sediu ECHIPE cod_[ dive cod RAP. Rapid J al. Giles N12 rucy. Universiate Craiova | Str. Bucuresti Nr377 | STE | Steaua. Bd. Ghencea nr.55 VOL ‘Voluntari DN 51 ‘OTE Ofelul Gaiaii —_['Str.$tefan cel Mare Nr-33 MECIURI ‘cod_gazda | cod_oaspete tp Scorg STE RAP. tur We OTE “tur OTE STE retur STE uGV Pur SELECT (SELECT SUM(scor_g - scor_o) FROM meciuri WHERE cod_gazda='STE')}+ (SELECT SUM(scof_o - scér_g) FROM meciuri WHERE cod_oaspete='STE’) FROM dual

You might also like