1. Trang chủ
  2. » Giáo án - Bài giảng

Thiết kế CSDL

55 349 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Cơ Sở Dữ Liệu
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 55
Dung lượng 219,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một số định nghĩa Định nghĩa 1:  Cho U là một tập thuộc tính, RU là một lược đồ quan hệ trên U... 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

Trang 1

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ệ

Trang 2

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

Trang 3

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à ∀ t1, t2 ∈ r , t1[X]=t2[X] kéo theo t1[Y] = t2[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 t1[X] = t2[X] => t1[Y] = t2[Y], ∀ t1, t2 ∈

r.

Trang 4

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 đủ.

Trang 5

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.

Trang 6

1.2 Hệ tiên đề Armstrong

Hệ tiên đề Armstrong gồm ba tính chất:

 A1 Phản xạ:

Trang 7

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

Trang 8

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)}

Trang 9

nh lyù 1 Đị

 F = Arm (X →Y) <=> Y ⊆ X+F

Trang 10

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

Trang 11

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 ={Li → Ri , i=1 m}

 Tập X ⊆ U.

 Output: X+F

 Phương pháp:

 Bước 1: Gán X0 = X

 Bước 2: Giả sử tìm được Xk

 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 = Xk và kết thúc thuật toán.

Trang 12

 Chọn D → EG, ta có: X1= X0 ∪ EG = BDEG

 Chọn BE → C, ta có: X2= X1 ∪ C = BCDEG

 Chọn C → A, ta có: X3= X2 ∪ A = ABCDEG

 Dừng X+F = ABCDEG

Trang 13

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:

Trang 14

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

Trang 15

Ví dụ:

 Kiểm tra xem hai tập PTH sau có tương đương không?

 F ={A → B, B → A, A → C, C → A, B → C}.

 G1= {A → B, B → C, C → A}

Trang 16

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ó

Trang 17

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 F2

3 Loại bỏ những thuộc tính dư thừatrong vế trái của các PTH trong F2 ta được F3.

(F 3 chính là tập PTH tối tiểu tương đương với F.)

Trang 20

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ớ Li = Lj) thì thay 2 PTH này i

bởi PTH mới: Li → Ri ∪ Rj

Trang 22

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)

Trang 23

2.3 Giải thuật tìm một khóa:

Endfor

Return K

Trang 24

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

Trang 25

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 – U0 I; U’=U – U0 I

Trang 26

Ví dụ:

F={AI →IECD, ADJ →GH, CDL → ABD, CDL→EHL }

 Tìm khóa của α

- Bước 2: U0 = ABCDEGHIJL - ABCDEGH = IJL

- Bước 3: I= ABCDEGH – ACDIJL = BEGH

- Bước 4: U’ = ABCDEGHIJL – BEGHIJL = ACD

=> F’={ A→ CD, CD → A}

- Bước 5: Xác định khóa KR’ = {A, CD}

- Bước 6: xác định khóa KR = IJL ⊕ {A, CD} = {AIJ L, CDIJ L}

Trang 27

3 CHUẨN HÓA CƠ SỞ DỮ LIỆU

3 1 Chuẩn hóa lược đồ quan hệ của CSDL

Chuẩn hóa CSDL là quá trình áp dụng các qui tắc để chuyển các lược đồ

quan hệ thành các dạng chuẩn cao hơn nhằm hạn chế những bất thường khi thao tác trên CSDL.

Trang 28

3.2 D ng chu n 1 ạ ẩ (1NF)

Định nghĩa: Một lược đồ quan hệ R(A1, A2, …, An) được gọi là đạt

dạng chuẩn 1 nếu mọi thuộc tính A1, A2, …, An của nó đều có giá trị đơn.

Ví dụ: Cho lược đồ quan hệ VATTU(MAVT, TENVT,

SOLG_DONGIA)

Xét quan h trên l c đ quan h VATTU ệ ượ ồ ệ

MAVT TENVT SOLG_DONGIA

LT01 S t ắ 100; 500 LT2 Xi m ng ă 50;50000

Trang 29

 Do thuộc tính SOLG_DONGIA của lược đồ VATTU có giá trị là danh sách

