Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




BAZE DE DATE SUBIECTE REZOLVATE

Informatica


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)      Realizati modelul ierarhic pentru scenariul de mai sus.

b)      Caracterizati modelul ierarhic si enumerati câteva 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 atât pentru sport de performanta cât 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)      Realizati modelul retea pentru scenariul de mai sus.

b)      Caracterizati modelul retea si enumerati câteva 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 decât 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)      Reprezentati grafic modelul conceptual al scenariului de mai sus (diagrama entitati-relatii).

b)      Descrieti relatiile dintre entitati.

Rezolvare:

Relatiile dintre entitatile din modelul conceptual asociat scenariului descris sunt de tip (elevi-punctaj; premiu-punctaj; olimpiada-disciplina), 1: n (scoala-elev; olimpiada-faza) si n : m (elev-olimpiada; elev-faza; 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)      Reprezentati grafic modelul conceptual al scenariului de mai sus (diagrama entitati-relatii).

b)      Descrieti relatiile dintre entitati (cardinalitate, optionalitate, alte aspecte).

Rezolvare:


Relatiile dintre entitatile din modelul conceptual asociat scenariului descris sunt de tip (angajat-fisa postului 1: n (firma-sediu; sediu-departament; departament-angajat si firma-produs) si n : m (produs-componenta).

Subiectul nr.5

Reteaua de Cai Ferate din România are mai multe regionale. Fiecare regionala dispune de mai multe depouri, gari, agentii de vânzare 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)      Reprezentati grafic modelul conceptual al scenariului de mai sus (diagrama entitati-relatii).

b)      Descrieti relatiile dintre entitati (cardinalitate, optionalitate, alte aspecte).

Rezolvare:

