Sunteți pe pagina 1din 35

BAZE DE DATE SUBIECTE REZOLVATE Subiectul nr.

1 La un club de tineret, activitatile se desfasoara pe mai multe sectii: spectacole, cercuri tehnico-stiintifice, cercuri sportive, observatorul astronomic, muzica si activitati metodice. - Sectia pentru spectacole este locul de desfasurare a diverselor activitati educative si culturale; - Cercurile sportive cuprind: cercul de gimnastica, cercul de dans sportiv, cercul de dans modern, judo. - Sectia tehnico-stiintifica cuprinde: cercul de informatica, cercul de modelism, cercul de limbi straine (engleza, spaniola, franceza, italiana). - Sectorul muzical cuprinde: orchestra, ansamblul coral, famfara. Activitatile metodice desfasurate n cadrul clubului sunt destinate cadrelor didactice iar observatorul astronomic poate fi vizitat de elevi. Cerinte: a) b) Realizati modelul ierarhic pentru scenariul de mai sus. Caracterizati modelul ierarhic si enumerati cteva dezavantaje ale acestuia.

Rezolvare: Modelul ierarhic pentru situatia prezentata are ca diagrama asociata un arbore n care toate legaturile sunt de tipul 1:N sau 1:1. Nodurile reprezinta entitati, iar arcele reprezinta asocieri ntre entitati (relatii). ntro structura ierarhica ramificata, entitatii aflate la un nivel ierarhic superior (parinte) i corespund mai multe entitati aflate la un nivel ierarhic inferior (copil), dar fiecare entitate aflata la un nivel ierarhic inferior corespunde unei singure entitati aflata la un nivel ierarhic superior. Dezavantaje ale modelului ierarhic: - legaturile de tip M:N nu se pot reprezenta n aceasta schema; - apar probleme legate de redundanta datelor; - apar probleme legate de actualizarea datelor (nu poate fi introdus un anumit tip de nregistrare daca nu exista nicio realizare a tipului de nregistrare parinte).

Subiectul nr.2

ntr-un oras sunt mai multe cluburi sportive. Fiecare club sportiv are instructori care pregatesc tinerii att pentru sport de performanta ct si pentru sport de ntretinere. Tinerii se nscriu la diverse activitati sportive: fie pentru antrenament, fie pentru competitii sportive (concursuri). Activitatile sportive se desfasoara n sali special amenajate. Cerinte: a) b) Realizati modelul retea pentru scenariul de mai sus. Caracterizati modelul retea si enumerati cteva dezavantaje ale acestuia.

Rezolvare:

Modelul retea pentru situatia prezentata are ca diagrama asociata un graf. Nodurile reprezinta entitati, iar arcele reprezinta asocieri ntre entitati (relatii). ntrun astfel de model, o entitate poate sa aiba conexiuni la mai multi fii si la mai multi parinti: Dezavantaje: - are o complexitate foarte ridicata; - nu se foloseste pentru activitati curente si pentru BD de uz general; modelul este folosit n diferite activitati cu caracter stiintific n care structurarea este mai importanta dect interogarea.

Subiectul nr.3

O scoala doreste sa tina evidenta desfasurarii olimpiadelor ntr-un an scolar. Se doreste obtinerea urmatoarelor informatii: Numarul elevilor care au participat, pe discipline, la faza locala, judeteana, nationala. Numarul premiilor care au fost obtinute, pe discipline. Punctajul maxim realizat la fiecare disciplina si elevii care au realizat acest punctaj.

Cerinte: a) b) Reprezentati grafic modelul conceptual al scenariului de mai sus (diagrama entitati-relatii). Descrieti relatiile dintre entitati.

Rezolvare:

Relatiile dintre entitatile din modelul conceptual asociat scenariului descris sunt de tip 1: 1 (elevipunctaj; premiu-punctaj; olimpiada-disciplina), 1: n (scoala-elev; olimpiada-faza) si n : m (elev-olimpiada; elevfaza; faza-premiu).

Subiectul nr.4

O firma are mai multe sedii. n fiecare sediu se afla mai multe departamente. Un departament apartine unui singur sediu. ntr-un departament lucreaza mai multi angajati. Un angajat poate lucra ntr-un singur departamnet. Fiecare angajat are o singura fisa a postului unde sunt mentionate atributiile din timpul serviciului. Firma gestioneaza mai multe tipuri de produse si exista mai multe tipuri de componente; un produs este format dintr-una sau mai multe componente. Un tip de componenta poate sa apara n structura mai multor produse. Cerinte: a) b) Reprezentati grafic modelul conceptual al scenariului de mai sus (diagrama entitati-relatii). Descrieti relatiile dintre entitati (cardinalitate, optionalitate, alte aspecte).

Rezolvare:

Relatiile dintre entitatile din modelul conceptual asociat scenariului descris sunt de tip 1: 1(angajat-fisa postului), 1: n (firma-sediu; sediu-departament; departament-angajat si firma-produs) si n : m (produscomponenta). Subiectul nr.5 Reteaua de Cai Ferate din Romnia are mai multe regionale. Fiecare regionala dispune de mai multe depouri, gari, agentii de vnzare bilete. Un depou poate fi pentru trenuri de marfa sau pentru trenuri de

calatori. Un tren poate apartine unui singur depou si poate avea una sau mai multe locomotive. O locomotiva poate apartine unui singur tren la un moment dat. Un tren poate fi condus de unul sau mai multi mecanici dar un mecanic conduce doar un singur tren. Fiecare mecanic are un program lunar unic. O legitimatie de calatorie poate fi: abonament, bilet dus-ntors sau bilet simplu si poate fi cumparata de la mai multe agentii. O agentie poate vinde mai multe legitimatii. Fiecare gara are un program de sosiri si plecari pentru fiecare tren n parte. Cerinte: a) b) Reprezentati grafic modelul conceptual al scenariului de mai sus (diagrama entitati-relatii). Descrieti relatiile dintre entitati (cardinalitate, optionalitate, alte aspecte).

Rezolvare: Relatiile dintre entitatile din modelul conceptual asociat scenariului descris sunt de tip 1:1 (gara program_plecare; gara - program_sosire; mecanic - program_lunar; legitimatie_calatorie - abonament; legitimatie_calatorie - bilet_dus_ntors; legitimatie calatorie - bilet_simplu, tren - tren_calatori, tren - tren_marfa ), 1: n (regionala - depou; regionala - gara; regionala - agentie;depou - tren; tren - locomotiva; tren - mecanic; program_plecare - tren; program_sosire - tren), n:m (agentie-legitimatie_calatorie).

Subiectul nr.6

Se considera urmatoarea lista de tabele si structura acestora: LIBRRIE = EDITUR = CARTE = COMAND =

