Chương
Chương
3
3
3.2.
3.2.
Đ
Đ
ạ
ạ
i
i
s
s
ố
ố
quan
quan
h
h
ệ
ệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 2
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
Nhập môn Cơ sở dữ liệu - Khoa CNTT 3
Giớithiệu
Xét mộtsố xử lý trên quan hệ NHANVIEN
-
Thêm
mớimột
nhân
viên
-
Chuyển
nhân
viên
có
tên
là
“Tùng”
sang phòng
số
1
-
Cho
biếthọ
tênvàngàysinhcácnhânviêncólương
thấphơn
50000
5
4
TENNV HONV NS DCHI GT LUONG PHONG
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
Quang Pham 11/10/1937 450 TV HN Nam 55000 1
1
Tung Nguyen 12/08/1955
Hang Bui 07/19/1968
Nhu Le 06/20/1951
Hung Nguyen 09/15/1962
Nhập môn Cơ sở dữ liệu - Khoa CNTT 4
Giớithiệu(tt)
Có 2 loạixử lý
-
Làm
thay
đổidữ
liệu(cậpnhật)
y Thêm mới, xóa và sửa
-
Không
làm
thay
đổidữ
liệu(rúttrích)
y Truy vấn (query)
Thựchiệncácxử lý
-
Đạisố
quan
hệ
(Relational Algebra)
y Biểudiễn câu truy vấndướidạng biểuthức
-
Phép
tính
quan
hệ
(Relational Calculus)
y Biểudiễnkếtquả
-
SQL (Structured Query Language)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 5
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
Nhập môn Cơ sở dữ liệu - Khoa CNTT 6
Các
thao
tác
cậpnhật
Nội dung của CSDL có thểđượccậpnhậtbằng các
thao tác
-
Thêm
(insertion)
-
Xóa
(deletion)
-
Sửa
(updating)
Các thao tác cậpnhật đượcdiễn đạt thông qua
phép toán gán
R
new
←
các
phép
toán
trên
R
old
Nhập môn Cơ sở dữ liệu - Khoa CNTT 7
Thao
tác
thêm
Đượcdiễn đạt
-
R là
quan
hệ
-
E là
mộtbộ
mớicần
thêm
vào
Vi phạmtoànvẹn
-
Ràng
buộcmiền
-
Ràng
buộc
khóa
-
Ràng
buộc
tham
chiếu
Ví dụ
-
Phân
công
nhân
viên
có
mã
123 làm
thêm
đề
án
mã
số
20 vớisố
giờ
là
10
R
new
←
R
old
∪
E
PHANCONG
←
PHANCONG ∪
(‘123’, 20, 10)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 8
Thao
tác
xóa
Đượcdiễn đạt
-
R là
quan
hệ
-
E là
mộtbiểuthức ĐSQH
Ràng buộctoànvẹn
-
Ràng
buộc
tham
chiếu: được
tham
chiếu
-
Xử
lý:
y Loạibỏ phép xóa, lan truyền, sửa đổigiátrị
Ví dụ
-
Xóa
các
phân
công
đề
án
của
nhân
viên
123456789
R
new
←
R
old
−
E
Nhập môn Cơ sở dữ liệu - Khoa CNTT 9
Thao
tác
sửa
Đượcdiễn đạt
-
R là
quan
hệ
-
Fi
là
biểuthức
tính
toán
cho
ra
giá
trị
mớicủathuộctính
Ràng buộctoànvẹn
-
Ràng
buộcmiền
-
Với
khóa
chính
= xóa, chèn
-
Khóa
ngoài: đảmbảo
tham
chiếu
đúng
giá
trị
Ví dụ
-
Tăng
thờigianlàmviệc
cho
tấtcả
nhân
viên
lên
1.5 lần
-
Chuyển
nhân
viên
“Tùng”
từ
phòng
Nghiên
cứu
sang
phòng
Kỹ
thuật
R
new
← π
F1, F2, …, Fn
(R
old
)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 10
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
Nhập môn Cơ sở dữ liệu - Khoa CNTT 11
Nhắclại
Đạisố
-
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ểuthức
y (x+7) / (y-3)
y (x+y)*z and/or (x+7) / (y-3)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 12
Đạisố
quan
hệ
Biến là các quan hệ
-
Tậphợp(set)
Toán tử là các phép toán (operations)
-
Dựatrênlýthuyếttậphợp
y Hội ∪ (union)
y Giao ∩ (intersec)
y Trừ − (difference)
-
Rút
trích
1 phầncủa
quan
hệ
y Chọn σ (selection)
y Chiếu π (projection)
-
Kếthợp
các
quan
hệ
y Tích Đề-các × (Cartesian product)
y Nối (join)
-
Đổitênρ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 13
Đạisố
quan
hệ
(tt)
Hằng số là thể hiệncủa quan hệ
Biểuthức
-
Đượcgọi
là
câu
truy
vấn
-
Là
chuỗi
các
phép
toán
đạisố
quan
hệ
-
Kếtquả
trả
về
là
mộtthể
hiệncủa
quan
hệ
Nhập môn Cơ sở dữ liệu - Khoa CNTT 14
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
Nhập môn Cơ sở dữ liệu - Khoa CNTT 15
Phép
toán
tậphợp
Quan hệ là tậphợpcácbộ
-
Phép
hợpR ∪
S
-
Phép
giao
R ∩
S
-
Phép
trừ
R −
S
Tính khả hợp(Tương thích đồng nhất - Union Compatibility)
-
Hai
lược
đồ
quan
hệ
R(A
1
, A
2
, …, A
n
) và
S(B
1
, B
2
, …, B
n
) là
khả
hợp
nếu
y Cùng bậcn
y Và có DOM(A
i
)=DOM(B
i
) , 1≤ i ≤ n
Kếtquả của ∪, ∩, và − là một quan hệ có cùng tên thuộc tính
với quan hệđầutiên(R)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 16
Phép
toán
tậphợp(tt)
Ví dụ
TENNV NS GT
Tung 12/08/1955 Nam
Hang 07/19/1968 Nu
Nhu 06/20/1951 Nu
Hung 09/15/1962 Nam
NHANVIEN TENTN NS_TN GT_TN
Trinh 04/05/1986 Nu
Khang 10/25/1983 Nam
Phuong 05/03/1958 Nu
Minh 02/28/1942 Nam
THANNHAN
Chau 12/30/1988 Nu
Bậcn=3
DOM(TENNV) = DOM(TENTN)
DOM(NS) = DOM(NS_TN)
DOM(GT) = DOM(GT_TN)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 17
Phép
hợp
Cho2 quanhệ R và S khả hợp
Phép hợpcủaR vàS
-
Ký
hiệuR ∪
S
-
Là
mộtquanhệ
gồm
các
bộ
thuộcR hoặcthuộcS, hoặc
cả
hai
(các
bộ
trùng
lắpsẽ
bị
bỏ)
Ví dụ
R ∪
S = { t / t∈R
∨
t∈S}
A B
α
R
α
β
1
2
1
A B
α
S
β
2
3
Nhập môn Cơ sở dữ liệu - Khoa CNTT 18
Phép
giao
Cho2 quanhệ R và S khả hợp
Phép giao củaR vàS
-
Ký
hiệuR ∩
S
-
Là
mộtquanhệ
gồm
các
bộ
thuộcR đồng
thờithuộcS
Ví dụ
R ∩
S = { t / t∈R
∧
t∈S}
A B
α
R
α
β
1
2
3
A B
α
S
β
2
3
Nhập môn Cơ sở dữ liệu - Khoa CNTT 19
Phép
trừ
Cho2 quanhệ R và S khả hợp
Phép giao củaR vàS
-
Ký
hiệuR −
S
-
Là
mộtquanhệ
gồm
các
bộ
thuộc
R và
không
thuộcS
Ví dụ
R −
S = { t / t∈R
∧
t∉S}
A B
α
R
α
β
1
2
1
A B
α
S
β
2
3
Nhập môn Cơ sở dữ liệu - Khoa CNTT 20
Các
tính
chất
Giao hoán
Kếthợp
R ∪
S = S ∪
R
R ∩
S = S ∩
R
R ∪
(S ∪
T) = (R ∪
S) ∪
T
R ∩
(S ∩
T)
= (R ∩
S) ∩
T
Nhập môn Cơ sở dữ liệu - Khoa CNTT 21
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
Nhập môn Cơ sở dữ liệu - Khoa CNTT 22
Phép
chọn
Được dùng để lấyracácbộ của quan hệ R
Các bộđượcchọnphảithỏamãnđiềukiệnchọnP
Ký hiệu
P là biểuthứcgồmcácmệnh đề có dạng
-
<tên
thuộc
tính> <phép
so sánh> <hằng
số>
-
<tên
thuộc
tính> <phép
so sánh> <tên
thuộc
tính>
y <phép so sánh> gồm < , > , ≤ , ≥ , ≠ , =
y Các mệnh đề đượcnốilạinhờ các phép ∧ , ∨ , ¬
σ
P
(R)
Nhập môn Cơ sở dữ liệu - Khoa CNTT 23
Phép
chọn(tt)
Kếtquả trả về là một quan hệ
-
Có
cùng
danh
sách
thuộctínhvớiR
-
Có
số
bộ
luôn
ít
hơnhoặc
bằng
số
bộ
củaR
Ví dụ
σ
(A=B)∧(D>5)
(R)
A B
α
R
α
β
C
1
5
12
β
23
D
7
7
3
10
α
β
β
β
Nhập môn Cơ sở dữ liệu - Khoa CNTT 24
Phép
chọn(tt)
Phép chọncótínhgiaohoán
Kếthợpnhiều phép chọn thành 1 phép chọn
σ
p1
(
σ
p2
(R)) =
σ
p1
(
σ
p2
(R)) =
Nhập môn Cơ sở dữ liệu - Khoa CNTT 25
Ví
dụ
1
Cho biết các nhân viên ở phòng số 4
-
Quan
hệ: NHANVIEN
-
Thuộc
tính: PHG
-
Điềukiện: PHG=4
σ
PHG=4
(NHANVIEN)