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

GIÁO TRÌNH CƠ SỞ DỮ LIỆU_CHƯƠNG 4 pdf

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 (571.4 KB, 34 trang )

Hồ Cẩm Hà- ĐHSP HN
CHƯƠNG 4
THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ
“Làm thế nào để có một cơ sở dữ liệu tốt?”
Hồ Cẩm Hà- ĐHSP HN
Quá trình thiết kế CSDL
Thế giới thực
Tập hợp các yêu cầu
và phân tích
Các yêu cầu CSDL
Thiết kế khái niệm
Lược đồ logic
(trong một mô hình dữ liệu bậc cao)
Ánh xạ mô hình dữ liệu
Lược đồ khái niệm
(trong mô hình dữ liệu của một DBMS cụ thể )
Thiết kế vật lý
Lược đồ trong
(đối với cùng một DBMS cụ thể đó)
Không phụ
thuộc DBMS
DBMS
cụ thể
Hồ Cẩm Hà- ĐHSP HN
Cần loại bỏ dư thừa dữ liệu
Khi dư thừa dữ liệu dẫn đến những khó
khăn khi cập nhật dữ liệu
Hồ Cẩm Hà- ĐHSP HN
Phụ thuộc hàm.
Dạng dư thừa dữ liệu thường gặp
Có X→Ytrên R(U): ∀r(R)


∀ t
1
, t
2
∈ r, t
1
[X] = t
2
[X] ⇒ t
1
[Y]=t
2
[Y].
Hồ Cẩm Hà- ĐHSP HN
Hệ qui tắc suy diễn Amstrong
A1. Phản xạ (Reflexivity).
Nếu Y ⊆ X thì X→Y
A2. Tăng trưởng (Augmentation).
Nếu X→Y thì mọi Z⊆U, XZ→YZ
A3. Bắc cầu (Transitivity).
Nếu X→Y và Y→Z thì X→Z
Hồ Cẩm Hà- ĐHSP HN
Hệ tiên đề Armstrong là đúng và đủ
Hồ Cẩm Hà- ĐHSP HN
Các qui tắc suy diễn bổ sung
Quy tắc hợp (the union rule)
Nếu {X→Y, X→Z} đúng thì X→YZ đúng
Quy tắc giả bắc cầu (the pseudotransitivity rule)
{X→Y, WY→Z} đúng thì WX→Z đúng
Quy tắc tách (the decomposition rule)

Nếu (X→Y) đúng và Z⊆Y thì X→Z đúng.
Hồ Cẩm Hà- ĐHSP HN
Tập phụ thuộc hàm tối tiểu
F và G là tương đương nếu F
+
=G
+
, ký hiệu F~G.
Có thể kiểm tra được F và G, tập nào phủ tập nào và chúng
có tương đương hay không (tính X+)
Định lí 7.9:
Cho tập phụ thuộc hàm F luôn tìm được phủ tối tiểu của F
Hồ Cẩm Hà- ĐHSP HN
Tập phụ thuộc hàm tối tiểu
Tập PTH F là tối tiểu nếu:
1. Vế phải của mỗi phụ thuộc trong F gồm đúng một thuộc
tính.
2. Không thể bỏ đi một phụ thuộc nào trong F mà vẫn thu
được một tập phụ thuộc tương đương với nó.
3. Không thể bỏ đi bất kỳ một thuộc tính nào ở vế trái của
một phụ thuộc nào trong F mà vẫn thu được một tập phụ
thuộc tương đương với nó.
Hồ Cẩm Hà- ĐHSP HN
Tập phụ thuộc hàm tối tiểu
Cho F = {A→B, B→A, A→C, C→A, B→C}.
Có thể tìm được hai tập phụ thuộc tối tiểu tương đương với F
F1 = {A→B, B→C, C→A}
F2 = {A→B, B→A, A→C, C→A}
Hồ Cẩm Hà- ĐHSP HN
Phép tách các lược đồ quan hệ

