Proiectarea Bazelor de Date Romana

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

Sunteți pe pagina 1din 7

Proiectarea Bazelor de date

Proiecte

Cerinţe:

1. Să se creeze o bază de date care să conţină:


• Legături între tabele;
• Integritatea referenţială pentru a efectua correct operaţiile de actualizare
(adăugare, ştergere, modificare);
• Chei primare şi chei externe;
• Reguli de ştergere şi modificare în cascadă pentru entităţile cu chei externe.
2. Să se facă modelarea conceptuală a bazei de date, evidenţiind etapele parcurse.
3. Să se facă trecerea la modelul logic.
4. Să se normalizeze şi apoi să se indexeze baza de date creată (minim un index).
5. Să se implementeze diferite restricţii folosind triggere
6. Să se realizeze o procedură stocată
7. Să se facă testarea bazei de date prin efectuarea de diferite operaţii asupra ei. Trebuie
să existe cel puţin o interogare din fiecare tip.

* Baza de date trebuie să conţină minim 10 tabele


** Se va adăuga în tabele un volum mare de informaţii reale – minim 20 înregistrări în
fiecare tabel
** Baza de date trebuie să fie realizată în MS SQL Server sau Postgre SQL

*** Se vor folosi programele Visio sau Embarcadero pentru modelarea conceptuală
Proiecte:

1) Să se creeze o bază de date care să ţină evidenţa unor edituri. Fiecare editură are un
director şi publică o serie de reviste. Fiecare revistă apare de câteva ori pe an. Fiecare revistă
conţine articole ale unor autori. Un autor poate scrie unul sau mai multe articole, iar un articol
poate fi scris de unul sau mai mulţi autori. Ficare articol are un titlu şi un paragraf explicativ. Un
articol poate apare în una sau mai multe reviste.

2) Să se creeze o bază de date care să ţină evidenţa accidentelor dintr-o fabrică. Fiecare
accident are o descriere, un moment din timp la care apare, o locaţie şi un nivel de gravitate.
Tipurile de descriere şi de gravitate pot fi aceleşi la mai multe accidente. Un accident poate
implica unul sau mai mulţi angaajaţi şi un angajat poate fi implicat în unul sau mai multe
accidente. Fiecare angajat are un supervizor.

3) Să se creeze o bază de date care să ţină evidenţa punctelor de lucru ale unei firme.
Fiecare punct de lucru are o locaţie, un număr de ordine, un număr de angajaţi, un număr de
camere, un tip de activitate şi un status în cadrul firmei (primară, secundară, activă, incativă).
Mai multe puncte de lucru pot avea acelaşi satus şi acelaşi tip de activitate sau aceeaşi locaţie. O
locaţie se identifică prin numele complet, prescurtare, descriere, un nr. de telefon şi un director
de locaţie. Fiecare punct de lucru are o serie de activităţi. O activitate poate fi întreprinsă la mai
multe puncte de lucru.

4) Să se creeze o bază de date care să ţină evidenţa clienţilor unui magazin. Fiecare client
are un nume, o dată de înregistrare, o adresă şi alte detalii. Fiecare adresă se va reprezenta prin
oraş, stradă, număr, bloc, etaj, apartament, cod poştal, judeţ, ţară şi tip de client. Mai multi clienţi
pot avea aceeaşi adresă şi un client poate să aibă mai multe adrese. Fiecare client are o listă de
contacte (persoane din cadrul magazinului). Fiecare persoană de contact poate lucra cu unul sau
mai mulţi clienţi, se identifică prin nume, statut în cadrul firmei, departament, telefon. Fiecare
persoană de contact ţine o listă cu comenzile pe care le-a primit. Fiecare comandă are o dată, un
număr de ordine şi o sumă totală.

5) Să se creeze o bază de date care să ţină evidenţa pasagerilor zborurilor unei companii
aeriene. Un pasager se identifică prin nume, prenume, telefon, email, adresă. Fiecare pasager
poate face rezervări la unul sau mai multe zboruri, fiecare zbor poate să aibă una sau mai multe
rezervări. Rezervările reţin şi data efectuării precum şi clasa la care s-a făcut rezervarea. Fiecare
zbor are o capacitate de locuri, un număr, sursă şi destinaţie, oră de plecare şi sosire şi tip de
avion. Fiecare client ăşi stabileşte modalitatea de paltă şi data plăţii.

