JAWABAN MATERI BASIS DATA LANJUT

52
I.CONSTRAINT PERCOBAAN 1.2 CREATE TABLE employees1( employee_id number(6), last_name varchar2(25) not null, salary number(8,2), commision_pct number(2,2), hire_date date constraint emp_hire_date_hn not null); 1.3 create table employees2( employee_id number(6), last_name varchar2(25) not null, email varchar2(25), salary number(8,2), commission_pct number(2,2), hire_date date not null, constraint emp_email_hn unique(email));

description

JAWABAN MATERI

Transcript of JAWABAN MATERI BASIS DATA LANJUT

Page 1: JAWABAN MATERI BASIS DATA LANJUT

I.CONSTRAINT

PERCOBAAN

1.2 CREATE TABLE employees1(

employee_id number(6),

last_name varchar2(25) not null,

salary number(8,2),

commision_pct number(2,2),

hire_date date constraint emp_hire_date_hn not null);

1.3 create table employees2(

employee_id number(6),

last_name varchar2(25) not null,

email varchar2(25),

salary number(8,2),

commission_pct number(2,2),

hire_date date not null,

constraint emp_email_hn unique(email));

Page 2: JAWABAN MATERI BASIS DATA LANJUT

1.4 CREATE TABLE departments1(

department_id NUMBER(4),

department_name VARCHAR2(30)

CONSTRAINT dept_name_hn NOT NULL,

manager_id NUMBER(6),

location_id NUMBER(4),

CONSTRAINT dept_id_hn PRIMARY KEY(department_id));

1.5 CREATE TABLE employees1(

employee_id NUMBER(6),

last_name VARCHAR2(25) NOT NULL,

email VARCHAR(25),

salary Number(8,2),

commission_pct NUMBER(2,2),

hire_date DATE NOT NULL,

department_id NUMBER(4),

CONSTRAINT emp_dept_hn FOREIGN KEY (department_id)

REFERENCES departments(department_id),

CONSTRAINT emp_email_hn UNIQUE(email));

Page 3: JAWABAN MATERI BASIS DATA LANJUT

1.15

SELECT constraint_name, column_name

FROM user_cons_columns

WHERE table_name = 'employees1';

LATIHAN

1. alter table employees1

add constraint my_emp_id_pk

primary key(employee_id);

2. CREATE TABLE departments2(

department_id NUMBER(4),

department_name VARCHAR2(30)

CONSTRAINT dept_name_hn NOT NULL,

Page 4: JAWABAN MATERI BASIS DATA LANJUT

manager_id NUMBER(6),

location_id NUMBER(4),

CONSTRAINT dept_id_hn PRIMARY KEY(department_id));

3. alter table employees1

add department_id number(4);

alter table employees1

add constraint my_dpet_id_hn

foreign key(department_id)

references departments2(department_id);

4. select *

from user_constraints

where table_name = 'EMPLOYEES1' or table_name = 'DEPARTMENTS2'

Page 5: JAWABAN MATERI BASIS DATA LANJUT

5. select *

from user_objects

where object_name = 'EMPLOYEES1' or object_name = 'DEPARTMENTS2'

6. alter table employees1

add COMMISSION NUMBER(2);

alter table employees1

modify COMMISSION NOT NULL;

alter table employees1

add constraint my_com_hn

check(COMMISSION > 0);

Page 6: JAWABAN MATERI BASIS DATA LANJUT

ii. VIEW

PERCOBAAN

2.3

create view empvu80as select employee_id, last_name, salaryfrom employeeswhere department_id=80;

create view salvu50as select employee_id ID_NUMBER, last_name NAME, salary*12 ANN_SALARYfrom employeeswhere department_id=50;describe salvu50;

2.4

create or replace view empvu80 (id_number, name, sal, department_id)as select employee_id, first_name ||''|| last_name, salary, department_idfrom employeeswhere department_id=80;describe empvu80;

Page 7: JAWABAN MATERI BASIS DATA LANJUT