Việc tách một lược đồ quan hệ trước hết là thay thế tập U
các thuộc tính bằng những tập con U1, U2,…, Uk của nó
sao cho
U = U1 ∪ U2 ∪…∪ Uk.
Chú ý rằng ở đây, ta không đòi hỏi U1, U2,…, Uk phải rời
nhau
.
Hồ Cẩm Hà- ĐHSP HN
Phép tách các lược đồ quan hệ
Khi đó, việc thay thế lược đồ R = 〈U, F〉 bằng các lược đồ
con
R1 = 〈U1, F1〉,
R2 = 〈U2, F2〉,…,
Rk = 〈Uk, Fk〉
được gọi là một phép tách lược đồ quan hệ đã cho 〈U, F〉.
ký hiệu là ρ = (R1, R2,…, Rk).
Đôi khi, kí hiệu ρ = (U1, U2,…, Uk).
Hồ Cẩm Hà- ĐHSP HN
Phép tách các lược đồ quan hệ
Ta sử dụng một số ký hiệu sau:
Dấu hoa thị (*) ký hiệu phép kết nối tự nhiên trên giao của hai
tập thuộc tính.
ρ = (R1, R2,…, Rk) hay ρ = (U1, U2,…, Uk) là phép tách lược
đồ quan hệ trên U thành các lược đồ con tương ứng với
các tập con thuộc tính U1, U2,…, Uk.
r
i
= là hình chiếu của quan hệ r lên tập con thuộc tính Ui
mρ(r) = r
1

* r
2
*… * r
k
là kết quả của phép kết nối tự nhiên của
các hình chiếu của r lên các tập con thuộc tính trong
phép tách ρ.
Hồ Cẩm Hà- ĐHSP HN
Phép tách các lược đồ quan hệ
Phép tách U thành {U1, U2,…, Uk} được gọi là
kết nối không thất thoát (hay ngắn gọn là LJ)
nếu với mỗi quan hệ r của lược đồ này, ta đều có
r = r
1
* r
2
*… * r
k
= mρ(r)
Phép tách bảo toàn các phụ thuộc của F
Hồ Cẩm Hà- ĐHSP HN
Tách kết nối không mất thông tin
Kiểm tra được tính kết nối không thất thoát của một phép
tách (thuật toán 3.2)
Ví dụ
U = ABCDE, U1 = AD, U2 = AB, U3 = BE,
U4 = CDE, U5 = AE
Tập các phụ thuộc hàm là: A→C, B→C,
C→D, DE→C, CE→A.
ABCDE

U
1
a
1
b
12
b
13
a
4
b
15
U
2
a
1
a
2
b
23
b
24
b
25
U
3
b
31
a
2

b
33
b
34
a
5
U
4
b
41
b
42
a
3
a
4
a
5
U
5
a
1
b
52
b
53
b
54
a
5

Hồ Cẩm Hà- ĐHSP HN
Tách kết nối không mất thông tin
Tập các phụ thuộc hàm là: A→C, B→C, C→D, DE→C,
CE→A.
ABCDE
U
1
a
1
b
12
b
13
a
4
b
15
U
2
a
1
a
2
b
13
b
24
b
25
U

3
b
31
a
2
b
13
b
34
a
5
U
4
b
41
b
42
a
3
a
4
a
5
U
5
a
1
b
52
b

13
b
54
a
5
ABCDE
U
1
a
1
b
12
b
13
a
4
b
15
U
2
a
1
a
2
b
23
b
24
b
25

U
3
b
31
a
2
b
33
b
34
a
5
U
4
b
41
b
42
a
3
a
4
a
5
U
5
a
1
b
52

b
53
b
54
a
5
Hồ Cẩm Hà- ĐHSP HN
Tách kết nối không mất thông tin
Tập các phụ thuộc hàm là: A→C, B→C, C→D, DE→C,
CE→A.
ABCDE
U
1
a
1
b
12
b
13
a
4
b
15
U
2
a
1
a
2
b

13
b
24
b
25
U
3
b
31
a
2
b
13
b
34
a
5
U
4
b
41
b
42
a
3
a
4
a
5
U

5
a
1
b
52
b
13
b
54
a
5
ABCDE
U
1
a
1
b
12
b
13
a
4
b
15
U
2
a
1
a
2

