Sunteți pe pagina 1din 22

Colegiul National Ion Minulescu

Lucrare de atestat

Prof.Coord.:Catanoiu Camelia
Elev:Puiu Sorin
Clasa: a-XII-a C

Administrarea unei biblioteci

CUPRINS

1
SCENARIU_________________________________________________________3
2 DEFINIREA BAZEI DE DATE____________________________________4
2.1

Descrierea bazei de date_______________________________________5

2.2

Schema Conceptuala____________________________________________6

2.3

Descrierea Tabelelor____________________________________________7

2.4

Crearea Tabelelor________________________________________________8

2.5

Actualizarea Structurii Tabelelor_______________________________9

3 ACTUALIZAREA DATELOR____________________________________11

3.1

Inserarea Datelor______________________________________________11

3.2

Actualizarea Datelor___________________________________________16

EXEMPLE DE INTEROGARI VARIATE_______________________18

5 CONCLUZII____________________________________________________22

Administrarea unei biblioteci

SCENARIU

Orice institutie de invatamant are nevoie de o centralizare a informatiilor despre elevii sai si
despre activitatea lor didactica. De aceea, evidenta unui catalog virtual este necesara. Se
doreste crearea unei baze de date ce realizeaza gestiunea fondului de carti a unei biblioteci.
Prin intermediul tabelelor descrise se va tine evidenta elevilor, cartilor, domeniilor,
a imprumuturilor si a angajatilor care le acorda. Angajatii vor trebui sa identifice daca o carte
este sau nu este disponibila si totodata ei sunt responsabili pentru cartile care le imprumuta.
Doar elevii liceului au dreptul sa imprumute carti, pe care le vor returna dupa un termen
limita. De asemenea, trebuie incluse tabele care cuprind informatii despre competitiile la care
au participat elevii liceului.

Administrarea unei biblioteci

2 DEFINIREA BAZEI DE DATE


2.1 Descrierea bazei de date

Institutiile de invatamant au nevoie de o centralizare a informatiilor despre elevii inscrisi


la fiecare scoala si despre activitatea lor didactica. De aceea, am construit o baza de date
pentru o informatizarea activitatii intr-o biblioteca, tinand evidenta unui catalog virtual.
Baza de date pe care am creat-o va fi folosita atat de angajatii bibliotecii, cat si de elevi
pentru a verifica existenta unei carti si disponibilitatea acesteia la sala de imprumut sau de
lectura. De asemenea, se includ informatii despre domeniul de aplicabilitate al fiecarei carti
din biblioteca.
Sunt foarte importante informatiile despre situatia cartilor, a imprumuturilor realizate,
despre elevii care au facut imprumutul sa fie inregistrate. Aceste date vor ajuta angajatii sa
identifice daca o carte este sau nu disponibila.
Scopul bazei de date este sa fie sortate cartile, sa se gestioneze situatia imprumuturilor si
sa se aiba o legatura a angajatilorilor care au predat o anumita carte si elevii care au cerut-o.
In fiecare tabela din baza de date se tine evidenta acestor detalii, iar prin relatiile dintre ele se
poate usor depista traseul dorit.
Obiectivele lucrarii sunt :

Sa creeze o baza de date capabila sa inregistreze un flux mare de informatii si sa


gestioneze aceste informatii in timp util;

Sa tina o evident completa a unei biblioteci;

Sa minimizeze timpul alocat cautarii unor informatii despre carti, despre domeniile din
care fac parte si despre autorii lor, respectiv editura;

Administrarea unei biblioteci

In plus, se urmareste crearea unei baze de date puternice pentru:


