subiecte oracle atestat
DESCRIPTION
oracleTRANSCRIPT
PRECIZRI PRIVIND PROIECTUL DE ATESTAT
Subiecte Baze de Date ORACLE
Se dorete informatizarea activitii la biblioteca colii. Pentru rezolvarea problemei se utilizeaz baza de date BIBLIOTECA. Aceasta conine urmtoarele tabele:
FISA
NL
Number (4)
- numrul legitimaiei, cheie primar
NumeCititorVarchar2 (50)
- numele i prenumele cititorului
Adresa
Varchar2 (50)
- adresa cititorului
TelefonVarchar2 (10)
- numrul de telefon
AI
Varchar2 (8)
- seria i numrul crii/buletinului de identitate
DataI
Date
- data nscrierii
Tip
Varchar2 (8)
- tipul cititorului: elev, profesor
Clasa
Varchar2 (3)
- clasa (de forma 12A), numai pentru elevi
D
Varchar2 (15)
- disciplina, numai pentru profesori
CARTE
CotaCarteNumber (4)
- cota crii, cheie primar
Titlu
Varchar2 (50)
- titlul crii
Autor
Varchar2 (50)
- numele autorului/autorilor crii
CategorieVarchar2 (15)
- categoria: informatic, economic, tehnic, beletristic
Editura
Varchar2 (50)
- numele editurii
Pret Number (7) - preul crii
OPERATII conine cte o nregistrare pentru fiecare carte mprumutatNL
Number (4)
- numr legitimaie
CotaCarte Number (4) - cota crii
DataI
Date
- data mprumutului
Durata
Number (2)
- durata mprumutului, maxim 21 de zile
DataR
Date
- data returnrii crii de ctre cititor
NrZile
Number (3)
- numrul zilelor de ntrziere
PenalizariNumber (3)
- penalizri
NumeBiblioVarchar2 (20)
- numele bibliotecarului de serviciu: Ionescu, PopescuPentru rezolvarea subiectelor se vor crea cele 3 tabele astfel:
Se creeaz tabela FISA cu comanda:
Create table FISA (NL Number (4) primary key,NumeCititor Varchar2 (50),Adresa Varchar2 (50),Telefon Varchar2 (10), AI Varchar2 (8),DataI Date,Tip Varchar2 (8),Clasa Varchar2 (3), D Varchar2 (15));
Se vizualizeaz structura tabelei FISA cu comanda:
describe fisa;
Se populeaz tabela FISA cu date.
Se vizualizeaz tabela FISA cu comanda:
select *from fisa;
Se creeaz tabela CARTE cu comanda:
create table CARTE (CotaCarte Number (4)primary key, Titlu Varchar2 (50), Autor Varchar2 (50), Categorie Varchar2 (15), Editura Varchar2 (50), Pret Number (7));
Se vizualizeaz structura tabelei CARTE cu comanda:
describe CARTE;
Se populeaz tabela CARTE cu date.
Se vizualizeaz tabela CARTE cu comanda:
select *
from carte;
Se creeaz tabela OPERATII cu comanda:
create table OPERATII (NL Number (4), CotaCarte Number (4), Datal Date, Durata Number (2), DataR Date, NrZil Number (3), Penalizari Number (3),NumeBiblio Varchar2 (20));
Se vizualizeaz structura tabelei OPERATII cu comanda:
describe OPERATII;
Se populeaz tabela Operatii cu date.
Se vizualizeaz coninutul tabela OPERATII cu comanda:
select *
from operatii;
Subiectul 1.
a. Introducei cteva nregistrri (minim 5) n tabelul FISA.
Se vor introduce nregistrrile prin comanda:
insert into fisa values (16, 'popa amalia','arad str. bucium nr.11', '0772341234', 'ar122334', '20-apr-08', 'elev', '9B', null);
Observaie: Se va repeta comanda cu date diferite de 5 ori sau se pot introduce date de la tastaura urmnd paii:
SQL WORKSHOP Object Browser Clic pe numele tabelei FISA Data Insert rowSe completeaz cmpurile cu datele dorite Create sau Creat and Creat Another
b. Afiai cititorii n ordine alfabetic.
select numecititor as "Cititori"
from fisa
order by numecititor;
Subiectul 2.
a. Introducei cteva nregistrri (minim 5) n tabelul CARTE.
insert into carte values(129,'Bucuria','Osho','tehnica','ProEditura',19);
b. Afiai crile din bibliotec, ordinate alfabetic dup autor.select titlu, autor
from carte
order by autor;
Subiectul 3.
a. Afiai crile din bibliotec mprumutate de fiecare profesor.select c.titlu, f.numecititorfrom fisa f, carte c, operatii o
where (c.cotacarte=o.cotacarte) and (o.nl=f.nl) and (f.tip like 'PROFESOR')
order by numecititor;
b. Afiai crile din bibliotec n ordine alfabetic a editurilor.select titlu, autor, editura
from carte
order by editura;
Subiectul 4.
a. Introducei cteva nregistrri n tabela OPERAII, referitoare la mprumutul unor cri.insert into operatii values (1, 111, '01-apr-08', 21, null, 58, 100, 'Ionescu');.....
b. Afiai nregistrrile din tabelul OPERATII n ordine cresctoare a datei mprumutului.
Select *
from operatii
order by DataI;
Subiectul 5.
a. Afiai crile din bibliotec, grupate pe categorii.Select titlu, categorie
from carte
order by categorie;
b. Afiai n ordine alfabetic elevii nscrii la bibliotec.select numecititor
from fisa
where tip like 'ELEV'
order by numecititor;
Subiectul 6.
a. Aflai lista cu cititorii care nu au restituit toate crile.select distinct f.numecititor
from fisa f, operatii o
where (o.nl=f.nl) and (datar is null);
b. Afiai n ordine alfabetic elevii nscrii la bibliotec.select numecititor
from fisa
where tip like 'ELEV'
order by numecititor;
Subiectul 7.
a. Afiai crile nereturnate de un anumit cititor, al crui numr de legitimaie se precizeaz vizualiznd coninutul tabelei.
Select c.titlu, f.numecititor
from fisa f, carte c, operatii o
Where (o.cotacarte=c.cotacarte) and (o.nl=f.nl) and(f.nl=1) and (datar is null);
b. Afiai toate nregistrrile pentru care categoria crii este beletristic.SELECT *
FROM carte
WHERE categorie LIKE 'BELETRISTICA';
Subiectul 8.
a. Afiai o list cu numrul crilor nerestituite pentru fiecare cititor.Select f.numecititor, count(titlu) as "nr carti nerestituite"
FROM fisa f, carte c, operatii o
Where (o.cotacarte=c.cotacarte) AND (o.nl=f.nl) AND (datar is null)
GROUP BY numecititor;
b. n tabelul CARTE, nlocuii categoria beletristic cu categoria literatur.Update carte
set categorie='literatura'
where categorie='beletristica';
Subiectul 9.
a. Afiai o list cu crile din bibliotec, grupate pe edituri.
Select *
from carte
order by editura;
b. Afiai elevii care au cri mprumutate i nerestituite.
select distinct f.numecititor
from fisa f, carte c, operatii o
where (c.cotacarte=o.cotacarte) and (o.nl=f.nl) and (f.tip like 'elev') and (datar is null);
Subiectul 10.
a. Afiai o list cu elevii nscrii la bibliotec, grupai pe clase.Select *
from fisa
where tip like 'elev'
order by clasa;
b. Cutai toate crile pentru care numele autorului ncepe cu litera A.Select titlu, autor
from carte
where autor like 'A%';
Subiectul 11.
a. Prelungii durata mprumutului cu 5 zile pentru un anumit cititor i o anumit carte,precizate vizualiznd coninutul tabelei.
Update operatii
set durata=durata+5
where nl=10 and cotacarte=122;
b. Cutai toi cititorii pentru care numrul de telefon ncepe cu 0257.Select numecititor, telefon
from fisa
where telefon like '0257%';
Subiectul 12.
a. Afiai o list cu profesorii nscrii la bibliotec, grupai pe discipline.
Select numecititor, D as "disciplina"
from fisa
where Tip='profesor'
order by D;
b. Cutai toate editurile al cror nume ncepe cu litera A.
Select distinct editura
from carte
where editura like 'A%';
Subiectul 13.
a. Afiai o list cu crile nerestituite pentru fiecare cititor.select f.numecititor , c.titlu
from fisa f, carte c, operatii o
where (c.cotacarte=o.cotacarte) and (o.nl=f.nl) and (datar is null)
order by numecititor;
b. Afiai toate crile care nu fac parte din categoria informatica.Select titlu, categorie
from carte
where categorie not like 'informatica';
Subiectul 14.
a. Afiai o list care s cuprind numrul legitimaiei, numele i prenumele, numrul de telefon, cota crii mprumutate i data mprumutului pentru cititorii din baza de date BIBLIOTECA.
Select o.NL, f.numecititor as "numele si prenumele", f.telefon, o.cotacarte, o.datai
from fisa f, operatii o
where o.nl=f.nl;
b. Afiai cele mai scumpe 3 cri aflate n proprietatea bibliotecii.
select rownum as nr, titlu, pret
from (select titlu, pret
from carte
order by pret desc)
where rownum