Cerinte: a) Realizati un scenariu corespunzator acestei scheme conceptuale; b) Reprezentati diagrama entitate - relatie si specificati tipul relatiilor dintre entitati (dupa cardinalitate); c) Specificati cheile primare si cheile externe ce rezulta dupa maparea modelului. Rezolvare: ntrun oras sunt mai multe librarii. Pentru a oferi clientilor ct mai multe carti, librariile se aprovizioneaza de la mai multe edituri. Cartile sunt livrate, librariilor, de fiecare editura, pe baza unor comenzi. Comanda contine informatii despre fiecare carte n parte (titlu, autor, pret, numar exemplare), precum si suma pe care trebuie sa o achite libraria. Dupa maparea modelului, pentru entitatea: LIBRRIE - > Cod_Librarie este cheie primara; EDITUR -> Cod_Editura este cheie primara si Cod_Librarie este cheie externa; CARTE -> Autor, Titlu, An_Aparitie este cheie primara compusa, Cod_Editura este cheie externa; COMAND -> Cod_Comanda este cheie primara, Cod_Editura si Cod_Librarie sunt chei externe, iar Autor, Titlu, An_Aparitie este cheie externa compusa;

Relatiile dintre entitatile din modelul conceptual asociat scenariului descris sunt de tip 1 : n (librariecomanda; editura-comanda; comanda-carte), iar relatia de tip n : m (librarie-editura) a fost rezolvata cu ajutorul entitatii de legatura comanda.

Subiectul nr.7 O agentie de turism are un site cu urmatoarea structura:

Cerinte: a) Realizati o lista cu obiectele bazei de date pentru agentia de turism (tabele, formulare, rapoarte); b) Alegeti trei dintre entitatile modelului conceptual; reprezentati relatiile dintre ele si precizati cheile primare si cheile externe care rezulta dupa maparea modelului conceptual. Rezolvare: Obiectele acestei baze de date sunt: Tabele: AGENIE, COMPANIE_HOTELIER, OFERT, CLIENT, ANGAJAT Formulare: Complexe_balneare, Ambasade, Bilete de avion Rapoarte: Tip_oferta (sejur, circuit, cazare, transport, rent_a_car), Destinatie (tara, strainatate), Scop (croaziere, ski, turism, evenimente, litoral, afaceri, revelion, craciun, orice_anotimp)

Relatiile dintre cele trei entitati alese sunt de tip 1 : n (agentie-client; agentie-oferta) si n : m (ofertaclient). Dupa maparea modelului conceptual, vom avea: AGENTIE (cod_agentie, nume, adresa, telefon) -> Cod_agentie este cheie primara; OFERTA (cod_oferta, data_plecare, nr_zile, destinatie, pret, scop, tip_oferta, cod_agentie) ->Cod_oferta este cheie primara; ->Cod_agentie este cheie externa; CLIENT (cod_client, nume, adresa, telefon, cod_oferta, cod_agentie) -> Cod_client este cheie primara; Cod_oferta, Cod_agentie sunt chei externe; Subiectul nr.8 Dndu-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de cte trei instante posibile ale fiecarei entitati n vederea realizarii vanzarii ziarelor si revistelor pe baza de abonament, Departamentul Abonamente al Trustului de presa RomMedia SC trimite la oficiile postale oferta de abonament, cu numele publicatiei, numarul volumului, data aparitiei, pretul, comisionul oferit oficiului postal pentru acest serviciu. Pentru a se abona la orice ziar sau revista, persoanele doritoare trebuie sa furnizeze numele, adresa si eventual un numar de telefon. Abonatii semneaza pentru abonare o chitanta-abonament n care se specifica numele publicatiei, perioada de timp pe care este valabil abonamentul, prin data de nceput si data de sfrsit a abonamentului. Binenteles ca o persoana se poate abona la mai multe publicatii n acelasi timp. Rezolvare: OFICIU_POsTAL (numar, adresa) -> identificatorul unic este atributul numar OFERTA_ABONAMENT (nume_publicatie, nr_volum, data_aparitie, pret, comision) -> identificatorul unic este format din atributele nume_publicatie si nr_volum

ABONAT(nume, adresa, telefon) -> identificatorul unic este format din atributele nume si adresa; atributul telefon este optional CHITANA_ABONAMENT(nr_chitanta, nume_publicatie, data_nceput, data_sfrsit) -> identificatorul unic este format din atributul nr_chitanta Exemple de instante: OFICIU_POSTAL: Numar 16 17 1 Adresa Bdul Iuliu Maniu, nr.61, sect.6 Bdul Iuliu Maniu, nr.124, sect.6 Str. Schitu Magureanu, nr.1, sect.1

OFERTA_ABONAMENT Nume_publicatie Atlas Corpul uman Academia Catavencu Nr_volum 12 140 7 Data_aparitie 29/01/2008 29/01/2008 30/01/2008 Pret 5 8.4 2.5 Comision 3 3 2

ABONAT Nume Ionescu Ion Popescu Virgil Marinescu Robert Adresa Bdul.Regina Elisabeta, nr.1 Str.Polona, nr.40 Soseaua Giurgiului, nr.44, bl.9, ap.12, sect.4 Telefon 021010203

CHITANA_ABONAMENT Nr_ chitanta 123 124 125 Nume_ publicatie Gandul Atlas Corpul uman Data_nceput 01/01/2008 02/01/2008 01/01/2008 Data_sfrsit 12/31/2008 07/31/2008 12/31/2008

Subiectul nr.9 Dndu-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de cte trei instate posibile ale fiecarei entitati. Pentru realizarea planului bugetar, la TVR1 se planifica momentele de difuzare a reclamelor si se tine la zi o baza de date n care acestea se nregistreaza dupa un cod, precizndu-se imaginea reclamei, durata ei (n minute), tipul, clientul. Fiecare client, pentru care s-a nregistrat numele, adresa, codul fiscal, plateste o taxa

de xx$/minut pentru fiecare difuzare a reclamei, dar si postul de televiziune este penalizat din cauza nerealizarilor, conform contractului (penalizarea este yy% din suma reclamei calculata n planul bugetar). Rezolvare: CLIENT (cod_fiscal, nume, adresa) -> identificatorul unic este atributul cod fiscal CONTRACT(cod_fiscal, data_inceput, data_sfarsit, penalizare) -> identificatorul unic este atributul cod fiscal POST_TELEVIZIUNE (nume, adresa, telefon, e_mail) -> identificatorul unic este format din atributul nume; atributul e_mail este optional RECLAMA (cod, imagine, durata, tip_reclama ) -> identificatorul unic este format din atributul cod

