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.

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

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

 

Text Box: CD

Cod_cd
Tarif_zilnic


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`);





loading...




Politica de confidentialitate

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


Proiecte

vezi toate proiectele
 PROIECT DE LECTIE CLASA: a X a EDUCATIE MUZICALA - OPERA IN GERMANIA SI RUSIA
 PROIECT DIDACTIC 3-5 ani Limba si comunicare - Strugurele, de Maria Gaitan
 Proiect instalatii electrice - Sa se proiecteze instalatia electrica si de forta a unei microintreprinderi la alegerea studentului
 PROIECT - Ingineria reglarii automate - sistemul de reglare automata a unei actionari cu motor electric

Lucrari de diploma

vezi toate lucrarile de diploma
 LUCRARE DE DIPLOMA - Rolul asistentului medical in ingrijirea pacientului cu A.V.C.
 Relatiile diplomatice dintre Romania si Austro- Ungaria din a doua jumatate a secolului al XIX-lea
 Lucrare de diploma managementul firmei “diagnosticul si evaluarea firmei”
 Lucrare de diploma tehnologia confectiilor din piele si inlocuitor - proiectarea constructiv tehnologica a unui produs de incaltaminte tip cizma scurt

Lucrari licenta

vezi toate lucrarile de licenta
 Lucrare de licenta contabilitate si informatica de gestiune - politici si tratamente contabile privind leasingul (ias 17). prevalenta economicului asupra juridicului
 Lucrare de licenta educatie fizica si sport - studiu asupra imbunataȚirii motricitaȚii in lectia de educatie fizica la clasele a v-a de la &
 Lucrare de licenta ecologie si protectia mediului - aspecte ecologice privind fauna de orthoptere si mantide din parcul national muntii macinului
 LUCRARE DE LICENTA - Asigurarea calitatii la firma Trans

Lucrari doctorat

vezi toate lucrarile de doctorat
 Diagnosticul ecografic in unele afectiuni gastroduodenale si hepatobiliare la animalele de companie - TEZA DE DOCTORAT
 Doctorat - Modele dinamice de simulare ale accidentelor rutiere produse intre autovehicul si pieton
 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 - GESTIONAREA STOCULUI UNEI FARMACII
 LUCRARE DE ATESTAT ELECTRONIST - TEHNICA DE CALCUL - Placa de baza
 Evidenta a clientilor dar si a serviciilor in Visual Fox pro 9 - Lucrare de atestat
 Lucrare atestat Tehnician in turism - CALITATEA SERVICIILOR TURISTICE








Termeni si conditii
Contact
Creeaza si tu