nên nó không phải lược đồ ở 1NF Để nó ở 1NF, ta tách thuộc tính SOLG_DONGIA thành các thuộc tính đơn sau:

 VATTU(MAVT, TENVT, SOLG_DONGIA) → VATTU(MAVT, TENVT, SOLG, DONGIA)

MAVT TENVT SOLG DONGIA

LT01 S t ắ 100 500 LT2 Xi m ng ă 50 50000

Trang 30

3.3 D ng chu n 2 ạ ẩ (2NF)

a Phụ hàm đầy đủ: Một lược đồ quan hệ R(A1, A2, …, An) X,

Y là các tập con của R PTH X →Y trên R gọi là PTH đầy đủ nếu không tồn tại tập con X’ của X (X’⊂X) mà X’→Y

 Ví dụ 1:

Cho lược đồ qhệ CTHD(SOHD, MAMH, SOLG, DONGIA)

SOHD,MAMH → SOLG là PTH đầy đủ Vì

 SODH → SOLG

 MAMH → SOLG

Trang 32

3.3 D ng chu n 2 ạ ẩ (2NF)

b Định nghĩa: Môt lược đồ quan hệ được gọi là đạt dạng chuẩn

phần của khóa đều phụ thuộc hàm đầy đủ vào khóa.

Trang 33

CTHD(SOHD, MAMH, SOLG, DONGIA)

 MATHANG(MAMH, TENMH)

Trang 34

3.4 D ng chu n 3 ạ ẩ (3NF)

a PTH bắc cầu: Cho lược đồ quan hệ R(A1, A2, …, An) X là một

tập con của R Thuộc tính Ai(i:1 n) được gọi là PTH bắc cầu vào X nếu tồn tại tập Y sao cho:

i X → Y và Y → Ai

ii Y → X

iii Ai ∉ X và Ai ∉ Y

X → Y → Ai

Trang 35

Ví d : ụ

MAHV → MALOP → TENLOP

Trang 36

3.4 D ng chu n 3 ạ ẩ (3NF)

b Định nghĩa: Môt lược đồ quan hệ được gọi là đạt dạng

chuẩn 3 nếu:

Nó đạt dạng chuẩn 2

Mọi thuộc tính không phải là thành phần của khóa đều

không phụ thuộc bắc cầu vào khóa.

Trang 37

Ví d : ụ

 Cho lược đồ quan hệ:

 HV(MAHV, HOTEN, MALOP, TENLOP)

 Phụ thuộc hàm MAHV TENLOP là PTH bắc cầu vì:

 Nên HV vi pham dạng chuẩn 3 Để HV đạt 3NF ta tách nó thành hai lược

đồ sau:

 LOP(MALOP, TENLOP)

 HV(MAHV, HOTEN, MALOP)

MAHV → MALOP → TENLOP

Trang 38

3.5 Dạng chuẩn BCNF (Boye Codd)

Định nghĩa: Một lược đồ quan hệ R(A1, A2, …, An) gọi là đạt dạng chuẩn BCNF mà mọi thuộc tính Ai X mà X A → i thì X phải là khóa của R.

Trang 40

Tính chất

 Một lược đồ quan hệ đạt dạng chuẩn BCNF thì nó đạt dạng chuẩn 3NF

Trang 41

4 PHÉP TÁCH CÁC LƯỢC ĐỒ QUAN HỆ

 4.1 Khái niệm về phép tách

 4.2 Phép tách với kết nối không thất thoát

 4.3 Kiểm tra tính kết nối không thất thoát của một phép tách

 4.4 Phép tách bảo toàn phụ thuộc hàm

Trang 42

4.1 Khái niệm về phép tách

 ,Cho U1, U2, …, Uk sao cho U = U1 ∪ U2 ∪, …,∪ Uk và không

nhất thiết các U1, U2, …, Uk rời nhau Việc thay thế lược đồ R=(U, F) bởi R1 = (U1, F1), …, Rk=(Uk, Fk) được gọi là phép tách lược đồ quan hệ đã cho (U, F) Kí hiệu là ρ=(R1, R2, …,

Rk) hay ρ=(U1,…, Uk)

 Với: Fi là chiếu của F lên tập thuộc tính Ui

