Ví dụ 3 Cho biết họ tên và lương của các nhân viên... Ví dụ 11 Cho biết các phòng ban có cùng địa điểm với phòng số 5 Phòng 5 có tập hợp những địa điểm nào?. Ví dụ 13 Với mỗi nhân vi
Trang 1Chương 4
Đại số quan hệ
Trang 2Nội dung chi tiết
Trang 3Giới thiệu
Xét một số xử lý trên quan hệ NHANVIEN
Cho biết họ tên và ngày sinh các nhân viên có lương trên 40000
5 4
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 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
1
Nhu Le 06/20/1951
Trang 4Giới thiệu (tt)
Có 2 loại xử lý
• Thêm mới, xóa và sửa
• Truy vấn (query)
Thực hiện các xử lý
• Biểu diễn câu truy vấn dưới dạng biểu thức
• Biểu diễn kết quả
Trang 7Đại số quan hệ (tt)
Hằng số là thể hiện của quan hệ
Biểu thức
Trang 8Nội dung chi tiết
Trang 10Phép toán tập hợp (tt)
Ví dụ
TENNV NGSINH PHAI Tung 12/08/1955 Nam Hang 07/19/1968 Nu Nhu 06/20/1951 Nu Hung 09/15/1962 Nam
Trinh 04/05/1986 Nu Khang 10/25/1983 Nam Phuong 05/03/1958 Nu Minh 02/28/1942 Nam THAN_NHAN
Chau 12/30/1988 Nu
Bậc n=3 DOM(TENNV) = DOM(TENTN) DOM(NGSINH) = DOM(NG_SINH) DOM(PHAI) = DOM(PHAITN)
Trang 111 2 1
α
R ∪ S
α β
1 2 1
Trang 121 2 1
R ∩ S
α 2
Trang 131 2 1
R - S A B
α 1
β 1
Trang 15Nội dung chi tiết
Trang 16Phép chọn
Được dùng để lấy ra các bộ của quan hệ R
Các bộ được chọn phải thỏa mãn điều kiện chọn P
Trang 17Phép chọn (tt)
Kết quả trả về là một quan hệ
C
1 5 12
β 23
D
7 7 3 10
α β β β
α β
Trang 18Phép chọn (tt)
Phép chọn có tính giao hoán
σ p1 (σ p2 (R)) = σ p2 (σ p1 (R)) = σ p1 ∧ p2 (R)
Trang 20HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG Đinh Bá Tiến 009 119 Cống Quỳnh, Tp HCM 30000 005 5 Nguyễn Thanh Tùng 005 222 Nguyễn Văn Cừ, Tp HCM 40000 006 5 Bùi Ngọc Hằng 007 332 Nguyễn Thái Học, Tp HCM 25000 001 4
Lê Quỳnh Như 001 291 Hồ Văn Huê, Tp HCM Nữ 43000 006 4 Nguyễn Mạnh Hùng 004 95 Bà Rịa, Vũng Tàu 38000 005 5 Trần Thanh Tâm 003 34 Mai Thị Lự, Tp HCM 25000 005 5 Trần Hồng Quang 008 80 Lê Hồng Phong, Tp HCM 25000 001 4 Phạm Văn Vinh 006 45 Trưng Vương, Hà Nội Nữ 55000 1
σ PHG=4 (NHANVIEN)
Trần Hồng Quang 008 80 Lê Hồng Phong, Tp HCM 25000 001 4
Lê Quỳnh Như 001 291 Hồ Văn Huê, Tp HCM Nữ 43000 006 4 Bùi Ngọc Hằng 007 332 Nguyễn Thái Học, Tp HCM 25000 001 4
HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG
Trang 22HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG Đinh Bá Tiến 009 119 Cống Quỳnh, Tp HCM Nam 30000 005 5 Nguyễn Thanh Tùng 005 222 Nguyễn Văn Cừ, Tp HCM Nam 40000 006 5 Bùi Ngọc Hằng 007 332 Nguyễn Thái Học, Tp HCM Nam 25000 001 4
Lê Quỳnh Như 001 291 Hồ Văn Huê, Tp HCM Nữ 43000 006 4 Nguyễn Mạnh Hùng 004 95 Bà Rịa, Vũng Tàu Nam 38000 005 5 Trần Thanh Tâm 003 34 Mai Thị Lự, Tp HCM Nam 25000 005 5 Trần Hồng Quang 008 80 Lê Hồng Phong, Tp HCM Nam 25000 001 4 Phạm Văn Vinh 006 45 Trưng Vương, Hà Nội Nữ 55000 1
σ (LUONG>25000 ∧ PHONG=4) ∨ (LUONG>30000 ∧ PHONG=5) (NHAN_VIEN)
Lê Quỳnh Như 001 291 Hồ Văn Huê, Tp HCM Nữ 43000 006 4 HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG
Nguyễn Mạnh Hùng 004 95 Bà Rịa, Vũng Tàu Nam 38000 005 5
Trang 23Nội dung chi tiết
Trang 2410 20 30
C 1 1 1
β 40 2
πA,C (R)
A
α β
C 1 1
β 2
πA,C (R)
Trang 25Phép chiếu (tt)
Phép chiếu không có tính giao hoán
πA1, A2, …, An (πA1, A2, …, Am (R)) = πA1, A2, …, An (R) , với n ≤ m
πX,Y (R) = πX (πY (R))
Trang 26Ví dụ 3
Cho biết họ tên và lương của các nhân viên
Trang 27HONV TENLOT TENNV MANV NGSINH DCHI PHAI LUONG MA_NQL PHG Đinh Bá Tiến 009 119 Cống Quỳnh, Tp HCM Nam 30000 005 5 Nguyễn Thanh Tùng 005 222 Nguyễn Văn Cừ, Tp HCM Nam 40000 006 5 Bùi Ngọc Hằng 007 332 Nguyễn Thái Học, Tp HCM Nam 25000 001 4
Lê Quỳnh Như 001 291 Hồ Văn Huê, Tp HCM Nữ 43000 006 4 Nguyễn Mạnh Hùng 004 95 Bà Rịa, Vũng Tàu Nam 38000 005 5 Trần Thanh Tâm 003 34 Mai Thị Lự, Tp HCM Nam 25000 005 5 Trần Hồng Quang 008 80 Lê Hồng Phong, Tp HCM Nam 25000 001 4 Phạm Văn Vinh 006 45 Trưng Vương, Hà Nội Nữ 55000 1
πHONV, TENLOT, TENNV, LUONG (NHANVIEN)
HONV TENLOT TENNV LUONG
Trang 28Ví dụ 4
Cho biết mã nhân viên có tham gia đề án hoặc có thân nhân
Trang 29MA_NVIEN TENTN PHAI NGSINH QUANHE
MA_NVIEN
009 009 004 003 003 008 008 001 001 006 005 005
MA_NVIEN
005 001 009 004 003 008 006 007
Trang 30Ví dụ 5
Cho biết mã nhân viên có người thân và có tham gia
đề án
Trang 31Ví dụ 6
Cho biết mã nhân viên không có thân nhân nào
Trang 32Phép chiếu tổng quát
Mở rộng phép chiếu bằng cách cho phép sử dụng các phép toán số học trong danh sách thuộc tính
Trang 34Chuỗi các phép toán
Kết hợp các phép toán đại số quan hệ
πA1, A2, …, Ak (Quan hệ kết quả ở B1)
Cần đặt tên cho quan hệ
Trang 36ρX, C, D (R) : Đổi tên thuộc tính B thành X
Đổi tên quan hệ R thành S và thuộc tính B thành X
ρS(X,C,D) (R)
Trang 37KQ(HO, TEN) ← πHONV, TENNV (NV_P4)
ρKQ(HO, TEN) (πHONV, TENNV (NV_P4))
Trang 38Nội dung chi tiết
Trang 40D + +
D + +
+ +
+ - -
-
Trang 41D + +
+ +
+ - -
-
-R × S
Trang 42+ +
+ - -
-
Trang 43Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Trang 46Ví dụ 10
Cho biết lương cao nhất trong công ty
Trang 47Ví dụ 10 (tt)
B1: Chọn ra những lương không phải là lớn nhất
B2: Lấy tập hợp lương trừ đi lương trong R3
R1 ← (πLUONG (NHANVIEN)) R2 ← σNHAN_VIEN.LUONG < R1.LUONG (NHANVIEN × R1) R3 ← πR2.LUONG (R2)
KQ ← πLUONG (NHANVIEN) − R3
Trang 48Ví dụ 11
Cho biết các phòng ban có cùng địa điểm với phòng
số 5
Phòng 5 có tập hợp những
địa điểm nào? Phòng nào có địa điểm nằm trong trong tập hợp đó?
DIADIEM MAPHG
1 4 5 5
TP HCM
VUNGTAU NHATRANG
HA NOI
DIADIEM MAPHG
1 4 5 5
TP HCM
VUNGTAU NHATRANG
HA NOI
Trang 49Ví dụ 11 (tt)
B1: Tìm các địa điểm của phòng 5
B2: Lấy ra các phòng có cùng địa điểm với DD_P5
DD_P5(DD) ← πDIADIEM (σMAPHG=5 (DIADIEM_PHG))
R2 ← σDIADIEM=DD (R1 × DD_P5)
KQ ← πMAPHG (R2) R1 ← σMAPHG ≠ 5 (DIADIEM_PHG)
Trang 50Nội dung chi tiết
Trang 51mãn một số điều kiện kết nào đó
• Có dạng A i θ B j
• Ai là thuộc tính của R, Bj là thuộc tính của S
• Ai và Bj có cùng miền giá trị
• θ là phép so sánh ≠ , = , < , > , ≤ , ≥
Trang 52Phép kết (tt)
Phân loại
• Ký hiệu R C S
• C gọi là điều kiện kết trên thuộc tính
• Ký hiệu R S hay R ∗ S
• R + ∩ S + ≠ ∅
• Kết quả của phép kết bằng bỏ bớt đi 1 cột giống nhau
Trang 53C 3 6
Trang 54C 3 6
D 3
E 1
C 3 6
S.C 3
D 1
6 2
S.C D 3
S
6
1 2
ρ(S.C,D) S
Trang 55C 3 6
1 2
C 3
S.C 3
D 1
6 2
1 2
C 3
D 1 2
Trang 56NHAN_VIEN(HONV, TENNV, MANV, …, LUONG, PHG)
R1(LG) ← πLUONG (σTENNV=‘Tung’ (NHANVIEN))
KQ ← NHAN_VIEN LUONG>LG R1
KQ(HONV, TENNV, MANV, …, LUONG, PHG, LG)
Trang 57Ví dụ 13
Với mỗi nhân viên, hãy cho biết thông tin của phòng ban mà họ đang làm việc
PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC)
NHANVIEN(HONV, TENNV, MANV, …, PHG)
KQ ← NHANVIEN PHG=MAPHG PHONGBAN
KQ(HONV, TENNV, MANV, …, PHG, TENPHG, MAPHG, …)
Trang 58Ví dụ 13
Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đó
PHONGBAN(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC)
DDIEM_PHG(MAPHG, DIADIEM)
KQ ← PHONGBAN DDIEM_PHG
KQ(TENPHG, MAPHG, TRPHG, NGAY_NHANCHUC, DIADIEM)
Trang 59Ví dụ 14
Với mỗi phòng ban, cho biết thông tin của người trưởng phòng
Trang 60Ví dụ 15
Cho biết lương cao nhất trong công ty
Trang 61Ví dụ 16
Cho biết phòng ban có cùng địa điểm với phòng 5
Trang 63Nội dung chi tiết
Trang 64t R∈R thỏa 2 điều kiện
• tR(Y) = t
• t R (X) = t S (X) X Y
T(Y) S(X)
R(Z)
Trang 653 1
1 1 1
1 1
R ÷ S
α a γ
γ a γ
Trang 66Ví dụ 17
Cho biết mã nhân viên tham gia tất cả các đề án
Trang 67Ví dụ 18
Cho biết mã nhân viên tham gia tất cả các đề án do phòng số 4 phụ trách
Trang 68Phép chia (tt)
Biểu diễn phép chia thông qua tập đầy đủ các phép toán ĐSQH
Q1 ← πY (R) Q2 ← Q1 × S Q3 ← πY (Q2 − R)
T ← Q1 − Q3
Trang 69Nội dung chi tiết
Trang 712 2
SUM(B) = 10 AVG(A) = 1.5 MIN(A) = 1 MAX(B) = 4 COUNT(A) = 4
Trang 72G1, G2, …, GnℑF1(A1), F2(A2), …, Fn(An) (E)
Trang 73Phép gom nhóm (tt)
Ví dụ
ℑSUM(C) (R)
SUM_C 27
β γ
2 2
C 7 7 3
10 AℑSUM(C) (R)
SUM_C 14 3 10
A
α β γ
Trang 74Ví dụ 17
Cho biết số lượng nhân viên và lương trung bình của
cả công ty
Trang 75Ví dụ 18
Cho biết số lượng nhân viên và lương trung bình của từng phòng ban
Trang 76Ví dụ 19
Cho biết tên phòng ban có số lượng nhân viên đông nhất
Trang 77Ví dụ 20
Cho biết tên nhân viên được phân công làm nhiều đề
án nhất
Trang 78Ví dụ 21
Cho biết tên phòng và số lượng nhân viên của phòng đó
Trang 81Ví dụ 22-b
Cho biết tên phòng ban và tên trưởng phòng của phòng ban đó nếu có
Trang 82Ví dụ 22-c
Cho biết tên nhân viên và tên phòng ban mà nhân viên đó trực thuộc nếu có
Trang 83Nội dung chi tiết
Trang 87Ví dụ 23
Xóa những phân công đề án có địa điểm ở ‘Ha Noi’
Trang 89Ví dụ 24
Các nhân viên làm việc trên 30 giờ sẽ được tăng thời gian làm việc lên 1.5 lần, còn lại tăng lên 2 lần