Exemple de instante: CLIENT: Cod_fiscal 14659614 14659645 14655514 CONTRACT: Cod_fiscal 14659614 14659645 14655514 Data_inceput 15.05.2003 13.07.2005 23.09.2007 Data_sfarsit 15.08.2003 13.10.2005 23.12.2007 Penalizare 4% 14% Nume Ram SA Evoda SA Telx SA Adresa Bdul Iuliu Maniu, nr.61, sect.6 Bdul Iuliu Maniu, nr.124, sect.6 Str. Schitu Magureanu, nr.1, sect.1

POST_TELEVIZIUNE: Nume TVR1 TVR2 PROTV Adresa Bdul Iuliu Maniu, nr.61, sect.6 Bdul Iuliu Maniu, nr.124, sect.6 Str. Schitu Magureanu, nr.1, sect.1 Telefon 0723443210 0725544321 0725544331 E_mail tvr@yahoo.com Tvr2@yahoo.com protv@yahoo.com

RECLAMA : Cod 23 678 Imagine Ciocolata Detergent Durata 2 min 1 min Tip_reclama publicitate publicitate

2345 Subiectul nr.10

Produse cosmetice

5min

publicitate

Dndu-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de cte trei instate posibile ale fiecarei entitati. Compania de asigurari SunLife SA ofera diferite tipuri de asigurari, pentru bunuri si persoane fizice sau juridice: furt, incendii, explozii, inundatii, cutremure, accident, boala, invaliditate, deces. Fiecare client primeste un cod la semnarea contractului, contract n care sunt precizate si numele clientului, prima anuala de plata, numarul de ani pentru care se face asigurarea, anul din care ncepe asigurarea. Clientul poate prelungi (actualiza) contractul prin plata unei noi prime anuale, dar numai daca plata se face la o data anterioara celei de expirare a contractului deja ncheiat. Pentru o functionare buna, compania de asigurari doreste sa tina evidenta achitarii de catre clienti a primelor anuale pentru fiecate tip de asigurare si anul pentru care s-au achitat. Rezolvare: COMPANIE (id_companie, nume, adresa, telefon, e_mail) -> identificatorul unic este atributul id_companie; atributul e_mail este optional; ANGAJAT (id_angajat, nume, adresa,telefon) -> identificatorul unic este atributul id_angajat; CLIENT(cod, nume, id_contract,asigurare, adresa,telefon, e_mail) -> identificatorul unic este atributul cod; atributul e_mail este optional; CONTRACT (id_contract, data_inceput, data_sfarsit, anul_achitarii, prima_anuala) -> identificatorul unic este atributul id_contract; Exemple de instante: COMPANIE: Id_ companie 23 44 56 Nume Adresa Telefon E_mail

Ram SA Evoda SA Telx SA

Bdul Nicolae Grigorescu, nr.61, sect.3 Bdul Iuliu Maniu, nr.124, sect.6 Str. Unirii, nr.1, sect.1

0723443210 0725544321 0725544331

ram@yahoo.com vr2@yahoo.com ote@yahoo.com

ANGAJAT : Id_angajat 23 Nume Popescu Ion Adresa Bdul Nicolae Grigorescu, nr.61, sect.3 Telefon 0723443810

41 52 CLIENT : Cod Id_

Evoda SA Telx SA

Bdul Iuliu Maniu, nr.124, sect.6 Str. Unirii, nr.1, sect.1

07255484321 0725584331

Nume

Tip_ asigurare bunuri

Adresa

Telefon

E_mail

23

contract 77

Popescu Ion

41

88

Savin Ion

Persoane fizice

52

99

Teodor Vasile

bunuri

Bdul Nicolae Grigorescu, nr.61, sect.3 Bdul Iuliu Maniu, nr.124, sect.6 Str. Unirii, nr.1, sect.1

0723443810

ram@yahoo.com

07255484321

vr2@yahoo.com

0725584331

ote@yahoo.com

CONTRACT: Id_ contract 77 88 99 Data_inceput Data_sfarsit Prima_anuala Anul_achitarii

15.05.2003 13.07.2005 23.09.2007

15.08.2004 13.10.2006 23.12.2009

650 789 555

2003 2005 2006

Subiectul nr.11 Dndu-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de cte trei instate posibile ale fiecarei entitati. Firma de taximetre Express SA are mai multe taxiuri, fiecare taximetru este condus de un singur sofer. La fiecare masina, se nregistreaza kilometrajul la plecarea si la sosirea n/din cursa. Baza de date trebuie sa contina informatii despre: codul de identificare al fiecarei masini, soferul care o conduce, tipul de masina, tariful/km, tariful de pornire si tariful de stationare, starea masinii (functionala/defecta), data ultimei revizii tehnice. Fiecare sofer primeste la angajare un cod, precizndu-se si numele si prenumele, data nasterii, adresa de domiciliu si obligatoriu un numar de telefon mobil, pentru contactare n caz de urgenta. Fiecare cursa efectuata de masinile firmei trebuie sa contina codul de identificare al masinii, data, numarul de kilometri de la nceputul cursei si numarul de kilometri de la sfrsitul cursei. Rezolvare: FIRMA (id_firma, denumire, adresa, telefon, e_mail) -> identificatorul unic este atributul id_firma; atributul e_mail este optional MASINA (cod, tip, stare_tehnica,data_revizie) -> identificatorul unic este atributul cod CURSA (id_cursa, data_cursa, km_inceput_cursa, km_sfarsit_

cursa) -> identificatorul unic este atributul id_cursa; SOFER (cod, nume, prenume, data_nasterii, adresa, telefon_mobil) -> identificatorul unic este atributul cod TARIF (id_tarif, tarif_km, tarif_pornire,tarif_stationare) -> identificatorul unic este atributul id_tarif

Exemple de instante: FIRMA: id_firma 1234 3221 5432 Denumire Alfa Taxi Aris Taxi Avantaj Taxi Adresa Bucuresti Bucuresti Bucuresti Telefon (021)9481 (021)94691 (021)94519 E_mail aris_taxi@yahoo.com avantaj_taxi@yahoo.com

MASINA : Cod 23 12 17 CURSA : id_cursa 34 55 22 sOFER : cod 23 12 14 nume Popescu Vasile Moise prenume Ion Marin Nicolae data_nasterii 12.05.1965 12.05.1978 15.06.1966 adresa Patrascanu 13 Unirii 34 Grigorescu 33 telefon_mobil 0723435678 074563423 0723544432 data_cursa 12.06.2007 16.06.2007 12.04.2007 km_inceput_cursa 12988 5655 2500 km_sfarsit_cursa 1300 5670 2524 tip Dacia1300 Matiz Dacia Logan stare_tehnica functionala functionala functionala data_revizie 12.03.2007 3.09.2007 21.08.2006

TARIF : id_tarif 2 3 tarif_km 34 12 tarif_pornire 3 4 tarif_stationare 1 2