Marirea eficientei de invatare;
Simplificare misiunii bibliotecarului la cautarea unei carti;
Stocarea informatiilor importante despre elevii si biblioteca unui liceu.
Baza de date tine evidenta unei biblioteci. De aceea, trebuie inregistrate cartile din
gestiune bibliotecii CARTI, elevii carora li s-au imprumutat, respectiv ELEVI , deoarece
gestionarea situatiei lor este obiectivul bazei de date. De asemenea, sunt incluse tabele care
cuprind informatii despre competitiile la care au participat elevii liceului - CONCURSURI.
O alta tabela importanta din schema este tabela ANGAJATI, deoarece ei sunt
reprezentantii bibliotecii, cei care le predau elevilor cartile si sunt responsabili de acestea.
Baza de date mai contine o tabela referitoare la activitatea bibliotecii, si anume :
IMPRUMUTURI, care contine detalii referitoare la data efectuarii imprumutului, la termenul
limita de restituire si la disponibilitatea unei carti restituita, nereturnata, in curs de
inregistrare.
Reprezentand liceul prin rezultatele lor, tabela ELEVI ocupa un loc central in baza de
date. Din acest motiv, s-au dezvoltat alte tabele in relatie de 1:n cu tabela CONCURSURI, si
anume : LOCATII, TARI si REGIUNI, in relatii 1:n. Cele 3 tabele de mai sus ofera informatii
suplimentare despre locul de desfasurare a unui concurs interscolar, respectiv unde s-a
efectuat si unde s-a descoperit competitia.
Aceasta baza de date realizeaza gestiunea fondului de carti a unei biblioteci. Astfel
prin intermediul tabelelor descrise mai jos se tine evidenta elevilor, cartilor, domeniilor, a
imprumuturilor si a angajatilor care le acorda.
Tabela Carti contine informatii despre cartile aflate in inventarul bibliotecii: id carte,
denumire, autor, editura, an (aparitie), domeniu, valoare.
Tabela Elevi contine informatii despre elevii inregistrati care doresc sa imprumute
carti: CNP, nume, prenume, clasa, an, adresa, numar de telefon.

Administrarea unei biblioteci

Tabela Imprumuturi contine detalii despre fiecare imprumut efectuat: id imprumut,


id carte imprumutata, CNP-ul elevului care a imprumutat cartea, CNP-ul angajatului care a
acordat imprumutul, data imprumutului, data restituirii limita, starea imprumutului(in
curs=mai este timp pentru a fi returnata cartea, returnata, nereturnata=nu a fost returnata la
timp).
Tabela Angajati contine date despre cei care acorda fiecare imprumut: CNP, nume,
prenume, adresa, numar de telefon.
Tabela Domenii contine id-ul fiecarui domeniu si denumirea acestuia.

2.2 Schema Conceptuala

ELEVI
CNP

IMPRUMUTURI
Idimprumut

Nume

Prenume

Idcarte

Clasa

An

Idelev

Idangajat

Autor

Editura

Adresa

Nrtel

Datarest

Stare

Domeniu

Valoare

Dataimp

CARTI
Idcarte

Denumire

An

DOMENII
Iddomeniu

Denumire

ANGAJATI
CNP

Nume

Prenume

Adresa

Nrtel

Administrarea unei biblioteci

2.3 Descrierea Tabelelor


STUDENTI
Nume
coloana

CNP

Nume

Prenume

Clasa

An

Adresa

Nrtel

Number
1

Varchar2
100

Varchar2
10

Tip
restrictie

Primary
key

Tip data
Lungime

Number
13

Varchar2
20

Varchar2
20

