Subiecte Oracle Atestat

download Subiecte Oracle Atestat

of 12

description

oracle

Transcript of Subiecte Oracle Atestat

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