Cơ sở dữ liệu - chuong 04

  • 80 trang
  • file .pdf
CHƢƠNG 4
Đại số quan hệ
NỘI DUNG CHI TIẾT
 Giới thiệu
 Đại số quan hệ
 Phép toán tập hợp
 Phép chọn
 Phép chiếu
 Phép tích Cartesian
 Phép kết
 Phép chia
 Các phép toán khác
 Các thao tác cập nhật trên quan hệ
2
GIỚI THIỆU
 Xét một số xử lý trên quan hệ NHAN_VIEN
 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
TENNV HONV NGSINH DCHI PHAI LUONG PHONG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
1
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
Quang Pham 11/10/1937 450 TV HN Nam 55000 1
3
GIỚI THIỆU (TT)
 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ả
 SQL (Structured Query Language)
4
NHẮC LẠI
 Đại số
 Toán tử (operator)
 Toán hạng (operand)
 Trong số học
 Toán tử: +, -, *, /
 Toán hạng - biến (variables): x, y, z
 Hằng (constant)
 Biểu thức
 (x+7) / (y-3)
 (x+y)*z and/or (x+7) / (y-3)
5
ĐẠI SỐ QUAN HỆ
 Biến là các quan hệ
 Tập hợp (set)
 Toán tử là các phép toán (operations)
 Trên tập hợp
 Hội  (union)
 Giao  (intersec)
 Trừ  (difference)
 Rút trích 1 phần của quan hệ
 Chọn  (selection)
 Chiếu  (projection)
 Kết hợp các quan hệ
 Tích Cartesian  (Cartesian product)
 Kết (join)
 Đổi tên 
6
ĐẠ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ệ
7
NỘI DUNG CHI TIẾT
 Giới thiệu
 Đại số quan hệ
 Phép toán tập hợp
 Phép chọn
 Phép chiếu
 Phép tích Cartesian
 Phép kết
 Phép chia
 Các phép toán khác
 Các thao tác cập nhật trên quan hệ
8
PHÉP TOÁN TẬP HỢP
 Quan hệ là tập hợp các bộ
 Phép hội R  S
 Phép giao R  S
 Phép trừ R  S
 Tính khả hợp (Union Compatibility)
 Hai lược đồ quan hệ R(A1, A2, …, An) và S(B1, B2, …, Bn) là
khả hợp nếu
 Cùng bậc n
 Và có DOM(Ai)=DOM(Bi) , 1 i  n
 Kết quả của , , và  là một quan hệ có cùng tên thuộc
tính với quan hệ đầu tiên (R)
9
PHÉP TOÁN TẬP HỢP (TT)
 Ví dụ
NHAN_VIEN TENNV NGSINH PHAI THAN_NHAN TENTN NG_SINH PHAITN
Tung 12/08/1955 Nam Trinh 04/05/1986 Nu
Hang 07/19/1968 Nu Khang 10/25/1983 Nam
Nhu 06/20/1951 Nu Phuong 05/03/1958 Nu
Hung 09/15/1962 Nam Minh 02/28/1942 Nam
Chau 12/30/1988 Nu
Bậc n=3
DOM(TENNV) = DOM(TENTN)
DOM(NGSINH) = DOM(NG_SINH)
DOM(PHAI) = DOM(PHAITN)
10
PHÉP HỘI
 Cho 2 quan hệ R và S khả hợp
 Phép hội của R và S
 Ký hiệu R  S
 Là một quan hệ gồm các bộ thuộc R hoặc thuộc S, hoặc cả hai
(các bộ trùng lắp sẽ bị bỏ)
R  S = { t / tR  tS }
 Ví dụ
R A B S A B RS A B
 1  2  1
 2  3  2
 1  1
 2 11
 3
PHÉP GIAO
 Cho 2 quan hệ R và S khả hợp
 Phép giao của R và S
 Ký hiệu R  S
 Là một quan hệ gồm các bộ thuộc R đồng thời thuộc S
R  S = { t / tR  tS }
 Ví dụ
R A B S A B RS A B
 1  2  2
 2  3
 1
12
PHÉP TRỪ
 Cho 2 quan hệ R và S khả hợp
 Phép trừ của R và S
 Ký hiệu R  S
 Là một quan hệ gồm các bộ thuộc R và không thuộc S
R  S = { t / tR  tS }
 Ví dụ
R A B S A B RS A B
 1  2  1
 2  3  1
 1
13
CÁC TÍNH CHẤT
 Giao hoán
RS=SR
RS=SR
 Kết hợp
R  (S  T) = (R  S)  T
R  (S  T) = (R  S)  T
14
NỘI DUNG CHI TIẾT
 Giới thiệu
 Đại số quan hệ
 Phép toán tập hợp
 Phép chọn
 Phép chiếu
 Phép tích Cartesian
 Phép kết
 Phép chia
 Các phép toán khác
 Các thao tác cập nhật trên quan hệ
15
PHÉ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
 Ký hiệu
 (R)
P
 P là biểu thức gồm các mệnh đề có dạng


gồm  ,  ,  ,  ,  , 
 Các mệnh đề được nối lại nhờ các phép  ,  , 
16
PHÉ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ụ
R A B C D
 (A=B)(D>5) (R)
  1 7
A B C D
  5 7
  12 3   1 7
  23 10   23 10
17
PHÉP CHỌN (TT)
 Phép chọn có tính giao hoán
 (
p1 p2 (R)) =  (
p2 p1 (R)) =  p1  p2 (R)
18
VÍ DỤ 1
 Cho biết các nhân viên ở phòng số 4
 Quan hệ: NHAN_VIEN
 Thuộc tính: PHONG
 Điều kiện: PHONG=4
 PHONG=4 (NHAN_VIEN)
19
VÍ DỤ 2
 Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc
các nhân viên có lương trên 30000 ở phòng 5
 Quan hệ: NHAN_VIEN
 Thuộc tính: LUONG, PHONG
 Điều kiện:
 LUONG>25000 và PHONG=4 hoặc
 LUONG>30000 và PHONG=5
 (LUONG>25000  PHONG=4)  (LUONG>30000  PHONG=5) (NHAN_VIEN)
20