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

Chương 8: Phụ thuộc hàm và dạng chuẩn pot

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 (472.82 KB, 91 trang )

Chương 8
Chương 8
Phụ thuộc hàm &
Phụ thuộc hàm &
Dạng chuẩn
Dạng chuẩn
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 2
Nội dung chi tiết

Chất lượng của lược đồ CSDL quan hệ

Phụ thuộc hàm

Dạng chuẩn
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 3
Chất lượng của lược đồ CSDL
QH

Như thế nào là thiết kế 1 lược đồ quan hệ tốt/tồi?

Đánh giá lược đồ quan hệ dựa trên tiêu chí (không
theo chuẩn)
-
Ngữ nghĩa của các thuộc tính
-
Giảm giá trị trùng lắp trong các bộ
-
Giảm giá trị null trong các bộ
-
Không cho phép tồn tại các bộ dữ liệu sai (không xác
định)



Đánh giá lược đồ theo dạng chuẩn
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 4
Ngữ nghĩa của thuộc tính

Làm thế nào để hiểu được giá trị của thuộc tính
trong một bộ?
-
Thiết kế lược đồ sao cho dễ dàng giải thích nghĩa của

-
Giữ cho các thuộc tính trên quan hệ không được trùng
lắp
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 5
Trùng lắp dữ liệu

Khi một phần của dữ liệu có thể suy ra từ một số
phần dữ liệu khác, ta nói có sự trùng lắp dữ liệu
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 6
Khó khăn của thiết kế dữ liệu QH

Thiết kế dữ liệu quan hệ đòi hỏi thu thập các lược
đồ quan hệ tốt

Vì nếu lược đồ quan hệ là tồi
-
Sẽ có nguy cơ dẫn tới trùng lắp thông tin
-
Khó khăn trong việc thêm, xóa, sửa dữ liệu
Lược đồ Phim là 1 thiết kế tốt hay tồi ?

Tênphim Nămsx Thờilượng Loạiphim Xưởngsx Diễnviên
Star Wars 1977 124 color Fox Carrie Fisher
Star Wars 1977 124 color Fox Mark Hamill
Star Wars 1977 124 color Fox Harrison Ford
Mighty Ducks 1991 104 color Disney Emilio Esteves
Wayne’s World 1992 95 color Paramount Dana Carvey
Wayne’s World 1992 95 color Paramount Mike Meyers
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 7
Phân rã lược đồ

Phân rã là chia quan hệ gốc thành một vài quan hệ
nhỏ hơn
-
Mục đích: làm giảm sự trùng lắp thông tin

Hai đặc tính quan trọng cần phải duy trì trong suốt
quá trình phân rã
-
Sự bảo toàn thông tin

Có thể tìm được bất kỳ thể hiện nào của quan hệ gốc từ các
quan hệ được phân rã
-
Bảo toàn phụ thuộc

Các ràng buộc trên quan hệ gốc phải được đảm bảo còn giữ
trên các quan hệ được phân rã
8
Ví dụ


Xét quan hệ Phim
Tênphim Nămsx Thờilượng Loạiphim Xưởngsx Diễnviên
Star Wars 1977 124 color Fox Carrie Fisher
Star Wars 1977 124 color Fox Mark Hamill
Star Wars 1977 124 color Fox Harrison Ford
Mighty Ducks 1991 104 color Disney Emilio Esteves
Wayne’s World 1992 95 color Paramount Dana Carvey
Wayne’s World 1992 95 color Paramount Mike Meyers
Bỏ sót
cập nhật
Xóa
luôn
phim
Thêm chính xác
9
Ví dụ

Tìm cách tách quan hệ Phim
Tênphim Nămsx Thờilượng Loạiphim Xưởngsx
Star Wars 1977 124 color Fox
Mighty Ducks 1991 104 color Disney
Wayne’s World 1992 95 color Paramount
Diễnviên
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Esteves
Dana Carvey
Mike Meyers
Tênphim Nămsx

Star Wars 1977
Star Wars 1977
Star Wars 1977
Mighty Ducks 1991
Wayne’s World 1992
Wayne’s World 1992
Phim1
Phim2
Xóa
luôn
phim
Trùng lắp
Trùng lắp
Bỏ sót
cập nhật
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 10
Giá trị null trong các bộ

Giá trị null có thể xảy ra ở các trường hợp
-
Thuộc tính không được áp dụng
-
Giá trị tại thuộc tính chưa xác định
-
Giá trị xác định, nhưng chưa nhập

Vì thế
-
Nhiều giá trị null được lưu trong nhiều bộ
-

Tốn nhiều không gian lưu trữ
-
Không chắc chắn cho ra kết quả mong muốn khi sử
dụng các hàm Sum, Count
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 11
Nội dung chi tiết

Chất lượng của lược đồ CSDL quan hệ

Phụ thuộc hàm
-
Định nghĩa
-
Hệ quả và suy dẫn
-
Bao đóng
-
Phủ tối thiểu
-
Khóa

Dạng chuẩn
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 12
Phụ thuộc hàm

PTH (Functional Dependencies)

