Bài giảng Hệ cơ sở dữ liệu: Chương 4 - TS. Lê Thị Tú Kiên

103 2 0
Bài giảng Hệ cơ sở dữ liệu: Chương 4 - TS. Lê Thị Tú Kiên

Đ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 Hệ cơ sở dữ liệu: Chương 4 Các ngôn ngữ thao tác trên quan hệ với mục tiêu là biểu diễn một câu hỏi (truy vấn) trên CSDL quan hệ dưới dạng; Nhận biết được sự tương đương giữa hai ngôn ngữ hình thức đại số quan hệ và ngôn ngữ tân từ; Hai ngôn ngữ hình thức là cơ sở của ngôn ngữ SQL. Mời các bạn cùng tham khảo!

CHƢƠNG Các ngôn ngữ thao tác quan hệ Tiến sĩ: Lê Thị Tú Kiên Mục tiêu  Biểu diễn câu hỏi (truy vấn) CSDL quan hệ dạng   Biểu thức ngôn ngữ đại số quan hệ  Biểu thức ngôn ngữ tân từ biến biến miền  Câu lệnh truy vấn ngôn ngữ SQL Nhận biết tương đương hai ngơn ngữ hình thức đại số quan hệ ngơn ngữ tân từ  Hai ngơn ngữ hình thức sở ngôn ngữ SQL Dept of IS - FIT - HNUE Ngôn ngữ đại số quan hệ Dept of IS - FIT - HNUE Giới thiệu  Là hai ngơn ngữ hình thức mơ hình liệu quan hệ  Là ngơn ngữ có tính thủ tục  Mỗi câu hỏi biểu diễn thơng qua việc áp dụng có thứ tự tập phép toán  Các phép toán  Tập hợp: phép hợp, phép giao, phép hiệu phép tích đề  Quan hệ: phép toán quan hệ phép chọn, phép chiếu, Dept of IS - FIT - HNUE phép kết nối, phép chia Hai quan hệ khả hợp  Hai quan hệ khả hợp chúng xác định tập thuộc tính r2 r1 STT Ho Ten GioiTinh STT Ho Ten GioiTinh Trần A Nam Trần D Nữ Trần B Nam Trần E Nữ Trần C Nam Dept of IS - FIT - HNUE Phép hợp  r1 r2 r1  r2 = { t | t r1 t r2} STT Ho Ten GioiTinh Trần A Nam Trần B Trần C STT Ho Ten r1  r2 STT Ho Ten GioiTinh Nam Trần A Nam Nam Trần B Nam Trần C Nam Trần D Nữ E Nữ GioiTinh Trần D Nữ Trần E Trần Nữ Dept of IS - FIT - HNUE Phép giao  r1 r1  r2 = { t | t r1 t r2} Ho Ten GioiTinh Trần E Trần Trần Ho Ten GioiTinh Nữ Trần B Nam B Nam Trần E Nữ C Nam Trần C Nữ r1  r2 r2 Ho Ten GioiTinh Trần B Nam Trần Dept - HNUE E of IS - FITNữ Phép hiệu  r1 r1 - r2 = { t | t r1 t r2} Ho Ten GioiTinh Trần E Trần Trần Ho Ten GioiTinh Nữ Trần B Nam B Nam Trần E Nữ C Nam Trần C Nữ r2 r2 – r1 r1 - r2 Ho Ten Trần C GioiTinh Ho NamDept of IS - FIT Trần - HNUE Ten GioiTinh C Nữ Phép tích đề  Bộ ghép nối r1 xác định U1 r2 xác định U2 t1= (a1, a2, , an)  r1 t2 = (b1, b2, …, bm)  r2  (t1,t2) = (a1, a2, , an, b1, b2, …, bm) Ví dụ: U1= {Ho, Ten, GioiTinh}, U2 = {SBD, DiaChi} r1/U1 r2/U2 t1 = (Trần, A, Nam) t2 = (SF001, Hà nội) Dept of IS - FIT - HNUE  (t1, t2) = (Trần, A, Nam, SF001, Hà nội) Phép tích đề  Định nghĩa phép tích đề r1 x r2 = {t= (a1, a2, , an, b1, b2, …, bm) | (a1, a2, , an)  r1 (b1, b2, …, bm)  r2 } Dept of IS - FIT - HNUE Khung nhìn (View)  Cú pháp câu lệnh CREATE VIEW AS Ví dụ: CREATE VIEW TG AS SELECT TEN_PHONG, AVG(LUONG) AS TB_LUONG FROM PHONG P, NHANVIEN N WHERE P.MA_DV = N.MA_DV GROUP BY TEN_PHONG SELECT TEN_PHONG, TB_LUONG FROM TG Dept of IS - FIT - HNUE WHERE TB_LUONG > 3500000; Câu lệnh INSERT- thêm ghi  Cú pháp câu lệnh INSERT INTO [()] VALUES () INSERT INTO [()] SELECT … Dept of IS - FIT - HNUE Câu lệnh UPDATE- sửa đổi thông tin  Cú pháp câu lệnh UPDATE SET = [ = ] [WHERE ] Dept of IS - FIT - HNUE Câu lệnh DELETE- xóa ghi  Cú pháp câu lệnh DELETE FROM [WHERE ] Dept of IS - FIT - HNUE Ngôn ngữ điều khiển liệu Dept of IS - FIT - HNUE Tạo tài khoản NSD CSDL  Cú pháp câu lệnh CREATE USER IDENTIFIED BY  Ví dụ CREATE USER giamdoc IDENTIFIED BY 123abc; Dept of IS - FIT - HNUE Các dạng đặc quyền NSD  SELECT  INSERT  DELETE  UPDATE  REFERENCES  USASE Dept of IS - FIT - HNUE Câu lệnh gán quyền cho NSD  Cú pháp câu lệnh GRANT ON TO [WITH GRANT OPTION]  Ví dụ GRANT SELECT, INSERT ON NHAN_VIEN TO giamdoc; Dept of IS - FIT - HNUE Câu lệnh thu hồi quyền NSD  Câu lệnh thu hồi quyền NSD REVOKE ON FROM  Ví dụ REVOKE SELECT, INSERT ON NHAN_VIEN FROM giamdoc; Dept of IS - FIT - HNUE Kết chƣơng  Ngôn ngữ đai số quan hệ  Ngôn ngữ tân từ  Ngôn ngữ SQL Dept of IS - FIT - HNUE Ví dụ Trong hai biểu thức đại số biểu diễn cho câu hỏi ví dụ 2, biểu thức thực tối ưu việc sử dụng nhớ để lưu kết trung gian? HOTEN, LUONG((TEN-PHONG=”Nghiên cứu phát triển )(NHAN_VIEN * PHONG)) HOTEN, LUONG(NHAN_VIEN* (MA-DV((TEN-PHONG=”Nghiên cứu phát triển )(PHONG)))) Dept of IS - FIT - HNUE Ví dụ  Theo bạn, hai biểu thức đại số sau biểu diễn câu hỏi ví dụ 3, câu hỏi tối ưu hơn?  Cách KQTG  MA-DA, MA-DV(DIA-DIEM-DA=„TT Khí tượng thủy văn HN‟ (DU_AN) KETQUA  MA-DA, HO-TEN, NG-SINH(NHAN_VIEN⋈MA-NV=MA-TP (PHONG*KQTG))  Cách KQTG  NHAN_VIEN⋈MA-NV=MA-TP (DU_AN * PHONG) KETQUA  MA-DA, HO-TEN, NG-SINH( DIA-DIEM-DA=„TT Khí tượng thủy văn HN‟ (KQTG)) Dept of IS - FIT - HNUE Ví dụ  Theo bạn, biểu thức MA_DV, GIOI_TINHFAVERAGE(LUONG)(NHAN_VIEN) biểu diễn cho câu hỏi sau đây: A Cho biết trung bình lương nhân viên nam trung bình lương nhân viên nữ cơng ty ? B Cho biết trung bình lương nhân viên nam bình lương nhân viên nữ phòng? C Cho biết trung bình lương nhân viên nam nữ ? Dept of IS - FIT - HNUE Ví dụ Theo bạn, biểu thức biến biểu diễn cho câu hỏi ví dụ cần dùng biến bộ? A B C Dept of IS - FIT - HNUE Ngôn ngữ định nghĩa liệu  Theo bạn, ràng buộc: CONSTRAINT PK PRIMARY KEY(MANV, MA_DA) Trong câu lệnh tạo bảng CHAM_CONG có nghĩa gì? (Chọn câu trả lời đúng) A B Ràng buộc đặt tên PK hai cột MANV, MA_DA làm khóa bảng Ràng buộc đặt tên PK Trong đó, cột MANV làm khóa thứ cột MA_DA làm khóa thứ hai bảng Dept of IS - FIT - HNUE ... NHAN_VIEN⋈MA-NV=MA-TP (DU_AN * PHONG) KETQUA  MA-DA, HO-TEN, NG-SINH( DIA-DIEM-DA=„TT Khí tượng thủy văn HN‟ (KQTG)) Dept of IS - FIT - HNUE Ví dụ MA-DA, HO-TEN, NG-SINH(NHAN_VIEN⋈MA-NV=MA-TP (PHONG*KQTG))... dự án này? Dept of IS - FIT - HNUE Ví dụ  Cách KQTG  MA-DA, MA-DV(DIA-DIEM-DA=„TT Khí tượng thủy văn HN‟ (DU_AN)) KETQUA  MA-DA, HO-TEN, NG-SINH(NHAN_VIEN⋈MA-NV=MA-TP (PHONG*KQTG))  Cách... Dept of IS - FIT - HNUE Cơ sở liệu quan hệ mẫu NHAN_VIEN PHONG CHAM_CONG DU_AN Dept of IS - FIT - HNUE Ví dụ  Cho biết tên dự án có mã D4? TEN_DA((MA_DA=”D4” )(DU_AN)) (MA_DA=”D4” )(DU_AN)

Ngày đăng: 25/10/2022, 09:46