12

Subiectul nr.12 Serviciul de posta electronica permite unui utilizator sa aiba unul sau mai multe conturi ; pentru fiecare cont, utilizatorul primeste datele de identificare : username si password. Un mesaj este transmis de un utlizator-expeditor catre unul sau mai multi utilizatori-destinatari. Fiecare utilizator si poate organiza corespondenta (mesajele) n foldere. Proiectantul modelului conceptual propune entitatile UTILIZATOR si MESAJ cu urmatoarele liste de atribute : UTILIZATOR user-id nume varsta numar-conturi user_name parola datainregistrarii

MESAJ mesaj_id Cerinte: 1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul. 2 Corectati abaterile de la regulile de normalizare, modificnd corespunzator modelul. 3 Stabiliti relatiie dintre entitati si carateristicile acestor relatii. Rezolvare: a) Entitatea UTILIZATOR nu respecta forma a doua normala (FN2) deoarece atributele user_nume, parola si data_nregistrarii sunt specifice contului utilizatorului. Vom crea o noua entitate CONT cu atributele user_nume, parola si data_nregistrarii ce va avea ca identificator unic atributul user_name. Atributul vrsta din atributul data_nasterii. entitatea UTILIZATOR fiind un atribut volatil va fi nlocuit cu data-expedierii nume-expeditor nume-destinatar

Entitatea MESAJ nu respecta forma a doua normala (FN2). Deoarece utilizatorul poate primi sau poate trimite un mesaj va fi creata o noua entitate TIP_MESAJ cu atributul tip_mesaj. n acest sens, cnd mesajul este trimis, utilizatorul este expeditor, iar cnd mesajul este primit, utilizatorul este destinatar. b) Modelul devine: UTILIZATOR user-id CONT user_name TIP_MESAJ parola data-inregistrarii nume data_nasterii numar-conturi

tip_mesaj MESAJ mesaj_id data

c) Relatiile ntre entitati sunt urmatoarele: UTILIZATOR - CONT relatie 1 : M CONT - MESAJ relatie M : M rezolvata cu ajutorul entiatii TIP_MESAJ CONT - MESAJ relatie 1 : M MESAJ - TIP_MESAJ relatie 1 : M Subiectul nr.13 n modelul conceptual pentru proiectarea bazei de date a unei scoli exista entitatile ELEV si sCOALA cu urmatoarele liste de atribute: ELEV cod_elev nume vrsta numeleparintilor locul de munca clasa adresa_ scolii numeledirigintelui

sCOAL cod_ scoala Cerinte: 1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul. 2 Corectati abaterile de la regulile de normalizare, modificnd corespunzator modelul. 3 Stabiliti relatiie dintre entitati si carateristicile acestor relatii. Rezolvare: a) Entitatea ELEV nu respecta prima forma normala (FN1) deoarece atributul adresa_ scolii depinde de entitatea sCOAL. Atributele numele_parintilor si locul de munca au valori multiple si sunt specifice entitatii parinte. Atributul vrsta din entitatea ELEV, fiind un atribut volatil, va fi nlocuit cu atributul data_nasterii. Entitatea sCOALA nu respecta a treia forma normala (FN3) deoarece atribele CNP_ director si nume_director apartin entitatii Angajat care are UID atributul CNP (tranzitivitate). b)Modelul devine denumire_ scoala numar_ elevi numar_ clase numedirector CNP_director

ELEV cod_elev CLASA id_clasa PRINTE nume sCOAL cod_scoala ANGAJAT CNP nume functie denumire_scoala numar_elevi numar_clase adresa loc de munca Nume data_nasterii

c)Relatiile ntre entitati sunt urmatoarele: ELEV - PARINTE relatie 1 : M sCOAL - ANGAJAT relatie 1 : M sCOAL - ELEV relatie 1 : M CLASA -ELEV relatie 1 : M sCOAL - CLASA relatie 1 : M Subiectul nr.14 n modelul conceptual pentru proiectarea bazei de date a unei firme de transport marfuri exista entitatile sOFER si MAsIN cu urmatoarele liste de atribute : sOFER cod_ sofer MAsIN cod_ masina nume_ sofer denumire_ marfa capacitate_ masina cantitate_ marfa nume vrsta telefon adresa starea_ masinii kilometraj

Un sofer este trimis n cursa pe oricare dintre masinile disponibile in urma reviziei tehnice care stabileste starea masinii: foarte buna sau necesita reparatii. O masina poate transporta orice tip de marfa, exemplu : mobila, materiale de constructii, aparate electrocasnice etc. Cerinte:

1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul. 2 Corectati abaterile de la regulile de normalizare, modificnd corespunzator modelul. 3 Stabiliti relatiie dintre entitati si carateristicile acestor relatii. Rezolvare: a) Entitatea sOFER nu respecta forma normala unu (FN1) deoarece atributele starea_masinii si kilometraj apartin entitatii MAsIN. Atributul vrsta din entitatea sOFER fiind un atribut volatil va fi nlocuit cu atributul data_nasterii. Entitatea MAsIN nu respecta forma normala trei (FN3) deoarece atributele denumire_marfa si cantitate nu apartin entitatii MASINA ci apartin entitatii MARFA (tranzitivitate cantitate_marfa depinde de denumire_marfa care depinde de cheia primara) care va avea UID id_marfa. Nu este respectata nici forma a treia normala (FN3) deoarece atributul cantitate_marfa depinde de atributul denumire_marfa (dependenta tranzitiva) b) Modelul devine: sOFER cod_sofer Nume data_nasterii telefon adresa

MAsIN cod_masina FISA_PONTAJ data kilometraj capacitate _masina stare_masina data_revizie

MARF id_marfa denumire cantitate

c) Relatiile ntre entitati sunt urmatoarele: sOFER - MAsIN relatie M : M rezolvata cu ajutorul entiatii FIsA_PONTAJ MAsIN - MARF relatie 1 : M sOFER - FIsA_PONTAJ relatie 1 : M

