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

Bài giảng Hệ cơ sở dữ liệu: Chương 5.1 - TS. Lê Thị Tú Kiên

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.12 MB, 69 trang )

CHƢƠNG 5
Thiết kế CSDL quan hệ mức khái niệm

Tiến sĩ: Lê Thị Tú Kiên


Giới thiệu
2



Các bước thiết kế CSDL
 Tập

hợp các yêu cầu và phân tích
 Thiết kế khái niệm
 Thiết kế logic
 Thiết kế vật lí


3


Nội dung
4

Dư thừa và dị thường dữ liệu
 Phụ thuộc hàm
 Hệ tiên đề Armstrong
 Bao đóng của tập thuộc tính
 Phủ của một tập PTH


 Xác định khóa của lược đồ quan hệ
 Chuẩn hóa lược đồ quan hệ
 Các phép tách lược đồ quan hệ
 Chuyển đổi mô hình thực thể liên kết sang mơ hình quan hệ



5

Dƣ thừa và dị thƣờng dữ liệu


Dƣ thừa dữ liệu
6



NHAN_VIEN_PHONG(MSNV,HO_TEN,NG_SINH,
GIOI_TINH,LUONG,MA_DV,TEN_PHONG,MA_TP)


Dị thƣờng dữ liệu
7



Dị thường khi thêm bộ


Dị thƣờng dữ liệu

8



Dị thường khi xóa bộ


Dị thƣờng dữ liệu
9



Dị thường khi sửa bộ


Cách giải quyết dị thƣờng dữ liệu
10



Tách lược đồ NHAN_VIEN_PHONG thành hai lược đồ:

NHAN_VIEN(MSNV,HO_TEN,NG_SINH,GIOI_TINH,LUONG,MA_DV)

PHONG(MA_DV,TEN_PHONG,MA_TP)


Cách giải quyết dị thƣờng dữ liệu
11



12

Phụ thuộc hàm


Định nghĩa phụ thuộc hàm
13



U: tập thuộc tính



R(U): lược đồ quan hệ xác định trên U

A



X, Y  U

a1

b1

c1

d1




Y phụ thuộc hàm vào X trên R(U) nếu:

a1

b1

c1

d2

r  R(U), t1, t2 r

a1

b2

c2

d1

t1[X]=t2[X]  t1[Y]=t2[Y]

a2

b1

c1


d3



Ký hiệu XY

B

C

D

ABC là PTH


Phụ thuộc hàm suy diễn
14




F: tập các phụ thuộc hàm trên R(U)
XY được suy diễn logic từ F nếu rR(U), r thỏa F kéo theo r
thỏa XY



Kí hiệu: F ╞ (XY)




Ví dụ: F={AB, BC} thì F ╞ (AC)


Bao đóng của tập phụ thuộc hàm
15

F+={(XY) | F ╞ (XY)}
Nếu F+=F, thì F được gọi là họ phụ thuộc hàm đầy đủ
Ví dụ: Cho F={ACB, DE}, vì F=F+ nên F là tập PTH
đầy đủ.


16

Hệ tiên đề Armstrong


Hệ tiên đề Armstrong
17



Cho U, R(U), F, và X, Y, Z  U. Kí hiệu XY=XY

A1. Phản xạ (Reflexivity):

Nếu Y X thì F ╞ (XY )
A2. Tăng trưởng (Augmentation)


Nếu F ╞ (XY ) thì Z U, F╞ (XZYZ)
A3. Bắc cầu (Transitivity)

Nếu F ╞ (XY ) và F ╞ (YZ ) thì F ╞ (XZ).


Ví dụ
18

A1. Phản xạ
Nếu Y X thì F ╞ (XY )

A2. Tăng trưởng
Nếu F ╞ (XY )
thì Z U, F╞ (XZYZ)

A3. Bắc cầu
Nếu F ╞ (XY ) và
F ╞ (YZ ) thì F ╞ (XZ)



Cho F={ABC, CA}.

Chứng minh: F ╞ (BCABC)


Giải:
CA nên theo tiên đề tăng

trưởng ta có: BCAB (1)
 Do ABC nên cũng theo tiên đề
tăng trưởng ta có: ABABC (2)
 Từ (1) và (2), áp dụng tiên đề bắc
cầu ta được: BCABC. Suy ra
đpcm.
 Do


Hệ tiên đề Armstrong mở rộng
19



A4. Quy tắc hợp (Union)
{XY, XZ}╞ (XYZ)



A5. Quy tắc giả bắc cầu (Pseudotransivity)
{XY, WYZ}╞ (WXZ)



A6. Quy tắc tách (Decomposition)

Nếu XY đúng và Z Y thì XZ đúng


Ví dụ

20



Cho F={ABC, BD, CDE, CEGH, GA}.
Chứng minh F╞ (ABEG)


Ví dụ
21



Chứng minh {ABC, BD, CDE, CEGH, GA}╞ (ABEG)



Giải:
CEGH nên theo luật tách ta có: CEG (1)
 Áp dụng luật tăng trưởng với (1) ta được CEEG (2)
 Do CDE nên theo luật tăng trưởng ta có: CDCE (3)
 Từ (2) và (3), áp dụng luật bắc cầu ta được: CDEG(4)
 Do BD nên theo luật tăng trưởng ta có: BCCD (5)
 Từ (4) và (5), áp dụng luật bắc cầu ta được: BCEG(6)
 Do ABC nên theo luật tăng trưởng ta có: ABBC (7)
 Từ (6) và (7), áp dụng luật bắc cầu ta được: ABEG. Suy ra đpcm.
 Do


22


Bao đóng của tập thuộc tính


Định nghĩa bao đóng của tập thuộc tính
23

X+F ={AU| XA F+}


Thuật tốn tính X+F
24



Vào: U, F , X U;



Ra: X+F



Phương pháp:
 Bước

0: Đặt X0=X

 Bước


i: Xi=Xi-1A nếu tồn tại (YZ)F mà YXi -1 với AZ và

AXi-1
 Vì

X=X0 X1 …U, do U hữu hạn nên sẽ tồn tại một chỉ số i nào

đó mà Xi=Xi+1, khi đó: X+F=Xi và dừng thuật toán.


Ví dụ tính X+F
25



F={ABC, DEG, ACDB, CA, BEC, CEAG, BCD, CGBD}
Tính (BD)+F



Giải


B0: Đặt X0 = BD



B1: X1 = X0EG = BDEG vì PTH DEG có vế trái D  X0 và vế phải EGX0




B2: X2 = X1C = BDEGC vì PTH BEC có vế trái BE  X1 và vế phải CX1





B3: X3 = X2A = BDEGCA vì PTH CA có vế trái C  X2 và vế phải A  X2
B4: X4 = X3 = ABCDEG = U
Kết luận: (BD)+F = U= ABCDEG


×