Relatiile dintre entitatile din modelul conceptual asociat scenariului descris sunt de tip (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:

LIBRĂRIE =

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 cât 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:

LIBRĂRIE - > 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 (librarie-comanda; 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: AGENŢIE, 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 (oferta-client).

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

Dându-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de câte 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 sfârsit a abonamentului. Bineînteles 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

CHITANŢA_ABONAMENT(nr_chitanta, nume_publicatie, data_început, data_sfârsit)

-> identificatorul unic este format din atributul nr_chitanta

Exemple de instante:

OFICIU_POSTAL:

Numar

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

Nr_volum

Data_aparitie

Pret

Comision

Atlas

Corpul uman

Academia Catavencu

ABONAT

Nume

Adresa

Telefon

Ionescu Ion

Bdul.Regina Elisabeta, nr.1

Popescu Virgil

Str.Polona, nr.40

Marinescu Robert

Soseaua Giurgiului, nr.44, bl.9, ap.12, sect.4

CHITANŢA_ABONAMENT

Nr_ chitanta

Nume_ publicatie

Data_început

Data_sfârsit

Gandul

Atlas

Corpul uman

Subiectul nr.9

Dându-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de câte 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, precizându-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

Nume

Adresa

Ram SA

Bdul Iuliu Maniu, nr.61, sect.6

Evoda SA

Bdul Iuliu Maniu, nr.124, sect.6

Telx SA

Str. Schitu Magureanu, nr.1, sect.1

CONTRACT:

Cod_fiscal

Data_inceput

Data_sfarsit

Penalizare

POST_TELEVIZIUNE:

Nume

Adresa

Telefon

E_mail

TVR1

Bdul Iuliu Maniu, nr.61, sect.6

tvr@yahoo.com

TVR2

Bdul Iuliu Maniu, nr.124, sect.6

Tvr2@yahoo.com

PROTV

Str. Schitu Magureanu, nr.1, sect.1

protv@yahoo.com

RECLAMA :

Cod

Imagine

Durata

Tip_reclama

Ciocolata

2 min

publicitate

Detergent

1 min

publicitate

Produse cosmetice

5min

publicitate

Subiectul nr.10

Dându-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de câte 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

Nume

Adresa

Telefon

E_mail

Ram SA

Bdul Nicolae Grigorescu, nr.61, sect.3

ram@yahoo.com

Evoda SA

Bdul Iuliu Maniu, nr.124, sect.6

vr2@yahoo.com

Telx SA

Str. Unirii, nr.1, sect.1

ote@yahoo.com

ANGAJAT :

Id_angajat

Nume

Adresa

Telefon

Popescu Ion

Bdul Nicolae Grigorescu, nr.61, sect.3

Evoda SA

Bdul Iuliu Maniu, nr.124, sect.6

Telx SA

Str. Unirii, nr.1, sect.1

CLIENT :

Cod

Id_

contract

Nume

Tip_

asigurare

Adresa

Telefon

E_mail

Popescu Ion

bunuri

Bdul Nicolae Grigorescu, nr.61, sect.3

ram@yahoo.com

Savin Ion

Persoane fizice

Bdul Iuliu Maniu, nr.124, sect.6

vr2@yahoo.com

Teodor Vasile

bunuri

Str. Unirii, nr.1, sect.1

ote@yahoo.com

CONTRACT:

Id_

contract

Data_inceput

Data_sfarsit

Prima_anuala

Anul_achitarii

Subiectul nr.11

Dându-se urmatorul scenariu, identificati entitatile. Pentru fiecare entitate, identificati atributele corespunzatoare, stabiliti optionalitatea acestora si precizati identificatorul unic al fiecarei entitati. Dati exemplu de câte 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, precizându-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 sfârsitul 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

Denumire

Adresa

Telefon

E_mail

Alfa Taxi

Bucuresti

Aris Taxi

Bucuresti

aris_taxi@yahoo.com

Avantaj Taxi

Bucuresti

avantaj_taxi@yahoo.com

MASINA :

Cod

tip

stare_tehnica

data_revizie

Dacia1300

functionala

Matiz

functionala

Dacia Logan

functionala

CURSA :

id_cursa

data_cursa

km_inceput_cursa

km_sfarsit_cursa

55

sOFER :

cod

nume

prenume

data_nasterii

adresa

telefon_mobil

Popescu

Ion

Patrascanu 13

Vasile

Marin

Unirii 34

Moise

Nicolae

Grigorescu 33

TARIF :

id_tarif

tarif_km

tarif_pornire

tarif_stationare

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

data-inregistrarii

MESAJ

mesaj_id

data-expedierii

nume-expeditor

nume-destinatar

Cerinte:

1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul.

2 Corectati abaterile de la regulile de normalizare, modificând 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 vârsta din entitatea UTILIZATOR fiind un atribut volatil va fi înlocuit cu atributul data_nasterii.

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, când mesajul este trimis, utilizatorul este expeditor, iar când mesajul este primit, utilizatorul este destinatar.

b) Modelul devine:

UTILIZATOR

user-id

nume

data_nasterii

numar-conturi

CONT

user_name

parola

data-inregistrarii

TIP_MESAJ

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

vârsta

numele-parintilor

locul de munca

clasa

adresa_

scolii

numele-dirigintelui

sCOALĂ

cod_

scoala

denumire_

scoala

numar_

elevi

numar_

clase

nume-

director

CNP_director

Cerinte:

1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul.

2 Corectati abaterile de la regulile de normalizare, modificând 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 vârsta 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

ELEV

cod_elev

Nume

data_nasterii

CLASA

id_clasa

PĂRINTE

nume

loc de munca

sCOALĂ

cod_scoala

denumire_scoala

numar_elevi

numar_clase

adresa

ANGAJAT

CNP

nume

functie

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

nume

vârsta

telefon

adresa

starea_

masinii

kilometraj

MAsINĂ

cod_

masina

nume_

sofer

denumire_

marfa

capacitate_

masina

cantitate_

marfa

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, modificând 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 vârsta 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

kilometraj

capacitate _masina

stare_masina

data_revizie

FISA_PONTAJ

data

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

vârsta

adresa

titlul_

cartilor_

împrumutate

data_

împrumutului

CARTE

cod_

carte

autor

anul

nasterii

pret

domeniu

anul_

aparitiei

numar_

exemplare

Cerinte:

1. Analizati descrierile entitatilor propuse si precizati daca respecta regulile de normalizare. Justificati raspunsul.

2 Corectati abaterile de la regulile de normalizare, modificând 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 vârsta 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) generând o noua entitate autor cu atributele (cod_autor, nume, an_nastere)

b) Modelul devine:

CITITOR

cod_cititor

nume

data_nasterii

adresa

CARTE

cod_

carte

titlul_

cartilor_

împrumutate

pret

an_

aparitie

numar_

exemplare

FIsA_CITITOR

data_împrumut

data_restituire

AUTOR

cod_autor

Nume

an_nastere

DOMENIU

nume

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, modificând 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 numele-oraselor 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

pret

Durata

DESTINAŢIE

data_plecarii

Ţara

ORAs

nume oras

FORMA DE PLATA

Tip_plata

c)Relatiile între entitati sunt urmatoarele:

TURIST - PACHET TURISTIC relatie M : M rezolvata cu ajutorul entiatii DESTINAŢIE

DESTINAŢIE - ORAs relatie 1 : M

PACHET TURISTIC - FORMĂ DE PLATĂ relatie 1 : M

TURIST - DESTINAŢIE relatie 1 : M

PACHET TURISTIC - DESTINAŢIE 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 saptamâna. Nici un angajat nu poate fi solicitat în mai multe ture zilnic. În fiecare saptamâna, 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.