Là một loại RBTV rất quan trọng để phát hiện các
thiết kế CSDL tốt


Có thể biểu diễn RBTV bằng PTH

PTH được phát biểu dựa trên
-
Ngữ nghĩa của môi trường ứng dụng
-
Qui tắc
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 13
Phụ thuộc hàm (tt)

PTH trên quan hệ R biểu diễn mối liên hệ giữa các
tập thuộc tính trong R
-
Nếu 2 bộ của R có các giá trị giống nhau tại các thuộc
tính A
1
, A
2
, …, A
n

-
Thì các giá trị tại các thuộc tính B
1
, B
2
, …, B
m
cũng phải
giống nhau


Ký hiệu
 Ta nói A
1
, A
2
, …, A
n
xác định hàm B
1
, B
2
, …, B
m
t1
t2
A’s B’s
Nếu Thì
A
1
, A
2
, …, A
n
→ B
1
, B
2
, …, B
m


Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 14
Phụ thuộc hàm (tt)

Định nghĩa
-
Cho quan hệ R
-
A, B là những tập thuộc tính khác rỗng
-
Một thể hiện r(R) thỏa PTH f: A → B nếu


t1, t2

r,
=
t1[A] t2[A]
=
t1[B] t2[B]
Mỗi giá trị tại A xác định duy nhất một giá trị tại B
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM 15
Ví dụ
16
Ví dụ

Xét lược đồ quan hệ

Và thể hiện
Phim(Tênphim, Nămsx, Thờilượng, Loạiphim, Xưởngsx, Diễnviên)

Tênphim Nămsx Thờilượng Loạiphim Xưởngsx Diễnviên
Star Wars 1977 124 color Fox Carrie Fisher
Star Wars 1977 124 color Fox Mark Hamill
Star Wars 1977 124 color Fox Harrison Ford
Mighty Ducks 1991 104 color Disney Emilio Esteves
Wayne’s World 1992 95 color Paramount Dana Carvey
Wayne’s World 1992 95 color Paramount Mike Meyers
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
17
Ví dụ (tt)

Tìm được nhiều PTH
Tênphim, Nămsx → Diễnviên
Không là phụ thuộc hàm
Tênphim, Nămsx → Thờilượng
Tênphim, Nămsx → Loại
Tênphim, Nămsx → Xưởngsx
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
18
Chú ý

Xét thể hiện r1
Tênphim Nămsx Thờilượng Loạiphim Xưởngsx Diễnviên
Star Wars 1977 124 color Fox Carrie Fisher
Star Wars 1977 124 color Fox Mark Hamill
Star Wars 1977 124 color Fox Harrison Ford
Mighty Ducks 1991 104 color Disney Emilio Esteves
Wayne’s World 1992 95 color Paramount Dana Carvey
Wayne’s World 1992 95 color Paramount Mike Meyers
Tênphim → Loại

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
19
Chú ý (tt)

Xét thể hiện r2
Tênphim Nămsx Thờilượng Loạiphim Xưởngsx Diễnviên
Star Wars 1977 124 color Fox Carrie Fisher
Star Wars 1977 124 color Fox Mark Hamill
Star Wars 1977 124 color Fox Harrison Ford
Mighty Ducks 1991 104 color Disney Emilio Esteves
Kingkong 1993 120 color Paramount Fay Wray
Kingkong 1993 120 black/white Paramount Robert Amstrong
Tênphim → Loại
PTH phải được định nghĩa trên lược đồ quan hệ
Thỏa với mọi thể hiện của quan hệ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
20
Hệ quả từ tập PTH

Cho F là tập các PTH định nghĩa trên R
-
Nếu có 1 PTH f khác cũng được thỏa với mọi thể hiện
của R
-
Thì ta gọi f là hệ quả của F
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
21
Ví dụ

Xét lược đồ R(A, B, C, G, H, I)


Và PTH F định nghĩa trên R

f6 là phụ thuộc hàm hệ quả từ F
F = { f1: A → B
f2: A → C
f3: CG → H
f4: CG → I
f5: B → H
}
f6: A → H
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
22
Bao đóng của PTH

Closure of a Set of Functional Dependencies

Cho F là tập các PTH định nghĩa trên R

Tập hợp các PTH hệ quả từ F được gọi là bao đóng
của F
-
Ký hiệu F
+
F ⊆ F
+
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
23
Tìm bao đóng của F


Từ tập F ban đầu ta sử dụng định nghĩa hình thức
của PTH để tìm bao đóng F
+

Nếu F quá lớn, tìm F
+
sẽ khó khăn và tốn thời gian
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
24
Suy dẫn từ tập PTH

Cho trước một tập PTH trên 1 quan hệ

Có thể suy luận “quan hệ phải thỏa một tập PTH
khác nào đó”

Khả năng suy dẫn nhằm khám phá thêm tập PTH
-
Rất cần thiết để thiết kế các lược đồ quan hệ đạt chất
lượng tốt
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
25
Ví dụ

Xét lược đồ R(A,B,C) thỏa tập PTH

Ta có thể suy diễn R còn thỏa PTH
F = { f1: A → B
f2: B → C }
f3: A → C

Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM

×