Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice



Acasa » referate » informatica » baze de date
Proiect Baze de date

Proiect Baze de date



I. SPECIFICAREA PROBLEMEI

            O firma de inchiriat CD-uri doreste sa-si informatizeze activitatea.

Clientii pot fi numai persoane fizice si se caracterizeaza printr-un cod reprezentand seria si numarul buletinului, nume, prenume si adresa. Fiecare CD este caracterizat printr-un numar unic si tariful de inchiriere pe 24 de ore. Melodiile sunt caracterizate printr-un numar unic, titlul, durata si cantaretul care interpreteaza melodia.In momentul imprumutului se intocmeste un bon de imprumut caracterizat printr-un numar, data imprumutului si numarul de zile pentru vare a fost imprumutat CD-ul. Pe baza unui bon de imprumut se pot imprumuta unul sau mai multe CD-uri. In momentul restituirii se anuleaza bonul de imprumut, specificandu-se data la care a fost facuta restituirea. Pentru fiecare zi de intarziere se percepe o penalizare de 10% din tariful de inchiriere zilnica.

            In urma acestei aplicatii putem raspunde urmatoarelor interogari:

§       Data scadenta pentru fiecare CD.


§       Penalizarile pentru fiecare CD.

§       Totalul incasarilor din penalizari pentru CD-uri ce au fost restituite cu mai mult de 3 zile intarziere in perioada 05.01.2005- 09.01.2005.

 

II. ANALIZA PROBLEMEI

1.     IDENTIFICAREA ENTITATILOR SISTEMULUI.

Din specificarea problemei se deduce ca elementele semnificative(entitatile) ale acestui sistem sunt:

·       Clienti

·       Melodii

·       CD

·       Bonuri

2.     IDENTIFICAREA RELATIILOR SI STABILIREA CARDINALITATII ACESTORA

Intre entitatile sistemului se stabilesc relatiile urmatoare:

In momentul efectuarii unui imprumut entitatii Clienti i se intocmeste un Bonuri. Un client poate impumuta de mai multe ori, deci poate avea mai multe  bonuri - cardinalitatea max n, un client poate primi sau nu un bon (clientul este in baza de date dar la un moment dat nu imprumuta - cardinalitatea minima este 0.

Un bon poate fi primit doar de un client- cardinalitatea maxima 1, un buletin trebuie sa apartina unui client – cardinalitatea minima este 1.

Intre entitatea CD si entitatea Bonuri apare relatia imprumut. Printr-un bon se pot imprumuta mai multe CD-uri – cardinalitatea maxima n, pe baza unui  bon trebuie sa se imprumute cel putin un CD – cardinalitatea minima este 1.

Un cd poate fi imprumutat de mai multe ori, deci poate aparea pe mai multe bonuri – cardinalitatea maxima n, un CD poate sa nu fie deloc imprumutat- cardinalitatea minima este 0.

Intre entitatea CD si Melodii exista relatia contine.

Un CD poate contine mai multe melodii- cardinalitatea maxima n. Un CD trebuie sa contina cel putin 0 melodii- cardinalitatea minima este 1.

O melodie poate fi continuta de mai multe CD- uri- cardinalitatea maxima este n. O melodie trebuie sa fie continuta cel putin de un CD – cardinalitatea minima este 1.

Hexagon: INTOCMESTE               0, n                                                                                                                                                1, 1                                                                                              

              

CLIENTI

Cod_client

Den_client

Adresa

 

BONURI

Nr_bon

Data_imprumut

 


CD

Cod_cd

Tarif zilnic

 
                                                                                                                                                     

                                                                                                                       


                                                                                                                                                    1, n

                                                                0,n                                                                      1,n           

Hexagon: IMPRUMUT
Durata
Data_imprumut
Data_restituire
Penalizare

MELODII

Cod_melodie

Titlul

Durata

Cantaret

 
                                                                                               

                       


                                                   0,n               

Hexagon: Contine                            1,n

3.     IDENTIFICAREA ATRIBUTELOR ENTITATILOR

Fiecare din entitatile identificate au niste caracteristici numite atributele entitatilor care participa la sistem.

Atibutele entitatilor identificate in sistemul nosru sunt:

·       Entitatea Clienti :cod_client(serie si numar Buletin de identitate), den_client(nume si prenume), adresa

·       Entitatea Melodii: Cod_melodie, Titlul,  Cantaret

·       Entitatea CD: Cod_cd, Tarif_zilnic

·       Entitatea Bonuri:Nr_bon,Data_imprumut

4.     STABILIREA CHEILOR PRIMARE ALE ENTITATILOR

Presupunem ca fiecare Clienti este identificat printr-un cod unic de identificare format din seria si numarul buletinului de identitate, numit Cod_client care nu poate fi nul si care formeaza cheie primara pentru entitatea client.

Cod_melodie  reprezinta cheie primara pentru entitatea Melodii.

  Nr_bon reprezinta cheie primara pentru entitatea Bonuri.

  Cod_cd  reprezinta cheie primara pentru entitatea CD



5.     TRASAREA DIAGRAMEI ENTITATE-ASOCIERE (E-A)

 IMPRUMUT

Nr_bon

Cod_cd

Durata

Data_imprumut

Data_restituire

 


CLIENT

Cod_client

Den_client

Adresa

 
                                               

BON

Nr_bon

Cod_client

Data_imprumut

 
                                                                                                                   

Text Box: CD

Cod_cd
Tarif_zilnic
                                                                                                                  

 

             

                                                                                                                                                                                                                                                                                                                                      


6.     MODELUL RELATIONAL AL SISTEMULUI

Din  diagrama E-A  rezulta ca tabelele care vor compune baza de date vor fi:

1.     Tabela Clienti (Cod_Client, Den_client, Adresa);



2.     Tabela Bon (Nr_bon, Cod_client, Data imprumut);

3.     Tabela Melodie (Cod_melodie, Titlul, Cantaret);

4.     Tabela CD (Cod_cd, Tarif_zilnic);

5.     Tabela Imprumut (Nr_bon, Cod_cd, Durata, Data _imprumut, Data _restituire);

6.     Tabela Contine (Cod_cd, Cod_melodie)

  

 


II. IMPLEMENTARE

CREAREA TABELELOR

CREATE TABELE client(

cod_client VARCHAR2(12) PRIMARY KEY,

den_client VARCHAR2(30),

adresa VARCHAR2(30));

INSERT INTO client

VALUES('MS321547', 'Olteanu Doina', 'Busuiocului 8 ap.12');

INSERT INTO client

VALUES(' MS321542', 'Popoviciu Dana', 'Teatrului 12 ap.14');

INSERT INTO client

VALUES( 'MS023511''Serban Tudor','Vadului 3');

INSERT INTO client

VALUES('MS054280', 'Moraru Radu', ' Revolutiei 5');

INSERT INTO client

VALUES('MS115006', Moldovan Anca', 'Hateg 25 ap.10');

INSERT INTO client

VALUES('MS416418', 'Pascan Lavinia', 'Bucinului 1 ap.3');

INSERT INTO client

VALUES('MS667210', 'Banu Paul','Postei 8 ap.20');

INSERT INTO client

VALUES('MS358000','Cionca Emil','Moldovei 1 ap.16');

CREATE TABLE bon(

nr_bon NUMBER(3), PRIMARY KEY,

cod_client VARCHAR2(12),

data_imprumut VARCHAR2(20),

constraint cheie_externa_client foreign key(cod_client) reference client(cod, client));

INSERT INTO bon

VALUES('1','MS321547','03ian2004);

INSERT INTO bon

VALUES('2',' MS321542','04ian2004);

INSERT INTO bon

VALUES('3',' MS023511','04ian2004);

INSERT INTO bon

VALUES('4',' MS321547 ','05ian2004);

INSERT INTO bon

VALUES('5',' MS115006','05ian2004);

INSERT INTO bon

VALUES('6',' MS416418','06ian2004);

INSERT INTO bon

VALUES('7','' MS115006,'07ian2004);

INSERT INTO bon

VALUES('8',' MS023511','08ian2004);

INSERT INTO bon

VALUES('9',' MS667210','08ian2004);

INSERT INTO bon

VALUES('10',''MS358000'','09ian2004);

CREATE TABLE melodie(

cod_melodie NUMBER(3) PRIMARY KEY,

titlu VARCHAR2(30),

cantaret VARCHAR2(30));

INSERT INTO melodie

VALUES('1','Dincolo de noapte','Nicola');

INSERT INTO melodie

VALUES('2','Dac-ai sti','Directia 5');

INSERT INTO melodie

VALUES('3','Vreau sarutarea ta','Andra',);

INSERT INTO melodie

VALUES('4','Jumatatea mea','Holograf');

INSERT INTO melodie

VALUES('5','N-am iubit','Holograf');

INSERT INTO melodie

VALUES('6','Am nevoie de tine','Directia 5');

INSERT INTO melodie

VALUES('7','Doua maini','Bosquito');

INSERT INTO melodie

VALUES('8','Dragostea mea','Holograf');

INSERT INTO melodie

VALUES('9','Inocentza','Anna Lesko');

INSERT INTO melodie



VALUES('10','Cantec pentru mama','Talisman');

INSERT INTO melodie

VALUES('11','Mai dulce',Hi-Q');

INSERT INTO melodie

VALUES('12','Culoarea dragostei','Milenium');

CREATE TABLE cd(

cod_cd NUMBER(3),PRIMARY KEY,

tarif_zilnic NUMBER(6));

INSERT INTO cd

VALUES('1','10000');

INSERT INTO cd

VALUES('2','10000');

INSERT INTO cd

VALUES('3','10000');

INSERT INTO cd

VALUES('4','10000');

INSERT INTO cd

VALUES('5','10000');

INSERT INTO cd

VALUES('6','10000');

CREATE TABLE bon_imprumut(

nr_bon NUMBER(3),

cod_cd NUMBER(3),

constraint cheie_primara primary key(nr_bon,cod_cd);

constraint cheie_externa_bon foreign key(nr_bon) reference bon(nr_bon);

constraint cheie_externa_cd foreign key(cod_cd) reference cd(cod_cd));

INSERT INTO bon_imprumut

VALUES('1','1');

INSERT INTO bon_imprumut

VALUES('2','3');

INSERT INTO bon_imprumut

VALUES('3','2');

INSERT INTO bon_imprumut

VALUES('4','4');

INSERT INTO bon_imprumut

VALUES('5','6');

INSERT INTO bon_imprumut

VALUES('6','5');

INSERT INTO bon_imprumut

VALUES('7','3');

INSERT INTO bon_imprumut

VALUES('8','2');

INSERT INTO bon_imprumut

VALUES('8','4');

INSERT INTO bon_imprumut

VALUES('10','1');

CREATE TABLE bon_restituit(

nr_bon NUMBER(3),

cod_cd NUMBER(3),

data_restituire VARCHAR2(20),

penalizare number(3),

constraint cheie_primara primary key(nr_bon,cod_cd)

constraint cheie_externa_bon foreign key(nr_bon) reference bon(nr_bon),

constraint cheie_externa_cd foreign key(cod_cd) reference cd(cod_cd));

INSERT INTO bon_restituit

VALUES('1','1','04ian2004');

INSERT INTO bon_restituit

VALUES('2','3','05ian2004');

INSERT INTO bon_restituit     

VALUES('3','2','05ian2004');

INSERT INTO bon_restituit

VALUES('4','9','06ian2004');

INSERT INTO bon_restituit

VALUES('5','6','07ian2004', '1');

INSERT INTO bon_restituit

VALUES('6','5','10ian2004', '3');

INSERT INTO bon_restituit

VALUES('7','3','09ian2004', '1');

INSERT INTO bon_restituit     

VALUES('8','3','09ian2004');

INSERT INTO bon_restituit

VALUES('9','1','09ian2004 ');

INSERT INTO bon_restituit

VALUES('10','2','10ian2004');

CREATE TABLE melodie_cd(

cod_cd NUMBER(3),

cod_melodie NUMBER(3),

constraint cheie_primara primary key(cod_cd,cod_melodie)

constraint cheie_externa_cd foreign key(cod_cd) reference cd(cod_cd),

constraint cheie_externa_melodie foreign key(cod_melodie) reference melodie(cod_melodie));

INSERT INTO melodie_cd

VALUES('1','1');

INSERT INTO melodie_cd

VALUES('2','2');

INSERT INTO melodie_cd

VALUES('3','3');

INSERT INTO melodie_cd

VALUES('4','4');

INSERT INTO melodie_cd

VALUES('5','5');

REZOLVAREA INTEROGARILOR

§       Data scadenta pentru fiecare CD

SELECT Bon.Nr_bon, Bon.Cod_client, [Bon imprumut].Cod_cd,

     Bon.Data_imprumut, DateAdd(“d”, [Durata], [Data_imprumut])

     AS Data_scadenta

FROM Bon INNER JOIN [Bon imprumut] ON Bon.Nr_bon=

     [Bon imprumut].Nr_bon;

§       Penalizarile pentru fiecare CD

SELECT Bon.Nr_bon, [Bonrestituit].Cod_cd, [Data scadenta].Data scadenta, [Bon restituit].Data_restituire, [Tarif_zilnic]*0.1*[Zile_penalizare]

AS Penalizari, Iif(DateDiff(“d”,[Data_scadenta],[Data_restituire])>=0. DateDiff(“d”,[Data_scadenta],[Data_restituire]).0) AS Zile_penalizare

FROM ((Bon INNER JOIN [Data scadenta] ON Bon.Nr_bon=

    [Data scadenta].Nr_bon) INNER JOIN CD ON [Data scadenta].Cod_cd=CD.cod_cd) INNER JOIN [Bon restituit] ON(CD.Cod_cd=[Bon restituit].Cod_cd) AND(Bon.Nr_bon=[Bon restituit].Nr_bon);

§       Totalul incasarilor din penalizari pentru Cd-uri ce au fost restituite cu mai mult de 3 zile intarziere in perioada 05.01.2005- 09.01.2005.

SELECT DlookUp(Sum[Penalizari], “Penalizari” AS Penalizarile

FROM Penalizari

WHERE Penalizari.Zile_penalizari>=3 AND

                 Penalizari.Data_restituire>= #05ian2004# AND

                 Penalizari.Data_restituire<= #09ian2004# ));

CREAREA SECVENTELOR

CREATE  SEQUENCE  Cod_client

INCREMENT BY 1

START WITH 1

MAXVALUE 9999

NOCYCLE

CREATE  SEQUENCE  Nr_bon

INCREMENT BY 1

START WITH 1

MAXVALUE 9999

NOCYCLE

CREATE  SEQUENCE  Cod_melodie 

INCREMENT BY 1

START WITH 1

MAXVALUE 9999

NOCYCLE

CREATE  SEQUENCE  Cod_cd 

INCREMENT BY 1

START WITH 1

MAXVALUE 9999

NOCYCLE

TRIGGER

create or replace trigger timp_de_lucru

before insert or update or delete on IMPTUMUT

begin

            if (to_char (sysdate, `hh24`)not between `07` and`20`

            then raise_application_error (-20500, `Firma este inchisa`);

            end if;

end;

INSERAREA UNEI NOI DATE

ACCEPT titlul_nou PROMPT ` titlul`

ACCEPT durata_nou PROMPT ` durata`

ACCEPT cantaret_nou PROMPT ` cantaret`

Insert into MELODII (titlul, durata, cantaret) values (`&titlul_nou` , `& durata_nou` , `cantaret_nou`);








Politica de confidentialitate

.com Copyright © 2019 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE Clasa: I Matematica - Adunarea si scaderea numerelor naturale de la 0 la 30, fara trecere peste ordin
 Proiect didactic Grupa: mijlocie - Consolidarea mersului in echilibru pe o linie trasata pe sol (30 cm)
 Redresor electronic automat pentru incarcarea bateriilor auto - proiect atestat
 Proiectarea instalatiilor de alimentare ale motoarelor cu aprindere prin scanteie cu carburator

Lucrari de diploma

vezi toate lucrarile de diploma
 Lucrare de diploma - eritrodermia psoriazica
 ACTIUNEA DIPLOMATICA A ROMANIEI LA CONFERINTA DE PACE DE LA PARIS (1946-1947)
 Proiect diploma Finante Banci - REALIZAREA INSPECTIEI FISCALE LA O SOCIETATE COMERCIALA
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”

Lucrari licenta

vezi toate lucrarile de licenta
 CONTABILITATEA FINANCIARA TESTE GRILA LICENTA
 LUCRARE DE LICENTA - FACULTATEA DE EDUCATIE FIZICA SI SPORT
 Lucrare de licenta stiintele naturii siecologie - 'surse de poluare a clisurii dunarii”
 LUCRARE DE LICENTA - Gestiunea stocurilor de materii prime si materiale

Lucrari doctorat

vezi toate lucrarile de doctorat
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 LUCRARE DE DOCTORAT ZOOTEHNIE - AMELIORARE - Estimarea valorii economice a caracterelor din obiectivul ameliorarii intr-o linie materna de porcine

Proiecte de atestat

vezi toate proiectele de atestat
 Proiect atestat informatica- Tehnician operator tehnica de calcul - Unitati de Stocare
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 ATESTAT PROFESIONAL LA INFORMATICA - programare FoxPro for Windows
 Proiect atestat tehnician in turism - carnaval la venezia






Termeni si conditii
Contact
Creeaza si tu