1. Trang chủ
  2. » Tất cả

BaiGiangLyThuyet_KhoaHTTT - P2.ppt

22 1 0

Đ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

Cấu trúc

  • Slide 1

  • 1. ĐẠI SỐ QUAN HỆ

  • Slide 3

  • 1. ĐSQH - Phép chọn

  • 1. ĐSQH - Phép chọn

  • 1. ĐSQH - Phép chiếu

  • 1. ĐSQH - Phép chiếu

  • 1. ĐSQH - Phép tích Descartes

  • 1. ĐSQH - Phép kết

  • 1. ĐSQH - Phép kết

  • 1. ĐSQH - kết bằng, kết tự nhiên

  • 1. ĐSQH - Phép kết

  • 1. ĐSQH - Phép kết ngoài (outer join)

  • 1. ĐSQH – left outer join

  • 1. ĐSQH - Phép trừ, phép hội, phép giao tập hợp

  • 1. ĐSQH - Phép trừ, phép hội, phép giao tập hợp

  • 1. ĐSQH - Phép trừ, phép hội, phép giao tập hợp

  • 1. ĐSQH - Phép chia tập hợp ( / hay ÷)

  • 1. ĐSQH - Phép chia tập hợp (/ hay ÷ )

  • 1. ĐSQH - Phép chia tập hợp (/ hay ÷ )

  • Slide 21

  • Slide 22

Nội dung

