Tải bản đầy đủ (.ppt) (55 trang)

Thiết kế CSDL

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 (1.82 MB, 55 trang )

CHƯƠNG IV: THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ

§1. Quá trình thiết kế cơ sở dữ liệu

§2. Phụ thuộc hàm

§3. Phép tính tách lược đồ quan hệ

§4. Chuẩn hoá lược đồ quan hệ
1. PHỤ THUỘC HÀM

1.1. Một số đònh nghóa

1.2. Hệ tiên đề Armstrong

1.3. Tính đóng của tập thuộc tính X (X
+
F
)

1.4. Phủ của tập phụ thuộc hàm. Tập phụ thuộc hàm tối tiểu
1.1. Một số đònh nghóa

Đònh nghóa 1:

Cho U là một tập thuộc tính, R(U) là một lược đồ quan hệ trên
U. Giả sử X, Y ⊆ U, Y được gọi là phụ thuộc hàm vào X trên
lược đồ R(U), nếu ∀r ∈ R(U) và ∀ t
1
, t
2


∈ r , t
1
[X]=t
2
[X] kéo
theo t
1
[Y] = t
2
[Y]. Kí hiệu: X → Y.

Một quan hệ r trên U được gọi là thoả mãn phụ thuộc hàm
X→ Y nếu và chỉ nếu t
1
[X] = t
2
[X] => t
1
[Y] = t
2
[Y], ∀ t
1
, t
2

r.
1.1. Một số đònh nghóa

Đònh nghóa 1: (tiếp theo)


Cho tập F những phụ thuộc hàm (trên lược đồ quan hệ R(U)).
Ta nói (X→Y) được suy diễn từ F nếu
∀ r ∈ R(U), r thoả F kéo theo r thoả X→ Y. Kí hiệu
F=(X→Y).

Bao đóng của tập phụ thuộc hàm F là tập phụ thuộc hàm được
suy diễn từ F và kí hiệu F
+
.
F
+
= {(X→Y) | F = (X→Y)}
Nếu F
+
= F thì F được gọi là họ phụ thuộc hàm đầy đủ.
1.1. Một số đònh nghóa

Đònh nghóa 2:(Khoá)

Giả sử U là một tập thuộc tính, R=R(U) là một lược đồ quan
hệ trên U và K ⊆ U. K là khoá của R nếu:

(K→U) ∈F
+
. Nghóa là (∀ r ∈ R) (∀t
1
, t
2
∈ r) t
1

[K]=t
2
[K] => t
1
=t
2

Không có tập con thực sự nào của K xác đònh hàm U.
1.2. Hệ tiên đề Armstrong
Hệ tiên đề Armstrong gồm ba tính chất:

A1. Phản xạ:
Nếu Y ⊆ X => X → Y

A2. Tăng trưởng
X→Y => XZ→YZ (với Z ⊆U)

A3. Bắc cầu
Nếu X →Y ∧ Y→Z => X→Z
Các quy tắc suy diễn bổ sung

Quy tắc hợp: X→Y∧X→Z => X→YZ

Quy tắc bắt cầu giả: X→Y∧WY→Z => WX→Z

Quy tắc tách: {X→Y, Z⊆ Y} => X→Z
1.3. Bao đóng của tập thuộc tính X

Giả sử X là tập thuộc tính, F là tập phụ thuộc hàm. Bao đóng
của X đối với tập phụ thuộc hàm F là tập những thuộc tính A

sao cho (X→A) được suy diễn từ F nhờ hệ tiên đề
Armstrong.
Nghóa là X
+
F
= {A | F =
Arm
(X→A)}
nh lyù 1Đị

F =
Arm
(X →Y) <=> Y ⊆ X
+
F
Kiểm tra một PTH (X →Y) có được suy diễn từ F
không?

Ta có thể sử dụng bổ đề 3.3
F =
Arm
(X →Y) <=> Y ⊆ X
+
F
Thuật toán (tìm X
+
F
)

Input: Tập hữu hạn thuộc tính U,


Tập phụ thuộc hàm F ={L
i
→R
i
, i=1..m}

Tập X ⊆ U.

Output: X
+
F

Phương pháp:

Bước 1: Gán X
0
= X

Bước 2: Giả sử tìm được X
k


Nếu tồn tại một L
i
→ R
i
∈F và L
i
⊆ X

k
thì tính X
k+1
= X
k
∪ R
i

Ngược lại, chuyển sang bước 3

Bước 3: Gán X
+
F
= X
k
và kết thúc thuật toán.
Ví dụ: Tính X
+
F

Cho F = {AB→C, C→A, BC→D, ACD→B, D→EG, BE→C,
CG→BD, CE→AG} và X=BD. Tìm X
+
F

Giải

X
0
= X


Chọn D→EG, ta có: X
1
= X
0
∪EG = BDEG

Chọn BE→C, ta có: X
2
= X
1
∪C = BCDEG

Chọn C→A, ta có: X
3
= X
2
∪A = ABCDEG

Dừng X
+
F
= ABCDEG
Các tính chất của bao đóng của tập thuộc tính X+
Nếu X,Y là các tập con của tập thuộc tính Q thì ta có các tính
chất sau đây:
1. Tính phản xạ: X X+⊆
2. Tính đơn điệu: Nếu X Y thì X+ Y+⊆ ⊆
3. Tính luỹ đẳng: X++ = X+
4. (XY)+ X+Y+⊇

