You are on page 1of 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

4

3.1

Inserarea Datelor______________________________________________11

3.2

Actualizarea Datelor___________________________________________16

EXEMPLE DE INTEROGARI VARIATE_______________________18

5 CONCLUZII____________________________________________________22

2

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

a imprumuturilor realizate. 4 .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. iar prin relatiile dintre ele se poate usor depista traseul dorit.  Sa tina o evident completa a unei biblioteci. In fiecare tabela din baza de date se tine evidenta acestor detalii. se includ informatii despre domeniul de aplicabilitate al fiecarei carti din biblioteca. Aceste date vor ajuta angajatii sa identifice daca o carte este sau nu disponibila. am construit o baza de date pentru o informatizarea activitatii intr-o biblioteca.  Sa minimizeze timpul alocat cautarii unor informatii despre carti. De aceea. despre domeniile din care fac parte si despre autorii lor. De asemenea. Baza de date pe care am creat-o va fi folosita atat de angajatii bibliotecii. tinand evidenta unui catalog virtual.Administrarea unei biblioteci 2 DEFINIREA BAZEI DE DATE 2. respectiv editura. Scopul bazei de date este sa fie sortate cartile. despre elevii care au facut imprumutul sa fie inregistrate. 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. Sunt foarte importante informatiile despre situatia cartilor. cat si de elevi pentru a verifica existenta unei carti si disponibilitatea acesteia la sala de imprumut sau de lectura. 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.

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

Tabela „Domenii” contine id-ul fiecarui domeniu si denumirea acestuia. starea imprumutului(in curs=mai este timp pentru a fi returnata cartea. 2. nume.Administrarea unei biblioteci Tabela „Imprumuturi” contine detalii despre fiecare imprumut efectuat: id imprumut. data restituirii limita. prenume. nereturnata=nu a fost returnata la timp). id carte imprumutata.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 6 Adresa Nrtel . adresa. Tabela „Angajati” contine date despre cei care acorda fiecare imprumut: CNP. numar de telefon. data imprumutului. returnata. CNP-ul elevului care a imprumutat cartea. CNP-ul angajatului care a acordat imprumutul.

Administrarea unei biblioteci 2. 'B'. 'D'. 'C'. 'F'. 'returnat'. 'E'. 'G'. 'nereturnat’) Varchar2 10 Adresa Nrtel Varchar2 100 Check (nrtel like '0%') Varchar2 10 Denumire Not Null Varchar2 20 . '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'.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'.

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

