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) - Tunghuynh_bai2

-- ------------------- STUDENT: Tùng Huynh

-- ------------------- CLASS:    K7A

-- ------------------- Lesson 2.

-- Cau I: (Session -> New Session: SYSTEM)

-- Tạo user và grant quyền

create user may12tunghuynh IDENTIFIED by 12345;

grant CONNECT to may12tunghuynh;

grant RESOURCE to may12tunghuynh;

grant create view to may12tunghuynh;

-- Câu II.

-- Tạo bảng tb_sanpham

create table tb_sanpham(

    id number not null,

    ten_spham VARCHAR2(500),

    so_luong NUMBER,

    ngay_nhap_kho date,

    id_noi_sxuat number,

    id_nvien_nhapkho NUMBER,

    gianhap_1spham float(10),

    giabantoithieu float(10) )

-- Tạo bảng tb_noisxuat

create table tb_noisxuat(

    id number not null,

    noi_sxuat varchar2(500) )

-- Tạo bảng tb_nhanvien

create table tb_nhanvien(

    id number not null,

    ten_nvien varchar2(300),

    ngaysinh date,

    noisinh varchar2(1000),

    gioi varchar2(10),

    ngayvaolam date,

    ngyanghiviec date)

-- Tạo bảng tb_spham_ban   

create table tb_spham_ban(

    id number not null,

    id_spham_ban number,

    id_nvien_ban number,

    soluong number,

    ngayban date,

    giaban float(10) )

-- II.1.   

-- Tạo khóa chính cho 4 bảng trên

alter table tb_spham_ban

add CONSTRAINT pk_sp_ban PRIMARY key (id)

alter table tb_sanpham

add CONSTRAINTS pk_sp primary key (id)

alter table tb_nhanvien

add constraint pk_nvien PRIMARY key (id)

alter table tb_noisxuat

add constraint pk_noisx PRIMARY key (id)

-- alter table tb_noisxuat

-- drop constraint pk_noisx

alter table tb_sanpham

add CONSTRAINT fk_sp_noisx FOREIGN key (id_noi_sxuat)

    REFERENCES tb_noisxuat (id)

alter table tb_sanpham

add CONSTRAINT fk_sp_nv FOREIGN key (id_nvien_nhapkho)

    REFERENCES tb_nhanvien (id)

alter table tb_spham_ban

add constraint fk_spban_sp FOREIGN key (id_spham_ban)

    REFERENCES tb_sanpham (id)

alter table tb_spham_ban

add CONSTRAINT fk_spban_nv FOREIGN key (id_nvien_ban)

    REFERENCES tb_nhanvien (id)

-- II.2.   

-- Tạo 4 sequence cho 4 bảng trên

create SEQUENCE seq_tb_sp

    start with 1

    INCREMENT by 1

    NOCYCLE

    NOORDER

    CACHE 20

    MINVALUE 1

    MAXVALUE 200

create SEQUENCE seq_tb_nv

    start with 1

    INCREMENT by 1

    NOCYCLE

    NOORDER

    CACHE 20

    MINVALUE 1

    MAXVALUE 200

create SEQUENCE seq_tb_sp_ban

    start with 1

    INCREMENT by 1

    NOCYCLE

    NOORDER

    CACHE 20

    MINVALUE 1

    MAXVALUE 200

create SEQUENCE seq_tb_noisx

    start with 1

    INCREMENT by 1

    NOCYCLE

    NOORDER

    CACHE 20

    MINVALUE 1

    MAXVALUE 200

-- II.3.   

-- Insert dữ liệu cho các bảng

insert into tb_noixuat values (seq_tb_noixuat.nextval,'Nhat');

insert into tb_noixuat values (seq_tb_noixuat.nextval,'My');

insert into tb_noixuat values (seq_tb_noixuat.nextval,'Han Quoc');

insert into tb_noixuat values (seq_tb_noixuat.nextval,'Trung Quoc');

--SELECT * from tb_noisxuat

--delete tb_noisxuat

insert into tb_nhanvien VALUES (seq_tb_nv.nextval, 'Nguyen Hai Anh',to_date('12/04/1970','dd//mm/yyyy'),'Nghe An','Nam',to_date('01/10/2000','dd/mm/yyyy'),null);

insert into tb_nhanvien VALUES (seq_tb_nv.nextval, 'Pham Thu Hong',TO_DATE('05/05/1982','dd//mm/yyyy'),'Nam Dinh','Nu',to_date('25/01/2006','dd/mm/yyyy'),to_date('30/12/2010','dd/mm/yyyy'));

insert into tb_nhanvien VALUES (seq_tb_nv.nextval, 'Le Thi Quyen',to_date('23/07/1990','dd//mm/yyyy'),'Phu Tho','Nu',to_date('24/09/2009','dd/mm/yyyy'),null);

insert into tb_nhanvien VALUES (seq_tb_nv.nextval, 'Tran Ba Dung',to_date('19/04/1975','dd//mm/yyyy'),'Thai Nguyen','Nam',to_date('28/06/1997','dd/mm/yyyy'),to_date('23/05/2007','dd/mm/yyyy'));

insert into tb_nhanvien VALUES (seq_tb_nv.nextval, 'Hong Duyen',to_date('22/05/1985','dd//mm/yyyy'),'Ha No','Nu',null,null);

--SELECT * from tb_nhanvien

insert into tb_sanpham values(seq_tb_sp.nextval,'tivi','20',to_date('10/12/2010','dd/mm/yyyy'),1,1,'500','550');

insert into tb_sanpham values(seq_tb_sp.nextval,'tu lanh','20',to_date('10/12/2010','dd/mm/yyyy'),3,2,'600','670');

insert into tb_sanpham values(seq_tb_sp.nextval,'dieu hoa','40',to_date('12/12/2010','dd/mm/yyyy'),'4',3,'200','300');

insert into tb_sanpham values(seq_tb_sp.nextval,'may giat ','50',to_date('08/12/2010','dd/mm/yyyy'),2,4,'600','550');

insert into tb_sanpham values(seq_tb_sp.nextval,'may tinh','60',to_date('08/12/2010','dd/mm/yyyy'),5,5,'800','1200');

--select * from tb_sanpham

insert into tb_spham_ban values(seq_tb_sp_ban.nextval,1,1,'20',to_date('12/12/2010','dd/mm/yyyy'),'550');

insert into tb_spham_ban values(seq_tb_sp_ban.nextval,2,2,'20',to_date('12/12/2010','dd/mm/yyyy'),'600');

insert into tb_spham_ban values(seq_tb_sp_ban.nextval,3,3,'20',to_date('12/12/2010','dd/mm/yyyy'),'300');

insert into tb_spham_ban values(seq_tb_sp_ban.nextval,4,4,'20',to_date('12/12/2010','dd/mm/yyyy'),'550');

insert into tb_spham_ban values(seq_tb_sp_ban.nextval,5,5,'20',to_date('12/12/2010','dd/mm/yyyy'),'1200');

-- II.8.   

-- Tạo một view chứa thông tin sản phẩm, nơi sản xuất, nhân viên nhập kho

create VIEW v_infor_sp

as

select tb_sanpham.*,tb_noisxuat.noi_sxuat,tb_nhanvien.ten_nvien

from tb_sanpham,tb_nhanvien,tb_noisxuat

where tb_noisxuat.id=tb_sanpham.id_noi_sxuat

    and tb_sanpham.id_nvien_nhapkho=tb_nhanvien.id

-- II.9.   

-- Liệt kê thông tin của những nhân viên có từ  Quyen trong bảng nhân vien

select * from tb_nhanvien

where instr(ten_nvien,'Quyen',0)<>0

-- instr(string1,string2,0): trả về vị trí đầu tiên mà tìm thấy string2 trong string1

-- Câu III. Export và Import user trên

-- Import/Export:

-- Start/Run/cmd (Window+R)

-- cd\

-- c:\>exp username/password file=<'path/filename.dmp'> full=yes;

    -- c:\>exp hr/123456 file='d:\tunghuynh.dmp' log='d:\tunghuynh.log' full=yes;

    -- c:\>exp hr/123456 file-'d:\tunghuynhtable.dmp' tables=(employees,jobs);

    -- c:\>imp may12tunghuynh/12345 file='d:\tunghuynh.dmp' log='d:\tunghuynh.log' full=yes;

    -- c:\>imp may12tunghuynh/12345 file-'d:\tunghuynhtable.dmp' tables=(employees);

-- II.10.   

-- Tính tổng số tiền đã nhập hàng

-- II.11.   

-- Tính số tiền trung bình phải nhập mỗi sản phẩm

-- II.12.   

-- Tính tổng số tiền đã bán được hàng

-- II.13.   

-- Hiển thị mặt hàng trong kho, số lượng còn lại

-- II.14.   

-- Tính số tiền lãi

-- II.15.   

-- Tìm nhân viên bán được nhiều hàng nhất

-- II.16.   

-- Danh sách nhân viên bán vi phạm qui định (giá bán dưới mức cho phép)

-- II.17.   

-- Mặt hàng bán chạy nhất, số lượng đã bán

-- II.18.   

-- Mặt hàng có lãi nhất, số tiền lãi

-- III.1.   

-- Export user trên

c:\>exp may12tunghuynh/12345 file='d:\tunghuynh.dmp' log='d:\tunghuynh_export.log' full=yes;

-- III.2.   

-- Drop user trên

drop user may12tunghuynh;

-- III.3.   

-- Create lại user trên

create user may12tunghuynh IDENTIFIED by 12345;

-- III.4.   

-- Import dữ liệu vào

c:\>imp may12tunghuynh/12345 file='d:\tunghuynh.dmp' log='d:\tunghuynh_import.log' full=yes;

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