Professional Documents
Culture Documents
Giới thiệu
Đại số quan hệ
Phép toán tập hợp
Phép chiếu
p chọn
Phép ọ
Phép tích Cartesian
Phép nối: Theta join,
join Equi join,
join Natural join
Phép chia
Các phép toán khác
- 58 -
Nhận xét
Tập các phép toán σ , π , ×, −, ∪ được gọi là tập
đầy đủ các phép toán đại số quan hệ
- Các
Cá phép
hé toán
t á cóó thể biển
biể diễn
diễ qua chúng
hú
- 59 -
Phép nối
Với θ là phép so sánh ≠, =, <, >, ≤, ≥ , ta có định
nghĩa phép nối.
Cho r và
Ch à s là hai
h i quan hệ tương
t ứ
ứng t ê các
trên á
lược đồ rời nhau R và S
Phép kết nối của các quan hệ r và ss, ký hiệu: r |><|iθ j s
là một quan hệ trên R ∪ S gồm những bộ thuộc tích
Đềcác của r và s sao cho thành phần thứ i của quan
hệ r có liên hệ θ với thành phần thứ j của quan hệ s
Vậy kết nối θ: r |><|iθ j s là chọn trong r×s các
bộ mà các thành phần thứ i, j của các quan hệ r,
s tương ứng thỏa mãn iθj, tức là
r |><|iθ j s = {t ∈ r × s : t (θ )}
Lưu ý: R ∪ S ở đây ký hiệu là lược đồ quan hệ tạo bởi các thuộc tính của R hợp - 60 -
với các thuộc tính của S.
Phép nối – Một cách định nghĩa khác
ợc dùng để tổ hợp 2 bộ có liên quan
Được
Đ q an từ 2 quan
q an
hệ thành 1 bộ
Ký hiệu R |><| S
R ( A1 , A2 ,..., An ) |><| S ( B1 , B2 ,..., Bm )
Kết quảả củaủ phép
hé nốiối là một
ột quan hệ Q
- Có n+m thuộc tính Q ( A1 , A2 ,..., An , B1 , B2 ,..., Bm )
- Mỗi bộ của Q là tổ hợp của 2 bộ trong R và S,
thỏa mãn một số điều kiện nối nào đó
• Có dạng Ai θB j hoặc iθ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ị
• i,i j là số thứ tự của thuộc tính trên các quan
hệ R và S tương ứng
• θ là phép so sánh ≠, =, <, >, ≤, ≥
Phân loại phép nối
Nối theta (theta join) là phép nối có điều kiện
- Ký hiệu R C S
- C gọii là điều
điề kiện
kiệ nốiối trên
t ê thuộc
th ộ tính
tí h
(Nối theta == Tích đề các + phép chọn ở mục trước)
Lưu ý: Với phép nối theta và nối bằng, yêu cầu R và S không có thuộc tính chung.
- 63 -
Ví dụ phép nối theta (wikipedia)
Giả sử có 2 quan hệ xe(car) và thuyền(boat), giả
sử 1 khách hàng muốn mua cả xe và thuyền
nhưng
h khô
không muốn
ố tiêu
tiê nhiền
hiề tiền
tiề vào
à thuyền
th ề
hơn xe.
Lưu ý: Với phép nối theta và nối bằng, yêu cầu R và S không có thuộc tính chung.
- 64 -
Ví dụ phép nối bằng
Lưu ý: Với phép nối theta và nối bằng, yêu cầu R và S không có thuộc tính chung.
- 65 -
Ví dụ phép nối tự nhiên
[Nối theta]
- 68 -
Ví dụ 11
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
Q hệ NHANVIEN,
hệ: NHANVIEN PHONGBAN
- 69 -
Ví dụ 12
Với mỗi phòng ban, hãy cho biết các địa điểm
của phòng ban đó
- Quan
Q hệ PHONGBAN,
hệ: PHONGBAN DDIEM_PHG
DDIEM PHG
- 70 -
Ví dụ 13
Với mỗi phòng ban, hãy cho biết thông tin của
người trưởng phòng
- Quan
Q hệ PHONGBAN,
hệ: PHONGBAN NHANVIEN
- 71 -
Ví dụ 14
Cho biết lương cao nhất trong công ty
- Quan hệ: NHANVIEN
- Thuộc
Th ộ tính:
tí h LUONG
- 72 -
Ví dụ 15
Cho biết phòng ban có cùng địa điểm với phòng 5
- Quan hệ: DDIEM_PHG
- 73 -
Tập đầy đủ các phép toán ĐSQH
Tập các phép toán σ , π , ×, −, ∪ được gọi là tập
đầy đủ các phép toán đại số quan hệ
- Các
Cá phép
hé toán
t á cóó thể biển
biể diễn
diễ qua chúng
hú
- Ví dụ:
R ∩ S = R ∪ S − (( R − S ) ∪ ( S − R))
R |><|C S = σ C ( R × S )
- 74 -
Đại số quan hệ
Giới thiệu
Đại số quan hệ
Phép toán tập hợp
Phép chiếu
p chọn
Phép ọ
Phép tích Cartesian
Phép nối: Theta join,
join Equi join,
join Natural join
Phép chia
Các phép toán khác
- 75 -
Phép chia
Cho lược đồ quan hệ R(A1,A2,…,An), S là lược đồ
con của R. Giả sử r,s là các quan hệ trên R, S
t
tương ứ
ứng.
Ký hiệu R ÷ S
- R(Z)
( ) và S(X)
( )
• Z là tập thuộc tính của R, X là tập thuộc tính của
S
• X ⊆Z
Kết quả của phép chia là một quan hệ T(Y)
- Với Y = Z Z-X
X
- Có t là một của T nếu với mọi bộ tS ∈ S , tồn
tại bộ t R ∈ R thỏa 2 điều kiện
t R (Y ) = t
t R ( X ) = tS ( X ) - 77 -
Ví dụ
- 78 -
Ví dụ
R S R÷S
A B C D E D E
α a α a 1 a 1
α a γ a 1 b 1
α a γ b 1
β a γ a 1
β a γ b 3
γ a γ a 1
γ a γ b 1
γ a β b 1
- 79 -
Ví dụ 16
Cho biết mã nhân viên tham gia tất cả các đề án
- Quan hệ: PHANCONG, DEAN
- Thuộc
Th ộ tính:
tí h MANV
DA ← π MADA (DEAN)
NV_DEAN ← π MANV,MADA (PHANCONG)
MA_NV ← π MANV (NV_DEAN÷DA)
- 80 -
Ví dụ 17
Cho biết mã nhân viên tham gia tất cả các đề án
do phòng số 4 phụ trách
- Quan
Q hệ NHANVIEN,
hệ: NHANVIEN PHANCONG,
PHANCONG DEAN
- Thuộc tính: MANV
- Điều kiện: PHONG
PHONG=4 4
P4_DA
_ ← π MADA (σ PHG = 4 ((DEAN))
))
NV_DEAN ← π MANV,MADA (PHANCONG)
MA NV ← π MANV (NV
MA_NV (NV_DEAN÷P4_DA)
DEAN÷P4 DA)
- 81 -
Phép chia
Biểu diễn phép chia thông qua tập đầy đủ của
các phép toán ĐSQH
T1 ← π γ (R )
T2 ← T1 × S
T3 ← π γ (T2 − R)
T ← T1 − T2
- 82 -
Đại số quan hệ
Giới thiệu
Đại số quan hệ
Phé toán
Phép t á tập
tậ hợp
h
Phép chiếu
Phép chọn
Phép tích Cartesian
Phép nối: Theta join, Equi join, Natural join
Phé chia
Phép hi
Các phép toán khác
- Hàm kết hợp (Aggregation function)
- Phép gom nhóm (Grouping)
- Phép kết ngoài (Outer join)
- 83 -
Hàm kết hợp
Nhận vào tập hợp các giá trị và trả về một giá trị
đơn
- AVG
- MIN
- MAX
- SUM
- COUNT
- 84 -
Ví dụ
A B
SUM(B)=10
1 2 AVG(A)=1.5
3 4 MIN(A)=1
MAX(B)=4
1 2 COUNT(A)=4
1 2
- 85 -
Phép gom nhóm
Được dùng để phân chia quan hệ thành nhiều
nhóm dựa trên điều kiện gom nhóm nào đó
Ký hiệu
G1 , G2 ,..., Gn ℑF1 ( A1 ),) F2 ( A2 )),..., Fn ( An ) ( E )
- E là biểu thức đại số quan hệ
- G1 , G2 ,..., Gn các thuộc tính gom nhóm
- F1 , F2 ,..., Fn các hàm
- A1 , A2 ,..., An các thuộc
ộ tính tính toán trong
g hàm F
- 86 -
Ví dụ
R
A B C ℑSUM (C ) ( R)
α 2 7
α 4 7
β 2 3 A ℑSUM (C ) ( R)
β 2 10
- 87 -
Ví dụ 18
Tính số lượng nhân viên và lương trung bình của
cả công ty
ℑCOUNT(),AVERAGE(LUONG) (NHANVIEN)
- 88 -
Ví dụ 19
Tính số lượng nhân viên và lương trung bình của
từng phòng ban
- 89 -
Phép nối ngoài
Mở rộng phép nối ngoài để tránh mất mát thông tin
- Thực hiện phép nối
- Lấy
Lấ thêm
thê các
á bộ không
khô thỏa
thỏ điều
điề kiện
kiệ nối
ối
- 90 -
Phép nối ngoài
Ví dụ:
- 91 -
VD Phép nối ngoài vs nối tự nhiên
Cho 2 quan hệ instructor1 và teaches1
ố tự nhiên
Nối
KQ ← π HONV,TENNV,TENPHG (R1 )
- 93 -
Bài tập 1 – Thực hiện các phép toán
T1 T2
P Q R P Q R
10 a 5 10 b 6
15 b 8 25 c 3
25 a 6 10 b 5
T1 T
T1 .Q =T2 . B 2
- 94 -
Bài tập 2
Cho CSDL COONGTY gồm các lược đồ
- NHANVIEN(MANV, HONV, TENNV, NS, GT, DCHI,
LUONG MANGS,
LUONG, MANGS MADV)
- DONVI(MADV, TENDV, MANQL, NGAY_BD)
- DEAN(MADA, TENDA, DD
DD_DA,
DA, MADV)
- THANNHAN(MANV, TEN_TN, NS, GT, QUANHE)
- NV_DEAN(MANV, MADA, SOGIO) [revised on 09/20]
- DONVI_DD(MADV,
DONVI DD(MADV DD)
- 95 -
Bài tập 2 – Yêu cầu
Đưa ra tên và địa chỉ của tất cả các nhân viên làm
việc cho đơn vị.
Với mỗi dự án có địa điểm hà Nôi,Nôi liệt kê mã số dự
án, mã số của đơn vị kiểm soát, tên, địa chỉ và ngày
sinh của người quản lý đơn vị.
Tìm tên của nhân viên làm việc trên tấtấ cả các dự án
do đơn vị có mã số 5 kiểm soát.
ạ ra một
Tạo ộ danh sách các mã số dự ự án đối vwois các
dự án có 1 nhân viên hoặc một người quản lý đơn vị
kiểm soát dự án có tên là ‘Long’
Đưa ra tên của tất cả các nhân viên có nhiều hơn
hoặc bằng 2 người phụ thuộc.
Đưa ra các nhân viên không có người phụ thuộc.
Đưa ra tên của
ủ những người quản ả lý dự án có ít nhất
ấ
một người phụ thuộc. - 96 -