b
23
a
4
b
25
U
3
a
1
a
2
a
3
a
4
a
5
U
4
a
1
b
42
a
3
a
4
a
5

U
5
a
1
b
52
a
3
a
4
a
5
Hồ Cẩm Hà- ĐHSP HN
Phép tách các lược đồ
Mặc dù là những tính chất quan trọng của phép tách lược đồ
quan hệ nhưng một phép tách có thể thoả mãn tính
chất này nhưng lại không thoả mãn tính chất kia.
Chẳng hạn, phép tách lược đồ quan hệ 〈ABCD, {A→B, C→D}〉
thành hai lược đồ 〈AB, {A→B}〉 và 〈CD, {C→D}〉 là phép
tách bảo toàn phụ thuộc nhưng không phải là phép tách
với kết nối không thất thoát.
Hồ Cẩm Hà- ĐHSP HN
phép tách các lược đồ
Ta xét lược đồ CSZ với ba thuộc tính C (City), S (Street)
và Z (Zip code) và tập phụ thuộc hàm F = {CS→Z, Z→C}.
Từ phụ thuộc hàm Z→C hay CS∩CZ→CS−CZ suy ra
rằng
phép tách CSZ thành hai lược đồ CS và CZ có tính chất
kết nối không mất thông tin
nhưng không có tính chất bảo toàn phụ thuộc.

Hồ Cẩm Hà- ĐHSP HN
1NF
Hồ Cẩm Hà- ĐHSP HN
2NF
Cho lược đồ quan hệ R = 〈U, F〉 với khoá K.
R được gọi là thuộc dạng chuẩn thứ hai (2NF)
nếu nó thuộc dạng chuẩn thứ nhất và
mọi thuộc tính A∉K đều phụ thuộc đầy đủ vào K.
Hồ Cẩm Hà- ĐHSP HN
3NF
Lược đồ quan hệ R = 〈U, F〉 được gọi là thuộc dạng
chuẩn thứ ba (3 NF)
nếu không có thuộc tính không khóa phụ thuộc bắc cầu
vào khóa
Nghĩa là:
nếu không tồn tại một khoá X, một tập thuộc tính Y⊆U và
một thuộc tính A∉XY làm cho các điều kiện sau được
thoả mãn:
(X→Y), (Y→A), và không có (Y→X).
Hồ Cẩm Hà- ĐHSP HN
BCNF
Lược đồ quan hệ R = 〈U, F〉 được gọi là thuộc dạng
chuẩn Boyce-Codd (BCNF) nếu từ (X→A) đúng trong R
và A∉X kéo theo X là siêu khoá.
Định lý 7.12
Nếu lược đồ quan hệ R = 〈U, F〉 thuộc dạng chuẩn
Boyce-Codd (BCNF) thì nó thuộc dạng chuẩn thứ ba.
Hồ Cẩm Hà- ĐHSP HN
Chuẩn hoá lược đồ quan hệ
Bổ đề 7.7: Giả sử R = 〈U, F〉 là một lược đồ quan hệ và

ρ = (R1, R2,… Ri, Rk) là một phép tách của R, trong đó ∀i, Ri = 〈Ui, Fi〉.
Giả sử ρ là kết nối không thất thoát. Khi đó, nếu thay thế lược đồ Ri trong ρ
bởi S1, S2,…, Sm, với σ = (S1, S2,…, Sm) là phép tách kết nối
không thất thoát của Ri thì phép tách τ = (R1, R2,…, Ri-1, S1, S2,…,
Sm, Ri+1,…, Rk) thu được cũng là kết nối không thất thoát.
Giả sử ρ là kết n
ối không thất thoát. Nếu bổ sung vào ρ một số lược đồ
quan hệ trên U (Rk+1,…,Rn) thì phép tách
τ = (R1, R2,…, Rk, Rk+1,…,Rn) thu được cũng là kết nối không thất thoát.
Hồ Cẩm Hà- ĐHSP HN
Chuẩn hoá lược đồ quan hệ
Ví dụ
Tách để đưa lược đồ về chuẩn BCNF
(trang 33)

×