MAsIN - FIsA_PONTAJ relatie 1 : M Subiectul nr.15 n modelul conceptual pentru proiectarea bazei de date a unei biblioteci exista entitatile CITITOR si CARTE cu urmatoarele liste de atribute : CITITOR cod_ cititor nume vrsta adresa titlul_ cartilor_ mprumutate CARTE cod_ carte Cerinte: 1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul. 2 Corectati abaterile de la regulile de normalizare, modificnd corespunzator modelul. 3 Stabiliti relatiie dintre entitati si carateristicile acestor relatii. Rezolvare: a) Entitatea CITITOR nu respecta forma normala unu (FN1) deoarece atributul titlul_cartilor_mprumutate apartine entitatii CARTE. Nu respecta nici forma normala 2 (FN2) deoarece data_imprumut este UID - pentru entitatea FIsA_CITITOR - entitate care rezolva relatia M:M dintre entitatea CARTE si entitatea CITITOR. Atributul vrsta din entitatea CITITOR fiind un atribut volatil va fi nlocuit cu atributul data_nasterii. Entitatea CARTE nu respecta forma normala unu (FN1) deoarece atributul DOMENIU are valori multiple devenind entitate. Nu este respectata nici forma a treia normala (FN3) deoarece atributul anul_nasterii depinde de atributul autor (dependenta tranzitiva) genernd o noua entitate AUTOR cu atributele (cod_autor, nume, an_nastere) b) Modelul devine: CITITOR cod_cititor nume data_nasterii adresa autor anul nasterii pret domeniu anul_ aparitiei numar_ exemplare data_ mprumutului

CARTE

cod_ carte

titlul_ cartilor_ mprumutate

pret

an_ aparitie

numar_ exemplare

FIsA_CITITOR data_mprumut data_restituire

AUTOR cod_autor DOMENIU nume Nume an_nastere

c) Relatiile ntre entitati sunt urmatoarele: CITITOR - CARTE relatie M : M rezolvata cu ajutorul entiatii FIsA_CITITOR CARTE - AUTOR relatie 1 : M CARTE - DOMENIU relatie 1 : M CITITOR- FIsA_CITITOR relatie 1 : M CARTE - FIsA_CITITOR relatie 1 : M Subiectul nr.16 n modelul conceptual pentru proiectarea bazei de date a unei agentii de turism exista entitatile TURIST si PACHET_TURISTIC cu urmatoarele liste de atribute : TURIST cod_turist nume destinatia nr_de_telefon forma_de_plata

PACHET_TURISTIC cod_pachet pret Durata data_plecarii numele-oraselor tara

Agentia de turism ofera clientilor pachete turistice n diverse tari. Clentii pot plati costul pachetului cu card sau n numerar. Cerinte:

1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul. 2 Corectati abaterile de la regulile de normalizare, modificnd corespunzator modelul. 3 Stabiliti relatiie dintre entitati si carateristicile acestor relatii. Rezolvare: a) Entitatea TURIST nu respecta forma normala unu (FN1) deoarece atributele destinatia, si forma de plata sunt entitati. Entitatea PACHET TURISTIC nu respecta forma normala unu (FN1) deoarece atributul numeleoraselor este multiplu si determina o noua entitate oras. Nu este respectata nici forma a doua normala (FN2) deoarece atributele data_plecarii si tara apartin entitatii DESTINATIE ( data plecarii este UID pentru DESTINATIE).

Modelul devine: TURIST Cod_turist nume

PACHET TURISTIC Cod_pachet DESTINAIE data_plecarii ORAs nume_oras FORMA DE PLATA Tip_plata c)Relatiile ntre entitati sunt urmatoarele: ara pret Durata

TURIST - PACHET TURISTIC relatie M : M rezolvata cu ajutorul entiatii DESTINAIE DESTINAIE - ORAs relatie 1 : M PACHET TURISTIC - FORM DE PLAT relatie 1 : M TURIST - DESTINAIE relatie 1 : M PACHET TURISTIC - DESTINAIE relatie 1 : M Subiectul nr.17

Angajatii unui post TV trebuie sa asigure patru ture pentru programul zilnic al postului. Unii angajati pot avea o zi libera pe saptamna. Nici un angajat nu poate fi solicitat n mai multe ture zilnic. n fiecare saptamna, planificarea turelor se schimba n functie de grila de programe. Cerinte: Sa se determine daca tabelele de mai jos, din cadrul modelului fizic al bazeide date, respecta restrictiile de integritate. Justificati raspunsul. ANGAJAI (AGT) Id Nume Prenume 5 Petre Alin 7 Alexe Ion 9 Marcu Maria 10 Mihai Ana 11 Duta stefan

Data_nasterii 2-IUL-77 14-AUG-80 21-NOV-78 23-SEP-89 15-APR-90

Salariu 1500 900 RON 1400 1700 700 +5%

Functie producator operator regizor montaj regizor platou recuziter

TURE (TRA) Rezolvare: Cod Descriere 1 1.00 - 7.00 Modelul relational respecta trei reguli de integritate structurala. 2 7.00 - 13.00 3 13.00 - 19.00 Regula 1 (unicitatea cheii) nu este respectata pentru ca valorile cheii primare Data ale 4 19.00 - 1.00 tabelei planificari_ture nu sunt unice. PLANIFICRI_TURE (PTE) Data 2-DEC07 2-DEC07 2-DEC07 2-DEC07 2-DEC07 2-DEC07 2-DEC07 3-DEC07 9 2 2 5 3 11 Subiectul nr.18 La un restaurant, directorul compartimentului de productie a stabilit urmatoarea regula: comenzile sunt preluate de catre chelneri si transmise bucatarilor. Aceiasi chelneri iau apoi preparatele si le servesc clientilor. Cerinte: 10 1 9 3 17 2 Agt_id 5 Tra_cod 1 Regula 2 (integritatea entitatii) este respectata pentru ca valorile cheilor primare sunt diferite de valoarea null. Regula 3 (integritatea referirii) nu este respectata pentru ca. n tabela planificari_ture, cheia externa agt_id are valoarea 17 care nu corespunde niciunei valori a cheii primareid din tabela angajati.

Sa se determine daca tabelele de mai jos, din cadrul modelului fizic al bazeide date, respecta restrictiile de integritate.Justificati raspunsul. COMENZI (CMA) Numar Data 1 12-NOV-07 2 12-NOV-07 1 12-NOV-07 3 13-NOV-07 4 13-NOV-07 5 14-NOV-07 ANGAJAI (AGT) Id Nume Prenume 5 Stan Emil 6 Groza Maria 9 10 Petre Mihai Andrei George

Timp 10.30 11.00 11.30 10.30 13.50 12.30

Agt_id 6 10 10 5 6

Data_nasterii 2-IUL-77 14-AUG-80 21-NOV-78 23-SEP-89

Salariu 1500 700 LEI 900 700

Spor 5

Pregatire

Buget 25000 14000

Venit 14000 12000

Plata_ora

Patiser 5

11

Ion

Ion

15-APR-90

RON 600

20

Rezolvare: Modelul relational respecta trei reguli de integritate structurala. Regula 1 (unicitatea cheii) nu este respectata pentru ca valorile cheii primare Numar ale tabelei Comenzi nu sunt unice. Regula 2 (integritatea entitatii) este respectata pentru ca valorile cheilor primare sunt diferite de valoarea null. Regula 3 (integritatea referirii) este respectata; cheaia externa agt_id a tabelei Comenzi contine valori ce au valori corespunzatoare n cheia primara id din tabela angajati sau sunt null.

