Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

Bài thực hành Oracle (4 tuần) Bài 1 - Tùng Huynh

--create user 

create user may01Nga identified by 123456;

--grant quyen connect cho user may01Nga 

grant connect to may01Nga;

--grant quyen resource 

grant resource to may01Nga;

--grant quyen create table cho user tren 

grant create table to may01Nga;

--grant quyen create view cho user  

grant create view to may01Nga;

--grant quyen tao sequence 

grant create sequence to may01nga;

--thay doi mat khau cua user 

alter user may01Nga identified by 654321;

--lock user 

alter user may01Nga account lock;

--un lock user 

alter user may01Nga account unlock;

--tao bang tb_lop 

create table tb_lop( 

id number not null, 

tenlop varchar2(100 byte), 

id_gvien_cn number 

--tao bang tb_sinhvien 

create table tb_sinhvien( 

id number not null, 

id_lop number, 

tensinhvien varchar2(200 byte), 

ngaysinh date, 

noisinh varchar2(500 byte), 

diemthi float(126) 

--tao bang tb_gvien_cn 

create table tb_gvien_cn( 

id number not null, 

tengvien varchar2(200 byte) 

--tao khoa chinh cho bang tb_lop 

alter table tb_lop 

add constraint pk_tb_lop primary key (id)

--tao khoa chinh cho bang tb_gvien_cn 

alter table tb_gvien_cn 

add constraint pk_tb_gvien_cn primary key (id)

--tao khoa chinh cho bang tb_sinhvien 

alter table tb_sinhvien 

add constraint pk_tb_sinhvien primary key (id)

--tao khoa ngoai cho bang tb_lop 

alter table tb_lop 

add constraint fk_tb_lop foreign key (id_gvien_cn) 

references tb_gvien_cn (id)

--Tao sequence seq_tb_lop 

create sequence seq_tb_lop 

increment by 1 

start with 1 

minvalue 1 

maxvalue 999999999999999999999999999 

nocycle 

noorder 

cache 20 

--Tao sequence seq_tb_gvien_cn 

create sequence seq_tb_gvien_cn 

increment by 1 

start with 1 

minvalue 1 

maxvalue 999999999999999999999999999 

nocycle 

noorder 

cache 20 

--Tao sequence seq_tb_sinhvien 

create sequence seq_tb_sinhvien 

increment by 1 

start with 1 

minvalue 1 

maxvalue 999999999999999999999999999 

nocycle 

noorder 

cache 20 

--insert du lieu vao bang tb_gvien_cn 

insert into tb_gvien_cn values(seq_tb_gvien_cn.nextval,'Nguyen Van An'); 

insert into tb_gvien_cn values(seq_tb_gvien_cn.nextval,'Bui Ngoc Nam'); 

insert into tb_gvien_cn values(seq_tb_gvien_cn.nextval,'Le Bich Hong'); 

insert into tb_gvien_cn values(seq_tb_gvien_cn.nextval,'Pham Van Quan');

--select * from tb_gvien_cn de lay du lieu 

--insert du lieu vao bang tb_gvien_cn 

insert into TB_LOP values(seq_TB_LOP.nextval,'CTO706L',1); 

insert into TB_LOP values(seq_TB_LOP.nextval,'CTO707L',2); 

insert into TB_LOP values(seq_TB_LOP.nextval,'CTO708L',2); 

insert into TB_LOP values(seq_TB_LOP.nextval,'CTO709L',4);

--insert du lieu vao bang 

--select bang TB_LOP thay CTO707L co ID = 2 

insert into TB_SINHVIEN values(seq_TB_SINHVIEN.nextval,2,'Le Hong Anh',to_date('11/03/1988','dd/mm/yyyy'),'Thai Nguyen',7.5); 

insert into TB_SINHVIEN values(seq_TB_SINHVIEN.nextval,2,'Nguyen Manh Hai',to_date('03/04/1988','dd/mm/yyyy'),'Phu Tho',9); 

insert into TB_SINHVIEN values(seq_TB_SINHVIEN.nextval,2,'Hoang Hai',to_date('17/09/1988','dd/mm/yyyy'),'Ha noi',null);

--liet ke sinh vien co diem dat 

select * from tb_sinhvien where DIEMTHI >=5; 

--khong dat 

select * from tb_sinhvien where DIEMTHI <5; 

--chua thi 

select * from tb_sinhvien where DIEMTHI is null; 

--giao vien khong chu nhiem lop nao 

select * from tb_gvien_cn where id not in (select ID_GVIEN_CN from tb_lop); 

--tao view 

create view v_sinhvien 

as 

select s.tensinhvien,m.tenlop,n.tengvien 

from tb_sinhvien s, tb_lop m, tb_gvien_cn n 

where s.id_lop=m.id 

and m.id_gvien_cn=n.id;

--dem so ban ghi co duoc tu view tren 

select count(*) from v_sinhvien

--grant quyen tao role cho hr 

grant create role to hr;

--dang nhap vao user hr

--tao role 

create role role_emp;

--grant quyen cho role 

grant select,insert,update on employees to role_emp;

--grant role cho user may01Nga 

grant role_emp to may01Nga;

--dang nhap lai user may01Nga

--hien thi du lieu cua bang employees trong hr 

select * from hr.employees;

--tao bang employees2 

create table employees2 

as select * from hr.employees;

Bạn đang đọc truyện trên: Truyen247.Pro