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

IDENTIFICAREA ENTITATILOR SISTEMULUI

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

Clienti

Melodii

CD

Bonuri

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.

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

MELODII

Cod_melodie

Titlul

Durata

Cantaret

 


0,n

1,n

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

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


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

 


MODELUL RELATIONAL AL SISTEMULUI

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

Tabela Clienti (Cod_Client, Den_client, Adresa);

Tabela Bon (Nr_bon, Cod_client, Data imprumut);

Tabela Melodie (Cod_melodie, Titlul, Cantaret);

Tabela CD (Cod_cd, Tarif_zilnic);

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

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


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.


Comentarii literare

ALEXANDRU LAPUSNEANUL COMENTARIUL NUVELEI
Amintiri din copilarie de Ion Creanga comentariu
Baltagul - Mihail Sadoveanu - comentariu
BASMUL POPULAR PRASLEA CEL VOINIC SI MERELE DE AUR - comentariu

Personaje din literatura

Baltagul – caracterizarea personajelor
Caracterizare Alexandru Lapusneanul
Caracterizarea lui Gavilescu
Caracterizarea personajelor negative din basmul

Tehnica si mecanica

Cuplaje - definitii. notatii. exemple. repere istorice.
Actionare macara
Reprezentarea si cotarea filetelor

Economie

Criza financiara forteaza grupurile din industria siderurgica sa-si reduca productia si sa amane investitii
Metode de evaluare bazate pe venituri (metode de evaluare financiare)
Indicatori Macroeconomici

Geografie

Turismul pe terra
Vulcanii Și mediul
Padurile pe terra si industrializarea lemnului


Termeni si conditii
Contact
Creeaza si tu