2.5

create view dept_sum_vu (name, minsal, maxsal, avgsal)as select d.department_name, MIN(e.salary), max (e.salary), AVG (e.salary)from employees e, departments dwhere e.department_id=d.department_idgroup BY d.department_name;describe dept_sum_vu;

2.7

create or replace view empvu20as select *

from employeeswhere department_id=20with check option constraint empvu20;

describe empvu20;

2.8

create or replace view empvu10(employee_number, employee_name, job_title)

as select employee_id, last_name, job_idfrom employeeswhere department_id = 10with read only;

describe empvu10;

Page 8: JAWABAN MATERI BASIS DATA LANJUT

2.1.3

select rownum as rank, last_name, salary

from (select last_name,salary from employees

order by salary desc)

where rownum <=3;

LATIHAN

1.

create view emp_vu (nomer_pegawai, nama_pegawai, nomer_department)

as select employee_id,last_name,department_id

from employees;

describe emp_vu;

create or replace view emp_vu (nomer_pegawai, pegawai, nomer_department)

as select employee_id,last_name,department_id

from employees;

describe emp_vu;

Page 9: JAWABAN MATERI BASIS DATA LANJUT

2.

create or replace view emp_vu (EMPNO, PEGAWAI, DEPTNO)

as select employee_id, last_name,department_id

from employees;

select* from emp_vu;

3.

select view_name,text from user_views;

4.

create or replace view DEPT20 (EMPLOYEE_ID,EMPLOYEE,DEPARTMENT_ID)

as select employee_id,last_name,department_id from employees with read only;

select* from dept20;

Page 10: JAWABAN MATERI BASIS DATA LANJUT

5.

desc DEPT20;

6.

create or replace view SALARY_VU (PEGAWAI,DEPARTEMEN,GAJI,JOB_TITLE)

as select e.employee_id,e.first_name,e.department_id,j.job_title

from employees e,jobs j where e.job_id=j.job_id;

describe salary_vu;

Page 11: JAWABAN MATERI BASIS DATA LANJUT

 

III. PL/SQL I

PERCOBAAN

3.8

declare

employee_id number(6);

begin

select employee_id

into employee_id

from employees

where last_name = 'Kochhar';

END;

3.13

variable g_salary number;beginselect salaryinto :g_salaryfrom employeeswhere employee_id=178;END;/PRINT g_salary

variable g_monthly_sal number;

Page 12: JAWABAN MATERI BASIS DATA LANJUT

define p_annual_sal = 50000

set verify off

declare

v_sal number(9,2):=&p_annual_sal;

begin

:g_monthly_sal:=v_sal/12;

END;

/

print g_monthly_sal

3.14

set serveroutput ondefine p_annual_sal:= 50000declarev_sal number(9,2):=&p_annual_sal;beginv_sal:=v_sal/12;dbms_output.put_line('The monthly salary is ' || to_char(v_sal));end;

/

Page 13: JAWABAN MATERI BASIS DATA LANJUT

LATIHAN

1. a. DECLAREv_id NUMBER(4);BEGINNULL;END;

( LEGAL EXPRESSION )

b.DECLAREv_x, v_y, v_z VARCHAR2(10);BEGIN

Page 14: JAWABAN MATERI BASIS DATA LANJUT

NULL;END;

( ILEGAL EXPRESSION )

c. DECLAREv_birthdate DATE NOT NULL;BEGINNULL;END;

( ILEGAL EXPRESSION)

d.DECLAREV_in_stock BOOLEAN:=1;BEGINNULL;END;

( ILEGAL EXPRESSION )

2.a. ERROR

DECLARE

v_days_to_go DATE;

v_due_date DATE;

begin

Page 15: JAWABAN MATERI BASIS DATA LANJUT

v_days_to_go := v_due_date - SYSDATE;

end;

b. VALID

DECLARE

v_sender VARCHAR2(20);

v_dept_no VARCHAR2(20);