ANGAJAŢI (AGT)

Id

Nume

Prenume

Data_nasterii

Salariu

Functie

Petre

Alin

2-IUL-77

producator

Alexe

Ion

14-AUG-80

900 RON

operator

Marcu

Maria

21-NOV-78

regizor montaj

Mihai

Ana

23-SEP-89

regizor platou

Duta

stefan

15-APR-90

recuziter

TURE (TRA)

Cod

Descriere

PLANIFICĂRI_TURE (PTE)

Data

Agt_id

Tra_cod

2-DEC-07

2-DEC-07

2-DEC-07

2-DEC-07

2-DEC-07

2-DEC-07

2-DEC-07

3-DEC-07

Rezolvare:

Modelul relational respecta trei reguli de integritate structurala.

Regula 1 (unicitatea cheii) nu este respectata pentru ca valorile cheii primare Data ale tabelei planificari_ture nu sunt unice.

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 primare id din tabela angajati.

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:

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

Timp

Agt_id

12-NOV-07

12-NOV-07

12-NOV-07

13-NOV-07

13-NOV-07

14-NOV-07

ANGAJAŢI (AGT)

Id

Nume

Prenume

Data_nasterii

Salariu

Spor

Pregatire

Buget

Venit

Plata_ora

Stan

Emil

2-IUL-77

Groza

Maria

14-AUG-80

700 LEI

Petre

Andrei

21-NOV-78

Patiser

Mihai

George

23-SEP-89

700 RON

Ion

Ion

15-APR-90

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

Tocatura

Salate

Desert

Mic dejun

Cina

MENIURI_REGIM (MRM)

Cod

Tip_boala

Diabet

Cardiopatie

Hepatita

Enterocolita

Colita

Oreion

arterita

PREPARATE (PPT)

Cod

Descriere

Pret

Mrm_cod

Mcn_cod

Ceai sunatoare

Orez cu lapte

Escalop

Savarina

2 RON

Sarmale

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

Nume

Prenume

Adresa

Data nasterii

Popescu

Alin

Str. Baicului, nr.135

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

Tip opera

Titlu

Autor

Anul crearii

pictura

Car cu boi

Nicolae Grigorescu

pictura

Gioconda

Leonardo da Vinci

sculptura

Coloana fara de sfârsit

Constantin Brâncusi

pictura

Portret de fetita

Nicolae Tonitza

pictura

Femeie pe fotoliu

Pablo Picasso

Poza

Mediul de depozitare

Valoare

Stare

1.jpg

uscat, 22 grade

f.buna

2.jpg

uscat, 18 grade

deteriorat

3.jpg

uscat, 24 grade

buna

4.jpg

luminozitate, 21 grade

medie

5.jpg

uscat, 18 grade

f.buna

Descriere

Data achizitionarii

Valoarea

achizitiei

unul dintre subiectele rustice

face parte din seria "Care cu boi pe drumuri prafuite de tara"

pictura celebra reprezentând o femeie cu expresie gânditoare si un surâs 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 cântaresc 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 câteva luni mai târziu, un vizitator a aruncat în el cu o piatra. Tabloul este restaurat, deci starea lui actuala este foarte buna.

e)

ORACLE

CREATE TABLE muzeu

nr_opera NUMBER PRYMARY KEY,

tip VARCHAR2(15),

titlu VARCHAR2(100);

autor VARCHAR2(50),

an_creare NUMBER,

poza BLOB

mediu_dep VARCHAR2(50),

valoare NUMBER,

stare VARCHAR2(50),

descriere VARCHAR2(2000),

data_achiz DATE,

val_achiz NUMBER);

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:

ELEVI

Numar matricol

Nume

Prenume

Adresa

Data nasterii

Popescu

Alin

Str. Baicului, nr.135

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

Tip

vas

Nume

vas

Capacitate

totala

pasageri

PASAGER1

marfuri

MARFA1

pasageri

PASAGER2

pasageri

PASAGER3

marfuri

MARFA2

Lungime

Pescaj

Viteza de deplasare

Data fabricatiei

Portul de baza

2 iulie 1975

Giurgiu

5 mai 1981

Drobeta Turnu Severin

22 iunie 1985

Turnu Magurele

1 septembrie 1972

Oltenita

1 aprilie 1965

Galati

Port

înregistrare

Poza

Valoare

Companie de

asigurare

Tulcea

1.jpg

BCR Asigurari

Orsova

2.jpg

Asirom

Giurgiu

3.jpg

Astra Asigurari

Calarasi,

4.jpg

Asiban

Braila

5.jpg

BCR Asigurari

c)