6) Să se creeze o bază de date care să ţină evidenţa atleţilor. Fiecare atlet are nume
prenume, sex şi alte detalii. Fiecare atlet aparţine unui club care are o anumită locaţie. Fiecare
atlet poate participa la una sau mai multe tipuri de discipline sportive. Fiecare disciplină se
identifică prin nume, tip, recorduri şi alte detalii. Fiecare atlet are un cel mai bun rezultat la
fiecare disciplină. Există o serie de concursuri fiecare la o anumită dată. Un atlet poate participa
la unul sau mai multe concursuri.
7) Să se creeze o bază de date care să ţină evidenţa echipelor sportive de studenţi. Fiecare
echipă are un nume, poate fi alcătuită doar din băieţi sau doar din fete, se află într-o divizie, ţine
de un sport, are un număr de componenţi şi un antrenor, şi un loc în clasament. Fiecare student
are nume prenume, data naşterii, sex, data naşterii, adresă şi poate face parte din una sau mai
multe echipe. Fiecare echipă are un căpitan şi fiecare antrnor poate antrena una sau mai multe
echipe.

8) Să se creeze o bază de date care să ţină evidenţa băncilor. Fiecare bancă are un nume,
o adresă şi un număr de sucursale. Fiecare sucursală are un nume, o adresă, un număr de ATM-
uri şi o serie de clienţi. ATM-urile au o locaţie şi un status (operaţional, neoperaţional). Fiecare
client are nume prenume, adresă, email şi un număr de conturi, fiecare având o număr şi
conţinând o sumă. Fiecare client poate avea sau nu card. Fiecare card are un tip, un număr şi o
descriere.

9) Să se creeze o bază de date care să ţină evidenţa unei licitaţii. La o licitaţie există o
serie de obiecte puse în vânzare. Fiecare obiect are o descriere, o valoare de start, un preţ
optimal, o modalitate de plată şi un câştigător. Pentru fiecare obiect există licitatori identificaţi
prin nume adresă, telefon, email şi sumă licitată. Un licitator poate licita pentru unul sau mai
multe obiecte. Fiecare obiect este vândut de o persoană identificată prin nume prenume şi adresă.
Fiecare obiect poate fi transportat în una sau mai multe moduri care au fiecare o descriere.

10) Să se creeze o bază de date care să ţină evidenţa unei companii de balet. Aceasta
organizează spectacole. Fiecare spectacol are un nume, o locaţie, o dată şi un număr de balerini
(precizaţi). Un balerin poate juca în unul sau mai multe spectacole. De asemenea trebuie să se
reţină si datele despre balerini (există posibilitatea să existe căsătorii între balerini şi balerine).
La fiecare spectacol există un număr de bilete şi un preţ pentru fiecare tip de bilet. Pentru fiecare
spectacol se pot face sponsorizări identificate prin sumă şi sponsor. Există o listă de sponsori
agreaţi de compania de balet.

11) Să se creeze o bază de date care să ţină evidenţa manualelor alternative acceptate de
minister. Există o serie de manuale pentru fiecare materie. Fiecare manual are nume, un număr
de autori (precizaţi) şi o clasă căreia se adresează. Fiecare autor are nume,prenume şi grad
didactic şi poate scrie unul sau mai multe manuale. Fiecare manual e scos de o editură
identificată printr-un id, nume, adresa. O editură poate scoate unul sau mai multe manuale.
Există o serie de cenzori care verifică manuale şi le dau calificative. Fiecare manual e verificat
de mai mulţi cenzori. Fiecare cenzor are nume prenume şi domenii de competenţă.

