Bài giảng Nhập môn Cơ Sở Dữ Liệu: Chương 3.2: Đại số quan hệ

Nộidung chi tiết

ƒGiớithiệu

ƒCác thao tác cậpnhậttrênquanhệ

ƒĐạisốquan hệ

ƒPhép toán tậphợp

ƒPhép chọn

ƒPhép chiếu

ƒPhép tích Cartesian

ƒPhép nối

ƒPhép chia

ƒCác phép toán khác

pdf80 trang | Chia sẻ: hongmo88 | Lượt xem: 1577 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn Cơ Sở Dữ Liệu: Chương 3.2: Đại số quan hệ, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
9/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
333445555
987987987
987654321
999887777
MANV
TENPHG MAPHG TRPHG NG_NHANCHUC
Nghien
cuu 5 333445555 05/22/1988
Dieu
hanh 4 987987987 01/01/1995
Quan
ly 1 888665555 06/19/1981
TENNV HONV
Tung Nguyen
Hung Nguyen
333445555
987987987
888665555
MANV
Vinh Pham
σTRPHG=MANV (PHONGBAN ×
NHA VIEN)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 44
Ví
dụ
8 (tt)
ƒ B1: Tích Đề-các PHONGBAN và NHANVIEN
ƒ B2: Chọn ra những bộ thỏa TRPHG=MANV
PB_NV ← (NHANVIEN ×
PHONGBAN)
KQ ←σTRPHG=MANV
(PB_NV)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 45
Ví
dụ
9
ƒ 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
đó?
DIADIEMMAPHG
1
4
5
5
TP HCM
VUNGTAU
NHATRANG
HA NOI
5 TP HCM
DIADIEMMAPHG
1
4
5
5
TP HCM
VUNGTAU
NHATRANG
HA NOI
5 TP HCM
Nhập môn Cơ sở dữ liệu - Khoa CNTT 46
Ví
dụ
9 (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)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 47
Nội dung chi tiết
ƒ Giới thiệu
ƒ Các thao tác cập nhật trên quan hệ
ƒ Đạ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 nối
-
Nối có điều kiện tổng
quát
(Theta join)
-
Nối bằng
(Equi
join) 
-
Nối tự
nhiên
(Natural join)
ƒ Phép chia
ƒ Các phép toán khác
Nhập môn Cơ sở dữ liệu - Khoa CNTT 48
Phép
nối
ƒ Đượ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(A1
, A2
, , An
) và
S(B1
, B2
, , Bm
)
ƒ Kết quả của phép nối là mộ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
đó
y Có dạng Ai θ Bj
y Ai là thuộc tính của R, Bj là thuộc tính của S 
y Ai và Bj có cùng miền giá trị
y θ là phép so sánh ≠, =, , ≤, ≥
Nhập môn Cơ sở dữ liệu - Khoa CNTT 49
Phép
nối(tt)
ƒ Phân loại
-
Nối
theta (theta join) là
phép
nối có điều kiện
y Ký hiệu R C S
y C gọi là điều kiện nối trên thuộc tính
-
Nối bằng
(equi
join) khi
C là
điều kiện
so sánh
bằng
-
Nối tự
nhiên
(natural join)
y Ký hiệu R S hay R ∗ S
y R+ ∩ S+ ≠ ∅
y Kết quả của phép nối bằng bỏ bớt đi 1 cột giống nhau
Nhập môn Cơ sở dữ liệu - Khoa CNTT 50
Phép
nối(tt)
ƒ Ví dụ phép nối theta
D E
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
R B<D
S
Nhập môn Cơ sở dữ liệu - Khoa CNTT 51
Phép
nối(tt)
ƒ Ví dụ phép nối bằng
D E
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
R C=D
S
C D
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
R C=S.C
S
Nhập môn Cơ sở dữ liệu - Khoa CNTT 52
Phép
nối(tt)
ƒ Ví dụ phép nối tự nhiên
R S
C D
3
S
6
1
2
A B
1
R
4
2
5
C
3
6
7 8 9
A B
1 2
C
3
4 5 6
S.C
3
D
1
6 2
A B
1 2
C
3
4 5 6
D
1
2
Nhập môn Cơ sở dữ liệu - Khoa CNTT 53
Ví
dụ
10
ƒ Cho biết nhân viên có lương hơn lương của nhân
viên ‘Tùng’
-
Quan
hệ: NHANVIEN
-
Thuộc
tính: LUONG
R(L_TUNG) ←
πLUONG
(σTENNV=‘Tung’
(NHANVIEN))
KQ ←
NHANVIEN LUONG>L_TUNG
R
B1:
B2:
Nhập môn Cơ sở dữ liệu - Khoa CNTT 54
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
hệ: NHANVIEN, PHONGBAN
Nhập môn Cơ sở dữ liệu - Khoa CNTT 55
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
hệ: PHONGBAN, DDIEM_PHG
Nhập môn Cơ sở dữ liệu - Khoa CNTT 56
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
hệ: PHONGBAN, NHANVIEN
Nhập môn Cơ sở dữ liệu - Khoa CNTT 57
Ví
dụ
14
ƒ Cho biết lương cao nhất trong công ty
-
Quan
hệ: NHANVIEN
-
Thuộc
tính: LUONG
Nhập môn Cơ sở dữ liệu - Khoa CNTT 58
Ví
dụ
15
ƒ Cho biết phòng ban có cùng địa điểm với phòng 5
-
Quan
hệ: DDIEM_PHG
Nhập môn Cơ sở dữ liệu - Khoa CNTT 59
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 ĐSQH
-
Nghĩa
là
các
phép
toán
có
thể được biểu diễn
qua chúng
-
Ví
dụ
y R∩S = R∪S − ((R−S) ∪ (S−R))
y R CS = σC(R×S)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 60
Nội dung chi tiết
ƒ Giới thiệu
ƒ Các thao tác cập nhật trên quan hệ
ƒ Đạ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 nối
ƒ Phép chia
ƒ Các phép toán khác
Nhập môn Cơ sở dữ liệu - Khoa CNTT 61
Phép
chia
ƒ Được dùng để lấy ra một số bộ trong quan hệ R sao
cho thỏa với tất cả các bộ trong quan hệ S
ƒ Ký hiệu R ÷ S
-
R(Z) và
S(X)
y Z là tập thuộc tính của R, X là tập thuộc tính của S
y X ⊆ Z
ƒ Kết quả của phép chia là một quan hệ T(Y) 
-
Với Y=Z-X
-
Có
t là
một bộ
của T nếu với mọi bộ
tS
∈S, tồn tại bộ
 tR
