CATEGORII DOCUMENTE |
Cuprins
1. Specificarea problemei..................... 2
2. Analiza problemei..................... .3
2.1. Modelul Entitate - Asociere................ 3
2.2. Stabilirea Cardinalitatilor.................. 4
2.3. Modelul Relational....................5
2.4. Specificatii de implementare.................6
3. Implementarea problemei..................8
3.1. Crearea tabelelor.....................8
3.2. Inserarea datelor in table..................9
4. Interogare..........................10
5. Formulare..........................11
6.
Rapoarte.........................11
SPECIFICAREA PROBLEMEI
Aplicatia prezinta gestionarea informatiilor referitoare la o colectie de DVD-uri cu filme.
Avem nevoie de o baza de date pentru a tine evidenta DVD-urilor pe care le detin, precum si a persoanelor care le-au imprumutat s-au care le vor imprumuta.
Un DVD se incadreaza intr-un anumit GEN care contine:
id_gen
categoria
DVD-ul se identifica prin:
id_dvd
regizor
titlul
an_aparitie
PERSOANA va fi identificata prin urmatoarele caracteristici:
id_persoana
nume
prenume
adresa
telefon
O persoana poate sa fie proprietarul mai multor DVD-uri si in acelasi timp sa imprumute DVD-uri de la alti proprietari.
Fiecare proprietar are DVD-uri diferite fata de ceilalti proprietari si nu exista dubluri. De asemenea persoana poate fi doar client, adica doar sa imprumute DVD-uri nu sa le si detina.
O persoana poate imprumuta DVD-uri de genuri diferite si un DVD poate fi imprumutat de mai multe persoane in timp.Un
DVD poate apartine unui singur gen.Un DVD are acelasi titlu ca si titlul filmului.Un film intra pe un DVD.
Se cere:
sa se afiseze, regizorul, titlul, categoria din care face parte DVD;
sa se afiseze DVD-urile care apartin fiecarui proprietar, ordonate dupa titlu;
sa se afiseze care sunt persoanele care au imprumutat DVD-ul cu un anumit titlu si la ce data;
sa se afiseze pentru fiecare proprietar titlul filmului ce a fost imprumutat de cele mai putin si multe ori;
sa se afiseze id_dvd, titlul filmului, care nu au fost imprumutate;
ANALIZA PROBLEMEI
2.1. MODELUL ENTITATE - ASOCIERE
Pentru a realiza baza de date astfel incat sa satisfaca cerintele familiei, vom avea 3 clase de entitati si 3 clase de asociere.
Cele 3 clase de entitati vor fi urmatoarele:
GEN cu 2 atribute:
id_gen care va fi cheie primara (PK) pentru entitatea GEN;
categoria care va fi numele genului;
PERSOANA cu 5 atribute:
id_persoana care va fi cheie primara (PK) pentru entitatea PERSOANA;
nume - numele persoanei;
prenume - prenumele persoanei;
adresa - adresa domiciliului persoanei;
telefon - reprezinta telefonul persoanei;
DVD cu 4 atribute:
id_dvd care va fi cheie primara (PK) pentru entitatea DVD;
regizor care va fi regizorul filmului de pe DVD;
titlul care va fi titlul filmului;
an_aparitie care va reprezenta anul de aparitie al filmului;
Cele 3 clase de asociere vor fi urmatoarele:
INCADRARE - intre GEN si DVD. Clasa de asociere incadrare nu are atribute proprii;
IMPRUMUTARE - intre DVD si PERSOANA. Clasa de asociere imprumutare are ca atribute: nr comanda si data (=data imprumutarii DVD-ului);
PROPRIETATE - intre DVD si PERSOANA. Clasa de asociere proprietate nu are atribute proprii;
2.2. STABILIREA CARDINALITATILOR
1. In cazul asocierii INCADRARE:
- Un gen poate sa contina mai multe DVD-uri => card.max = n.
- Un gen trebuie sa contina 0 DVD-uri => card.min = 0.
- Un DVD poate sa apartina unui singur gen => card.max = 1.
- Un DVD trebuie sa apartina unui gen => card.min = 1.
2. In cazul asocierii IMPRUMUTARE:
- Un DVD poate fi imprumutat la mai multe persoane => card.max = n.
- Un DVD trebuie imprumutat la 0 persoane => card.min = 0.
- O persoana poate sa imprumute mai multe DVD-uri => card.max = n.
- O persoana trebuie sa imprumute 0 DVD-uri => card.min = 0.
3. In cazul asocierii PROPRIETATE:
- Un DVD poate sa apartina la o singura persoana => card.max = 1.
- Un DVD trebuie sa apartina unei persoane => card.min = 1.
- O persoana poate sa detina mai multe DVD-uri => card.max = n.
- O persoana trebuie sa detina 0 DVD-uri => card.min = 0.
2.3. MODELUL RELATIONAL
Pentru fiecare clasa de entitati se construieste cate o tabela cu acelasi nume cu al clasei de entitati si aceeasi cheie primara. Deci se vor construi pentru inceput tabelele: GEN, DVD, PERSOANA cu atributele mentionate mai sus.
GEN - DVD:
Intre aceste 2 tabele clasa de asociere este INCADRARE si nu are atribute proprii.
In acest caz nu se creeaza o tabela noua pentru relatia de asociere, dar migreaza in entitatea cu cardinalitate maxima 1 toate cheile primare (PK) din celelalte clase de entitati si acestea devin chei straine (FK).
In cazul nostru clasa de entitati DVD are cardinalitatea maxima 1, deci primeste intre atributele sale, ca cheie straina, cheia primara id_gen din clasa de entitati GEN cu care se afla in relatie. Astfel vom avea tabelele:
GEN (id_gen (PK), categoria)
DVD (id_dvd (PK), regizor, titlul, an_aparitie, id_gen (FK))
DVD - PERSOANA:
Intre aceste 2 tabele exista 2 clase de asociere si anume:
a) IMPRUMUTARE
b) PROPRIETATE
a) Pentru clasa de asociere IMPRUMUTARE care are atributul propriu Nr comenzii si data
In acest caz se creeaza o noua tabela care va avea acelasi nume cu cel al clasei de asociere, iar atributele tabelei vor fi cele initiale + cheile primare ale tuturor entitatilor implicate in relatia de asociere care vor deveni in aceasta noua tabela chei straine.
Astfel vom avea tabelele:
DVD (id_dvd (PK), regizor, titlul, an_aparitie,)
PERSOANA (id_persoana (PK), nume, prenume, adresa, telefon)
IMPRUMUTARE (nr comanda (PK) id_dvd (FK), id_persoana (FK), data)
b) Pentru clasa de asociere PROPRIETATE clasa de asociere nu are atribute proprii,
In acest caz clasa de entitati DVD are cardinalitatea maxima 1, deci primeste intre atributele sale ca cheie straina, cheia primara id_persoana din clasa de entitati PERSOANA cu care se afla in relatie. Astfel vom avea tabelele:
DVD (id_dvd (PK), regizor, titlul, an_aparitie, id_persoana (FK))
PERSOANA (id_persoana (PK), nume, prenume, adresa, telefon)
In final vom avea urmatoarele tabele ce reprezinta Modelul Relational:
GEN (id_gen (PK), categoria)
DVD (id_dvd (PK), regizor, titlul, an_aparitie, id_gen (FK), id_persoana (FK))
IMPRUMUTARE (Nr Comanda (PK) id_dvd (FK), id_persoana (FK), data)
PERSOANA (id_persoana (PK), nume, prenume, adresa, telefon)
2.4. SPECIFICATII DE IMPLEMENTARE
Pentru realizarea bazei de date se vor crea urmatoarele 4 tabele:
Tabela GEN cu coloanele:
id_gen valoare numerica de cel mult 2 cifre, cu restrictia ca valoarea sa nu fie null;
categoria sir de caractere de cel mult 20 de cifre, cu restrictia ca valoarea sa nu fie null;
Se mai adauga restrictia de cheie primara pentru id_gen.
G E N
Nume |
id_gen |
categoria |
Tip cheie |
PK | |
Null |
Not Null |
Not Null |
Tip Data |
Number |
Text |
Lungime |
2 |
20 |
Tabela DVD cu coloanele:
id_dvd valoare numerica de cel mult 4 cifre, cu restrictia ca valoarea sa nu fie null;
regizor sir de caractere de cel mult 30 de caractere, cu restrictia ca valoarea sa nu fie null;
titlul sir de caractere de cel mult 40 de caractere, cu restrictia ca valoarea sa nu fie null;
an_aparitie valoare numerica de cel mult 4 cifre, cu restrictia ca valoarea sa nu fie null;
id_gen valoare numerica de cel mult 2 cifre, cu restrictia ca valoarea sa nu fie null;
id_persoana valoare numerica de cel mult 3 cifre, cu restrictia ca valoarea sa nu fie null;
Se adauga urmatoarele restrictii:
- cheia primara va fi id_dvd;
- cheie straina va fi id_gen care se refera la
id_gen din tabela GEN;
- cheie straina va fi id_persoana care se refera la
id_persoana din tabela PERSOANA;
D V D
Nume |
id_dvd |
regizor |
titlul |
an_aparitie |
id_gen |
id_persoana |
Tip cheie |
PK |
FK |
FK |
|||
Null |
Not Null |
Not Null |
Not Null |
Not Null |
Not Null |
Not Null |
Tip Data |
Number |
Text |
Text |
Number |
Number |
Number |
Lungime |
4 |
30 |
40 |
4 |
2 |
3 |
Tabela IMPRUMUTARE cu coloanele:
Nr comanda valoare numerica de cel mult 4 cifre, cu restrictia ca valoarea sa nu fie nul
id_dvd valoare numerica de cel mult 4 cifre, cu restrictia ca valoarea sa nu fie null;
id_persoana valoare numerica de cel mult 3 cifre, cu restrictia ca valoarea sa nu fie null;
data de tip Date, cu restrictia ca valoarea sa nu fie null;
Se mai adauga restrictiile de cheie straina pentru id_dvd si id_persoana.
IMPRUMUTARE
Nume |
Nr Comanda |
id_dvd |
id_persoana |
data |
Tip cheie |
PK |
FK |
FK | |
Null |
Not Null |
Not Null |
Not Null |
Not Null |
Tip Data |
Number |
Number |
Number |
Date |
Lungime |
4 |
4 |
3 |
Tabela PERSOANA cu coloanele:
id_persoana valoare numerica de cel mult 3 cifre, cu restrictia ca valoarea sa nu fie null;
nume sir de caractere de cel mult 15 caractere, cu restrictia ca valoarea sa nu fie null;
prenume sir de caractere de cel mult 15 caractere, cu restrictia ca valoarea sa nu fie null;
adresa sir de caractere de cel mult 60 de caractere,
telefon valoare numerica de cel mult 15 cifre;
Se adauga restrictia de cheie primara pentru id_persoana;
PERSOANA
Nume |
id_persoana |
nume |
prenume |
adresa |
telefon |
Tip cheie |
PK | ||||
Null |
Not Null |
Not Null |
Not Null |
Not Null |
Not Null |
Tip Data |
Number |
Text |
Text |
Text |
Number |
Lungime |
3 |
15 |
15 |
60 |
15 |
IMPLEMENTAREA PROBLEMEI
S-a creat baza de date utilizand optiunea " New Blank Data Base"
3.1. CREAREA TABELELOR
S-au creat tabelele de date cu optiunea "Create with Design View"
GEN |
|
id_gen |
categoria |
SF |
|
Actiune |
|
Comedie |
|
Thriller |
|
Drama |
|
Horror |
|
Animatie |
|
Aventura |
|
Fantastic |
|
Romantic |
DVD |
|||||
id_dvd |
regizor |
Titlu |
an_aparitie |
id_gen |
id_persoana |
Steven Spilberg |
| ||||
Peter Jackson |
The Lord Of The Ring | ||||
Walt Becker |
Van Wilder | ||||
Clint Eastwood |
Absolut Power | ||||
Woody Allen |
Annie Hall | ||||
Steven Spilberg |
E.T. | ||||
Steven Spilberg |
A.I. | ||||
Tim Burton |
Edward Scissorhands | ||||
Don Bluth |
Anastasia | ||||
Peter Chelsom |
Serendipity |
IMPRUMUTARE |
|||
Nr_Comanda |
id_dvd |
id_persoana |
data |
| |||
PERSOANA |
|||||
id_persoana |
nume |
prenume |
adresa |
Localitatea |
telefon |
Ardelean |
Cosmi |
str. Predeal nr. 13 |
Tg. Mures | ||
Manea |
Alexandru |
str. Alea Carpati nr. 31 |
Tg. Mures | ||
Bleoaca |
Silviu |
str. Cornisa n.r 7 |
Tg. Mures | ||
Bleoca |
Tiberiu |
str. Cornisa nr. 7 |
Tg. Mures | ||
Bleoca |
Sorana |
str. Cornisa nr. 7 |
Tg. Mures | ||
Vancu |
Diana |
str. Sarguintei nr. 25 |
Tg. Jiu | ||
Rusu |
Seban |
str. Stramba nr. 12 |
| ||
Libeg |
Claudiu |
str. Stelelor nr. 37 |
| ||
Stefan |
Mihai |
str. Bordeni nr. 56 |
|
3.2. INSERAREA DATELOR IN TABELE
Pentru usurarea introducerii datelor in tabele s-au creat formularele :Form DVD , Form Persoana, Form Imprumutare".
Pentru evitarea erorilor s-au introdus proprietatatile "RelationshipType si Enforce
Referential integrity"
QUERIES
Solicitarile create au fot obtinut ecu ajutorul comenzii "Create queries by using design" utilizand in prealabil mai multe selectii;
S-au solicitat urmatoarele informatii ;
a) cele mai vizionate Filme - DVD si Genul Lor in ordinea solicitarilor;
cele mai vizionate |
||
CountOfid_dvd |
titlu |
categoria |
The Lord Of The Ring |
Fantastic |
|
|
Aventura |
|
A.I. |
SF |
|
Van Wilder |
Actiune |
|
Serendipity |
Romantic |
|
Edward Scissorhands |
Drama |
|
Annie Hall |
Comedie |
|
Anastasia |
Animatie |
|
cele mai vizionate_Crosstab |
||
titlu | ||
A.I. |
SF |
|
Anastasia |
Animatie | |
Annie Hall |
Comedie | |
Edward Scissorhands |
Drama | |
|
Aventura |
|
Serendipity |
Romantic | |
The Lord Of The Ring |
Fantastic |
|
Van Wilder |
Actiune |
b)DVD-urile neimprumutate , cu nume si prenume
DVD Neimprumutate |
|||
titlu |
categoria |
nume |
prenume |
Absolut Power |
Thriller |
Bleoaca |
Silviu |
E.T. |
SF |
Bleoca |
Tiberiu |
c) DVD-urile Imprumutate
Imprumut |
|||||
id_persoana |
Titlu |
categoria |
data |
nume |
prenume |
Annie Hall |
Comedie |
Bleoaca |
Silviu |
||
The Lord Of The Ring |
Fantastic |
Bleoca |
Sorana |
||
A.I. |
SF |
Bleoca |
Tiberiu |
||
Edward Scissorhands |
Drama |
Stefan |
Mihai |
||
Serendipity |
Romantic |
Bleoca |
Sorana |
||
A.I. |
SF |
Vancu |
Diana |
||
Van Wilder |
Actiune |
Bleoca |
Tiberiu |
||
|
Aventura |
Vancu |
Diana |
||
|
Aventura |
Bleoca |
Sorana |
||
Anastasia |
Animatie |
Ardelean |
Cosmi |
||
The Lord Of The Ring |
Fantastic |
Manea |
Alexandru |
d) List aDVD-urilor existente
Lista DVD existente |
|
titlu |
categoria |
E.T. |
SF |
A.I. |
SF |
Van Wilder |
Actiune |
Annie Hall |
Comedie |
Absolut Power |
Thriller |
Edward Scissorhands |
Drama |
Anastasia |
Animatie |
|
Aventura |
The Lord Of The Ring |
Fantastic |
Serendipity |
Romantic |
e) DVD-uri imprumutate
Imprumut |
|||||
id_persoana |
titlu |
categoria |
data |
nume |
prenume |
Annie Hall |
Comedie |
Bleoaca |
Silviu |
||
The Lord Of The Ring |
Fantastic |
Bleoca |
Sorana |
||
A.I. |
SF |
Bleoca |
Tiberiu |
||
Edward Scissorhands |
Drama |
Stefan |
Mihai |
||
Serendipity |
Romantic |
Bleoca |
Sorana |
||
A.I. |
SF |
Vancu |
Diana |
||
Van Wilder |
Actiune |
Bleoca |
Tiberiu |
||
|
Aventura |
Vancu |
Diana |
||
|
Aventura |
Bleoca |
Sorana |
||
Anastasia |
Animatie |
Ardelean |
Cosmi |
||
The Lord Of The Ring |
Fantastic |
Manea |
Alexandru |
f) Proprietarii DVD-urilor
Proprietar |
||||
titlu |
categoria |
nume |
prenume |
id_persoana |
Serendipity |
Romantic |
Bleoaca |
Silviu | |
A.I. |
SF |
Bleoaca |
Silviu | |
Absolut Power |
Thriller |
Bleoaca |
Silviu | |
The Lord Of The Ring |
Fantastic |
Bleoaca |
Silviu | |
Anastasia |
Animatie |
Bleoca |
Tiberiu | |
E.T. |
SF |
Bleoca |
Tiberiu | |
|
Aventura |
Bleoca |
Tiberiu | |
Edward Scissorhands |
Drama |
Bleoca |
Sorana | |
Annie Hall |
Comedie |
Bleoca |
Sorana | |
Van Wilder |
Actiune |
Bleoca |
Sorana |
5. FORMULARE
S-au creat 3 formulare pentru usurarea introducerii datelor: TAB DVD, TAB IMPRUMUTARE, TAB PERSOANA.
6. RAPOARTE
S-au creat 4 rapoarte: "Cele mai vizionate, existente, imprumutate, neimprumutate".
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1770
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved