Documente Academic
Documente Profesional
Documente Cultură
D ORACLE
Obiective
însuşirea de către elevi a unor noţiuni fundamentale despre:
sistemul Oracle și utilizarea unor componente ale sale;
modul de lucru cu limbajul SQL
utilizarea limbajul SQL avansat, interfeţele Forms şi Reports din
Oracle;
realizarea unor rapoarte interactive și a unor grafice / diagrame folo-
sind informațiile din baza de date;
familiarizarea elevilor cu posibilităţile de utilizare ale unui SGBD indiferent
de tipul lui;
dobândirea abilităţii de a dezvolta aplicaţii cu baze de date relaţionale.
FIȘE DE LUCRU – S.G.B.D ORACLE
Cuprins
FIȘA NR. 1 ...........................................................................................................................................................3
FIȘA NR. 2 ...........................................................................................................................................................3
FIȘA NR. 3 ...........................................................................................................................................................3
FIȘA NR. 4 – Aplicație rezolvată ..........................................................................................................................4
SOLUȚIE ..............................................................................................................................................................4
FIȘA NR. 5 ...........................................................................................................................................................6
FIȘE DE LUCRU – S.G.B.D ORACLE
FIȘA NR. 1
O persoană îşi organizează agenda personală cu următoarele informaţii: nume, data naşterii, localitate
de domiciliu, telefon fix, telefon mobil.
FIȘA NR. 2
Serviciul de înmatriculări, are un nou administrator al bazei de date proprii, Bellman Aristotel. Acesta
organizează datele din baza proprie în două tabele: Persoane (id_pers (number), nume (varchar2), Pre-
nume (varchar2), localitate (varchar2)), respectiv Maşini (id_maşina (number), marca (varchar2),
id_pers(number) )
FIȘA NR. 3
Biblioteca Judeţeană doreşte să migreze spre platforma Oracle cu baza ei de date. Pentru evidenţa per-
soanelor înscrise, avem la dispoziţie informaţiile: (CNP, numele, cod_acces) ultimul fiind necesar pentru
acces la sala de lectură.
Ești medic de familie și pentru a ține evidenţa persoanelor arondate organizezi informațiile într-o
bază de date formată din două tabele. Primul tabel îl folosești pentru a reține informaţii despre pacienţi:
cod_p, nume, adresă, profesia, starea civilă (casătorit, necăsătorit) iar cel de-al doilea tabel îl folosești pen-
tru a reține informaţii despre consultaţiile pe care le-ai efectuat: cod_c - codul consultaţiei, data - data
consultaţiei, diagnostic, cod_p – codul pacientului, pret – prețul consultației.
SOLUȚIE
a)
CREATE TABLE pacienti CREATE TABLE consultatii
(
( cod_c number primary key,
cod_p number primary key, data date,
nume varchar2(40), diagnostic varchar2(50),
adresa varchar2(100), cod_p number references pacienti(cod_p),
profesia varchar2(40), pret number(5,2)
starea_civila varchar2(15) )
)
FIȘE DE LUCRU – S.G.B.D ORACLE
INSERT INTO pacienti VALUES (1,'Mirabela Dragu',’str.1
Decembrie, bl.F4, Tecuci, Galati', 'minerit', 'necasatorita')
INSERT INTO consultatii VALUES (1, ’11.21.2012’, ’insufi-
cienta respiratorie’, 1, 25)
SELECT p.nume,c.* FROM pacienti p,consultatii c WHERE p.cod_p=c.cod_p AND p.nume='Mirabela Dragu'
SELECT p.nume FROM pacienti p, consultatii c WHERE p.cod_p=c.cod_p AND to_char(c.data) = to_char
(sysdate)
SELECT p.nume FROM pacienti p, consultatii c WHERE p.cod_p=c.cod_p AND p.nume<>'Dumitru Andrei'
AND c.data IN (SELECT data FROM consultatii WHERE cod_p=(SELECT cod_p FROM pacienti WHERE nu-
me='Dumitru Andrei'))
SELECT CASE
ELSE
b)Click aici pentru a vizualiza aplicația sau click pe imaginea de mai jos.
FIȘE DE LUCRU – S.G.B.D ORACLE
FIȘA NR. 5
Ești managerul unei firme și pentru a ține evidenţa persoanelor din departamente organizezi in-
formațiile într-o bază de date formată din două tabele. Primul tabel îl folosești pentru a reține informaţii
despre angajați: id, nume, salariu, data_ang, codd iar cel de-al doilea tabel îl folosești pentru a reține infor-
maţii despre departamenele din firmă: codd, nume_depart, etaj.
Folosind Oracle Application Express, implementaţi în schema proprie următoarele cerinţe:
pe baza raportului interactiv obținut cu informațiile memorate în tabelul ANGAJATI obțineți într-
o nouă coloană vechimea angjaților;
pe baza raportului interactiv obținut cu informațiile memorate în tabelul ANGAJAȚI generați un
grafic ce permite analiza salariilor plătite pe fiecare departament;
pentru fiecare departament afișați numărul de angajați;
considerând că un angajat se poate pensiona după 40 de ani de muncă, să se afișeze în raportul interactiv
ANGAJAȚI, într-o nouă coloană, mesajul DA pentru persoanele care au depășit vechimea de 40 de ani și
mesajul NU pentru persoanele care nu au depășit vechimea de 40 de ani.