Cod vas - Nmeric

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)

Constatând ca în ultimele luni, vasele care sunt construite înainte de 1970 necesita mari cheltuieli cu întretinerea, firma de transport hotaraste sa le vânda.

e)

ORACLE

CREATE TABLE firma_transport

cod_vas NUMBER PRYMARY KEY,

tip VARCHAR2(15),

nume VARCHAR2(100);

capacitate NUMBER,

lungime NUMBER,

pescaj NUMBER,

vitez_depl NUMBER,

data_fabr DATA,

port_baza VARCHAR2(50),

port_inreg VARCHAR2(50),

poza  BLOB

valoare NUMBER,

comp_asig VARCHAR2(100));

FOXPRO

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

Nume

Prenume

Adresa

Data nasterii

Popescu

Alin

Str. Baicului, nr.135

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

Tip

Serie si numar sasiu

Data fabricatiei

MATIZ

RW151902349

12 iulie 2006

FIAT

QA1900238730

15 ianuarie 2002

LOGAN

XY2901349295

7 noiembrie 2004

FIESTA

GT2087392172

14 februarie 2003

CIELO

HJ1980267374

15 octombrie 2003

Firma

producatoare

Culoare

Poza

Pret de achizitie

Nume si prenume instructor

DAEWOO

rosu

1.jpg

Ionescu Ionel

FIAT

verde

2.jpg

Dobre Aurel

DACIA

alba

3.jpg

Matei Daniel

FORD

neagra

4.jpg

Ilies Marius

DAEWOO

alb29

5.jpg

Irimia Claudiu

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 alegându-se culoarea rosie.

e)

ORACLE

CREATE TABLE scoala_soferi

nr_inreg NUMBER PRYMARY KEY,

tip VARCHAR2(15),

sasiu VARCHAR2(20);

data_fabr DATE,

firma VARCHAR2(20),

culoare VARCHAR2(10),

poza BLOB

pret_achiz NUMBER,

nume_instr VARCHAR2(50));

FOXPRO

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

NUME ELEV

PRENUME ELEV

CLASA

MEDIE

GENERALA

PROMOVAT

4n

10 α

10 α

2 n

2 n . 2 n

1 n

La începutul anului scolar, trebuie sa actualizezi câmpul clasa (daca elevul a promovat) si sa scoti din tabela elevii care au fost în 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

NUME ELEV

PRENUME ELEV

CLASA

MEDIE

GENERALA

PROMOVAT

4n

10 α

10 α

2 n

2 n . 2 n

1 n

a

COD

ELEV

NUME ELEV

PRENUME ELEV

CLASA

MEDIE

GENERALA

PROMOVAT

Ionescu

Alina

Popescu

Dan

Barbu

Doris

Mirica

Irina

Moise

Claudiu

b)

ORACLE

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

Nume elev

Prenume elev

Clasa

Medie

generala

Promovat

Popescu

Dan

Barbu

Doris

Mirica

Irina

Moise

Claudiu

Subiectul nr.24

COD FILM

TITLU FILM

ANUL LANSARII

ACTOR PRINCIPAL

PREMIUL

COSTUL REALIZARII

4 n

15 α

4 n

15 α

10 α

5 n . 5 n

Compania de filme GOLDEN MAYER tine evidenta filmelor realizate de ea, in tabela FILME cu urmatoarea structura:

Esti directorul DIRECTIEI IT din compania GOLDEN MAYER si trebuie sa transmiti managerului câteva situatii.

Rezolva urmatoarele cerinte:

a) Construieste 5 instante corespunzaoare scenariului prezentat;

b )Scrie, in lmbajul de programare studiat, comenzile care sa determine în câte 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 film

Titlu film

Anul lansarii

Tom&Jerry

Pe aripile vântului

Cântând în ploaie

Taxi Driver

Niagara

Actor principal

Premiul

Costul realizarii

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' AND trim(BOTH ' ' FROM lower(actor_principal))='marlyn monroe';

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)

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

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

DESATINAŢIA

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 vânzarii biletelor în luna decembrie ( suma medie = suma biletelor vândute / nr zile din luna );

c)Prezinta comenzile prin care se afla toate biletele vândute de agentie cu destinatia Paris; generalizare pentru orice oras destinatie.

Rezolvare:

a)

Cod bilet

Nume pasager

Prenume pasager

Ionescu

Ana

Vladescu

Mirela

Ivan

Claudia

Iures

Irina

Popescu

Gabriel,

Destinatia

Pret

Data zbor

Paris

5 iulie 2008

New York

18 august 2008

Londra

5 aprilie 2008

Roma

12 februarie 2008

Madrid

1 martie 2008

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

?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))


Document Info


Accesari: 35477
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )