Bài giảng hệ quản trị cơ sở dữ liệu chương 3 nguyễn thị mỹ dung

20 3 0
Bài giảng hệ quản trị cơ sở dữ liệu chương 3   nguyễn thị mỹ dung

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng HQT Cơ sở liệu (ORACLE) Số tc: 3; LT: 25; Btập: 20 GV: Nguyễn Thị Mỹ Dung Khối lớp: Đại học L2 NỘI DUNG MÔN HỌC Chương 2: Cơ Oracle (2) Chương 1: Tổng quan Oracle (2) Chương 3: Truy vấn SQL (12) Chương 4: Lập trình PL/SQL (9) Chương 5: Procedure, Trigger, Function (12) Chương 6: Quản trị người dùng (4) Chương 7: Kết nối CSDL với Oracle (4) Chương 3: Truy vấn SQL I Thao tác CSDL (tạo, sửa, xoá, thêm liệu) II Các câu truy vấn: Select, Insert, Update, Delete III Truy vấn lồng, gom nhóm, điều kiện gom nhóm IV Các hàm xử lý liệu V Bài tập thực hành I Thao tác CSDL Cho CSDL Ví dụ: Cho lược đồ quan hệ sau  Sinhvien (MaSV, Hoten, Namsinh, QQ, Hocluc)  Detai (MaDT, TenDT, Chunhiem, Kinhphi)  SVDT (MaSV, MaDT, NoiAD, KQ) Bảng liệu mẫu sau: Sinhvien MaSv Hoten Namsinh QQ Hocluc SV001 Thái Bình An 1983 Cần Thơ 7.5 SV002 Lê Văn Khang 1985 Vĩnh Long 7.1 SV003 Trần Đức Thịnh 1983 Đồng Tháp 8.1 SV004 Bùi Quốc Vượng 1984 Đồng Tháp 9.2 SV005 Lâm Nhân Nghĩa 1985 Tiền Giang 6.5 SV006 Hà Công Sự 1982 Cần Thơ 6.0 SV007 Hồ Phương Thanh 1985 An giang 8.2 SV008 Vũ Thị Hảo Ý 1986 Bạc Liêu 5.8 Bảng liệu mẫu (tt) Detai SVDT MaDT TenDT Chunhiem Kinhphi DT001 Quản lý Nhân Nguyễn Thị Xuân 10 DT002 Web site Bán hàng qua mạng Hồ Văn Quang 15 DT003 Bảo mật thương mại điện tử Trần Hiếu Hạnh 20 DT004 Quản lý lịch công tác mạng Lê Đức Phúc DT005 Bộ soạn thảo cơng thức tốn học Trần Hiếu Hạnh DT006 Web site đào tạo từ xa Lê Đức Phúc Noi_AD 25 MaSV MaDT KQ SV001 DT001 Đồng Tháp 9.5 SV002 DT002 Vĩnh Long 9.0 SV003 DT001 Trà Vinh 9.0 SV004 DT002 Đồng Tháp SV007 DT004 Trà Vinh 9.0 SV008 DT003 Bạc Liêu 10.0 SV001 DT004 Đồng Tháp 9.5 SV008 DT002 Trà Vinh 9.0 SV002 DT005 Cà Mau 8.5 SV001 DT005 Tiền Giang 8.0 SV006 DT003 Đồng Tháp 9.5 10.0 Thao tác CSDL (tt) Tạo bảng CREATE [GLOBAL TEMPORARY] TABLE Table_name ( Column_name Datatype [CONSTRAINT constraint_def DEFAULT default_exp] [, column_name type [CONSTRAINT constraint_def DEFAULT default_exp] ] [,table_constraint [,…]] ) Tạo bảng (tt) CREATE [GLOBAL TEMPORARY] TABLE ( column_name datatype [CONSTRAINT constraint_def DEFAULT default_exp] [, column_name type [CONSTRAINT constraint_def DEFAULT default_exp] ] [,table_constraint [,…]] ) Trong đó: – Global Temporary: có từ khóa bảng tạo bảng tạm – Table_name: tên bảng người dùng đặt – Column_name: tên cột bảng – Datatype: kiểu liệu cột – Constraint: từ khóa cho phép tạo ràng buộc cột – Contraint_def: ràng buộc cột – Default: từ khóa cho phép xác định giá trị mặc định cho cột – Default_exp: liệu cột nhận giá trị default_exp người dùng không nhập liệu vào cột – Table_constraint: ràng buộc toàn bảng liệu Tạo bảng (tt) CREATE TABLE SINHVIEN ( MASV CHAR(10) PRIMARY KEY, HOTENSV VARCHAR2(40), NAMSINH INT, QUEQUAN VARCHAR2(40), HOCLUC FLOAT ) CREATE TABLE DETAI( MADT CHAR(10) PRIMARY KEY, TENDT VARCHAR2(40), CHUNHIEM VARCHAR2(40), KINHPHI NUMBER ) Tạo bảng (tt) CREATE TABLE SVDT ( MASV CHAR(10) NOT NULL, MADT CHAR(10) NOT NULL, NOIA_D CHAR(40), KETQUA FLOAT, PRIMARY KEY (MASV, MADT), CONSTRAINT SVDT_SV FOREIGN KEY (MASV) REFERENCES SINHVIEN (MASV), CONSTRAINT SVDT_DT FOREIGN KEY (MADT) REFERENCES DETAI(MADT) ) Thao tác CSDL (tt) Kiểu ràng buộc Diễn giải NULL/NOT NULL Cho phép/không cho phép cột chứa giá trị rỗng CHECK (Criteria) Giá trị nhập vào cột phải thỏa Criteria UNIQUE Giá trị nhập vào cột phải PRIMARY KEY Ràng buộc khóa cho cột REFERENCES (Column_name1) Ràng buộc khóa ngoại cho cột tham chiếu tới Column_name tồn bảng Table_name Mô tả: CONSTRAINT [] 10 Thao tác CSDL (tt) Sửa bảng Thêm cột: ALTER TABLE ADD [] Xóa cột: ALTER TABLE DROP COLUMN Thay đổi kiểu liệu cột: ALTER TABLE MODIFY 11 Sửa bảng (tt) Thêm RBTV: ALTER TABLE ADD CONSTRAINT , CONSTRAINT , … Xóa RBTV: ALTER TABLE DROP Ví dụ: CREATE TABLE HANGHOA( MAHG CHAR(10), TENHANG CHAR(50), DVT CHAR(5) ) 12 Sửa bảng (tt)  Thêm thuộc tính bảng: ALTER TABLE HANGHOA ADD DONGIA FLOAT  Mở rộng kiểu liệu cho thuộc tính bảng: ALTER TABLE HANGHOA MODIFY DONGIA LONG  Xóa thuộc tính bảng: ALTER TABLE HANGHOA DROP COLUMN DVT 13 Sửa bảng (tt)  Thay đổi RBTV: ALTER TABLE SINHVIEN ADD CONSTRAINT fk_sv FOREIGN KEY (MAKHOA) REFERENCES KHOA(MAKHOA) ALTER TABLE HANGHOA ADD CONSTRAINT fk_HH PRIMIRY KEY (MAHG)  Xóa ràng buộc toàn vẹn bảng ALTER TABLE SINHVIEN DROP CONSTRAINT fk_sv 14 Thao tác liệu bảng (tt) Xoá bảng DROP TABLE [CASCADE CONSTRAINT] CASCADE CONSTRAINT xóa ln tất ràng buộc tồn vẹn liên quan đến bảng cần xóa DROP TABLE HANGHOA CASCADE CONSTRAINT 15 Thao tác liệu bảng (tt) Thêm liệu INSERT INTO Tênbảng [Cột1, Cột2, …] VALUES (giátrị1, giátrị2, …) VD: INSERT INTO SVDT (Masv, MaDT, KQ) VALUES (‘SV001’, ‘DT08’, 8)  Thêm nhiều dòng liệu INSERT INTO [(ds_thuộc_tính)] SELECT , …, FROM [WHERE ] 16 Thao tác liệu bảng (tt) Nhận xét: - Thứ tự giá trị phải trùng với thứ tự cột, - Có thể thêm giá trị NULL thuộc tính khơng khóa NOT NULL, - Các giá trị thuộc tính khóa khơng trùng, - Câu lệnh INSERT gặp lỗi vi phạm RBTV (Khóa chính, tham chiếu, trùng tên,…), thuộc tính có ràng buộc NOT NULL bắt buộc phải có giá trị 17 II Truy vấn Select Định danh  Tạo định danh (SYNONYM):Tạo định danh (tên gọi tắt) tham chiếu đến đối tượng schema CREATE SYNONYM FOR .  Xóa định danh:  DROP SYNONYM VD: PHONG(MA_PHONG, TEN_PHONG) CREATE SYNONYM P FOR PHONG; INSERT INTO P(MA_PHONG, TEN_PHONG) VALUES (1, 'Dao tao'); SELECT * FROM P; # SELECT * FROM PHONG; 18 Bài tập Xác định khóa chính?  CONGNHAN (HOTEN_CN, NAMS_CN, NAM_VAO_N, CH_MON)  THAMGIA (HOTEN_CN, STT_CTR, NGAY_TGIA, SO_NGAY)  KTRUCSU (HOTEN_KTS, NAMS_KTS, PHAI, NOI_TN, DCHI_LL_KTS)  THIETKE (HOTEN_KTS, STT_CTR, THU_LAO)  CGTRINH (STT_CTR, TEN_CTR, DIACHI_CTR, TINH_THANH, KINH_PHI, TEN_CHU, TEN_HAU, NGAY_BD)  CHUTHAU (TEN_THAU, TEL, DCHI_THAU)  CHUNHAN (TEN_CHU, DCHI_CHU) 19 Bài tập (tt) Xác định khóa ngoại?  CONGNHAN (HOTEN_CN, NAMS_CN, NAM_VAO_N, CH_MON)  THAMGIA (HOTEN_CN, STT_CTR, NGAY_TGIA, SO_NGAY)  KTRUCSU (HOTEN_KTS, NAMS_KTS, PHAI, NOI_TN, DCHI_LL_KTS)  THIETKE (HOTEN_KTS, STT_CTR, THU_LAO)  CGTRINH (STT_CTR, TEN_CTR, DIACHI_CTR, TINH_THANH, KINH_PHI, TEN_CHU, TEN_THAU, NGAY_BD)  CHUTHAU (TEN_THAU, TEL, DCHI_THAU)  CHUNHAN (TEN_CHU, DCHI_CHU) 20 ...NỘI DUNG MÔN HỌC Chương 2: Cơ Oracle (2) Chương 1: Tổng quan Oracle (2) Chương 3: Truy vấn SQL (12) Chương 4: Lập trình PL/SQL (9) Chương 5: Procedure, Trigger, Function (12) Chương 6: Quản trị. .. SV008 Vũ Thị Hảo Ý 1986 Bạc Liêu 5.8 Bảng liệu mẫu (tt) Detai SVDT MaDT TenDT Chunhiem Kinhphi DT001 Quản lý Nhân Nguyễn Thị Xuân 10 DT002 Web site Bán hàng qua mạng Hồ Văn Quang 15 DT0 03 Bảo mật... MaDT, NoiAD, KQ) Bảng liệu mẫu sau: Sinhvien MaSv Hoten Namsinh QQ Hocluc SV001 Thái Bình An 19 83 Cần Thơ 7.5 SV002 Lê Văn Khang 1985 Vĩnh Long 7.1 SV0 03 Trần Đức Thịnh 19 83 Đồng Tháp 8.1 SV004

Ngày đăng: 27/02/2023, 07:52

Tài liệu cùng người dùng

Tài liệu liên quan