Subiectul nr.19 La cantina unui spital masa este servita n mod diferit. Pentru bolnavii cu regim, n functie de afectiuni, iar pentru restul internatilor si pentru personalul spitalului, un meniu comun. Cerinte: Sa se determine daca tabelele de mai jos, din cadrul modelului fizic al bazeide date, respecta restrictiile de integritate. Justificati raspunsul. MENIURI_COMUN (MCN) Cod Descriere 1 Tocatura 2 Salate 3 Desert 4 Mic dejun 5 Cina MENIURI_REGIM (MRM) Cod Tip_boala 1 Diabet 2 Cardiopatie 3 Hepatita 4 Enterocolita 5 Colita 6 Oreion 7 arterita

PREPARATE (PPT) Cod Descriere 1 Ceai sunatoare 2 Orez cu lapte 3 Escalop 7 Savarina 8 Sarmale

Pret 0,7 1,2 4,5 2 RON 2,5

Mrm_cod 4 3 1 1

Mcn_cod 2 5 6

Rezolvare:

Modelul relational respecta trei reguli de integritate structurala. Regula 1 (unicitatea cheii) este respectata deoarece toate cheile primare (mcn.cod, mrm.cod, ppt.cod) au valori unice. Regula 2 (integritatea entitatii) este respectata pentru ca toate valorile cheilor primare sunt diferite de valoarea null.

Regula 3 (integritatea referirii) nu este respectata pentru ca. n tabela preparate, cheia externa mcn_cod contine valoarea 6 ce nu corespunde niciunei valori a cheii primare cod din tabela meniuri_comun.

Subiectul nr.20 Pentru stocarea datelor referitoare la elevii unei clase va fi creat si completat cu nregistrari un tabel ca cel din exemplul urmator: ELEVI

Numar matricol 437

Nume Popescu

Prenume Alin

Adresa Str. nr.135

Baicului,

Data nasterii 13.02.2007

a) Construiti, ca n exemplu, tabela necesara pentru stocarea datelor referitoare la obiectele dintr-un muzeu. Obiectele de arta pot fi sculpturi sau picturi si sunt caracterizate de: titlu, autor, anul n care au fost create, poza, mediul propice de depozitare, valoare, stare, descriere, data achizitionarii si valoarea la achizitionare. b) Completati tabelul cu 5 nregistrari. c) Specificati tipul datelor din fiecare coloana a tabelului. d) Construiti un scenariu care sa necesite modificarea unei instante; e) Scrieti n limbajul de programare studiat, instructiunea de creare a tabelului descris la cerinta a). f) Scrieti n limbajul de programare studiat, instructiunea de modificare a unei instante corespunzator cerintei d). Rezolvare: a) - b) Numar opera 214 300 124 512 100 Poza 1.jpg 2.jpg 3.jpg 4.jpg Tip opera pictura pictura sculptura Titlu Car cu boi Gioconda fara de pe Autor Nicolae Grigorescu Leonardo Vinci Constantin Brncusi Anul crearii 1899 da 1505 1937 1925 1913

Coloana de sfrsit Portret pictura fetita Femeie pictura fotoliu Mediul de depozitare uscat, 22 grade uscat, 18 grade uscat, 24 grade luminozitate, 21

Nicolae Tonitza Pablo Picasso Stare f.buna deteriorat buna medie

Valoare 12140 123140 15500 9200

5.jpg

grade uscat, 18 grade Descriere

58000

f.buna Data achizitionarii Valoarea achizitiei 52940

unul dintre subiectele rustice face parte din seria "Care cu boi pe drumuri prafuite de tara" pictura celebra reprezentnd o femeie cu expresie gnditoare si un surs abia schitat; este o pictura n ulei pe lemn de plop cu dimensiunile 77x53 cm; este expus la Muzeul Luvru din Paris este opera sa principala, fiind una dintre cele mai admirate sculpturi ale secolului; este austera si perfect echilibrata; are 16 elemente care cntaresc 14226 kg dimensiuni 18,5x14; este pictat n ulei pe carton stilul este cubist; este accentuata diferenta dintre suprafata tabloului si relieful obiectelor prezentate c) numar obiect - Numeric tip obiect - sir de caractere Titlu - sir de caractere Autor - sir de caractere Anul crearii - Numeric Poza-General(FOX),BLOB(ORACLE) Mediul de depozitare - sir de caractere Valoare - Numeric Stare - sir de caractere Descriere - sir de caractere Data achizitionarii - Data calendaristica Valoare la achizitionare - Numeric d) n 1956, partea inferioara a tabloului "Gioconda" sufera daune serioase n urma unui atentat cu o solutie acida iar, la cteva luni mai trziu, un vizitator a aruncat n el cu o piatra. Tabloul este restaurat, deci starea lui actuala este foarte buna. 1914

1913

760000

1940

214000

2007 1928

106000 63000

e) ORACLE CREATE TABLE muzeu( nr_opera tip titlu autor an_creare poza mediu_dep valoare stare descriere data_achiz val_achiz FOXPRO CREATE TABLE muzeu( nr_opera N(4), tip C(15), titlu C(100), autor C(50), an_creare N(4), poza G, mediu_dep C(50), valoare N(10), stare C(50), descriere M, data_achiz D, val_achiz N(10)) f) ORACLE UPDATE muzeu SET stare='f.buna' WHERE trim(BOTH ' ' FROM lower(titlu))='gioconda' AND trim(BOTH ' ' FROM lower(autor)) = 'leonardo da vinci' FOXPRO REPLACE stare WITH "f.buna" for alltrim(lower(titlu))="gioconda" and alltrim(lower(autor))="leonardo da vinci" Subiectul nr.21 Pentru stocarea datelor referitoare la elevii unei clase va fi creat si completat cu nregistrari un tabel ca cel din exemplul urmator: NUMBER PRYMARY KEY, VARCHAR2(15), VARCHAR2(100); VARCHAR2(50), NUMBER, BLOB VARCHAR2(50), NUMBER, VARCHAR2(50), VARCHAR2(2000), DATE, NUMBER);

ELEVI Numar matricol 437 Nume Popescu Prenume Alin Adresa Str. nr.135 Data nasterii 13.02.2007

Baicului,