( π Z (F) = {(X → Y) ∈ F + , XY ⊆ Z} là chiếu của F lên Z.)

Trang 43

4.2 Phép tách với kết nối không thất thoát

(r).

Trang 45

4.3 Kiểm tra tính kết nối không thất thoát của một phép

Trang 46

Phương pháp

 Lập bảng k x n k dòng đại diện cho U 1 , …, U k ; và n cột đại diện cho A 1 , A 2 , …,

A n

 Tại dòng i, cột j ghi là a j nếu A j ∈ U i , ngược lại ghi b ij

 Với mỗi PTH (X Y), xét từng cặp dòng có giá trị bằng nhau trên X ta đổi các → ký hiệu trên các dòng này bằng nhau trên Y, theo quy tắc:

 Nếu một trong hai ký hiệu là a j thì ký hiệu kia sẽ được đổi thành a i

 Nếu cả hai ký hiệu là b ij thì lấy ký hiệu tùy ý gán cho cả hai.

 Quá trình lặp trên sẽ kết thúc nếu không thay đổi được bảng nữa.

 Nếu có một dòng toàn là ký hiệu a i thì phép tách là không thất thoát.

Trang 47

Ví dụ

A B C D E U1 a1 b12 b13 a4 b15 U2 a1 a2 b23 b24 b25 U3 b31 a2 b33 b34 a5 U4 b41 b42 a3 a4 a5 U5 a1 b52 b53 b54 a5

Cho U = ABCDE, U1=AD, U2=AB, U3=BE, U4=CDE, U5=AE

Tập phụ thuộc hàm là: A →C, B→C, C→D, DE→C, CE→A

Trang 48

Ví duï

A B C D E U1 a1 b12 b13 a4 b15 U2 a1 a2 b13 b24 b25 U3 b31 a2 b33 b34 a5 U4 b41 b42 a3 a4 a5 U5 a1 b52 b13 b54 a5

Xeùt PTH: A → C

Trang 49

Ví duï

A B C D E U1 a1 b12 b13 a4 b15 U2 a1 a2 b13 b24 b25 U3 b31 a2 b13 b34 a5 U4 b41 b42 a3 a4 a5 U5 a1 b52 b13 b54 a5

Xeùt PTH: B→ C

Trang 50

Ví duï

A B C D E U1 a1 b12 b13 a4 b15 U2 a1 a2 b13 b24 b25 U3 b31 a2 b13 b34 a5 U4 b41 b42 a3 a4 a5 U5 a1 b52 b13 b54 a5

Xeùt PTH: B→ C

Trang 51

Ví duï

A B C D E U1 a1 b12 b13 a4 b15 U2 a1 a2 b13 a4 b25 U3 b31 a2 b13 a4 a5 U4 b41 b42 a3 a4 a5 U5 a1 b52 b13 a4 a5

Xeùt PTH: C→ D

Trang 52

Ví duï

A B C D E U1 a1 b12 b13 a4 b15 U2 a1 a2 b13 a4 b25 U3 b31 a2 a3 a4 a5 U4 b41 b42 a3 a4 a5 U5 a1 b52 a3 a4 a5

Xeùt PTH: DE→ C

Trang 53

Ví duï

A B C D E U1 a1 b12 b13 a4 b15 U2 a1 a2 b13 a4 b25 U3 a1 a2 a3 a4 a5 U4 b41 b42 a3 a4 a5 U5 a1 b52 a3 a4 a5

Xeùt PTH: CE→ A

Trang 54

3.4 Phép tách bảo toàn phụ thuộc hàm

của lược đồ R=(U, F).

Trang 55

Ví dụ:

 Mỗi thành phố (City) có nhiều đường (Street), các đường có thể trùng tên ở hai thành phố khác nhau Mỗi đường của mỗi thành phố được có một mã (Zip code)

 Như vậy ta có lựơc đồ quan hệ CSZ với:

 U=CSZ

 F= {CS Z, Z C} → →

Ngày đăng: 14/09/2013, 03:10

Xem thêm

TỪ KHÓA LIÊN QUAN

w