begin

v_sender := USER || ':' || TO_CHAR(v_dept_no);

end;

Page 16: JAWABAN MATERI BASIS DATA LANJUT

c. ERROR

DECLARE

v_sum NUMBER(7);

begin

v_sum := $100,000 + $250,000 ;

end;

d. VALID

DECLARE

v_flag BOOLEAN;

begin

v_flag := TRUE;

end;

Page 17: JAWABAN MATERI BASIS DATA LANJUT

e. VALID

DECLARE

v_n1 BOOLEAN ;

v_n2 NUMBER(10) ;

v_n3 NUMBER(10) ;

begin

v_n1 := v_n2 > (2*v_n3);

end;

f.

DECLARE

v_value NUMBER(2);

begin

v_value := NULL;

end;

Page 18: JAWABAN MATERI BASIS DATA LANJUT

3.

set serveroutput ondeclare bilang varchar2(15);beginbilang:= 'i love oracle';dbms_output.put_line(bilang);end;/

set serveroutput onvariable bilang varchar2(15);beginbilang:= 'i love oracle';end;/ PRINT bilang;

4.

set serveroutput ondeclare v_char varchar2(42);v_num number(5);beginv_char:='42 adalah angka';dbms_output.put_line(v_char);v_num:=substr(v_char,0,2);dbms_output.put_line(v_num);end;/

Page 19: JAWABAN MATERI BASIS DATA LANJUT

IV. PENULISAN STRUKTUR KONTROL IF-THEN-ELSE-CASE

PERCOBAAN4.4DECLARE

sales NUMBER(8,2):=10100;quota NUMBER(8,2):=10000;bonus number(6,2);emp_id number(6):=120;

BEGINif sales > (quota +200) then

bonus:=(sales - quota)/4;update employees set salary = salary +bonuswhere employee_id = emp_id;

end if;end;/

4.5DECLARE

sales NUMBER(8,2):=12100;quota NUMBER(8,2):=10000;bonus number(6,2);emp_id number(6):=120;

BEGINif sales > (quota +200) then

bonus:=(sales - quota)/4;else

bonus:=50;end if;

update employees set salary = salary +bonuswhere employee_id = emp_id;

end;/

Page 20: JAWABAN MATERI BASIS DATA LANJUT

4.6DECLARE

sales NUMBER(8,2):=12100;quota NUMBER(8,2):=10000;bonus number(6,2);emp_id number(6):=120;

BEGINif sales > (quota +200) then

bonus:=(sales - quota)/4;else

if sales > quota thenbonus:=50;

elsebonus:=0;

end if;end if;

update employees set salary = salary +bonuswhere employee_id = emp_id;

end;/

4.7DECLARE

sales NUMBER(8,2):=20000;bonus number(6,2);emp_id number(6):=120;

BEGINif sales > 50000 then

bonus:=1500;elsif sales > 35000 then

bonus:=500;else

bonus:=100;

Page 21: JAWABAN MATERI BASIS DATA LANJUT

end if;

update employees set salary = salary +bonuswhere employee_id = emp_id;

end;/

4.8DECLARE

grade char(1);BEGIN

grade:='B';if grade = 'A' then

DBMS_OUTPUT.PUT_LINE('Excellent');ELSIF grade='B' then

DBMS_OUTPUT.PUT_LINE('Very Good');ELSIF grade='C' then

DBMS_OUTPUT.PUT_LINE('Good');ELSIF grade='D' then

DBMS_OUTPUT.PUT_LINE('Fair');ELSIF grade='F' then

DBMS_OUTPUT.PUT_LINE('Poor');ELSE

DBMS_OUTPUT.PUT_LINE('No Such Grade');END IF;

END;/

4.11

DECLAREgrade char(1);

BEGIN

Page 22: JAWABAN MATERI BASIS DATA LANJUT

grade:='B';CASE grade

