Giới thiệu ttCó 2 loại xử lý • Làm thay đổi dữ liệu cập nhật • Không làm thay đổi dữ liệu rút trích Thực hiện các xử lý • Đại số quan hệ Relational Algebra • Phép tính quan hệ Relationa
Trang 2Nội dung chi tiết Giới thiệu
Trang 3Giới thiệuXét một số xử lý trên quan hệ NHANVIEN
• Thêm mới một nhân viên
• Chuyển nhân viên có tên là “Tùng” sang phòng số 1
• Cho biết họ tên và ngày sinh các nhân viên có lương
trên 20000
Xét một số xử lý trên quan hệ NHANVIEN
• Thêm mới một nhân viên
• Chuyển nhân viên có tên là “Tùng” sang phòng số 1
• Cho biết họ tên và ngày sinh các nhân viên có lương trên 20000
5 4
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Quang Pham 11/10/1937 450 TV HN Nam 55000 1
Trang 4Giới thiệu (tt)
Có 2 loại xử lý
• Làm thay đổi dữ liệu (cập nhật)
• Không làm thay đổi dữ liệu (rút trích)
Thực hiện các xử lý
• Đại số quan hệ (Relational Algebra)
• Phép tính quan hệ (Relational Calculus)
Có 2 loại xử lý
• Làm thay đổi dữ liệu (cập nhật)
– Thêm mới, xóa và sửa
• Không làm thay đổi dữ liệu (rút trích)
– Truy vấn (query)
Thực hiện các xử lý
• Đại số quan hệ (Relational Algebra)
– Biểu diễn câu truy vấn dưới dạng biểu thức
• Phép tính quan hệ (Relational Calculus)
– Biểu diễn kết quả
Trang 5Nhắc lạiĐại số
Trang 6Đại số quan hệBiến là các quan hệ
Trang 7Đại số quan hệ (tt)Hằng số là thể hiện của quan hệ
Biểu thức
• Được gọi là câu truy vấn
• Là chuỗi các phép toán đại số quan hệ
• Kết quả trả về là một thể hiện của quan hệ
Hằng số là thể hiện của quan hệ
Biểu thức
• Được gọi là câu truy vấn
• Là chuỗi các phép toán đại số quan hệ
• Kết quả trả về là một thể hiện của quan hệ
Trang 8Nội dung chi tiếtGiới thiệu
Trang 10Phép giaoCho 2 quan hệ r(R) và s(S) khả hợp
r’
2
Trang 11Phép trừCho 2 quan hệ r và s khả hợp
Trang 12Các tính chấtGiao hoán
Trang 14Phé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 C
Đượ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 C
Trang 15Phép chọn (tt)Kết quả trả về là một quan hệ
• Có cùng danh sách thuộc tính với r
• Có số bộ luôn ít hơn hoặc bằng số bộ của r
Ví dụ
Kết quả trả về là một quan hệ
• Có cùng danh sách thuộc tính với r
• Có số bộ luôn ít hơn hoặc bằng số bộ của r
D 7 7 3 10
D 7 10
Trang 16Phép chọn (tt)Phép chọn có tính giao hoán
c1 (s c2 (s r)) = c2 (s c1 (s r))
Trang 17Ví dụ 1Cho biết các nhân viên ở phòng số 4
Trang 20Phép chiếuĐược dùng để lấy ra một vài cột của quan hệ r
C 1 1 1
Trang 21Phép chiếu (tt)Phép chiếu không có tính giao hoán
A1, A2, …, An (s A1, A2, …, Am (s r)) =
X,Y (s r) X (s Y (s r))
Trang 22Ví dụ 3Cho biết họ tên và lương của các nhân viên
• Quan hệ: NHANVIEN
• Thuộc tính: HONV, TENNV, LUONG
Cho biết họ tên và lương của các nhân viên
• Quan hệ: NHANVIEN
• Thuộc tính: HONV, TENNV, LUONG
Trang 25Ví dụ 6Cho biết mã nhân viên không có thân nhân nào
Trang 27Phép chiếu mở rộng (tt)
Ví dụ
• Cho biết họ tên của các nhân viên và lương
của họ sau khi tăng 10%
Ví dụ
• Cho biết họ tên của các nhân viên và lương của họ sau khi tăng 10%
Trang 28Chuỗi các phép toánKết hợp các phép toán đại số quan hệ
• Lồng các biểu thức lại với nhau
• Thực hiện từng phép toán một
– B1
– B2
Kết hợp các phép toán đại số quan hệ
• Lồng các biểu thức lại với nhau
A1, A2, …, Ak (s Quan hệ kết quả ở B1)
Cần đặt tên cho quan hệ
Trang 30Phép đổi tênĐược dùng để đổi tên
Trang 31KQ(s HO, TEN) HONV, TENNV (s NV_P4)
KQ(s HO, TEN) (s HONV, TENNV (s NV_P4))
Trang 32Nội dung chi tiếtGiới thiệu
Trang 33Phép tích Cartesian
Được dùng để kết hợp các bộ của các quan
hệ lại với nhau
Được dùng để kết hợp các bộ của các quan
hệ lại với nhau
Trang 34D + +
-r s
Trang 35D + +
+ +
+ - -
-
-r s
Trang 36+ +
+ - -
-
Trang 37Ví dụ 8
Với mỗi phòng ban, cho biết thông tin của
người trưởng phòng
• Quan hệ: PHONGBAN, NHANVIEN
• Thuộc tính: TRPHG, MAPHG, TENNV, HONV,
…
Với mỗi phòng ban, cho biết thông tin của
người trưởng phòng
• Quan hệ: PHONGBAN, NHANVIEN
• Thuộc tính: TRPHG, MAPHG, TENNV, HONV,
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Trang 38333445555 987987987 888665555
Trang 40Ví dụ 9Cho biết lương cao nhất trong công ty
Trang 41Ví dụ 9 (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
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 (s LUONG (s NHANVIEN)) R2 NHAN_VIEN.LUONG < R1.LUONG (s NHANVIEN R1) R3 NHAN_VIEN.LUONG (s R2)
KQ LUONG (s NHANVIEN) R3
Trang 42Ví dụ 10Cho biết các phòng ban có cùng địa điểm với phòng số 5
• Quan hệ: DIADIEM_PHG
• Thuộc tính: DIADIEM, MAPHG
• Điều kiện: MAPHG=5
Cho biết các phòng ban có cùng địa điểm với phòng số 5
• Quan hệ: DIADIEM_PHG
• Thuộc tính: DIADIEM, MAPHG
• Điều kiện: MAPHG=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 43Ví dụ 10 (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
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(s DD) DIADIEM (s MAPHG=5 (s DIADIEM_PHG))
R2 DIADIEM=DD (s R1 DD_P5)
KQ MAPHG (s R2) R1 MAPHG5 (s DIADIEM_PHG)
Trang 44Nội dung chi tiếtGiới thiệu
• Kết tự nhiên (Natural join)
• Kết có điều kiện tổng quát (Theta join)
• Kết tự nhiên (Natural join)
• Kết có điều kiện tổng quát (Theta join)
• Kết bằng (Equi join)
Phép chia
Các phép toán khác
Trang 45Phép kếtĐược dùng để tổ hợp 2 bộ có liên quan từ 2 quan hệ thành 1 bộ
Ký hiệu r s
• r(A 1 , A 2 , …, A n ) và s(B 1 , B 2 , …, B m )
Kết quả của phép kết là một quan hệ r’
• Có n + m thuộc tính r’(A 1 , A 2 , …, A n , B 1 , B 2 , …, B m )
• Mỗi bộ của r’ là tổ hợp của 2 bộ trong r và s, thỏa
mãn một số điều kiện kết nào đó
Trang 46Phép kết (tt)Phân loại
• Kết theta (theta join) là phép kết có điều kiện
– Ký hiệu r C s
• Kết bằng (equi join) khi C là điều kiện so sánh bằng
• Kết tự nhiên (natural join)
– C gọi là điều kiện kết trên thuộc tính
• Kết bằng (equi join) khi C là điều kiện so sánh bằng
• Kết tự nhiên (natural join)
– Ký hiệu r s hay r s
– R S
Trang 47C 3 6
r B<D s
Trang 48C 3 6
C 3 6
r C=S.C s
Trang 49C 3 6
C 3
S.C 3
D 1
C 3
D 1 2
Trang 51Ví dụ 12
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
• Quan hệ: NHANVIEN, PHONGBAN
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
• Quan hệ: NHANVIEN, PHONGBAN
Trang 52Ví dụ 13
Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đó
• Quan hệ: PHONGBAN, DDIEM_PHG
Với mỗi phòng ban hãy cho biết các địa điểm của phòng ban đó
• Quan hệ: PHONGBAN, DDIEM_PHG
Trang 53Ví dụ 8
Với mỗi phòng ban hãy cho biết thông tin của người trưởng phòng
• Quan hệ: PHONGBAN, NHANVIEN
Với mỗi phòng ban hãy cho biết thông tin của người trưởng phòng
• Quan hệ: PHONGBAN, NHANVIEN
Trang 58• Có t là một bộ của r’ nếu với mọi bộ t S s, tồn tại bộ
t R r thỏa 2 điều kiện
• Có t là một bộ của r’ nếu với mọi bộ t S s, tồn tại bộ
t R r thỏa 2 điều kiện
Trang 593 1
1 1 1
1 1
r s
Trang 61• Điều kiện: PHONG=4
Cho biết mã nhân viên tham gia tất cả các đề
Trang 63• Phép kết ngoài (Outer join)
Các thao tác cập nhật trên quan hệ
• Phép kết ngoài (Outer join)
Các thao tác cập nhật trên quan hệ
Trang 652 2
SUM(s B) = 10 AVG(s A) = 1.5 MIN(s A) = 1 MAX(s B) = 4 COUNT(s A) = 4
Trang 67
2 2
C 7 7 3
10 AISUM(s C)(s r)
Trang 71Ví dụ 18
Cho biết họ tên nhân viên và tên phòng ban
mà họ phụ trách nếu có
• Quan hệ: NHANVIEN, PHONGBAN
• Thuộc tinh: TENNV, TENPH
Cho biết họ tên nhân viên và tên phòng ban
mà họ phụ trách nếu có
• Quan hệ: NHANVIEN, PHONGBAN
• Thuộc tinh: TENNV, TENPH
KQ HONV,TENNV, TENPHG (s R1)
Tung Nguyen Nghien cuu
Vinh Pham Quan ly
Trang 72Nội dung chi tiếtGiới thiệu
Trang 74Thao tác thêmĐược diễn đạt
• r là quan hệ
• E là một biểu thức ĐSQH
Ví dụ
• Phân công nhân viên có mã 123456789 làm
thêm đề án mã số 20 với số giờ là 10
Trang 75Thao tác xóaĐược diễn đạt
Trang 77Thao tác sửaĐược diễn đạt
Trang 78Ví dụ 20
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
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
Trang 79Bài tập về nhà
Trang 80Phép toán tập hợpCho 2 quan hệ R và S, ta có các phép toán sau:
Trang 81Các phép toán tập hợp (tt)
Phép hội (Union)
gồm tập hợp tất cả các bộ thuộc quan hệ r hoặc thuộc quan hệ s hoặc thuộc cả hai quan hệ
r s ={ t / tr ts }
Phép giao (Intersection)
Giao của 2 quan hệ r và s, ký hiệu r s, là
một quan hệ gồm tập hợp tất cả các bộ vừa thuộc quan hệ r vừa thuộc quan hệ s
r s ={ t / tr ts }
Trang 82Các phép toán tập hợp (tt)
Phép trừ/hiệu (minus/set difference)
Hiệu của 2 quan hệ r và s, ký hiệu r - s, là một quan hệ
gồm tập hợp tất cả các bộ thuộc quan hệ r và không thuộc quan hệ s
r - s ={ t/ tr ts }
Tập hợp tất cả các giá trị hiện hành của thuộc tính A j trong thể hiện của quan hệ r
Tập hợp tất cả các giá trị hiện hành của thuộc tính A j trong thể hiện của quan hệ r
Phép bù (Complement)
Định nghĩa : Cho quan hệ r định nghĩa trên lược đồ
quan hệ R(A 1 , A 2 ,…,A n ).
1 adom(A j ,r)={dD j / tr, t.A j =d}
2 adom(R,r)=adom(A 1 ,r) x adom(A 2 ,r) x … x adom(A n ,r)
Trang 83r~ ={ q/ qadom(R,r) qr }
Phép Tích Descartes (Cartesian product)
Cho quan hệ r xác định trên lược đồ R(A1, A2,…,An)
Cho quan hệ s xác định trên lược đồ S(B 1 , B 2 ,…,B m ).
Tích của 2 quan hệ r và s, ký hiệu r x s, là một quan hệ xác định trên lược đồ (A1, A2,…,An, B1, B2,…,Bm)
r x s ={ (t 1 ,t 2 )/ t 1 r t 2 s }
Trang 84a2 b1 c2 a2 b2 c1
Trang 86a2 b1 c2 a2 b2 c1 a2 b2 c2
Trang 87
– Phép chia (Division) (÷)
Trang 88Các phép toán quan hệ (tt)
chiếu r trên X, ký hiệu X (r) hoặc r[X].
Nói cách khác, phép chiếu là chọn một số cột trong quan
hệ r
Ví dụ:
là phép chọn trên r thỏa điều kiện d, ký hiệu d(r).
Nói cách khác, phép chọn là chọn một số bộ trong quan hệ
r thỏa điều kiện d
Ví dụ :
Trang 89(=) và AiBj
Ví dụ :
Trang 90Các phép toán quan hệ (tt)
SR Coi R’=R-S Phép chia r cho s ký hiệu r ÷ s cho ta quan hệ sau:
r’(R’)={t | tss, trr với tr[R’]=t và tr[S]=ts}
Ví dụ :
Trang 91Sched( Number From To Departs Arrives)
84 O’Hare JFK 3:00p 5:55p
109 JFK Los Angeles 9:40p 2:42a
117 Atlanta Boston 10:05p 12:43a
213 JFK Boston 11:43a 12:45p
214 Boston JFK 2:20p 3:12p
3 From(sched)
1= (Departs Arrives) 3:00p 5:55p 9:40p 2:42a 10:05p 12:43a 11:43a 12:45p 2:20p 3:12p
2= (Departs) 3:00p 9:40p 10:05p 11:43a 2:20p
3= (From) O’Hare JFK Atlanta Boston
Trang 92Sched( Number From To Departs Arrives)
2 Number,Departs,Arrives(Arrives 1:00p(sched))
Trang 94certified (Pilot Equipment)
Desmond 707 Desmond 727 Desmond 747