Tải bản đầy đủ (.pdf) (80 trang)

Nhập môn Cơ Sở Dữ Liệu - Chương 3 ( tiếp theo ) potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (603.2 KB, 80 trang )

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



tên




“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





123 làm

thêm

đề


án



số

20 vớisố

giờ



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




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



câu

truy

vấn
-



chuỗi

các

phép

toán

đạisố

quan

hệ
-


Kếtquả

trả

về



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
-



hiệuR ∪

S
-




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
-



hiệuR ∩

S

-



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
-



hiệuR −

S
-



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ùng

danh

sách

thuộctínhvớiR
-



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


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)

×