WHEN 'A' then DBMS_OUTPUT.PUT_LINE('Excellent');WHEN 'B' then DBMS_OUTPUT.PUT_LINE('Very Good');WHEN 'C' then DBMS_OUTPUT.PUT_LINE('Good');WHEN 'D' then DBMS_OUTPUT.PUT_LINE('Fair');WHEN 'F' then DBMS_OUTPUT.PUT_LINE('Poor');ELSE DBMS_OUTPUT.PUT_LINE('No Such Grade');

END CASE;END;/

LATIHAN

1.

declareemp_id number(6):=103;dept_id number(6);

begin select d.department_id into dept_idfrom departments d,employees ewhere d.department_id=e.department_id and e.employee_id=emp_id;if dept_id=10 then

DBMS_OUTPUT.PUT_LINE('Administration');ELSIF dept_id=20 then

DBMS_OUTPUT.PUT_LINE('Marketing');ELSIF dept_id=30 then

DBMS_OUTPUT.PUT_LINE('Purchasing');ELSIF dept_id=40 then

DBMS_OUTPUT.PUT_LINE('Human Resources');ELSIF dept_id=50 then

DBMS_OUTPUT.PUT_LINE('Shipping');ELSIF dept_id=60 then

DBMS_OUTPUT.PUT_LINE('IT');ELSIF dept_id=70 then

DBMS_OUTPUT.PUT_LINE('Public Relations');ELSIF dept_id=80 then

DBMS_OUTPUT.PUT_LINE('80 Sales');ELSIF dept_id=90 then

DBMS_OUTPUT.PUT_LINE('Executive');ELSE

DBMS_OUTPUT.PUT_LINE('Finance');END IF;

Page 23: JAWABAN MATERI BASIS DATA LANJUT

END;/

2.

declareemp_id number(6):=103;dept_id number(6);

begin select d.department_id into dept_idfrom departments d,employees ewhere d.department_id=e.department_id and e.employee_id=emp_id;CASE dept_id

WHEN 10 then DBMS_OUTPUT.PUT_LINE('Administration');WHEN 20 then DBMS_OUTPUT.PUT_LINE('Marketing');WHEN 30 then DBMS_OUTPUT.PUT_LINE('Purchasing');WHEN 40 then DBMS_OUTPUT.PUT_LINE('Human Resources');WHEN 50 then DBMS_OUTPUT.PUT_LINE('Shipping');WHEN 60 then DBMS_OUTPUT.PUT_LINE('IT');WHEN 70 then DBMS_OUTPUT.PUT_LINE('Public Relations');WHEN 80 then DBMS_OUTPUT.PUT_LINE('80 Sales');WHEN 90 then DBMS_OUTPUT.PUT_LINE('Executive');WHEN 100 then DBMS_OUTPUT.PUT_LINE('Finance');ELSE DBMS_OUTPUT.PUT_LINE('Tidak Terdaftar');

END CASE;END;/

Page 24: JAWABAN MATERI BASIS DATA LANJUT

V. Penulisan Struktur Kontrol LOOPING

5.2

declarecredit_rating number :=0;

beginloop

credit_rating:=credit_rating +1;if credit_rating > 3 then

exit; --exit loop immediatelyend if;

end loop;--control resumes heredbms_output.put_line('credit rating: '||

to_char(credit_rating));if credit_rating > 3 then

return;end if;dbms_output.put_line('credit rating: '||

to_char(credit_rating));end;/

declarecredit_rating number :=0;

beginloop

credit_rating:=credit_rating +1;exit when credit_rating > 3;

end loop;--control resume heredbms_output.put_line('credit rating: '||

to_char(credit_rating));if credit_rating > 3 then

return;end if;

Page 25: JAWABAN MATERI BASIS DATA LANJUT

dbms_output.put_line('credit rating: '||to_char(credit_rating));end;/

5.3

declarev_country_id locations.country_id%type:='CA';v_location_id locations.location_id%type;v_city locations.city%type:='Montreal';v_counter number:=1;