12) Să se creeze o bază de date care să ţină evidenţa căsătoriilor persoanelor dintr-un
anumit grup. O persoană are nume prenume, data naşterii, sex, telefon, adresă şi starea civilă.
Mai multe persoane pot să aibă aceeaşi adresă şi una poate avea mai multe adrese. O adresă are
stradă, număr, loc, etaj, apartament, cod poştal, oraş, judeţ, ţară. În acest grup sunt şi eventualii
soţi sau soţii ai persoanelor respective. Pentru fiecare persoană din grup se va ţine evidenţa
tuturor căsătoriilor avute, persoanelor cu care a fost căsătorit, data începerii şi terminării
căsătoriei, motivul terminării, numărul de copii din fiecare căsătorie şi existenţa sau nu a unui
contract prenupţial. Pentru fiecare certificat de căsătorie/divorţ se vor reţine datele importante
(nume soţi, data eliberare, etc).

13) Să se creeze o bază de date care să ţină evidenţa petrecerilor. Fiecare are o dată, o
locaţie, un tip şi un grup de organizatori. Un organizator poate organiza mai multe petreceri. La o
locaţie identificată prin stradă, număr, oraş pot avea loc mai multe petreceri. Există o listă de
persoane care participă la aceste petreceri. La fiecare se specifică care din aceste persoane
participă precum şî costul estimate pentru o persoană.

14) Să se creeze o bază de date care să ţină evidenţa unei librării virtuale. În librărie
există cărţi care au data publicării, titlu, ISBN şi un preţ . Fiecare carte poate avea unul sau mai
mulţi autori identificaţi prin nume şi prenume. Fiecare autor poate scrie una sau mai multe cărţi.
Fiecare carte poate aparţine unei anumite categorii. Există o listă cu clienţii librăriei, care au un
cod, un nume, o adresă, un telefon şi un email. Fiecare client poate face una sau mai multe
comenzi ce pot conţine una sau mai multe cărţi, un număr al comenzii şi o sumă totală.

15) Să se creeze o bază de date care să ţină evidenţa unui dealer de maşini. Reprezentanţa
poate vinde maşini de la mai mulţi producători care au nume, ţară de origine, data apariţiei,
telefon, persoană de contact. Fiecare producător poate livra mai multe tipuri de maşini. Fiecare
maşină are un cod de produs, o descriere tehnică, un an de fabricaţie şi un tip (de ex. Logan).
Există mai multre opţiuni ce pot apare pe oricare dintre maşini. Fiecare opţiune are un cod şi o
descriere. Pe o maşină pot apare una sau mai multe opţiuni. Dealer-ul are o serie de angajaţi
acare au nume, prenume, telefon şi statut în firmă. Fiecare angajat se poate ocupa de vânzarea
uneia sau mai multor maşini. Un tip de maşină poate fi vandut de unul sau mai mulţi angajaţi.

16) Să se creeze o bază de date care să ţină evidenţa unei firme care închiriază maşini.
Firma are pe stoc un număr de maşini ce au un număr de înmatriculare, nr. de km parcurşi, data
fabricaţiei, o marcă, tip şi preţ pe oră. Fiecare marcă are nume şi detalii. Fiecare tip are nume şi
detalii. Fiecare maşină se află într-o clasă (compactă, limuzină etc.). Fiecare clasă are nume şi
descriere. Există o listă de clienţi care au nume prenume, email, telefon, adresă. Se păstreză o
istorie a închirierilor (ce client a închiriat ce maşină, de când şi până când). Pentru fiecare maşină
se va păstra statusul său actual (închiriat, neînchiriat).

17) Să se creeze o bază de date care să ţină evidenţa cinematografelor dintr-un judeţ.
Pentru fiecare cinematograf se va reţine numele, adresa, telefonul capacitatea sălii şi managerul.
De asemenea se vor reţine filmele care rulează pe perioada unui întreg an. Fiecare film are un
nume, un tip şi actorii principali. Un film poate rula la unul sau mai multe cinematografe. Pentru
fiecare film rulat la un cinematograf (timp de o săptămână) se va reţine data începerii rulării,
orele de rulare şi preţul biletelor. Pentru fiecare actor se va reţine numele, prenumele şi site-ul.
Un actor poate să joace în unul sau mai multe filme. Un manager poate să conducă un singur
cinematograf.