a) Construiti, ca n exemplu, tabela necesara pentru stocarea datelor referitoare la vasele fluviale utilizate de o firma de transport. Exista doua tipuri de vase de transport: pentru marfuri sau pentru pasageri. Fiecare vas este caracterizat prin nume, capacitate totala, lungime, pescaj, viteza de deplasare, data fabricatiei, portul de baza si portul n care a fost nregistrat, poza, valoare si compania de asigurari. b) Completati tabelul cu 5 nregistrari. c) Specificati tipul datelor din fiecare coloana a tabelului. d) Construiti un scenariu care sa necesite stergerea unei instante; e) Scrieti n limbajul de programare studiat, instructiunea de creare a tabelului descris la cerinta a). f) Scrieti n limbajul de programare studiat, instructiunea de stergere a unei instante corespunzator cerintei d). Rezolvare: a) - b) Cod vas 25 72 12 44 20 Lungime 4 9 3.5 7 10 Port nregistrare Tulcea Orsova Giurgiu Calarasi, Braila c) Cod vas - Nmeric Tip vas pasageri marfuri pasageri pasageri marfuri Pescaj 232 1289 620 2045 5900 Poza 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg Nume vas PASAGER1 MARFA1 PASAGER2 PASAGER3 MARFA2 Viteza de deplasare 80 50 85 80 60 Valoare 98234 52000 54900 29300 23000 asigurare BCR Asigurari Asirom Astra Asigurari Asiban BCR Asigurari Capacitate totala 12543 45699 8934 15522 59800 Data fabricatiei 2 iulie 1975 5 mai 1981 22 iunie 1985 1 septembrie 1972 1 aprilie 1965 Companie de

Portul de baza Giurgiu Drobeta Turnu Severin Turnu Magurele Oltenita Galati

Tip vas - sir de caractere Nume vas - sir de caractere Capacitate totala - Numeric Lungime - Numeric Pescaj - Numeric Viteza de deplasare - Numeric Data fabricatiei - Data calendaristica Portul de baza - sir de caractere Port nregistrare - sir de caractere Poza GENERAL(FOX) / BLOB(ORACLE) Valoare - Numeric Companie de asigurari - sir de caractere d) Constatnd ca n ultimele luni, vasele care sunt construite nainte de 1970 necesita mari cheltuieli cu ntretinerea, firma de transport hotaraste sa le vnda. e) ORACLE CREATE TABLE firma_transport( cod_vas tip nume capacitate lungime pescaj vitez_depl data_fabr port_baza port_inreg NUMBER PRYMARY KEY, VARCHAR2(15), VARCHAR2(100); NUMBER, NUMBER, NUMBER, NUMBER, DATA, VARCHAR2(50), VARCHAR2(50),

poza valoare comp_asig FOXPRO

BLOB NUMBER, VARCHAR2(100));

CREATE TABLE firma_transport( cod_vas N(4), tip C(15), nume C(100), capacitate N(10), lungime N(2), pescaj N(10), vitez_depl N(3), data_fabr D, port_baza C(50), port_inreg C(50), poza G, valoare N(12), comp_asig C(100)) f) ORACLE DELETE FROM firma_transport WHERE to_number(to_char(data_fabr,'YYYY'))<1970 FOXPRO DELETE for year(data_fabr)<1970 PACK Subiectul nr.22 Pentru stocarea datelor referitoare la elevii unei clase va fi creat si completat cu nregistrari un tabel ca cel din exemplul urmator: ELEVI Numar matricol 437 Nume Popescu Prenume Alin Adresa Str. nr.135 Data nasterii 13.02.2007

Baicului,

a) Construiti, ca n exemplu, tabela necesara pentru stocarea datelor referitoare la masinile care fac parte din parcul auto al unei scoli de soferi. O masina este caracterizata prin numar de nregistrare, tip, serie si numar sasiu, data fabricatiei, firma producatoare, culoare, poza, pret de achizitie, numele si prenumele instructorului ce o foloseste. O masina poate fi utilizata de un singur instructor. b) Completati tabelul cu 5 nregistrari. c) Specificati tipul datelor din fiecare coloana a tabelului. d) Construiti un scenariu care sa necesite modificarea unei instante; e) Scrieti n limbajul de programare studiat, instructiunea de creare a tabelului descris la cerinta a). f) Scrieti n limbajul de programare studiat, instructiunea de modificare a unei instante corespunzator cerintei d). Rezolvare:

a) - b) Numar de nregistrare 12 34 30 70 29 Firma producatoare DAEWOO FIAT DACIA FORD DAEWOO c) Numar de nregistrare - Numeric Tip - sir de caractere Serie si numar sasiu - sir de caractere Data fabricatiei - Data calendaristica Firma producatoare - sir de caractere Culoare - sir de caractere Poza - GENERAL(FOX) / BLOB(ORACLE) Pret de achizitie - Numeric Numele si prenumele instructorului - sir de carcatere d) ntr-o zi, n Piata Iancului, un sofer neatent n trafic, loveste masina instructorului Irimia Claudiu. Elevul si instructorul nu patesc nimic, dar masina este foarte avariata n partea dreapta spate. n service se constata ca nu se mai gaseste culoarea initiala si se decide schimbarea ei alegndu-se culoarea rosie. e) ORACLE CREATE TABLE scoala_soferi( nr_inreg tip sasiu NUMBER PRYMARY KEY, VARCHAR2(15), VARCHAR2(20); Tip MATIZ FIAT LOGAN FIESTA CIELO Culoare rosu verde alba neagra alb29 Serie si numar sasiu RW151902349 QA1900238730 XY2901349295 GT2087392172 HJ1980267374 Poza 1.jpg 2.jpg 3.jpg 4.jpg 5.jpg Pret de achizitie 9700 7550 8200 10450 8100 Data fabricatiei 12 iulie 2006 15 ianuarie 2002 7 noiembrie 2004 14 februarie 2003 15 octombrie 2003 Nume si prenume instructor Ionescu Ionel Dobre Aurel Matei Daniel Ilies Marius Irimia Claudiu

data_fabr firma culoare poza pret_achiz nume_instr FOXPRO

DATE, VARCHAR2(20), VARCHAR2(10), BLOB NUMBER, VARCHAR2(50));

CREATE TABLE scoala_soferi( nr_inreg N(4), tip C(15), sasiu C(20), data_fabr D, firma C(50), culoare C(10), poza G, pret_achiz N(10), nume_instr C(50)) f) ORACLE UPDATE scoala_soferi SET culoare='rosie' WHERE trim(BOTH ' 'FROM lower(nume_instr))='irimia claudiu'; FOXPRO REPLACE culoare WITH "rosie" for alltrim(lower(nume_instr))='irimia claudiu" Subiectul nr.23 Esti informaticianul Colegiului SUPERPRO si tii evidenta tuturor elevilor ntr-o tabela cu urmatoarea structura: COD ELEV 4n NUME ELEV 10 PRENUME ELEV 10 CLASA MEDIE GENERALA 2n.2n PROMOVAT La nceputul anului scolar, trebuie sa actualizezi cmpul clasa (daca elevul a promovat) si sa scoti din tabela elevii care au fost n