5. (X+Y)+ = (XY+)+= (X+Y+)+
6. X → Y F+ Y X+ ∈ ⇔ ⊆
7. X → Y Y+ X+⇔ ⊆
1.4. Phủ của tập các phụ thuộc hàm.
Tập phụ thuộc hàm tối tiểu

Cho F và G là hai tập PTH.

Ta nói F phủ G nếu G
+
⊆F
+

F và G được gọi là tương đương nhau nếu F phủ G và ngược
lại, kí hiệu: F ~ G

Để kiểm tra hai tập PTH tương đương và tập nào phủ tập
nào, ta sử dụng tính đóng của tập thuộc tính.
Vớ duù:

Kieồm tra xem hai taọp PTH sau coự tửụng ủửụng khoõng?

F ={AB, BA, AC, CA, BC}.

G
1
= {AB, BC, CA}
Tập PTH hàm tối tiểu
Tập phụ thuộc hàm F là tối tiểu nếu:


Vế phải của mỗi PTH có đúng một thuộc tính.

Không thể bỏ đò một PTH nào trong F mà vẫn thu được một
tập PTH tương đương với nó.

Không thể bỏ đi bất kì một thuộc tính nào ở vế trái của một
PTH nào trong F mà vẫn thu được một tập phụ thuộc hàm
tương đương với nó.
Thuật toán tìm tập PTH tối tiểu F.
1. Tách các PTH hàm của F về phải hơn một thuộc tính thành
các PTH vế phải chỉ có một thuộc tính (được F1)
2. Loại bỏ những PTH của F1 dư thừa ta thu được F
2
3. Loại bỏ những thuộc tính dư thừatrong vế trái của các PTH
trong F
2
ta được F
3
.
(F
3
chính là tập PTH tối tiểu tương đương với F.)
Vớ duù:

Cho F ={AB, BA, AC, CA, BC}. Ta coự hai taọp
PTH tửụng ủửụng vụựi noự laứ:

F
1
= {AB, BC, CA}


F
2
= {AB, BA, AC, CA}
1.5. Tập phụ thuộc hàm rút gọn tự nhiên

Cho tập PTH F={ Fi: Li → Ri; Li, Ri ⊆ U; i = 1 → m }, F ở
dạng rút gọn tự nhiên nếu như:

Li ∩ Ri = φ

Li ≠ Lj ∀ i ≠ j ( i,j = 1...m)
Thuật toán tìm tập PTH rút gọn tự nhiên

B1. Loại b ỏ các thuộc tính ở vế phải có mặt ở cả 2 vế trên
cùng một PTH

B2. Nếu: Li→Ri và Lj→ Rj (v i ớ Li = Lj) thì thay 2 PTH này
b i Pở TH mới: Li → Ri ∪ Rj
Ví dụ: Tìm tập PTH rút gọn tự nhiên F
F= {AB BC→
B D→
BE GA→
CD E→
BE DC }→
=>
F’= {AB C→
B D→
BE GADC→
CD E }→

2. KHÓA

2.1. Siêu khóa:
Cho một lược đồ quan hệ R= ( U, F), S ⊆ U, S được gọi là
siêu khóa của α nếu S
+
= U.

2.2. Khóa:
Cho một lược đồ quan hệ R= U, F), K ⊆ U, K được gọi
là khóa của R nếu K là siêu khóa nhỏ nhất (ít thuộc tính nhất)
trong các siêu khóa S ( Not ∃ X ⊆ K | X+ = U).
2.3. Giải thuật tìm một khóa:

Input: U, F

Output: K ⊆ U, K+ = U

Actions:
K=U
For each an attrib A in K
If (K-A)+ =U then
K=K-A
Endif
Endfor
Return K
Ví dụ:

Cho U={ ABCDEGHI }
F={ A → BCDEGHI; B → IDGE; G → H; I → DEGB; BC→A}


Tìm khóa
K= ABCDEGHI
- Xét A: (k –A)+ = U => K= BCDEGHI
- Xét B: (k –B)+ = (CDEGHI)+ = U => K= CDEGHI
- Xét C: (k –C)+ = (DEGHI)+ = DEGHI <> U => K=CDEGHI
- Xét D: (k –D)+ = (CEGHI)+ = CEGHIBDA =U => K= CEGHI
- Xét E: (k –E)+ = (CGHI)+ = CGHIEDBA = U => K= CGHI
- Xét G: (k –G)+ = (CHI)+ = CHIDEGBA = U => K= CHI
- Xét H: (k –H)+ = (CI)+ = CIDEGBAH = U => K= CI
- Xét I: (k –I)+ = C+ = C <> U => K= CI
Khoá của lược đồ quan hệ trên là : CI
2.4. Giải thuật tìm tất cả các khóa

Bước 1: Đưa tập phụ thuộc hàm F về dạng rút gọn tự nhiên.

Bước 2:

Bước 3: Xác định lược đồ quan hệ R’ = R – U
0
I; U’=U – U
0
I
F’: là tập PTH c a ủ F xác định trên tập thuộc tính U’
( F’ : F/ U’)

Bước 5: xác định khóa K
R



Bước 6: đưa về khóa K
R
= U
0
⊕ K
R


m
i
i
RUU
1
0
=
−=

m
i
i
m
i
i
LRI
11 ==
−=

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×