∈R thỏa 2 điều kiện
y tR(Y) = t
y tR(X) = tS(X) X Y
T(Y)S(X)R(Z)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 62
Phép
chia
(tt)
ƒ Ví dụ
A B
α
β
a
a
γ a
α a
α a
β a
γ a
γ a
C D
α
γ
a
b
γ a
γ a
γ b
γ a
γ b
β b
E
1
3
1
1
1
1
1
1
R D E
a
S
b
1
1
R ÷
S
Nhập môn Cơ sở dữ liệu - Khoa CNTT 63
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
tính: MANV
DA ←
πMADA
(DEAN)
NV_DEAN ←
πMANV, MADA
(PHANCONG)
MA_NV ←
πMANV
(NV_DEAN÷DA)
B1:
B2:
B3:
Nhập môn Cơ sở dữ liệu - Khoa CNTT 64
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
hệ: NHANVIEN, PHANCONG, DEAN
-
Thuộc
tính: MANV
-
Điều kiện: PHONG=4
P4_DA ←πMADA
(
σPHG=4 (DEAN))
NV_DA ←
πMANV, MADA
(PHANCONG)
MA_NV ←
πMANV
(NV_DA÷P4_DA)
B1:
B2:
B3:
Nhập môn Cơ sở dữ liệu - Khoa CNTT 65
Phép
chia
(tt)
ƒ Biểu diễn phép chia thông qua tập đầy đủ các phép
toán ĐSQH
T1
←
πY (R)
T2
← T1
×
S
T3
←πY
(T2
−
R)
T ← T1 −
T2
Nhập môn Cơ sở dữ liệu - Khoa CNTT 66
Nội dung chi tiết
ƒ Giới thiệu
ƒ Các thao tác cập nhật trên quan hệ
ƒ Đạ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 nối
ƒ Phép chia
ƒ 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)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 67
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
Nhập môn Cơ sở dữ liệu - Khoa CNTT 68
Hàm
kết hợp (tt)
ƒ Ví dụ
A B
1
R
3
2
4
1
1
2
2
SUM(B) = 10
AVG(A) = 1.5
MIN(A) = 1
MAX(B) = 4
COUNT(A) = 4
Nhập môn Cơ sở dữ liệu - Khoa CNTT 69
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
-
E là
biểu thức ĐSQH
-
G1, G2, , Gn
là
các
thuộc
tính
gom
nhóm
-
F1, F2, , Fn là
các
hàm
-
A1, A2, , An là
các
thuộc
tính
tính
toán
trong
hàm
F
G1, G2, , Gn
ℑF1(A1), F2(A2), , Fn(An)
(E)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 70
Phép
gom
nhóm
(tt)
ƒ Ví dụ
ℑSUM(C)
(R)
A B
α
R
α
2
4
β
γ
2
2
C
7
7
3
10 A
ℑSUM(C)
(R)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 71
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)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 72
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
MAPGH
ℑCOUNT(), AVERAGE(LUONG)
(NHANVIEN)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 73
Phép
nối ngoài
ƒ Mở rộng phép nối để tránh mất mát thông tin
-
Thực hiện
phép
nối
-
Lấy thêm các bộ
không
thỏa
điều kiện nối
ƒ Có 3 hình thức
-
Nối
ngoài
trái
-
Nối
ngoài
phải
-
Nối
ngoài
đầy
đủ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 74
Ví
dụ
20
ƒ 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
R1 ← NHANVIEN PHG=MAPHG
PHONGBAN
KQ ←πHONV,TENNV, TENPHG (R1)
TENNV HONV TENPHG
Tung Nguyen Nghien
cuu
Hang Bui null
Nhu Le null
Vinh Pham Quan
ly
Nhập môn Cơ sở dữ liệu - Khoa CNTT 75
Tài
liệu tham khảo
ƒ Giáo trình CSDL
-
Chương
3.III
ƒ Database management system
-
Chapter 4
ƒ Fundamentals of Database Systems
-
Chapter 7
ƒ An introduction to Database System
-
Chapter 6, 7
Nhập môn Cơ sở dữ liệu - Khoa CNTT 76
Bài
tập 1
T1 T1.P = T2.A
T2 
T1 (T1.Q = T2.A AND T1.R = T2.C)
T2 
T1 (T1.Q = T2.B)
T2 
T1 T1.P = T2.A
T2 
T1 (T1.Q = T2.B)
T2 
Nhập môn Cơ sở dữ liệu - Khoa CNTT 77
Bài
tập 2
ƒ Cho cơ sở dữ liệu CÔNGTY gồm các lược đồ:
-
NHANVIEN(MANV, HONV, TENNV, NS, GT, DCHI, 
LUONG, MANGS, MAĐV)
-
ĐONVI(MADV, TENDV, MANQL, NGAY_BD)
-
DEAN(MADA, TENDA, DD_DA, MADV)
-
THANNHAN(MANV, TEN_TN, NS, GT, QUANHE)
-
NV_DEAN(MANV, MADA, SOGIO)
-
DONVI_DD(MADV, DD) 
Nhập môn Cơ sở dữ liệu - Khoa CNTT 78
Bài
tập 2(tt)
ƒ Đư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 tại Hà nội, hãy 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 các 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.
ƒ Tạo ra một danh sách các mã số dự án đối với các dự án có
một 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à ‘Nam’.
ƒ Đư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ý có ít nhất là một người
phụ thuộc. 
Nhập môn Cơ sở dữ liệu - Khoa CNTT 79
Thi
giữa kỳ
ƒ Nắm được các khái niệm cơ bản về CSDL, mô hình
CSDL
ƒ Vẽ được lược đồ liên kết, hiểu lược đồ liên kết mở
rộngÆ chuyển đổi được sang lược đồ quan hệ
ƒ Thực hiện được các thao tác CSDL (sử dụng các
phép toán trên đại số quan hệ)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 80

File đính kèm:

  • pdfchap03.2.pdf