2n

1n

clasa a 12-a. Rezolva urmatoarele cerinte: a) Construieste 5 instante corespunzatoare scenariului prezentat; b) Scrie, in limbjul de programare studiat, instructiunile prin care vor fi realizate operatiile cerute la nceputul anului scolar. c) Aplica operatiile cerute la nceputul anului scolar celor 5 instante construite la cerinta a). Rezolvare:

COD ELEV 4n COD ELEV 213 12 1005 700 120

NUME ELEV 10 NUME ELEV Ionescu Popescu Barbu Mirica Moise

PRENUME ELEV 10 PRENUME ELEV Alina Dan Doris Irina Claudiu

CLASA

MEDIE GENERALA 2n.2n MEDIE GENERALA 9.36 4.29 4.50 7.15 8.20

PROMOVAT

a) b)

2n CLASA 12 9 12 10 11

1n ORACLE PROMOVAT 1 0 0 1 1 DELETE FROM superpro WHERE clasa=12 AND promovat=1; UPDATE superpro

SET medie=0 WHERE promovat=0 UPDATE superpro SET clasa=clasa+1, promovat=0, medie=0 WHERE promovat=1; FOXPRO USE superpro DELETE all FOR clasa=12 AND promovat=1 PACK REPLACE medie WITH 0 all FOR promovat=0 REPLACE clasa WITH clasa+1, promovat WITH 0, medie WITH 0 all FOR promovat=1 c) Cod elev 12 1005 700 120 COD FILM 4n Nume elev Popescu Barbu Mirica Moise TITLU FILM 15 Prenume elev Dan Doris Irina Claudiu ANUL LANSARII 4n Medie Clasa Subiectul nr.24

Promovat Compania de filme GOLDEN generala MAYER tine evidenta filmelor 9 0 0 realizate de ea, in tabela FILME cu 12 0 0 urmatoarea structura: 11 0 0 12 0 0 Esti directorul DIRECTIEI IT din compania GOLDEN ACTOR PREMIUL COSTUL MAYERsi trebuie sa PRINCIPAL REALIZARII transmiti managerului 15 10 5n.5n cteva situatii.

Rezolva urmatoarele cerinte: a) Construieste 5 instante corespunzaoare scenariului prezentat;

b )Scrie, in lmbajul de programare studiat, comenzile care sa determine n cte filme a jucat Marlyn Monroe n anul 1959 si care sunt filmele care au obtinut premiul OSCAR; generalizare pentru orice tip de premiu. c)Precizeaza comenzile prin executia carora determinam: - care sunt primele 10 filme cele mai " costisitoare "; - care este costul total pentru realizarea celor 10 filme. Rezolvare: a) Cod Titlu film film 114 Tom&Jerry 250 Pe aripile vntului 2143 Cntnd n ploaie 1572 Taxi Driver 640 Niagara Actor principal Premiul OSCAR Clark Gable OSCAR Gene Kelly Jodie Foster OSCAR Marlyn Monroe b) ORACLE SELECT COUNT(COD_FILM) "Numar filme" FROM filme WHERE trim(BOTH ' ' FROM lower(actor_principal)) ='marlyn monroe'AND an_lansare=1959; SELECT titlu_film FROM filme WHERE trim(BOTH ' ' FROM upper(premiu))='OSCAR' FROM lower(actor_principal))='marlyn monroe'; AND trim(BOTH ' ' Anul lansarii 1940 1942 1952 1976 1953 Costul realizarii 57132.50 83715 12834.90 17540 37291

generalizare SELECT titlu_film FROM filme WHERE premiu IS NOT NULL AND trim(BOTH ' ' FROM lower(actor_principal))='marlyn monroe'; FOXPRO USE filme

CALCULATE CNT() TO nr_filme FOR lower(alltrim(act_princ))="marlyn monroe" AND an_lansare=1959 LIST titlu_film ALL FOR upper(alltrim(premiu))="OSCAR" AND lower(alltrim(act_princ))="marlyn monroe" generalizare LIST titlu_film ALL FOR alltrim(lower(act_princ))="marlyn monroe" AND premiu!="" c) 1. ORACLE SELECT titlu_film FROM filme WHERE ROWNUM<=10 ORDER BY cost DESC; FOXPRO USE filme SORT TO costisitor ON cost /D FIELDS titlu_film USE costisitor LIST NEXT 10 2. ORACLE SELECT SUM(cost) "Cost total" FROM filme WHERE ROWNUM<=10 ORDER BY cost DESC; USE costisitor CALCULATE SUM(cost) TO x FOR recno()<=10 ?x Subiectul nr.25

Agentia de turism VISIT ROMANIA tine evidenta biletelor de avion solicitate de clienti n tabela BILETE cu urmatoarea structura: COD BILET NUME PASAGER PRENUME PASAGER DESATINAIA PRE DATA ZBOR

Esti angajatul agentiei. Zilnic esti solicitat de managerul agentiei sa oferi diverse informatii n legatura cu zborurile care se efectueaza. Rezolva urmatoarele cerinte: a) Construieste 5 instante corespunzatoare scenariului prezentat; ; b)Scrie comenzile care calculeaza si afiseaza suma medie realizata n urma vnzarii biletelor n luna decembrie ( suma medie = suma biletelor vndute / nr zile din luna ); c)Prezinta comenzile prin care se afla toate biletele vndute de agentie cu destinatia Paris; generalizare pentru orice oras destinatie. Rezolvare: a) Cod Nume pasager bilet 19324 Ionescu 23005 Vladescu 12009 Ivan 10004 Iures 10014 Popescu Destinatia Pret Paris 320 New York 1240 Londra 870 Roma 240 Madrid 815 b) ORACLE SELECT SUM(pret)/31 "Suma medie" FROM visit WHERE TO_NUMBER(TO_CHAR(data_zbor,'MM'))=12; FOXPRO USE visit CALCULATE SUM(pret) to p FOR month(data_zbor)=12 Prenume pasager Ana Mirela Claudia Irina Gabriel, Data zbor 5 iulie 2008 18 august 2008 5 aprilie 2008 12 februarie 2008 1 martie 2008

?p/12 c) ORACLE SELECT * FROM visit WHERE trim(BOTH ' ' FROM upper(destinatie))='PARIS' FOXPRO LIST ALL FOR upper(alltrim(destinatie))="PARIS" generalizare ORACLE ACCEPT oras PROMPT 'Destinatia:' SELECT * FROM visit WHERE trim(BOTH ' ' FROM upper(destinatie))=trim(BOTH ' ' FROM upper(&o)); FOXPRO ACCEPT 'Destinatia' TO oras LIST ALL FOR upper(alltrim(destinatie))=upper(alltrim(oras))

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