Extras din laborator
Laborator 1
Enunţ:
1) Să se realizeze un program privind evidenţa studenţilor. Pentru aceasta se vor crea următoarele tabele:
Studenti (nrmatricol, cnp, nume, prenume, sectia, grupa)
Note (nrcrtnote, materia, nota1, nota2, nota3, nota4, nota5, nota5, media, nrmatricol)
Terminare (nrcrtterm, notaex, notaproiect, medie, nrmatricol)
2) Să se populeze tabelele cu informaţii.
3) Să se calculeze câmpurile referitoare la medie (utilizându-se media aritmetica simpla).
4) Să se afişeze numele prenumele şi media studenţilor, care au media peste 9.
5) Să se afişeze numele, prenumele şi media studentului cu media cea mai mare.
6) Un profesor s-a gândit că a fost prea exigent cu studenţii şi s-a gândit ca la studenţii cu nota 4, să le dea nota 5. Să se creeze o procedură care să surprindă acest aspect.
7) Să se verifice existenţa unui student în baza de date.
Rezolvare:
create table studenti (
nrmatricol numeric(6) constraint pk_stud_nrmatricol primary key,
cnp numeric(13),
nume varchar2(15),
prenume varchar2(15),
adresa varchar2(30),
localitatea varchar2(15),
judet varchar2(15),
sectia varchar2(15),
grupa numeric(2));
create table note (
nrcrtnote numeric(10)constraint pk_note_nrcrtnote primary key,
nrmatricol constraint fk_note_nrmatricol references studenti (nrmatricol),
materia varchar2(20),
nota1 numeric(4,2),
nota2 numeric(4,2),
nota3 numeric(4,2),
nota4 numeric(4,2),
nota5 numeric(4,2),
nota6 numeric(4,2),
medie numeric(4,2));
create table terminare (
nrcrtterm numeric(6) constraint pk_term_nrcrterm primary key,
notaex numeric(4,2),
notaproiect numeric(4,2),
medie numeric(4,2),
nrmatricol numeric(6) constraint fk_term_nrmatricol references studenti (nrmatricol));
2) Să se insereze înregistrări în cele trei tabele.
insert into studenti values (1234, 2711227475869,'Popescu', 'Sorina','str. Cosminului
nr.12 ap.23','Timisoara', 'Timis', 'IE', 1);
insert into studenti values (1235, 1871203465968,'Birtea', 'Edgar',
'str. Teiului nr. 67','Timisoara', 'Timis', 'FB', 4);
insert into studenti values (1236, 1860511354869,'Domocos', 'Costin',
'str. Butusina nr.2','Dumbravita', 'Timis', 'REI',1);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (1, 1234, 'Baze de date',10,7,9,8,7,10);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (2, 1234, 'Finante publice',6,9,10,6,8,9);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (3, 1234, 'Management',10,5,9,5,10,10);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (4, 1235, 'Baze de date',9,7,9,8,8,6);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (5, 1235, 'Finante publice',6,8,9,5,9,5);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (6, 1235, 'Management',4,5,6,7,7,5);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (7, 1236, 'Baze de date',6,7,9,8,8,8);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (8, 1236, 'Finante publice',5,9,5,9,5,6);
Insert into note (nrcrtnote, nrmatricol, materia, nota1, nota2, nota3, nota4, nota5,
nota6) values (9, 1236, 'Management',10,8,9,9,10,10);
insert into terminare (nrcrtterm,notaex,notaproiect,nrmatricol) values (1, 10,10, 1234);
insert into terminare (nrcrtterm,notaex,notaproiect,nrmatricol) values (2, 5,6, 1235);
insert into terminare (nrcrtterm,notaex,notaproiect,nrmatricol) values (3, 8,5, 1236);
insert into terminare (nrcrtterm, notaex,notaproiect,nrmatricol) values(4, (select medie from note where nrmatricol=1234 and materia='Management'),10, 1234);
Analog se pot completa valorile câmpurilor utilizându-se subinterogări!!!
3) Să se calculeze câmpurile referitoare la medie.
update note set medie=(nota1+nota2+nota3+nota4+nota5+nota6)/6;
update terminare set medie=(notaex+notaproiect)/2;
4) Să se afişeze numele prenumele şi media studenţilor, care au media peste 9.
select nume,prenume,medie from note,studenti
where studenti.nrmatricol=note.nrmatricol and medie>=9;
5) Să se afişeze numele, prenumele şi media studentului cu media cea mai mare.
Preview document
Conținut arhivă zip
- Sisteme Informatice pentru Asistarea Deciziei
- Laborator 10 - Rezolvare.doc
- Laborator1.doc
- Laborator10.doc
- Laborator3.doc
- Laborator4.doc
- Laborator5-6.doc
- Laborator7.doc
- Laborator8.doc
- Laborator9.doc