beginselect max(location_id) into v_location_id FROM locationswhere country_id = v_country_id;while v_counter <= 3 loop

insert into locations(location_id,city,country_id)values((v_location_id+v_counter),v_city,v_country_id);v_counter:=v_counter+1;

end loop;end;/

5.4

declare

p number:=0;

begin

for k in 1..500 loop --calculate pi with 500 term

Page 26: JAWABAN MATERI BASIS DATA LANJUT

p:=p +(((-1)**(k+1))/((2*k)-1));

end loop;

end;

/

begin

for i in reverse 1..3 loop --assign the values 1,2,3 to i

dbms_output.put_line(TO_CHAR(i));

end loop;

end;

/

Page 27: JAWABAN MATERI BASIS DATA LANJUT

5.6

declares pls_integer:=0;i pls_integer:=0;j pls_integer;

begin<<outer_loop>>loop

i:=i+1;j:=0;<<inner_loop>>loop

j:=j+1;s:=s+1*j; --sum a bunch of productsexit inner_loop when (j>5);exit outer_loop when ((i*j)>15);

end loop inner_loop;end loop outer_loop;dbms_output.put_line('The sum of products equals: ' || to_char(s));end;/

Page 28: JAWABAN MATERI BASIS DATA LANJUT

5.7 LATIHAN

1. create table departments_0910683069(

DEPARTMENT_ID number,

DEPARTMENT_NAME varchar2(30),

MANAGER_ID number,

LOCATION_ID number);

2.

declareid_dept departments.department_id%type:=10;nama_dept departments.department_name%type;id_man departments.manager_id%type;id_lok departments.location_id%type;

beginwhile id_dept <101 loop

select department_id,department_name,manager_id,location_id into id_dept,nama_dept,id_man,id_lok

from departmentswhere department_id = id_dept;insert into

departments_0910683069(department_id,department_name,manager_id,location_id)

values(id_dept,nama_dept,id_man,id_lok);id_dept:=id_dept+10;

end loop;end;

Page 29: JAWABAN MATERI BASIS DATA LANJUT

3.

create table EMP_DETP_0910683050(

EMPLOYEE_ID NUMBER,

FIRST_NAME VARCHAR2(30),

DEPARTMENT_NAME VARCHAR2(30));

4.

declareid_emp employees.employee_id%type:=100;nama_emp employees.first_name%type;nama_dept departments.department_name%type;

beginwhile id_emp <121 loop

select e.employee_id,e.first_name,d.department_name into id_emp,nama_emp,nama_dept

Page 30: JAWABAN MATERI BASIS DATA LANJUT

from employees e, departments dwhere e.department_id = d.department_id and

e.employee_id=id_emp;insert into

EMP_DETP_0910683050(EMPLOYEE_ID,FIRST_NAME,DEPARTMENT_NAME)values(id_emp,nama_emp,nama_dept);id_emp:=id_emp+5;

end loop;end;

Page 31: JAWABAN MATERI BASIS DATA LANJUT

VI. CURSOR

6.7

declareemp_id employees.job_id%type;l_name employees.last_name%type;id_job employees.job_id%type;sal employees.salary%type;cursor c1 is select employee_id,last_name,job_id,salaryfrom employeeswhere salary > 2000;

beginopen c1;loop

fetch c1 into emp_id,l_name,id_job,sal;dbms_output.put_line(emp_id||''||l_name||''||id_job||''||

sal);exit when c1%notfound;

end loop;close c1;

end;

LATIHAN

Page 32: JAWABAN MATERI BASIS DATA LANJUT

1.

declaredept_id departments.department_id%type;d_name departments.department_name%type;city locations.city%type;state locations.state_province%type;country countries.country_name%type;region regions.region_name%type;cursor data is

select d.department_id,d.department_name,l.city,l.state_province,c.country_name,r.region_name

from departments d, locations l, countries c, regions rwhere d.location_id=l.location_id and

