Documente Academic
Documente Profesional
Documente Cultură
Lucrare de atestat
Prof.Coord.:Catanoiu Camelia
Elev:Puiu Sorin
Clasa: a-XII-a C
CUPRINS
1
SCENARIU_________________________________________________________3
2 DEFINIREA BAZEI DE DATE____________________________________4
2.1
2.2
Schema Conceptuala____________________________________________6
2.3
Descrierea Tabelelor____________________________________________7
2.4
Crearea Tabelelor________________________________________________8
2.5
3 ACTUALIZAREA DATELOR____________________________________11
3.1
Inserarea Datelor______________________________________________11
3.2
Actualizarea Datelor___________________________________________16
5 CONCLUZII____________________________________________________22
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.
Sa minimizeze timpul alocat cautarii unor informatii despre carti, despre domeniile din
care fac parte si despre autorii lor, respectiv editura;
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
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
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
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
Nufarului,
Nr
34,
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');
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
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
('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');
(1000000001,
10001,'1880304839238',
'1770303829382',
to_date
15
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
Editura ASE a decis inlocuirea tuturor cartilor din biblioteca cu carti din anul
modificarile.
delete from carti
where an<2001;
17
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).
18
c.domeniu=(select
d.iddomeniu
from
domenii
where
from carti
where an<2003;
Elevul Popescu Andrei (CNP 1880304839238) s-a transferat la aceeasi clasa cu
5 CONCLUZII
21
22