+ All Categories
Home > Documents > Evidenta Biblioteca

Evidenta Biblioteca

Date post: 18-Dec-2015
Category:
Upload: ionuiacob
View: 363 times
Download: 5 times
Share this document with a friend
Description:
Prioect Baze de Date
13
PROIECT BAZE DE DATE Sa se realizeze o baza de data pentru gestionarea unei biblioteci,fiecare abonat detine un permis pentru care se cunosc:nr permis,nume cititor,cnp,adresa,telefon.Abonatule poate imprumuta carti despre care se cunosc urmatoarele:cota carte,titlu,cod editura,valoare inventar,nr exemplare.Despre autorii cartilor se cunosc urmatoarele:nume autor,cod autor. Fiecare carte are o editura despre care se cunosc:cod editura,nume editura,adresa editura,telefon editura.Imprumuturile sunt urmarite cu ajutorul unei foi de imprumut ce contine:nr foaie imprumut,data imprumut,nr permis. Acest proiect isi propune sa trateze urmatoarele: -evidenţa abonaţilor bibliotecii -evidenţa cărţilor din cadrul bibliotecii -detalierea carţilor restituite -evidenţa editurilor -evidenţa împrumuturilor din cadrul bibliotecii Reguli de gestiune:1.un abonat poate sa imprumute una sau mai mult carti 2.o carte poate sa fie imprumutata de unul sau mai multi cititori. 3.Fiecare carte are un singur autor. 4.Un autor poate scrie una sau mai multe carti 5.Fiecare carte este publicate de o singura editura. 6.O editura poate publica una sau mai multe carti. Modelul relational: Carte(cota_carte ,titlu,cod_editura ,valoare_inventar)
Transcript

PROIECT BAZE DE DATE

Sa se realizeze o baza de data pentru gestionarea unei biblioteci,fiecare abonat detine un permis pentru care se cunosc:nr permis,nume cititor,cnp,adresa,telefon.Abonatule poate imprumuta carti despre care se cunosc urmatoarele:cota carte,titlu,cod editura,valoare inventar,nr exemplare.Despre autorii cartilor se cunosc urmatoarele:nume autor,cod autor.Fiecare carte are o editura despre care se cunosc:cod editura,nume editura,adresa editura,telefon editura.Imprumuturile sunt urmarite cu ajutorul unei foi de imprumut ce contine:nr foaie imprumut,data imprumut,nr permis.Acest proiect isi propune sa trateze urmatoarele:-evidena abonailor bibliotecii-evidena crilor din cadrul bibliotecii-detalierea carilor restituite-evidena editurilor -evidena mprumuturilor din cadrul biblioteciiReguli de gestiune:1.un abonat poate sa imprumute una sau mai mult carti2.o carte poate sa fie imprumutata de unul sau mai multi cititori.3.Fiecare carte are un singur autor.4.Un autor poate scrie una sau mai multe carti5.Fiecare carte este publicate de o singura editura.6.O editura poate publica una sau mai multe carti.Modelul relational:Carte(cota_carte,titlu,cod_editura,valoare_inventar)

Autor(cod_autor,nume_autor)

AutorCarte(cota_carte,cod_autor)

CarteDeImprumut(cota_carte,nr_foaie_imprumut,data_restituirii)

Editura(cod_editura,nume_editura,adresa_editura,telefon_editura)

FoaieDeImprumut(nr_foaie_imprumut,data_imprumut,nr_permis)

Permis (nr_permis,nume_cititor,cnp,adresa,telefon)

Relationships:

Interogari, proiectul folosete urmatoarele interogri:Cerinta1:sa se afiseze nr cartilor imprumutate de cititori in fiecare luna,numele cititorilor se va afisa pe randuri,iar luna pe coloane.

TRANSFORM Count(FoaieDeImprumut.Nr_Permis) AS CountOfNr_PermisSELECT Permis.Nume_CititorFROM Permis INNER JOIN (FoaieDeImprumut INNER JOIN (Carte INNER JOIN CarteDeImprumut ON Carte.Cota_Carte = CarteDeImprumut.Cota_Carte) ON FoaieDeImprumut.Nr_Foaie_Imprumut = CarteDeImprumut.Nr_Foaie_Imprumut) ON Permis.Nr_Permis = FoaieDeImprumut.Nr_PermisGROUP BY Permis.Nume_CititorPIVOT Month([Data_imprumut]);

Cerinta2:sa se mareasca valoare de inventar a cartilor cu 10%

UPDATE Carte SET Carte.Valoare_Inventar = [valoare_Inventar]+0.05*[valoare_inventar];Cerinta3:sa se afiseze nr zilelor de intarziere pentru fiecare cititor.

SELECT Permis.Nr_Permis, Permis.Nume_Cititor, DateDiff("d",[data_imprumut],[data_restituirii]) AS [intarziere zile]FROM Permis INNER JOIN (FoaieDeImprumut INNER JOIN CarteDeImprumut ON FoaieDeImprumut.Nr_Foaie_Imprumut = CarteDeImprumut.Nr_Foaie_Imprumut) ON Permis.Nr_Permis = FoaieDeImprumut.Nr_Permis;Cerinta4:sa se stearga un cititor,numele se va introduce de la tastaturaDELETE Permis.Nume_CititorFROM PermisWHERE (((Permis.Nume_Cititor)=[introduceti nume]));Cerinta5:sa se afiseze nr maxim de exemplare pentru fiecare carte,se va ordona crescator