18) Să se creeze o bază de date care să ţină evidenţa unui casino. Pentru fiecare joc se va
reţine numele, locaţiile de desfăşurare şi grupurile de jocuri cărora aparţine. Un grup are un
nume şi de detalii şi poate încorpora unul sau mai multe jocuri. O locaţie are sala şi masa de
desfăşurare a jocului. Pentru fiecare joc se contabilizează câştigul sau pierderea casinoului.
Fiecare joc are unul sau mai mulţi dealeri. Fiecare dealer are nume, prenume şi un grad. Pentru
fiecare dealer se va reţine de ce joc s-a ocupat şi între ce ore. Un dealer se poate ocupa de unul
sau mai multe jocuri.

19) Să se creeze o bază de date care să ţină evidenţa CD-urilor cu muzică ale unei
persoane. Fiecare CD are un număr, un nume, un tip de muzică, un preţ, o dată a apariţiei, o dată
de cumpărare, un număr de piese şi un timp total. Pe un CD pot fi unul sau mai mulţi artişti.
Fiecare melodie poate să se afle pe unul sau mai multe CD-uri şi poate fi cântată de unul sau mai
mulţi artişti. Fiecare artist are nume, premii şi dată de intrare în lumea muzicii. Fiecare melodie
are un titlu, un timp şi alte comentarii. Fiecare gen de muzică are nume şi descriere.

20) Să se creeze o bază de date care să ţină evidenţa cluburilor de divertisment. Fiecare
club are nume, descriere, adresă, taxă de înscriere şi număr de membri. O persoană poate să
aparţină de unul sau mai multe cluburi. Pentru fiecare persoană se reţine numele, prenumele,
adresa, telefonul şi datele înscrierii şi părăsirii (eventual) fiecărui club din care a făcut parte.
Fiecrae club are o serie de facilităţi identificate prin nume şi descriere. O facilitate poate să apară
la unul sau mai multe cluburi pentru fiecare din ele se va reţine data din care este disponibilă şi
costul său. Fiecare club are un preşedinte.

21) Să se creeze o bază de date care să ţină evidenţa bolnavilor ce participă la testarea
unor medicamente. Pentru fiecare bolnav se va reţine numele, prenumele, adresa, sexul, data
naşterii şi boala. Fiecare boală va avea un nume si comentariu. Mai mulţi pacienţi pot avea
acelaşi boală, iar un pacient poate să aibă mai multe boli. Există sesiuni de testare, fiecare
sesiune are o dată de începere. La fiecare sesiune se testează un număr de medicamente şi sunt
implicaţi un număr de investigatori. Fiecare investigator are nume şi statut în cadrul spitatului.
Fiecare medicament are nume şi descriere. Un pacient poate să participe la una sau mai multe
sesiuni, iar la o sesiune participă unul sau mai mulţi pacienţi.

22) Să se creeze o bază de date care să ţină evidenţa userilor unuor site-uri. Fiecare user
are un nume şi un email. Fiecare user poate avea un anumit status (adminsitrator, privilegiat etc).
Fiecare site are o adresă URL şi o descriere. Fiecare user are o dată a înregistrării şi o parolă
pentru fiecare site la care este membru. Fiecare status permite o listă de privilegii la fiecare site
(diferite de la site la site). Fiecare user are un domeniu de interes. Fiecare domeniu de interes are
un nume şi o descriere.

23) Să se creeze o bază de date care să ţină evidenţa cuvintelor străine. Fiecare cuvânt are
un id, numele său şi o semnificaţie. Pentru fiecare cuvânt se specifică un sinonim din aceeaşi
listă de cuvinte. Există o serie de surse de unde se iau cuvinte. Fiecare sursă are nume şi detalii.
Un cuvânt se poate lua din una sau mai multe surse, iar o sursă poate furniza unul sau mai multe
cuvinte. Fiecare cuvânt aparţine unei limbi, iar fiecare limbă are nume şi descriere.