Chương 3: Đại số quan hệ 1 ĐẠI SỐ QUAN HỆ ▪ Là mơ hình tốn học dựa lý thuyết tập hợp ▪ Đối tượng xử lý quan hệ sở liệu quan hệ ▪ Cho phép sử dụng phép toán rút trích liệu từ quan hệ ▪ Tối ưu hóa q trình rút trích liệu ▪ Gồm có: ➢ Các phép toán đại số quan hệ ➢ Biểu thức đại số quan hệ ĐSQH - Các phép tốn ĐSQH, biểu thức ĐSQH ● Có năm phép toán bản: ◦ ◦ ◦ ◦ ◦ ● Chọn ( ) Chọn dòng (bộ) quan hệ thỏa điều kiện chọn Chiếu ( ) Chọn số cột Tích Descartes ( ) Nhân hai quan hệ lại với Trừ ( ) Chứa quan hệ không nằm quan hệ Hội ( ∪ ) Chứa quan hệ quan hệ Các phép tốn khác: ), chia ( / hay ÷), đổi tên ( ): phép tốn khơng (được suy từ phép toán trên, trừ phép đổi tên) ◦ Giao ( ∩ ), kết ( ● Biểu thức đại số quan hệ: ◦ ◦ ◦ Là biểu thức gồm phép toán ĐSQH Biểu thức ĐSQH xem quan hệ (khơng có tên) Kết thực phép toán quan hệ, kết hợp phép toán để tạo nên quan hệ mới! ĐSQH - Phép chọn Câu hỏi 1: Cho biết nhân viên nam ? ▪ Biểu diễn cách : Cú pháp : (Quan hệ) (Điều kiện ∧ điều kiện ∧ ….) (NhanVien) Câu hỏi 1: Phai=‘Nam’ ▪ Ngồi ra, biểu diễn cách 2: Cú pháp : (Quan hệ: điều kiện chọn) Câu hỏi 1: (NhanVien: Phai=‘Nam’) Kết phép chọn NHANVIEN NHANVIEN MANV HOTEN NTNS PHAI NV001 Nguyễn Tấn Đạt 10/12/197 Nam MANV HOTEN NTNS PHAI NV002 Trần Đông 01/08/198 Nữ NV001 Nguyễn Tấn 10/12/197 Nam Đạt ĐSQH - Phép chọn Câu hỏi 2: Cho biết nhân viên nam sinh sau năm 1975 ? ▪ Biểu diễn cách : (NhanVien) Câu hỏi 2: (Phai=‘Nam’ ∧ Year(NTNS)>1975) ▪ Biểu diễn cách 2: Câu hỏi 2: (NhanVien: Phai=‘Nam’ ∧ Year(NTNS)>1975) NHANVIEN MANV HOTEN NTNS Kết phép chọn NHANVIEN PHAI NV001 Nguyễn Tấn Đạt 10/12/197 Nam NV002 Trần Đông Anh 01/08/198 Nữ NV003 Lý Phước 02/04/196 Nam (không có thỏa) MANV HOTEN NTNS PHAI ĐSQH - Phép chiếu Câu hỏi 3: Cho biết họ tên nhân viên giới tính ? ▪ Biểu diễn cách : Cú pháp : (Quan hệ) Cột1, cột2, cột 3, … (NhanVien) Câu hỏi : HOTEN, PHAI ▪ Ngồi ra, biểu diễn cách 2: Cú pháp : Quan hệ [cột1,cột2,cột3,…] NhanVien [HoTen, Phai] Câu hỏi 3: NHANVIEN MANV HOTEN NTNS NHANVIEN PHAI NV001 Nguyễn Tấn Đạt 10/12/197 Nam NV002 Trần Đông 01/08/198 Nữ Kết phép chiếu HOTEN PHAI Nguyễn Tấn Đạt Nam Trần Đông Anh Nữ ĐSQH - Phép chiếu Câu hỏi 4: Cho biết họ tên ngày tháng năm sinh nhân viên nam? ▪ Biểu diễn cách 1: Q Bước 1: (NhanVien) (Phai=‘Nam’) (Q) Bước 2: Kết phép chọn (còn gọi biểu thức ĐSQH) đổi tên thành quan hệ Q HOTEN, NTNS ▪ Biểu diễn cách 2: Câu hỏi 4: (NhanVien: Phai=‘Nam’) [HoTen, NTNS] NHANVIEN MANV HOTEN NV001 Nguyễn Tấn Đạt NTNS NHANVIEN PHAI Kết phép chiếu HOTEN 10/12/197 Nam Nguyễn Tấn Đạt NV002 Trần Đông Anh NTNS 01/08/198 Nữ 10/12/1970 ĐSQH - Phép tích Descartes Câu hỏi 5: Tính tích Descartes quan hệ nhân viên phòng ban Cú pháp : Quan-hệ-2 Quan-hệ-1 Câu hỏi viết lại: PHONGBAN NHANVIEN PHONGBAN NHANVIEN MANV HOTEN …Quan-hệ-k NTNS PHAI PHONG NV001 Nguyễn Tấn Ðạt 10/12/1970 Nam NC NV002 Trần Ðông Anh 01/08/1981 Nữ DH NV003 Lý Phước Mẫn 02/04/1969 Nam NC MAPH NC TENPH Nghiên cứu TRPH NV001 NHANVIEN X PHONGBAN PHONG MAPH Nam NC DH NCĐiều hành Nghiên cứuNV002NV001 10/12/1970 Nam NC DH Điều hành NV002 Trần Đông Anh 01/08/1981 Nữ DH NC Nghiên cứu NV001 NV002 Trần Đông Anh 01/08/1981 Nữ DH DH Điều hành NV002 NV003 Lý Phước Mẫn 02/04/1969 Nam NC NC Nghiên cứu NV001 NV003 Lý Phước Mẫn 02/04/1969 Nam NC DH Điều hành NV002 MANV HOTEN NTNS NV001 Nguyễn Tấn Đạt 10/12/1970 NV001 Nguyễn Tấn Đạt NV002 PHAI TENPH TRPH (ThetaJoin) Câu hỏi 6: Cho biết mã nhân viên, họ tên tên phòng mà n/v trực ĐSQH - Phép kết thuộc -Đặt vấn đề: trở lại ví dụ 5, ta thấy thực phép tích Decartes NHANVIEN X PHONGBAN nhân viên thuộc phịng (vì có tổng cộng phịng ban, có 3, 4,…phịng ban số dịng cho nhân viên NHANVIEN X PHONGBAN 3, 4, dòng - Thực tế nhân viên thuộc phịng ban ràng buộc khóa ngoại (PHONG), để lấy giá trị MAPH nhân viên ➔ phải có điều kiện chọn: NHANVIEN.PHONG = PHONGBAN.MAPH biểu diễn phép chọn theo cách ((NHANVIEN X PHONGBAN) : NHANVIEN.PHONG=PHONGBAN.MAPH) PHONG MAPH Nam NC NC Nghiên cứu NV001 10/12/1970 Nam NC DH Điều hành NV002 Trần Đông Anh 01/08/1981 Nữ DH NC Nghiên cứu NV001 NV002 Trần Đông Anh 01/08/1981 Nữ DH DH Điều hành NV002 NV003 Lý Phước Mẫn 02/04/1969 Nam NC NC Nghiên cứu NV001 NV003 Lý Phước Mẫn 02/04/1969 Nam NC DH Điều hành NV002 MANV HOTEN NTNS NV001 Nguyễn Tấn Đạt 10/12/1970 NV001 Nguyễn Tấn Đạt NV002 PHAI TENPH TRPH (Theta(NHANVIENJoin) X PHONGBAN) ĐSQH - Phép kết Cách 1: ▪ Cách 2: NHANVIEN.PHONG=PHONGBAN.MAPH ▪ (NHANVIEN PHONGBAN): (NHANVIEN.PHONG=PHONGBAN.MAPH) * Phép kết định nghĩa phép tích Decartes có điều kiện chọn liên quan đến thuộc tính quan hệ, cú pháp : Quan-hệ-1 Quan-hệ-2 Điều kiện kết (Phép kết với đk tổng quát gọi θ-kết, θ ≠, =, >, =, =300km, chở từ12 người trở lên chuyến? Cách 1: Kết quả: Cách 2: (CHUYENDI) (ChieuDai>=300 ∧ SoNguoi>=12) πHoTen, NgayDi, NgayVe (Q MATX TAIXE) Q ((CHUYENDI : ChieuDai>=300 ∧ SoNguoi>=12) TAIXE) [HoTen, NgayDi, NgayVe] MA TX 12 ĐSQH - Phép kết (outer join) Mở rộng phép kết để tránh thông tin ● Thực phép kết sau thêm vào kết phép kết quan hệ mà không phù hợp với quan hệ ● Có loại: ● ◦ Left outer join R ◦ Right outer join R ◦ Full outer join R ● S (giữ lại quan hệ trái) S (giữ lại quan hệ phải) S (giữ lại quan hệ trái, phải) Ví dụ: In danh sách tất tài xế số chuyến đi, mã xe mà tài xế lái (nếu có) 13 ĐSQH – left outer join ● TAIXE Matx { Hoten mat x (lấy hết tất quan hệ bên trái) CHUYENDI SoC Matx Max D e TAIXE MaTX Hoten TX01Huynh Trong CD0 TX01 8659 Tao TX01 Huynh Trong Tao TX01Huynh Trong CD0 TX01 8659 Tao TX02 Nguyen Sang TX02Nguyen Sang CD0 TX02 7715 TX03 TX03Le Phuoc Long CD0 TX03 4573 Bộ quan hệ TAIXE thêm TX04Nguyen Anh Null Null với kết Vào dù không phùNullhợp Tuan quan hệ CHUYENDI Le Phuoc Long CHUYENDI TX04 Nguyen Anh Tuan SoCD MaTX MaXe CD01 TX01 8659 CD02 TX02 7715 CD03 TX01 Tương tự right outer join full outer join (lấy cả8659 2) CD04 TX03 4573 14 ĐSQH - Phép trừ, phép hội, phép giao tập hợp ● Tất phép toán cần hai quan hệ đầu vào tương thích khả hợp, nghĩa chúng phải thoả: ◦ Cùng số thuộc tính Ví dụ: R S có thuộc tính ◦ Các thuộc tính `tương ứng ’ có kiểu S R HONV Vuong HONV TENNV TENNV Le Nhan Vuong Quyen Quyen Phép trừ: R S Phép R∪ S Nguyen hội: Tung Phép giao: R Bui Vu ∩ S NHANVIEN (MaNV, HoTen, Phai, Luong,NTNS, Ma_NQL, MaPH) PHANCONG (MaNV, MaDA, ThoiGian) 15 ĐSQH - Phép trừ, phép hội, phép giao tập hợp Phép trừ: Q = R Phép hội: Q = R Phép giao: Q = R R ∪ ∩ S = { t/ t∈ R ∨ t∈ S} S = R – (R – S) = { t/t∈ R ∧ t∈ S} S R HONV S S = { t/ t∈ R ∧ t∉ S} HONV TENNV Le Vuong TENNV Nhan Quyen Quyen Kết phép trừ Q ={Nguyen Tung} Vuong Kết phép hội Q ={Vuong Nguyen Tung Quyen, Nguyen Tung, Le Nhan, Bui Vu} Bui Vu Kết phép giao Q ={Vuong Quyen} Lưu ý : Phép hội phép giao có tính chất giao hốn 16 ĐSQH - Phép trừ, phép hội, phép giao tập hợp Câu hỏi 9: Cho biết nhân viên không làm việc ? (Phép trừ) Cách 1: πMANV(NHANVIEN) – πMANV(PHANCONG) Cách 2: (NHANVIEN[MANV]) – (PHANCONG[MANV]) Câu hỏi 10: Cho biết nhân viên phân cơng tham gia đề án có mã số ‘TH01’ đề án có mã số ‘TH02’? (Phép hội) ((PHANCONG: MADA=‘TH01’)[MANV]) ∪ ((PHANCONG : MADA=‘TH02’)[MANV]) Câu hỏi 11: Cho biết nhân viên phân công tham gia đề án ‘TH01’ đề án ‘TH02’? (Phép giao) ((PHANCONG : MADA=‘TH01’)[MANV]) ∩ ((PHANCONG : MADA=‘TH02’)[MANV]) 17 ĐSQH - Phép chia tập hợp ( / hay ÷) ● Phép chia (R ÷ S) cần hai quan hệ đầu vào R, S thoả: ◦ Tập thuộc tính R tập cha tập thuộc tính S Ví dụ: R có m thuộc tính, S có n thuộc tính : n ⊆ m •Định nghĩa: R S hai quan hệ, R+ S+ tập thuộc tính R S Điều kiện S+≠∅ tập không R+ Q kết phép chia R S, Q+ = R+ - S+ 18 ĐSQH - Phép chia tập hợp (/ hay ÷ ) R=PHANCONG S=DEAN Kết Q Q= PHANCONG/DEAN Cho biết nhân viên làm việc cho tất đề án ? (được phân công tham gia tất đề án) Hoặc viết Q= PHANCONG ÷ DEAN 19 ĐSQH - Phép chia tập hợp (/ hay ÷ ) R=KETQUATHI Mahv Mamh S=MONHOC Mahv Diem HV01 CSDL 7.0 HV02 CSDL 8.5 HV01 CTRR 8.5 HV03 CTRR 9.0 HV01 THDC 7.0 HV02 THDC 5.0 HV03 THDC 7.5 HV03 CSDL 6.0 Mamh Tenmh CSDL Co so du lieu CTRR Cau truc roi rac HV01 Q=KETQUA/MONHOC HV03 THDC Tin hoc dai cuong * Viết cách khác KETQUATHI[Mahv,Mamh] /MONHOC[Mamh] 20 ĐSQH – Hàm tính tốn nhóm tính tốn nhiều nhóm (gom nhóm – group by) ● Các hàm tính tốn gồm hàm: avg(giá-trị), min(giátrị), max(giá-trị), sum(giá-trị), count(giá-trị) ● Phép tốn gom nhóm: (Group by) ◦ E biểu thức đại số quan hệ ◦ Gi thuộc tính gom nhóm (nếu khơng có Gi nào=> khơng chia nhóm (1 nhóm), ngược lại (nhiều nhóm) => hàm F tính tốn nhóm nhỏ chia tập thuộc tính này) ◦ Fi hàm tính tốn ◦ Ai tên thuộc tính 21 ĐSQH – Hàm tính tốn nhóm tính tốn nhiều nhóm (gom nhóm – group by) ● Điểm thi cao nhất, thấp nhất, trung bình mơn CSDL ? ● Điểm thi cao nhất, thấp nhất, trung bình mơn ? (group by mamh) 22 ... ĐSQH - Phép tích Descartes Câu hỏi 5: Tính tích Descartes quan hệ nhân viên phòng ban Cú pháp : Quan-h? ?-2 Quan-h? ?-1 Câu hỏi viết lại: PHONGBAN NHANVIEN PHONGBAN NHANVIEN MANV HOTEN …Quan-hệ-k NTNS... có điều kiện chọn liên quan đến thuộc tính quan hệ, cú pháp : Quan-h? ?-1 Quan-h? ?-2 Điều kiện kết (Phép kết với đk tổng quát gọi θ-kết, θ ≠, =, >, =,

Ngày đăng: 25/08/2016, 00:21