l.country_id=c.country_id and c.region_id=r.region_id;begin

open data;loop

fetch data into dept_id,d_name,city,state,country,region; dbms_output.put_line(dept_id||' '||d_name||' '||city||'

'||state||' '||country||' '||region);exit when data%notfound;

end loop;close data;

end;

2.DECLARE

Page 33: JAWABAN MATERI BASIS DATA LANJUT

job jobs.job_title%type;jml_emp number(4);CURSOR emp ISSELECT j.job_title, count(e.employee_id) as jml_empFROM jobs j, employees eWHERE j.job_id=e.job_id group by j.job_title;BEGINOPEN emp;LOOPFETCH emp into job, jml_emp;DBMS_OUTPUT.PUT_LINE(job ||' '|| jml_emp);EXIT WHEN emp%NOTFOUND;END LOOP;CLOSE emp;END;

3.declare

Page 34: JAWABAN MATERI BASIS DATA LANJUT

emp_id employees.employee_id%type;f_name employees.first_name%type;d_name departments.department_name%type;man_id employees.manager_id%type;man_nama employees.last_name%type;cursor emp is

select distinct e.employee_id,e.first_name,d.department_name,f.manager_id,e.last_name as manager_name

from employees e,departments d,employees fwhere e.employee_id = f.manager_id and

e.department_id=d.department_id;begin

open emp;loop

fetch emp into emp_id,f_name,d_name,man_id,man_nama;dbms_output.put_line(emp_id||' '||f_name||' '||d_name||'

'||man_id||' '||man_nama);exit when emp%notfound;

end loop;close emp;

end;

Page 35: JAWABAN MATERI BASIS DATA LANJUT

VII. STORED PROCEDURE

7.6

CREATE OR REPLACE PROCEDURE raise_salary(id IN employees.employee_id%TYPE,percent IN NUMBER)isbeginupdate employeesset salary = salary * (1+percent/100)where employee_id = id;END raise_salary;/

execute raise_salary(176,10)

7.7

create or replace procedure query_emp(id in employees.employee_id%type,name out employees.last_name%type,salary out employees.salary%type) is

beginselect last_name, salary into name, salaryfrom employees

where employee_id = id;end query_emp;

declareemp_name employees.last_name%type;emp_sal employees.salary%type;

Page 36: JAWABAN MATERI BASIS DATA LANJUT

beginquery_emp(171, emp_name, emp_sal);

end;

7.8

create or replace procedure format_phone(phone_no IN OUT varchar2) is

beginphone_no := '(' || SUBSTR(phone_no,1,3)|| ')' || SUBSTR(phone_no,4,3)|| '-' || SUBSTR(phone_no,7);

end format_phone;/

7.9

declareemp_name employees.last_name%type;emp_sal employees.salary%type;

beginquery_emp(171, emp_name, emp_sal);DBMS_OUTPUT.PUT_LINE('Name: '||emp_name);DBMS_OUTPUT.PUT_LINE('Salary: '||emp_sal);

end;

Page 37: JAWABAN MATERI BASIS DATA LANJUT

variable name varchar2(25)variable sal numberexecute query_emp(171, :name, :sal);print name sal

LATIHAN

1.

create table emp_0910683069 as select * from employees

Page 38: JAWABAN MATERI BASIS DATA LANJUT

2.

create or replaceprocedure backup_emp_0910683050(jobid in jobs.job_id%type)asbegininsert into emp_0910683069 select * from employees where job_id=jobid;end backup_emp_0910683050;

3.

create or replaceprocedure get_emp_0910683069(dept_id in departments.department_id%type)as

id employees.employee_id%type;fname employees.first_name%type;jtitle jobs.job_title%type;

cursor curr isselect e.employee_id, e.first_name, j.job_titlefrom employees e, jobs j

where e.job_id= j.job_id and e.department_id=dept_id; beginopen curr;loop

fetch curr into id, fname,jtitle;dbms_output.put_line(id||' '||fname||' '||jtitle);exit when curr%notfound;

end loop;close curr;end get_emp_0910683069;

Page 39: JAWABAN MATERI BASIS DATA LANJUT

 VIII. STORED FUNCTION

1.

create or replace function jum_emp(id in departments.department_id%type)

return number is

jumlah_emp number :=0;

BEGIN

select count (employee_id)

into jumlah_emp

from hr.employees

where department_id = id;

return jumlah_emp;

end jum_emp

variable jumlah_emp NUMBER

executive :jumlah_emp :=jum_emp(10)

declare

Page 40: JAWABAN MATERI BASIS DATA LANJUT

jumlah_emp number:=0;

begin

jumlah_emp:=jum_emp(10);

end;

2.

select distinct d.department_id, d.department_name,

jum_emp(e.department_id)

from hr.employees e, hr.departments d;

3.

Page 41: JAWABAN MATERI BASIS DATA LANJUT

create or replace function salx (sala in number)

return number is

begin

return (sala*25/100+sala);

end salx;

Update hr.employees

Set salary=salx(salary)

Where employee_id=100

Page 42: JAWABAN MATERI BASIS DATA LANJUT

 

IX. TRIGGER

9.3

create or replace trigger audit_emp_values

after delete or insert or update on employees

for each row

begin

insert into audit_emp(user_name,time_stamp,id,old_last_name,new_last_name,old_title,new_title,old_salary,new_salary)

values(USER,SYSDATE,:OLD.employee_id,:OLD.last_name,:NEW.last_name,:OLD.job_id,:NEW.job_id,:OLD.salary,:NEW.salary);

END;

/

9.4

BEFORE INSERT OR UPDATE OF salary ON employees

FOR EACH ROW

WHEN(NEW.job_id='SA_REP')

BEGIN

IF INSERTING THEN

:NEW.commission_pct:=0;

ELSIF :OLD.commission_pct IS NULL THEN

:NEW.commission_pct:=0;

ELSE

:NEW.commission_pct:=:OLD.commission_pct+0.05;

END IF;

END;

/

Page 43: JAWABAN MATERI BASIS DATA LANJUT

ScreenShoot:

LATIHAN

1. create table emp_0910683069 as select * from employees

2.

create table bkp_emp_0910683069 (

user_name varchar(20)not null,

time_stamp date not null,

id number(6) primary key not null,

old_first_name varchar2(20),

new_first_name varchar2(20),

old_last_name varchar2(25) not null,

new_last_name varchar2(25)not null,

old_email varchar2(25) not null,

Page 44: JAWABAN MATERI BASIS DATA LANJUT

new_email varchar2(25) not null,

old_phone varchar2(20),

new_phone varchar2(20),

old_hire_date date not null,

new_hire_date date not null,

old_job_id varchar2(10) not null,

new_job_id varchar2(10) not null,

old_salary number(8,2),

new_salary number(8,2),

old_commission number(2,2),

new_commission number(2,2),

old_manager_id number(6),

new_manager_id number(6),

old_department_id number(4),

new_department_id number(4))

Page 45: JAWABAN MATERI BASIS DATA LANJUT

 X. OBJEK DATABASE YANG LAIN

1.

create sequence DEPT_ID_SEQ

INCREMENT BY 10

START WITH 60

MAXVALUE 200

NOCACHE NOCYCLE;

2.

SELECT SEQUENCE_NAME,MAX_VALUE,INCREMENT_BY,LAST_NUMBER

FROM USER_SEQUENCES

3.

Page 46: JAWABAN MATERI BASIS DATA LANJUT

CREATE INDEX EMP_IDX_FRG

ON EMPLOYEES(JOB_ID,MANAGER_ID,DEPARTMENT_ID);

4.

SELECT ic.index_name,ic.column_name,ix.uniqueness

FROM user_indexes ix, user_ind_columns ic

WHERE ic.index_name = ix.index_name

AND ic.table_name='EMPLOYEES';