24) Sa se creeze o bază de date care să ţină evidenţa activităţii unei companii. Compania
este organizată în secţii. Fiecare secţie are un număr unic şi un angajat care conduce secţia (şef
de secţie). Se ţine cont de data la care a fost numit şeful de secţie. Fiecare secţie poate avea mai
multe adrese. Fiecare secţie controlează un număr de lucrări, fiecare dintre ele având un număr
unic şi o singură adresă. Se ţine cont de numele, de codul numeric personal, adresa, salariul,
sexul şi data naşterii a fiecărui angajat. Fiecare angajat lucrează într-o singură secţie, dar la mai
multe lucrări care nu sunt neaparat controlate de secţia în care lucrează angajatul. Se ţine cont de
numărul de ore lucrat pe saptămână de fiecare angajat la o lucrare. De asemenea se ţine cont de
de persoanele pe care le au în îngrijire angajaţii (nume, prenume, sex, data naşterii şi gradul de
rudenie cu angajatul), precum şî de eventuale prime pe care le poate primi.

25) Sa se creeze o baza de date care tine evidenta activitatilor unei banci. Fiecare banca
are mai multe sucursale; fiecare sucursala are adresa, nume unic; fiecare banca are cod unic,
nume si adresa; fiecare sucursala administreaza conturi de debit (depuneri) si conturi de credite
(imprumuturi); fiecare cont de debit are numar de cont, tipul de cont si depozit; fiecare credit are
numar unic, tip si valoare; un client poate avea la aceeasi sucursala a unei banci mai multe
conturi de debit si de credit.

26) Sa se creeze o baza de date care tine evidenta activitatii unei biblioteci. Biblioteca are
mai multe sucursale, fiecare avand nume, numar unic si adresa. Fiecare carte are un numar unic ,
titlu, autori si editura unde a fost publicata. Fiecare sucursala are mai multe copii ale unei carti.
Cititorii pot imprumuta mai multe carti de la diferite sucursale ale bibliotecii, pe o perioada
limitata. Cititorii sunt identificati prin numar de fisa, nume, adresa si telefon. Se va reţine de
asemenea data la care o carte a fost împrumutată, data returnarii ei, iar in cazul in care nu a fost
returnata la timp, cel care a imprumutat-o va fi trecut in tabelul de client nedorit.

27) Sa se creeze o baza de date care tine evidenta activitatii unui supermarket.
Supermarketul este organizat in raioane fiecare avand proprii angajati si un sef de raion(dintre
angajatii supermarketului). Angajatii lucreaza la un singur raion care are numar unic si nume;
angajatii au de cod numeric personal, nume, adresa, data nasterii, salariu. In fiecare raion exista
produse; un produs nu poate fi prezent in mai multe raioane; produsele sunt identificate prin cod
unic, denumire; un produs poate fi produs de mai multi furnizori, pretul depinzand astfel de
furnizor(nume, adresa). Clientii pot cumpara mai multe produse in anumite cantitati.

28) Sa se creeze o baza de date care tine evidenta secretariatului unei facultati. Faculatea
este impartita in mai multe sectii; pentru fiecare sectie pot exista mai multe subsectii (optiuni).
Fiecare student are: nr matricol, cod numeric personal, nume, prenume, data nasterii, sex, locul
nasterii. Studentii studiaza un anumit numar de materii care pot fi predate de mai multi profesori.
La fiecare materie studiata, studentul va avea o nota. Se va lua in considerare faptul ca fiecare
profesor poate poate preda una sau mai multe materii.

29) Sa se creeze o baza de date care tine evidenta campionatului intern de fotbal.
Campionatul are mai multe etape in care joaca echipele. Jucatorii pot juca sau nu intr-un meci;
pentru fiecare jucator se retine pozitia pe care a jucat in fiecare meci. Pentru fiecare meci se tine
cont de etapa, de numarul de goluri inscrise de gazde si oaspeti. Pentru fiecare meci, se va tine
cont de minutul inscrierii unui gol si de marcator. De asemenea, un jucator poate juca la mai
multe echipe ind ecursul unui sezon.

30) Sa se creeze o baza de date care tine evidenta zonelor turistice (ghid turistic). Ghidul
turistic ia in considerare zone turistice care prezinta interes. Fiecare zona turistica are mai multe
puncte de acces(localitati, cabane) si trasee. Fiecare traseu este compus din mai multe portiuni.
Traseul este identificat de numar traseu care este unic, marcaj, punctul de inceput si punctul de
sfarsit, distanta. Fiecare portiune de traseu este identificata de numar care este unic, latitudine,
longitudine, altitudine. Fiecare traseu are o echipa de salvamontisti.

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