Check
( upper
(clasa) in (
'A', 'B',
'C', 'D',
'E', 'F', 'G',
'K', 'I' )
Varchar2
10

Idcarte

Denumire

Autor

Editura

An

Domeniu

Valoare

Primary
key
Number
5

Varchar2
50

Varchar2
50

Varchar2
20

Number
4

Number
5

Number
4

Idcarte

Idelev

Datarest

Stare

CARTI
Nume
coloana
Tip
restrictie
Tip data
Lungime

IMPRUMUTURI
Nume
Idimprumut
coloana
Tip
restrictie

Primary
key

Tip data
Lungime

Number
5

ANGAJATI
Nume
coloana

Idangajat

Foreign
Foreign
Foreign
Key
Key
Key
References References References
Carti
Elevi
Angajati
(Idcarte)
(CNP)
(CNP)
Number
Number
Number
5
5
5

CNP

Tip restrictie

Primary key

Tip data
Lungime

Number
13

DOMENII
Nume coloana
Tip restrictie
Tip data
Lungime

Nume

Prenume

Varchar2
20

Varchar2
20

Iddomeniu
Primary key
Number
5
7

Check (an
between 1
and 4)

Dataimp

Date

Date

Check
(stare in
( 'in curs',
'returnat',
'nereturnat)
Varchar2
10

Adresa

Nrtel

Varchar2
100

Check (nrtel
like '0%')
Varchar2
10

Denumire
Not Null
Varchar2
20

Administrarea unei biblioteci

2.4 Crearea Tabelelor


drop table elevi cascade constraints;
drop table domenii cascade constraints;
drop table carti cascade constraints;
drop table angajati cascade constraints;
drop table imprumuturi cascade constraints;
create table elevi
(cnp varchar2(13) constraint pk_elevi primary key,
nume varchar2(20),
prenume varchar2(20),
clasa varchar2(10),
an number(1),
adresa varchar2(100),
nrtel varchar2(10)
);
create table domenii
(iddomeniu number(5) constraint pk_domenii primary key,
denumire varchar2(20) not null
);
create table carti
(idcarte number(5) constraint pk_carti primary key,
denumire varchar2(50),
autor varchar2(50),
editura varchar2(20),
an number(4),
domeniu number(5) references domenii(iddomeniu),
valoare number(4)
);
8

Administrarea unei biblioteci

create table angajati


(cnp varchar2(13) constraint pk_angajati primary key,
nume varchar2(20),
prenume varchar2(20),
adresa varchar2(100),
nrtel varchar2(10) constraint ck_nrtel check(nrtel like '0%')
);
create table imprumuturi
(idimprumut number(5) constraint pk_imprumuturi primary key,
idcarte number(5) references carti(idcarte),
idelev varchar2(13) references elevi(cnp),
idangajat varchar2(13) references angajati(cnp),
dataimp date default sysdate,
datarest date,
stare varchar2(10)
);

2.5 Actualizarea Structurii Tabelelor


Sa se modifice numele tabelei ANGAJATI in PERSONAL si apoi din nou in
ANGAJATI.
alter table angajati rename to personal;
rename personal to angajati;
Sa se adauge o noua coloana la tabela ELEVI, si anume email de tipul
VARCHAR2(30).
alter table elevi add (email varchar2(30));

Administrarea unei biblioteci

Sa se modifice proprietatile campului imprumut din tabela IMPRUMUTURI

astfel incat lungimea acestuia sa fie de 10 caractere.


alter table imprumuturi modify(idimprumut number(10));
Sa se stearga coloana nou creata din tabela ELEVI.

alter table elevi drop column email;


Sa se adauge restrictia pentru tabela ELEVI, astfel incat sa nu se introduca elevi

apartinand unor clase care de fapt nu exista (in liceu exista clase de la A la I).
alter

table

elevi

add

(constraint

ck_clasa

check(upper(clasa)

in

('A','B','C','D','E','F','G','K','I')));
Sa se adauge restrictia pentru tabela IMPRUMUTURI, astfel incat sa se

introduca doar anumite tipuri de sate in campul stare.


alter

table

imprumuturi

add(constraint

ck_stare

check(stare

in

('in

curs','returnat','nereturnat')));
Sa se stearga restrictia validarii numarului de telefon din tabela ANGAJATI.
alter table angajati drop constraint ck_nrtel;
Sa se adauge restrictia ca anul elevilor sa fie valid.
alter table elevi add(constraint ck_an check(an between 1 and 4));

3 ACTUALIZAREA DATELOR
3.1 Inserarea Datelor
Inserarea datelor in tabela ELEVI

insert into elevi


values('1880304839238','Popescu','Andrei','B',2,'Str
Bucuresti','0789364830');
10

Nufarului,

Nr

34,

Administrarea unei biblioteci

insert into elevi


values('1870101123212','Marinescu','Alexandru','A',3,'Str

Lacului,

Nr

354,

Bucuresti','0762827392');
insert into elevi
values('1890307827323','Marcu','Alin','I',1,'Str

Cristian

Pascal,

Nr

23,

Bucuresti','0745738298');
insert into elevi
values('2890505837483','Jinga','Elena','B',1,'Aleea

Lalelelor,

Nr

234,

Buzau','0721734632');
insert into elevi
values('2880709827382','Popovici','Alina','A',2,'Aleea

Unirii,

Nr

98,

Brasov','0723829380');
insert into elevi
values('2870402829384','Valasan','Arina','B',3,'Str

Focului,

Nr

45,

Oradea','0766562762');
insert into elevi
values('2860808890293','Dorotea','Cristina','E',4,'Str

Marin

Ionescu,

Nr

78,

Timisoara','0734673832');
insert into elevi
values('1850802839283','Marin','Iulian','F',5,'Str

Marianelor,

Nr

74,

Arad','0723782738');

insert into elevi


values('1880102829302','Dobre','Andrei','I',2,'Aleea

Furnicilor,

Nr

53,

Brasov','0766348324');
insert into elevi
values('1890909829382','Iordache','Manuel','C',1,'Str

Razboieni,

Nr

1,

Iasi','0765782673');
insert into elevi
values('2870904873823','Ionescu','Maria','C',3,'Str Ciocarliilor, Nr 345, Iasi','0745783473');

11

Administrarea unei biblioteci

Inserarea datelor in tabela DOMENII


insert into domenii values(10001,'Stiinte');
insert into domenii values(10002,'Analiza');
insert into domenii values(10003,'Algebra');
insert into domenii values(10004,'Economie');
insert into domenii values(10005,'Limba romana');
insert into domenii values(10006,'Informatica');
insert into domenii values(10007,'Engleza');
insert into domenii values(10008,'Geografie');
insert into domenii values(10009,'Fizica');
insert into domenii values(10010,'Istorie');
insert into domenii values(10011,'Filosofie');
insert into domenii values(10012,'Chimie');
insert into domenii values(10013,'Biologie');
insert into domenii values(10014,'Sociologie');
insert into domenii values(10015,'Limba germana');

Inserarea datelor in tabela CARTI


insert into carti
values(10001,'Astronomie','Dobre Raluca','ASE',1999,10012,34);
insert into carti
values(10002, 'Matematici aplicate', 'Ande Adela', 'ECONOMICA', 2001, 10004, 56);
insert into carti
values(10003,'Culegere de probleme', 'Dobre Ionela','RAO',2001,10006,100);
insert into carti
values (10004, ' Economie', 'Radu Constantinescu', 'Stiintifica', 2005, 10006,110);
12

Administrarea unei biblioteci

insert into carti


values(10005,'Cel

mai

iubit

dintre

pamanteni','Marin

Preda','Stiintifica',2003,10006,65);
insert into carti
values( 10006, 'Sisteme de calcul si operare', 'Sacalescu Ion', 'ECONOMICA', 2002,
10001, 75);
insert into carti
values(10007,'Business Communication','Marcu Ioana','Paralela45',2000,10004,90);
insert into carti
values(10008,'Atlasul lumii in imagini','Stan Andreea','RAO',2005,10005,93);
insert into carti
values(10009,'Mecanica si eletronica','Anghelache Daniel', 'ASE', 2002, 10011,35);
insert into carti
values(10010,'Istoria Romaniei','Anghel Adriana','ASE',2007,10009,76);
insert into carti
values(10011,'Kant','Chirita Ioana','ECONOMICA',2003,10009,53);
insert into carti
values(10012,'Tabelul

periodic

al

elementelor','Apostol

Georgiana','RAO',2002,10004,234);
insert into carti
values(10013,'Evolutia plantelor','Sandulescu Alin','ASE',2001,10001,120);
insert into carti
values

(10014,

'Fundamentele

organizatiei',

'Inulescu

Adelin',

'Business',

2006,10010,240);
insert into carti
values(10015,'Deutsch','Alexe Octavian','ECONOMICA',2007,10010,230);
insert into carti
values(10016,'Un veac de singuratate','Gabriel Garcia Marquez','ASE',2008,10010,500);
Inserarea datelor in tabela ANGAJATI
insert into angajati
13

Administrarea unei biblioteci

values ('1770303829382','Aden','Ion','Str Garofitei, Nr 34, Bucuresti', '0754562526');


insert into angajati
values ('2780908273821', 'Esten','Daniela', 'Str Ion Lunca, Nr 124, Bucuresti',
'0789232093');
insert into angajati
values

('2680301738293','Dudu','Elena','Str

Calarasilor,

Nr

221,

Bucuresti',

'0723723637');
insert into angajati
values ('2710709762982','Doroftei','Elisabeta','Str Inginerilor, Nr 23, Bucuresti',
'0765563728');
insert into angajati
values ('1800101928392','Dorohoi','Alin','Str Constructorilor, Nr 23, Bucuresti',
'0787632637');
insert into angajati
values

('1780303938482','Dante','Gheorghe','Str

Nuferilor,

Nr

56,

Bucuresti',

Luncii,

Nr

54,

Bucuresti',

'0754238412');
insert into angajati
values

('1760908736273','Haralambie','Ionica','Str

'0765736473');
insert into angajati
values ('1740205873238','Vente','Dan','Str Lorzilor, Nr 98, Bucuresti', '0721837432');

insert into angajati


values ('2780504839283','Pop','Marieta','Str Nucilor, Nr 67, Bucuresti', '0723984903');
insert into angajati
values ('2790508837283', 'Popa', 'Alina', 'Str Nucilor, Nr 69, Bucuresti', '0734983743');
Inserarea datelor in tabela IMPRUMUTURI
insert into imprumuturi
values

(1000000001,

10001,'1880304839238',

'1770303829382',

('11.12.2008','dd.mm.yyyy'), to_date('11.01.2009','dd.mm.yyyy'),'in curs');


14

to_date

Administrarea unei biblioteci

insert into imprumuturi


values(1000000002,10002,'1870101123212','2680301738293',to_date
('10.10.2008','dd.mm.yyyy'),to_date('15.10.2008','dd.mm.yyyy'),'returnat');
insert into imprumuturi
values(1000000003,10005,'1890307827323','2790508837283',to_date
('21.11.2008','dd.mm.yyyy'),to_date('28.11.2008','dd.mm.yyyy'),'returnat');
insert into imprumuturi
values(1000000004,10004,'2890505837483','1770303829382',to_date
('16.12.2008','dd.mm.yyyy'),to_date('20.12.2008','dd.mm.yyyy'),'nereturnat');
insert into imprumuturi
values(1000000005,10007,'2890505837483','1780303938482',to_date
('12.10.2008','dd.mm.yyyy'),to_date('19.10.2008','dd.mm.yyyy'),'returnat');
insert into imprumuturi
values(1000000006,10006,'2870402829384','1800101928392',to_date
('20.12.2008','dd.mm.yyyy'),to_date('20.01.2009','dd.mm.yyyy'),'in curs');
insert into imprumuturi
values(1000000007,10005,'1850802839283','1770303829382',to_date
('19.12.2008','dd.mm.yyyy'),to_date('19.01.2009','dd.mm.yyyy'),'in curs');
insert into imprumuturi
values(1000000008,10009,'1890909829382','1740205873238',to_date
('18.12.2008','dd.mm.yyyy'),to_date('18.01.2009','dd.mm.yyyy'),'in curs');

insert into imprumuturi


values(1000000009,10003,'1850802839283','1780303938482',to_date
('12.12.2008','dd.mm.yyyy'),to_date('15.12.2008','dd.mm.yyyy'),'nereturnat');
insert into imprumuturi
values(1000000010,10005,'2870904873823','1740205873238',to_date
('02.12.2008','dd.mm.yyyy'),to_date('09.12.2008','dd.mm.yyyy'),'returnat');

3.2 Actualizarea Datelor

15

Administrarea unei biblioteci

Sa se modifice valoarea cartii cu id-ul 10015 cu 30%;


update carti
set valoare=1.3*valoare
where idcarte=10015;
INAINTE

DUPA

Angajatul Popa Alina (CNP 2790508837283) s-a mutat la adresa Str Nicolae
Balcescu, Nr 52, Bucuresti. Operati modificarea.
update angajati
set adresa='Str Nicolae Balcescu, Nr 52, Bucuresti'
where cnp='2790508837283';
Valoarea cartilor din inventarul bibliotecii s-a modificat in functie de editura,
astfel: ASE +20%, ECONOMICA -30%, RAO +15%. Sa se efectueze modificarile.
update carti
set valoare=valoare*(case lower(editura) when 'ase' then 1.2 when 'economica' then 0.7 when
'rao' then 1.15 else 1 end);

16

Administrarea unei biblioteci

Editura ASE a decis inlocuirea tuturor cartilor din biblioteca cu carti din anul

2008. Sa se efectueze modificarile corespunzatoare.


update carti
set an=2008
where upper(editura)='ASE';
Sa se treaca toate imprumuturile acordate de angajatul Aden Ion (CNP
1770303829382) pe numele angajatului Vente Dan (CNP 1740205873238).
update imprumuturi
set idangajat='1740205873238'
where idangajat='1770303829382';
Au fost scoase din inventar cartile mai vechi de anul 2001. Sa se efectueze

modificarile.
delete from carti
where an<2001;

4 EXEMPLE DE INTEROGARI VARIATE


Sa se afiseze numarul de imprumuturi care sunt in curs (pot fi inca returnate).
select count(stare) nr_imprumuturi_de_returnat
from imprumuturi
where datarest>sysdate;
DUPA

17

Administrarea unei biblioteci

Sa se afiseze numele, prenumele si clasa elevilor care nu au returnat la timp

imprumuturile efectuate.
select e.nume,e.prenume,e.clasa
from elevi e, imprumuturi i
where i.idelev= e.cnp and i.stare in ('nereturnat');
Sa se afiseze editurile existente in biblioteca(o singura data).

select distinct editura


from carti;
Sa se afiseze numarul de carti din biblioteca pentru fiecare editura.
select editura,count(editura) nr_carti
from carti
group by editura;

18

Administrarea unei biblioteci

Sa se afiseze numele, prenumele si cartea din imprumuturile acordate de


angajatul cu CNP-ul 1770303829382, in care au fost luate carti din domeniul
Informatica.
select e.nume,e.prenume,c.denumire
from elevi e, carti c, imprumuturi i
where i.idelev= e.cnp and i.idcarte=c.idcarte and i.idangajat='1770303829382'
intersect
select e.nume,e.prenume,c.denumire
from elevi e, carti c, imprumuturi i
where i.idelev=e.cnp and i.idcarte=c.idcarte and c.domeniu=(select d.iddomeniu from
domenii d where upper(d.denumire)='INFORMATICA');
Sa se afiseze toate cartile din domeniul Informatica si toate cartile care apartin de
editura ASE.
select c.denumire,c.autor,c.editura,d.denumire
from carti c, domenii d
where

c.domeniu=(select

d.iddomeniu

from

domenii

where

upper(d.denumire)='INFORMATICA') and d.iddomeniu=c.domeniu


UNION
select c.denumire,c.autor,c.editura,d.denumire
from carti c, domenii d
where upper(c.editura)='ASE' and d.iddomeniu=c.domeniu;
Sa se selecteze toate cartile mai scumpe de 100 ron, dar care sa fi fost publicate
inainte de anul 2003.
select denumire,valoare,an
from carti
where valoare>100
minus
select denumire,valoare,an
19

Administrarea unei biblioteci

from carti
where an<2003;
Elevul Popescu Andrei (CNP 1880304839238) s-a transferat la aceeasi clasa cu

elevul Marcu Alin (CNP 1890307827323) . Sa se opereze modificarile necesare.


update elevi
set clasa=(select clasa from elevi where cnp='1890307827323')
where cnp='1880304839238';
Sa se afiseze o modificare a valorii preturilor cu 50% pentru editura ASE, 100%
pentru editura RAO, 150% pentru editura ECONOMICA si 0% pentru celelalte.
select denumire,editura,valoare*decode(editura,'ASE',1.5,'RAO',2,'ECONOMICA',2.5,1)
from carti;
Sa se creeze o tabela cu cartile de la editura ASE.
create table ASE
as
select denumire,autor,an,valoare
from carti
where editura='ASE';
Sa se afiseze toti angajatii care au aprobat minim 2 imprumuturi.
select a.nume,a.prenume, count(i.idangajat) nr_impr_acordate
from angajati a, imprumuturi i
where a.cnp= i.idangajat
group by a.nume, a.prenume
having count(i.idangajat)>1;
Afisati domeniul si numarul de carti existente(si domeniile care nu au carti).
select d.denumire, count(c.domeniu) nr_carti
20

Administrarea unei biblioteci

from domenii d, carti c


where c.domeniu(+)= d.iddomeniu
group by d.denumire;
Sa se afiseze cea mai valoroasa carte din biblioteca.
select denumire,editura,valoare
from carti
where valoare=(select max(valoare) from carti);

Sa se afiseze toate imprumuturile efectuate in luna decembrie.


select i.idimprumut, e.nume, e.prenume, i.stare
from imprumuturi i, elevi e
where extract(MONTH from dataimp)=12 and i.idelev= e.cnp;

Sa se afiseze valoarea medie a cartilor in functie de editura.


select editura, round(avg(valoare),2)
from carti
group by editura;

5 CONCLUZII

21

Administrarea unei biblioteci

Pornind de la o idee simpla, am dezvoltat o solutie complexa insa de succes pentru


publicul tinta.
Avand in vedere nevoile viitoare, baza de date creata este suficient de flexibila pentru:
A descoperi evolutia cartilor;
A monitoriza datele despre imprumuturi.

22

S-ar putea să vă placă și