Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Lab 8
- --Ex1
- --a) fara precizarea vreunei chei sau cosntrangere
- CREATE TABLE angajati_cst ( cod_ang NUMBER(4),
- nume varchar2(20),
- prenume varchar2(20),
- email CHAR(15),
- data_ang DATE,
- job varchar2(10),
- cod_sef NUMBER(4),
- salariu NUMBER(8,2),
- cod_dep NUMBER(2) );
- DROP TABLE angajati_cst;
- --b) cu precizarea cheilor primare la nivel de coloana si a constarngerilot NOT NULL pt coloanele nume si salariu
- CREATE TABLE angajati_cst ( cod_ang NUMBER(4) CONSTRAINT cod_ang_pk PRIMARY KEY,
- nume varchar2(20) CONSTRAINT nume_nn NOT NULL,
- prenume varchar2(20),
- email CHAR(15),
- data_ang DATE,
- job varchar2(10),
- cod_sef NUMBER(4),
- salariu NUMBER(8,2) CONSTRAINT salariu_nn NOT NULL,
- cod_dep NUMBER(2) );
- --c) cu precizarea cheii primare la nivel de tabler si a cosntrangerilor NOT NULL pt coloanele nume si salariu
- DROP TABLE angajati_cst;
- CREATE TABLE angajati_cst ( cod_ang NUMBER(4),
- nume varchar2(20) CONSTRAINT nume_nn NOT NULL,
- prenume varchar2(20),
- email CHAR(15),
- data_ang DATE,
- job varchar2(10),
- cod_sef NUMBER(4),
- salariu NUMBER(8,2) CONSTRAINT salariu_nn NOT NULL,
- cod_dep NUMBER(2),
- CONSTRAINT cod_ang_pk PRIMARY KEY(cod_ang) );
- --Ex2
- INSERT INTO angajati_cst(cod_ang, nume, prenume, email, data_ang, job, cod_sef, salariu, cod_dep)
- VALUES(100, 'nume1', 'prenume1', NULL, NULL, 'Director', NULL, 20000, 10);
- INSERT INTO angajati_cst(cod_ang, nume, prenume, email, data_ang, job, cod_sef, salariu, cod_dep)
- VALUES (101, 'nume2', 'prenume2', 'nume2', to_date('02-02-2004', 'dd-mm-yyyy'), 'inginer', 100, 10000, 10);
- INSERT INTO angajati_cst(cod_ang, nume, prenume, email, data_ang, job, cod_sef, salariu, cod_dep)
- VALUES(102, 'nume3', 'prenume3', 'nume3', to_date('05-06-2000', 'dd-mm-yyyy'), 'analist', 101, 5000, 20);
- DELETE FROM angajati_cst
- WHERE cod_ang = 101;
- DELETE FROM angajati_cst
- WHERE cod_ang = 102;
- INSERT INTO angajati_cst(cod_ang, nume, prenume, email, data_ang, job, cod_sef, salariu, cod_dep)
- VALUES (101, 'nume2', 'prenume2', 'nume2', to_date('02-02-2004', 'dd-mm-yyyy'), 'inginer', 100, 10000, 10);
- INSERT INTO angajati_cst(cod_ang, nume, prenume, email, data_ang, job, cod_sef, salariu, cod_dep)
- VALUES(102, 'nume3', 'prenume3', 'nume3', to_date('05-06-2000', 'dd-mm-yyyy'), 'analist', 101, 5000, 20);
- INSERT INTO angajati_cst(cod_ang, nume, prenume, email, data_ang, job, cod_sef, salariu, cod_dep)
- VALUES (103, 'nume4', 'prenume4', NULL, NULL, 'inginer', 100, 90000, 20);
- INSERT INTO angajati_cst(cod_ang, nume, prenume, email, data_ang, job, cod_sef, salariu, cod_dep)
- VALUES(104, 'nume5', 'prenume5', 'nume5', NULL, 'analist', 101, 3000, 30);
- DELETE FROM angajati_cst
- WHERE cod_ang = 104;
- --Ex 3
- CREATE TABLE angajati10_cst
- AS
- SELECT
- *
- FROM
- angajati_cst
- WHERE
- cod_dep = 10;
- --Ex 4
- ALTER TABLE angajati_cst
- ADD comision NUMBER(4,2);
- --Ex 5
- ALTER TABLE angajati_cst
- MODIFY salariu NUMBER(6,2);
- --Ex 6
- ALTER TABLE angajati_cst
- MODIFY salariu NUMBER DEFAULT 32121;
- --Ex 7
- ALTER TABLE angajati_cst
- MODIFY (comision NUMBER(2,2), salariu NUMBER(10,2));
- --Ex 8
- UPDATE angajati_cst
- SET comision = 0.1
- WHERE
- LOWER(job) LIKE 'a%';
- --Ex9
- ALTER TABLE angajati_cst
- MODIFY email varchar2(200);
- --Ex 10
- ALTER TABLE angajati_cst
- ADD nr_telefon NUMBER(10) DEFAULT '0756463728';
- --Ex 11
- SELECT* FROM angajati_cst;
- ALTER TABLE angajati_cst
- DROP COLUMN nr_telefon;
- --Ex 12
- RENAME angajati_cst TO angajato13_cst;
- --Ex 14
- SELECT * FROM TAB;
- RENAME angajato13_cst TO angajati_cst;
- TRUNCATE TABLE angajati_cst;
- --Ex 15
- CREATE TABLE departamente_cst (cod_dep NUMBER(2),
- nume varchar2(15) CONSTRAINT nume_nnn NOT NULL,
- cod_director NUMBER(4));
- --Ex 16
- INSERT INTO departamente_cst(cod_dep, nume, cod_director)
- VALUES (10, 'administrativ', 100);
- INSERT INTO departamente_cst(cod_dep, nume, cod_director)
- VALUES(20, 'proiectare', 101);
- INSERT INTO departamente_cst(cod_dep, nume, cod_director)
- VALUES(30, 'programare', NULL);
- --Ex 17
- ALTER TABLE departamente_cst
- ADD CONSTRAINT cod_dep_pk PRIMARY KEY(cod_dep);
- --Ex 18 a)
- ALTER TABLE angajati_cst
- ADD CONSTRAINT cod_dep_fk FOREIGN KEY(cod_dep) REFERENCES departamente_cst(cod_dep);
- --b)
- DROP TABLE angajati_cst;
- CREATE TABLE angajati_cst ( cod_ang NUMBER(4)CONSTRAINT cod_ang_pk PRIMARY KEY,
- nume varchar2(20) CONSTRAINT nume_nn NOT NULL,
- prenume varchar2(20) CONSTRAINT prenume_un UNIQUE,
- email CHAR(15) CONSTRAINT email_un UNIQUE,
- data_ang DATE,
- job varchar2(10),
- cod_sef NUMBER(4) CONSTRAINT cod_sef_fk REFERENCES angajati_cst(cod_ang),
- salariu NUMBER(8,2),
- comision NUMBER(2,2),
- cod_dep NUMBER(2) CONSTRAINT cod_dep_ck CHECK (cod_dep > 0),
- CONSTRAINT salariu_ck CHECK (salariu > comision*100)
- );
- --Ex 19
- DROP TABLE angajati_cst;
- CREATE TABLE angajati_cst ( cod_ang NUMBER(4),
- nume varchar2(20),
- prenume varchar2(20),
- email CHAR(15) ,
- data_ang DATE,
- job varchar2(10),
- cod_sef NUMBER(4) ,
- salariu NUMBER(8,2),
- comision NUMBER(2,2),
- cod_dep NUMBER(2),
- CONSTRAINT cod_ang_pk PRIMARY KEY(cod_ang),
- CONSTRAINT cod_sef_fk FOREIGN KEY(cod_sef) REFERENCES angajati_cst(cod_ang),
- CONSTRAINT comision_ck CHECK(comision >0),
- CONSTRAINT salariu_ck CHECK (salariu > comision *100),
- CONSTRAINT email_un UNIQUE(email),
- CONSTRAINT prenume_un UNIQUE(prenume)
- );
- --Ex 20
- TRUNCATE TABLE departamente_cst;
- SELECT * FROM USER_CONSTRAINTS;
- --EX 23
- SELECT
- cod_ang_pk PRIMARY KEY, angajati_cst
- FROM
- user_cosntraints
- WHERE
- LOWER(angajati_cst) IN ('angajati_cst', 'departamente_cst');
- --Ex 24
- DROP TABLE angajati_cst;
- CREATE TABLE angajati_cst ( cod_ang NUMBER(4),
- nume varchar2(20),
- prenume varchar2(20),
- email CHAR(15) CONSTRAINT email_nn NOT NULL,
- data_ang DATE,
- job varchar2(10),
- cod_sef NUMBER(4) ,
- salariu NUMBER(8,2),
- comision NUMBER(2,2),
- cod_dep NUMBER(2)
- );
- --Ex 25
- INSERT INTO angajati_cst (cod_ang, nume, email, salariu, cod_dep)
- VALUES(150, 'nume', 'email', 2000, 50);
- --Ex 26
- INSERT INTO departamente_cst(cod_dep, nume, cod_director)
- VALUES (60, 'analiza', NULL);
- DELETE FROM departamente_cst
- WHERE cod_dep = 60;
- ROLLBACK;
- --Ex 30
- INSERT INTO angajati_cst (cod_ang, nume, email, salariu, cod_dep)
- VALUES(114, 'nume4', 'email4', 20004, 50);
- --Ex 31
- ALTER TABLE angajati_cst
- ADD CONSTRAINT cod_dep_fk FOREIGN KEY(cod_dep) REFERENCES departamente_cst(cod_dep)
- ON DELETE CASCADE ;
- --Ex 35
- ALTER TABLE angajati_cst
- ADD CONSTRAINT salariu_ck CHECK(salariu < 30000);
- --Ex 34
- UPDATE departamente_cst;
- DELETE FROM angajati_cst
- WHERE cod_dep = 102;
Advertisement
Add Comment
Please, Sign In to add comment