alter table elevi add (email varchar2(30)). 2. 9 . stare varchar2(10) ).5 Actualizarea Structurii Tabelelor  Sa se modifice numele tabelei ANGAJATI in PERSONAL si apoi din nou in ANGAJATI. dataimp date default sysdate. nrtel varchar2(10) constraint ck_nrtel check(nrtel like '0%') ). rename personal to angajati. idangajat varchar2(13) references angajati(cnp). idcarte number(5) references carti(idcarte). adresa varchar2(100).Administrarea unei biblioteci create table angajati (cnp varchar2(13) constraint pk_angajati primary key. idelev varchar2(13) references elevi(cnp). alter table angajati rename to personal.  Sa se adauge o noua coloana la tabela ELEVI. nume varchar2(20). si anume email de tipul VARCHAR2(30). prenume varchar2(20). datarest date. create table imprumuturi (idimprumut number(5) constraint pk_imprumuturi primary key.

'Str Bucuresti'.  Sa se adauge restrictia pentru tabela ELEVI.'returnat'.'Andrei'.'G'.'D'. . alter table elevi add (constraint ck_clasa check(upper(clasa) in ('A'.Administrarea unei biblioteci  Sa se modifice proprietatile campului imprumut din tabela IMPRUMUTURI astfel incat lungimea acestuia sa fie de 10 caractere. alter table angajati drop constraint ck_nrtel.'B'. alter table elevi add(constraint ck_an check(an between 1 and 4)). astfel incat sa nu se introduca elevi apartinand unor clase care de fapt nu exista (in liceu exista clase de la A la I).  Sa se adauge restrictia pentru tabela IMPRUMUTURI.'F'. alter table elevi drop column email.'I'))). 3 ACTUALIZAREA DATELOR 3.'0789364830'). Nr 34.1 Inserarea Datelor  Inserarea datelor in tabela ELEVI insert into elevi values('1880304839238'.'B'.'nereturnat'))). astfel incat sa se introduca doar anumite tipuri de sate in campul stare.'K'.'C'.2.'Popescu'.'E'.  Sa se adauge restrictia ca anul elevilor sa fie valid.  Sa se stearga coloana nou creata din tabela ELEVI. 10 Nufarului. alter table imprumuturi add(constraint ck_stare check(stare in ('in curs'.  Sa se stearga restrictia validarii numarului de telefon din tabela ANGAJATI. alter table imprumuturi modify(idimprumut number(10)).

'Andrei'.'Aleea Unirii. insert into elevi values('2870904873823'.'Alexandru'.1. Buzau'.'Dobre'. Brasov'. insert into elevi values('1890909829382'. insert into elevi values('2890505837483'.'Str Focului. insert into elevi values('2880709827382'. Nr 74.'0765782673'). Oradea'.5. 11 . Arad'. Nr 53.'Maria'.'Aleea Furnicilor.'Manuel'.'Str Marianelor. Nr 78. Nr 98.'I'.'Iulian'. insert into elevi values('2860808890293'.'Aleea Lalelelor.'B'. Nr 23.'Elena'.'Alina'.'E'.'Ionescu'.'Str Razboieni.1. Nr 354.2. Iasi'.'Marinescu'.'0723829380').'Iordache'.'0723782738'). insert into elevi values('1880102829302'.'F'. insert into elevi values('2870402829384'.'0745738298'). Bucuresti'.'C'.'0766348324').'C'.'I'. Nr 1.'Str Marin Ionescu.'Popovici'.'Arina'.'A'. insert into elevi values('1890307827323'.'Marin'.'Str Lacului.'0762827392').'Valasan'.'B'.'Cristina'.3.'0745783473'). Nr 345.'Alin'. Nr 45.'Jinga'. Iasi'.'A'.'Dorotea'.3.'0721734632').'Str Ciocarliilor. Bucuresti'.4.'0766562762').'0734673832'). Nr 234.'Str Cristian Pascal. insert into elevi values('1850802839283'.1.'Marcu'.3. Timisoara'.Administrarea unei biblioteci insert into elevi values('1870101123212'.2. Brasov'.

'Informatica'). insert into domenii values(10007.'Fizica'). insert into domenii values(10002.'Algebra').  Inserarea datelor in tabela CARTI insert into carti values(10001.'Limba germana').10006.'Sociologie'). insert into domenii values(10015. 'Ande Adela'. insert into domenii values(10011. 2001. insert into domenii values(10008. 'Dobre Ionela'. insert into domenii values(10009.'Culegere de probleme'.'Economie'). 'Stiintifica'.'Analiza').'Dobre Raluca'.100).1999. 'ECONOMICA'. insert into domenii values(10014.Administrarea unei biblioteci  Inserarea datelor in tabela DOMENII insert into domenii values(10001. 10004.'Chimie').'RAO'. insert into domenii values(10005. insert into domenii values(10004.'ASE'.'Astronomie'. insert into domenii values(10012. insert into domenii values(10010. 56). insert into domenii values(10006. insert into carti values (10004. 'Matematici aplicate'.34).110).'Geografie'). 2005.'Filosofie').10012. 'Radu Constantinescu'. insert into carti values(10002. 12 . insert into carti values(10003.'Limba romana').'Engleza').'Stiinte'). insert into domenii values(10003.'Istorie'). 10006.'Biologie'). ' Economie'. insert into domenii values(10013.2001.

insert into carti values (10014.'Evolutia plantelor'. 2002.'Deutsch'.2000.2005.93).'Marcu Ioana'.'ASE'.'RAO'.10010. 10001.10001. insert into carti values(10008. insert into carti values( 10006.'ECONOMICA'.'ECONOMICA'.10005.'Chirita Ioana'.'Stan Andreea'. insert into carti values(10013. insert into carti values(10010.500).'RAO'.10010. insert into carti values(10009.10009.'Istoria Romaniei'. insert into carti values(10016. 'ECONOMICA'.10009.2007.'Apostol Georgiana'.65).10010.2002. 'ASE'.'Anghelache Daniel'.120).'Tabelul periodic al elementelor'. 'Inulescu Adelin'.53).2003.90). 'Sacalescu Ion'.10004. 10011.'Sandulescu Alin'.'Marin Preda'.240).'Atlasul lumii in imagini'.'Kant'. insert into carti values(10015.'ASE'.'Business Communication'.'Stiintifica'. 2002.76). 'Sisteme de calcul si operare'.2008. 75).2003.230).35).2001.10006. insert into carti values(10007. insert into carti values(10011. insert into carti values(10012. 2006.'Un veac de singuratate'.'Anghel Adriana'.234).'Mecanica si eletronica'.'Paralela45'. 'Business'.'Cel mai iubit dintre pamanteni'.Administrarea unei biblioteci insert into carti values(10005.'Alexe Octavian'. 'Fundamentele organizatiei'.'Gabriel Garcia Marquez'.10004.  Inserarea datelor in tabela ANGAJATI insert into angajati 13 .2007.'ASE'.

10001.'Str '0765736473').'Aden'. insert into angajati values ('2680301738293'. insert into angajati values ('1760908736273'.'dd.'Elisabeta'.yyyy'). Nr 67. Nr 69.2008'. 'Popa'.'Haralambie'. Nr 34. insert into angajati values ('2790508837283'. Bucuresti'. Bucuresti'.'in curs'). Bucuresti'.'Dudu'.Administrarea unei biblioteci values ('1770303829382'. Bucuresti'. insert into angajati values ('1780303938482'. 'Alina'. insert into angajati values ('2780504839283'.'Elena'. '0721837432').mm. 14 to_date . Bucuresti'. '0765563728'). '0723984903'). Nr 56.'Dan'.'Str Calarasilor.  Inserarea datelor in tabela IMPRUMUTURI insert into imprumuturi values (1000000001. '0734983743'). insert into angajati values ('1800101928392'. '0723723637').'Gheorghe'. Bucuresti'.'Ionica'.'Str Nuferilor.'Dante'.'Str Garofitei.'Str Constructorilor.'1880304839238'. 'Str Nucilor.'Ion'.'Str Inginerilor. Bucuresti'. ('11.mm.2009'. Bucuresti'. Nr 124.'Vente'.'Doroftei'. Nr 54. 'Str Ion Lunca. insert into angajati values ('2780908273821'. '0754562526'). '0754238412'). '0789232093').12.'Marieta'.yyyy').'Daniela'. insert into angajati values ('1740205873238'.'Alin'.'Dorohoi'.'Pop'. Bucuresti'. insert into angajati values ('2710709762982'. Nr 23. Nr 98. Bucuresti'.'Str Nucilor. to_date('11. Nr 221.'dd.01. Nr 23. 'Esten'.'Str Lorzilor. '1770303829382'. '0787632637'). Luncii.

'dd.2008'.'dd.2009'.'2890505837483'.to_date ('12.to_date ('02.mm.mm.12.'dd.2008'.'dd.2008'. insert into imprumuturi values(1000000008.2008'.2008'.to_date('15.01.yyyy').10005.to_date('09.'dd. insert into imprumuturi values(1000000007.2009'.yyyy').'dd.'dd.'returnat').'1850802839283'.'2680301738293'.yyyy').'1800101928392'.2008'.yyyy').12.10009.12.01.12.'1870101123212'.to_date('19.'dd.mm.'2890505837483'.mm.to_date('20.'2870904873823'.yyyy').yyyy').'dd.'returnat').yyyy').10.to_date('20.mm.'dd. 3.'dd.10.12.'dd.2008'. insert into imprumuturi values(1000000004.01.yyyy').10007.10003.10.12.mm.2008'.to_date('18.11. insert into imprumuturi values(1000000005.yyyy').yyyy').'returnat').2008'.mm.yyyy').to_date ('21.2008'.12.to_date ('19.'dd.to_date ('12.'nereturnat').12.to_date('28. insert into imprumuturi values(1000000003.yyyy').2008'.yyyy').'dd.2008'.mm.to_date ('20.yyyy').to_date('15.mm.'1770303829382'.2008'.'nereturnat').2 Actualizarea Datelor 15 .'1780303938482'.10005.to_date('19.10.'1740205873238'.'dd. insert into imprumuturi values(1000000009.'2790508837283'.2008'.yyyy').10005.mm.mm.yyyy').12.'in curs').yyyy').'2870402829384'.'1890307827323'.'returnat').10002. insert into imprumuturi values(1000000010.2009'.Administrarea unei biblioteci insert into imprumuturi values(1000000002.yyyy').to_date ('16.'dd.mm.11.mm.'1850802839283'.to_date ('18. insert into imprumuturi values(1000000006.'in curs').mm.'1740205873238'.mm.'1780303938482'.mm.'in curs').'dd.'1770303829382'.10004.2008'.'dd.10006.'1890909829382'.to_date ('10.mm.mm.

Administrarea unei biblioteci  Sa se modifice valoarea cartii cu id-ul 10015 cu 30%. update carti set valoare=1.  Valoarea cartilor din inventarul bibliotecii s-a modificat in functie de editura. INAINTE DUPA  Angajatul Popa Alina (CNP 2790508837283) s-a mutat la adresa Str Nicolae Balcescu.2 when 'economica' then 0. update carti set valoare=valoare*(case lower(editura) when 'ase' then 1. ECONOMICA -30%. RAO +15%. Bucuresti' where cnp='2790508837283'. Bucuresti. astfel: ASE +20%. Nr 52.7 when 'rao' then 1.15 else 1 end).3*valoare where idcarte=10015. Sa se efectueze modificarile. Operati modificarea. 16 . update angajati set adresa='Str Nicolae Balcescu. Nr 52.

update imprumuturi set idangajat='1740205873238' where idangajat='1770303829382'. Sa se efectueze modificarile.Administrarea unei biblioteci  Editura ASE a decis inlocuirea tuturor cartilor din biblioteca cu carti din anul 2008. select count(stare) nr_imprumuturi_de_returnat from imprumuturi where datarest>sysdate. 4 EXEMPLE DE INTEROGARI VARIATE  Sa se afiseze numarul de imprumuturi care sunt in curs (pot fi inca returnate). Sa se efectueze modificarile corespunzatoare. delete from carti where an<2001.  Sa se treaca toate imprumuturile acordate de angajatul Aden Ion (CNP 1770303829382) pe numele angajatului Vente Dan (CNP 1740205873238).  Au fost scoase din inventar cartile mai vechi de anul 2001. DUPA 17 . update carti set an=2008 where upper(editura)='ASE'.

idelev= e. 18 . prenumele si clasa elevilor care nu au returnat la timp imprumuturile efectuate.Administrarea unei biblioteci  Sa se afiseze numele.e. select distinct editura from carti. imprumuturi i where i. select editura. select e.prenume.clasa from elevi e.  Sa se afiseze editurile existente in biblioteca(o singura data).e.  Sa se afiseze numarul de carti din biblioteca pentru fiecare editura.cnp and i.stare in ('nereturnat').nume.count(editura) nr_carti from carti group by editura.

domeniu.idcarte and i.an from carti where valoare>100 minus select denumire.idangajat='1770303829382' intersect select e.editura)='ASE' and d.denumire from elevi e.denumire)='INFORMATICA'). domenii d where c.nume. carti c.prenume.autor. select denumire.domeniu=(select d.iddomeniu=c.nume.valoare.c.prenume.  Sa se afiseze toate cartile din domeniul Informatica si toate cartile care apartin de editura ASE.idelev= e.cnp and i.c. select e.iddomeniu=c.an 19 .idelev=e.domeniu=(select d.domeniu UNION select c. select c. prenumele si cartea din imprumuturile acordate de angajatul cu CNP-ul 1770303829382. imprumuturi i where i.denumire.d.denumire. carti c.denumire from elevi e.editura.autor.denumire from carti c.c.idcarte and c.valoare.Administrarea unei biblioteci  Sa se afiseze numele.d.editura. in care au fost luate carti din domeniul Informatica.c.e.c.idcarte=c.iddomeniu from domenii d where upper(d.e.c.idcarte=c. domenii d where upper(c.denumire)='INFORMATICA') and d.cnp and i.denumire from carti c.  Sa se selecteze toate cartile mai scumpe de 100 ron. dar care sa fi fost publicate inainte de anul 2003. imprumuturi i where i.iddomeniu from domenii d where upper(d.

select a.1.idangajat)>1. count(c.Administrarea unei biblioteci from carti where an<2003.1) from carti.'ASE'.  Elevul Popescu Andrei (CNP 1880304839238) s-a transferat la aceeasi clasa cu elevul Marcu Alin (CNP 1890307827323) .idangajat) nr_impr_acordate from angajati a. Sa se opereze modificarile necesare. select d.idangajat group by a.nume. select denumire.  Sa se afiseze o modificare a valorii preturilor cu 50% pentru editura ASE.domeniu) nr_carti 20 . update elevi set clasa=(select clasa from elevi where cnp='1890307827323') where cnp='1880304839238'.5.nume.2. count(i.prenume having count(i. a.denumire.  Sa se afiseze toti angajatii care au aprobat minim 2 imprumuturi.valoare from carti where editura='ASE'.an.  Afisati domeniul si numarul de carti existente(si domeniile care nu au carti).'RAO'.a.autor.'ECONOMICA'. imprumuturi i where a.2.cnp= i.  Sa se creeze o tabela cu cartile de la editura ASE.prenume. create table ASE as select denumire. 150% pentru editura ECONOMICA si 0% pentru celelalte.5.valoare*decode(editura. 100% pentru editura RAO.editura.

carti c where c.iddomeniu group by d.  Sa se afiseze toate imprumuturile efectuate in luna decembrie.valoare from carti where valoare=(select max(valoare) from carti).cnp.2) from carti group by editura.denumire. e.domeniu(+)= d.Administrarea unei biblioteci from domenii d.editura.  Sa se afiseze valoarea medie a cartilor in functie de editura. round(avg(valoare).  Sa se afiseze cea mai valoroasa carte din biblioteca.idimprumut. i. elevi e where extract(MONTH from dataimp)=12 and i.idelev= e.nume.prenume. select editura. 5 CONCLUZII 21 .stare from imprumuturi i. e. select i. select denumire.

 A monitoriza datele despre imprumuturi.Administrarea unei biblioteci Pornind de la o idee simpla. 22 . baza de date creata este suficient de flexibila pentru:  A descoperi evolutia cartilor. am dezvoltat o solutie complexa insa de succes pentru publicul tinta. Avand in vedere nevoile viitoare.