Sunteți pe pagina 1din 3

EXERCIŢII RECAPITULATIVE

1. Creaţi tabela Dep conform machetei următoare:

create table Dep

(id number(7) primary key,

denumire varchar2(25));

Nume coloană ID Denumire


Tipul restricţiei Primary key
 
Tip dată Number Varchar2
Lungime 7 25

2. Introduceţi înregistrări în tabela Dep preluând date din tabela Departamente,


incluzând doar câmpurile de care aveţi nevoie (id_department,
denumire_departament).

insert into dep (id, denumire)

select id_departament, denumire_departament from departamente;

Obs: Mai întâi afişaţi pe ecran structura tabelei Departamente.

3. Creaţi tabela Ang conform machetei următoare:

create table ang

(id number(7) primary key,

prenume varchar(25),

nume varchar(25),

dep_id number(7),

constraint ang_fk foreign key (dep_id) references dep(id));

Nume coloană ID Prenume Nume Dep_ID


Tipul restricţiei Primary key Foreign key - referă tabela Dep,
    coloana ID
Tip dată Number Varchar2 Varchar2 Number
Lungime 7 25 25 7
4. Adăugaţi coloana Varsta în tabela Ang având tipul Number(2).

alter table ang

add varsta number(2);


describe ang;

5. Adăugaţi restricţia de integritate Verifica_varsta care să nu permită introducerea în


câmpul Varsta a unor valori mai mici de 18 şi mai mari decât 65.

alter table ang

add constraint verifica_varsta check (varsta >18 and varsta <65);

describe ang;

6. Dezactivaţi restricţia de integritate Verifica_varsta.

alter table ang

drop constraint verifica_varsta;

7. Modificaţi proprietăţile câmpului Nume astfel încât lungimea acestuia să fie de 30.

alter table ang

modify nume varchar(30);

8. Modificaţi numele tabelei Ang în Ang2.

alter table ang

rename to ang2;

9. Creaţi tabela Salariati bazată pe structura tabelei Angajati, preluând toate


înregistrările.

create table salariati

as

select *

from angajati;

10. Adăugaţi următoarele înregistrări în tabela Salariati:

1
Steven Kong SKONG 515.123.4567 17-06-1987 AD_PRES 24000 0.1 90
2  
Neena Koch NKOCH 515.123.4568 21-09-1989 AD_VP 17000 0.1 100 90
3
Lex Haan LHAAN 515.123.4569 13-01-1993 AD_VP 17000 0.2 100 90
11. Modificaţi în John prenumele angajatului cu id_angajat egal cu 3 (câmpul prenume).

update salariati
set prenume='John'

where id_angajat=3;

12. Modificaţi în JHAAN mailul angajatului cu id_angajat egal cu 3 (câmpul email).

update salariati

set email='JHAAN'

where id_angajat=3;

13. Creşteţi cu 10% salariile angajaţilor care au în prezent salariul mai mic decât 20000
(câmpul salariul).

update angajati

set salariul=salariul+salariul*0.1

where salariul<20000;

14. Modificaţi în AD_PRES codul funcţiei (câmpul id_functie) angajatului cu id_angajat


egal cu 2.

update salariati

set id_functie='AD_PRES'

where id_angajat=2;

15. Modificaţi comisionul (câmpul comision) salariatului cu id_angajat egal cu 2 astfel


încât să fie egal cu comisionul salariatului id_angajat egal cu 3, utilizând clauza
SELECT.

update salariati

set comision=(select comision from salariati where id_angajat=3)

where id_angajat=2;

16. Ştergeţi tuplul corespunzător codului id_angajat egal cu 1.

delete from salariati

where id_angajat=1;

S-ar putea să vă placă și