SELECT Carte.Cota_Carte, Carte.Titlu, Max(Carte.Nr_Exemplare) AS MaxOfNr_ExemplareFROM CarteGROUP BY Carte.Cota_Carte, Carte.TitluORDER BY Max(Carte.Nr_Exemplare);Cerinta6:sa se afiseze lista cititorilor care locuiesc in Bucuresti,se va ordona alfabeticSELECT Permis.CNP, Permis.Nume_CititorFROM PermisWHERE (((Permis.Adresa) Like "*Bucuresti"))ORDER BY Permis.Nume_Cititor;

Cerinta7:sa se afiseze toate cartile si toti autorii

SELECT Carte.Titlu, Autor.Nume_AutorFROM Carte INNER JOIN (Autor INNER JOIN AutorCarte ON Autor.Cod_Autor = AutorCarte.Cod_Autor) ON Carte.Cota_Carte = AutorCarte.Cota_Carte;Cerinta8:sa se afiseze informatii despre o carte ce va fi introdusa de la tastatura

SELECT Carte.Titlu, Carte.Valoare_Inventar, Carte.Nr_ExemplareFROM Carte WHERE (((Carte.Titlu)=[introduceti carte]));Cerinta9: sa se afiseze cartile cu valoare de inventar mai mare de 10 lei

SELECT Carte.Titlu, Carte.Valoare_InventarFROM CarteWHERE (((Carte.Valoare_Inventar)>10));Cerinta10:sa se afiseze nr total de imprumuturi pentru fiecare carte

SELECT Carte.Cota_Carte, Carte.Titlu, Count(Carte.Cota_carte) AS NrimprumFROM FoaieDeImprumut INNER JOIN (Carte INNER JOIN CarteDeImprumut ON Carte.Cota_Carte = CarteDeImprumut.Cota_Carte) ON FoaieDeImprumut.Nr_Foaie_Imprumut = CarteDeImprumut.Nr_Foaie_ImprumutGROUP BY Carte.Cota_Carte, Carte.Titlu;Cerinta11:sa se afiseze cartile tiparite de o editura ce se va introduce de la tastaturaSELECT Editura.Nume_Editura, Carte.Titlu, Autor.Nume_AutorFROM Editura INNER JOIN (Carte INNER JOIN (Autor INNER JOIN AutorCarte ON Autor.Cod_Autor = AutorCarte.Cod_Autor) ON Carte.Cota_Carte = AutorCarte.Cota_Carte) ON Editura.Cod_Editura = Carte.Cod_Editura WHERE (((Editura.Nume_Editura)=[introduceti editura]));

Cerinta12:sa se afiseze editurile din Iasi

SELECT Editura.Cod_Editura, Editura.Nume_Editura, Editura.Adresa_Editura, Editura.Telefon_EdituraFROM EdituraWHERE (((Editura.Adresa_Editura) Like "*Iasi"));Cerinta13:sa se afiseze cititorii de sex feminin,nascuti in 1991

SELECT Permis.CNP, Permis.Nume_Cititor, Permis.Adresa, Permis.TelefonFROM Permis WHERE (((Permis.CNP) Like "2*" And (Permis.CNP) Like "?91*"));Cerinta14:sa se afiseze cititorii care au imprumutat carti in perioada 1.1.2011-1.4.2011

SELECT Permis.Nume_Cititor, Permis.CNP, Permis.Adresa, Permis.TelefonFROM Permis INNER JOIN FoaieDeImprumut ON Permis.Nr_Permis = FoaieDeImprumut.Nr_PermisWHERE (((FoaieDeImprumut.Data_Imprumut) Between #1/1/2011# And #4/1/2011#));

Cerinta15:sa se realizeze o interogare ce va crea tabelul restantieri care va contine nr permis,nume cititor,adresa,cnp ,motiv.La motiv se va completa restantier daca nr zilelor de intarziere >20 ,altfel se va completa fara restante

SELECT Permis.Nr_Permis, Permis.Nume_Cititor, Permis.CNP, Permis.Adresa, IIf([zile_intarziere]>20,"restantier","fara restante") AS motiv INTO RestantieriFROM Permis;Formulare:

Cerinta16 realizati un formular columnal pentru evidenta editurilor ce va contine o lista de cautare automata,se vor adauga butoane de navigare pentru inregistrari,stergere,adaugare,inchidere formular

Cerinta17 realizati un formular tabular pe baza tabelului carte in care se va calcula total valoare inventar

RapoarteCerinta18 sa se realizeze un raport numite RaportCarte in care sa se afiseze numarul de exemplare pentru fiecare carte.

Cerinta19 sa se realizeze un raport pe baza tabelului permis care sa prezinte informatii despre fiecare cititor


Recommended