Bài giảng Cơ sở dữ liệu quan hệ: Chương 4 - ThS. Nguyễn Thị Tâm

60 6 0
Bài giảng Cơ sở dữ liệu quan hệ: Chương 4 - ThS. Nguyễn Thị Tâm

Đ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

Chương 4 trình bày về Đại số quan hệ. Nội dung cụ thể của chương này gồm có: Các phép toán cập nhật: thêm, sửa, xóa, các phép toán đại số trên tập hợp, các phép toán đại số trên quan hệ, các phép toán quan hệ bổ sung,...

CHƯƠNG ĐẠI SỐ QUAN HỆ Cơ sở liệu 10/10/2012 Nội dung chi tiết phép toán cập nhật: thêm, sửa, xóa Các phép tốn đại số tập hợp Phép hợp Phép giao Phép trừ Tích đe cac Các phép toán đại số quan hệ Phép chiếu Phép chọn Phép chia Phép kết, phép kết tự nhiên Các phép Cơ sở liệu toán quan hệ bổ sung Các 10/10/2012 I Các phép tốn mơ hình quan hệ số xử lý quan hệ NHÂN VIÊN Thêm nhân viên Chuyển nhân viên tên Tùng sang phòng số Cho biết Họ tên, ngày sinh nhân viên có lương thấp 30000 Xét TENNV HONV NS DIACHI GT LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Cơ sở liệu 10/10/2012 loại xử lý: Làm thay đổi sở liệu (cập nhật) Thêm, sửa, xóa Khơng làm thay đổi sở liệu (rút trích) Có Thực xử lý Đại số quan hệ: biểu diễn câu truy vấn dạng biểu thức SQL (Structured Query Language) Cơ sở liệu 10/10/2012 I Các phép toán cập nhật (Insert): cho phép thêm vào quan hệ Phép thêm vi phạm ràng buộc liệu => liệu khơng thêm vào Xóa: (Delete): cho phép xóa hay nhiều giá trị quan hệ Phép xóa vi phạm ràng buộc Sửa (Update): cho phép thay đổi giá trị hay nhiều thuộc tính quan hệ Sửa thuộc tính khóa chính, khóa ngoại Sửa thuộc tính thơng thường: kiểu liệu, miền giá trị, Thêm Cơ sở liệu 10/10/2012 II Các phép toán đại số tập hợp Kết phép toán quan hệ Điều kiện: hai quan hệ r(A1, ,An) s(B1, ,Bn) gọi khả hợp (tương thích) chúng xác định tập thuộc tính Cùng bậc n (có số cột) Miền giá trị dom (Ai) = dom (Bi) Cơ sở liệu 10/10/2012 a Phép hợp – Union hai lược đồ quan hệ Q1 Q2 có tập thuộc tính {A1, A2,…, An} r1 r2 hai quan hệ Q1 Q2 Phép hợp hai lược đồ quan hệ Q1 Q2 tạo thành lược đồ quan hệ Q3 Với Q3 xác định sau: Q3+ = {A1, A2, …, An} r3 = r1  r2 = { t | t r1 tr2}  tập hợp thuộc r1 r2 thuộc hai Cho Cơ sở liệu 10/10/2012 Ví r dụ: A B C a1 b1 a2 b1 r  s A B C c1 a1 b1 c1 b2 c2 a2 b1 c3 b3 c3 a2 b2 c2 a3 b3 c3 A B C c1 a1 b1 c3 a2 a3 Cơ sở liệu s 10/10/2012 r1 MASV MAMH DIEM 99001 CSDL 5.0 99002 99003 CTDL MANG 2.0 8.0 r2 MASV 99002 MAMH CTDL DIEM 2.0 99001 TTNT 5.0 99003 CSDL 6.0 Cơ sở liệu r3 = r1  r2 MASV MAMH DIEM 99001 CSDL 5.0 99002 CTDL 2.0 99003 MANG 8.0 99001 TTNT 5.0 99003 CSDL 6.0 10/10/2012 VD2: Cho danh sách Học viên khen thưởng lần DOT2 DOT1 Mahv Hoten Mahv Hoten K1103 Le Van Tam K1101 Le Kieu My K1114 Tran Ngoc Han K1114 Tran Ngoc Han K1203 Le Thanh Hau K1203 Le Thanh Hau K1308 Nguyen Gia K1308 Nguyen Gia Mahv Hoten K1101 Le Kieu My K1103 Le Van Tam K1114 Tran Ngoc Han K1203 Le Thanh Hau K1308 Nguyen Gia DOT1DOT2 Cơ sở liệu 10/10/2012 10 IV Các phép tốn quan hệ nhóm Vấn đề cần giải quyết: Tính tìm tổng, đếm người có lương lớn ,v.v Giải quyết: Nhóm quan hệ theo giá trị số thuộc tính chúng sau áp dụng hàm nhóm cách độc lập Cơ sở liệu 10/10/2012 47 Định nghĩa phép gộp nhóm  ( thuộc tính )(R) Trong đó: TT gộp nhóm: tên thuộc tính tiến hành gộp nhóm lại Hàm: tên hàm sử dụng để tính tốn sau gộp nhóm Thuộc tính: tên thuộc tính thực tính tốn R: tên quan hệ thực  Các hàm nhóm  Tính tổng SUM()  Tính trung bình cộng AVERAGE()  Đếm số thỏa mãn COUNT(), COUNTA(), COUNT(*)  Tìm giá trị lớn MAX(), nhỏ MIN() Cơ sở liệu 10/10/2012 48 Kết phép gộp nhóm quan hệ Ngồi thuộc tính sở để gộp nhóm, quan hệ kết cịn có thuộc tính tương ứng với phần tử danh sách hàm kết tập Nếu ds thuộc tính sở để gộp nhóm rỗng hàm kết tập áp dụng cho giá trị thuộc tất quan hệ Khi quan hệ kết có Cơ sở liệu 10/10/2012 49 VD 24: a) MA_P  COUNT ( MA_NV) , AVERAGE ( LUONG ) (NHAN_VIEN) Thực hiện: Đếm số nhân viên tính lương trung bình theo phòng Quan hệ kết là: b)  MA_P COUNT MA_NV AVERAGE LUONG P1 1500000 P2 2000000 P3 1500000 COUNT( MA_NV), AVERAGE ( LUONG) (NHAN_VIEN) Thực hiện: Đếm số nhân viên tính lương trung bình tất NV Quan hệ kết : COUNT MA_NV Cơ sở liệu AVERAGE LUONG 1666666.7 10/10/2012 50 * Bài tập 2: Cơ sở liệu 10/10/2012 51 Yêu cầu: dựng biểu thức đại số quan hệ mơ tả Với phịng ban có lương trung bình nhân viên thuộc phịng ban >300.000, cho biết tên phòng ban số nhân viên thuộc phịng ban Với phịng ban có lương trung bình nhân viên thuộc phịng ban >300.000, cho biết tên phòng ban số nhân viên nam phịng ban Với đề án, liệt kê tên đề án (TENDA) tổng số làm việc cuả tất nhân viên tham gia dự án Với phịng ban, liệt kê tên phịng ban (TENPHG) lương trung bình nhân viên phịng Lương trung bình cuả tất nữ nhân viên Với phịng ban có mức lương trung bình 30000 Liệt kê tên phòng ban số lượng nhân viên phịng Xây Cơ sở liệu 10/10/2012 52 Với phịng ban có lương trung bình nhân viên thuộc phịng ban >300.000, cho biết tên phịng ban số nhân viên thuộc phịng ban Thực Thực tính tốn phân nhóm theo phịng, phịng tính lương trung bình đếm số nhân viên phịng sau lọc phịng có lương trung bình > 300000 R1  TENPHGAVERAGE(MLUONG), COUNT(*) (PHONGBAN⋈MAPHG, PHG NHANVIEN) R(TENPHG, SONV)  AVERAGE(MLUONG)>300000 (R1) Cơ sở liệu 10/10/2012 53 Với phòng ban có lương trung bình nhân viên thuộc phịng ban >300.000, cho biết tên phịng ban số nhân viên nam phịng ban Thực hiện: với phòng thực đếm số nhân viên nam có phịng với phịng tính mức lương trung bình phịng chọn phịng có lương > 300000 Liệt kê mã phòng tên phòng R1(PHONG, SONV_NAM)  PHONGCOUNT(*) (PHAI=‟Nam‟ (NHANVIEN)) R2  MAPHG, TENPHG AVERAGE(MLUONG) (PHONGBAN ⋈MAPHG, PHG NHANVIEN) R3(MAPHG, TENPHG)  AVERAGE(MLUONG)>300000 (R2) R(TENPHG, SONV_NAM)  R1⋈PHONG, MAPHG R3 Cơ sở liệu 10/10/2012 54 Với đề án, liệt kê tên đề án (TENDA) tổng số làm việc cuả tất nhân viên tham gia dự án Thực hiện: Với dự án tính tổng thời gian  tính tốn phân nhóm mã dự án Cơ sở liệu 10/10/2012 55 Với phòng ban, liệt kê tên phịng ban (TENPHG) lương trung bình nhân viên phòng Thực hiện: tạo danh sách nhân viên kèm phịng ban thực tính trung bình lương dựa vào phòng Cơ sở liệu 10/10/2012 56 Lương trung bình cuả tất nữ nhân viên AVERAGE(MLUONG)(PHAI=Nu(NHANVIEN)) Với phịng ban có mức lương trung bình 30000 Liệt kê tên phịng ban số lượng nhân viên phịng Thực hiện: Tạo danh sách nhân viên kèm phịng ban => tính lương trung bình số lượng nhân viên Cơ sở liệu 10/10/2012 57 V Tối ưu hóa câu hỏi Tối ưu hóa câu hỏi việc lựa chọn phương pháp xử lý cho thực câu truy vấn đạt hiệu cao => thay biểu thức biểu thức khác đơn giản hơn, thực nhanh Hiệu cao tốn có lượng liệu lớn Ngun tắc: Thực phép toán làm quan hệ nhỏ sớm tốt Thực phép toán làm quan hệ lớn sau tốt Cơ sở liệu 10/10/2012 58 Ví dụ πHọđệm, Tên, Địa Cơ sở liệu (σTênDV =‟Nghiên cứu‟(Đơnvị*Nhân viên)) 10/10/2012 59 Bài tập nhà lược đồ CSDL gồm quan hệ: NHANVIEN(MaNV, Ten,Gt,NS,Đ/c,Luong,MaP) PHONG(MaP,TenP,MaNVTP, Ngaynhanchuc) DUAN(MaDA, TenDA, Diadiem, MaP) NPT(MaNV, Ten, Gt, Quanhe) NV-DA(MaNV,MADA,Sogio) PHONG_DD(MaP,Diadiem) Cho Cơ sở liệu 10/10/2012 60 Yêu cầu Sử dụng phép toán đại số quan hệ thực yêu cầu: 1.Đưa danh sách nhân viên công ty 2.Danh sách nhân viên nữ có địa Hà nội 3.Danh sách nhân viên thuộc diện nghỉ hưu (nam tuổi >60; nữ >55) 4.Danh sách nhân viên có lương khoảng 200 đến 2000 5.Đưa thơng tin trưởng phịng phịng tổ chức cán 6.Tính tổng số mà nhân viên tham gia vào dự án 7.Cho biết thơng tin phịng làm nhiều dự án  Cơ sở liệu 10/10/2012 61 ... trúc liệu 99003 MANG 8.0 r3 = r1 |>

Ngày đăng: 21/05/2021, 12:18

Từ khóa liên quan

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

Tài liệu liên quan