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

Phụ thuộc dữ liệu trong mô hình quan hệ

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 (252.63 KB, 40 trang )

Phụ thuộc dữ liệu trong mô hình
quan hệ
Trình bày: Nguyễn Đăng Khoa
Phụ thuộc dữ liệu trong mô hình quan hệ 2
Nhắc lại mô hình quan hệ

Quan hệ Q

Định nghĩa trên 1 tập thuộc tính (A
1
, A
2
, …, A
n
)

Tân từ ||Q|| để mô tả mối liên hệ ngữ nghĩa giữa những
thuộc tính trong Q

Ký hiệu

Q(A
1
, A
2
, …, A
n
): quan hệ Q định nghĩa trên tập các thuộc
tính A
1
, A


2
, …, A
n

Q
+
= {A
1
, A
2
, …, A
n
}

Dom(A): miền giá trị (domain) của thuộc tính A
Phụ thuộc dữ liệu trong mô hình quan hệ 3
Nhắc lại mô hình quan hệ

Một bộ q của quan hệ Q(A
1
, A
2
, …, A
n
) là 1 tổ
hợp giá trị (a
1
, a
2
, …, a

n
) thỏa 2 điều kiện

a
i
∈Dom(A
i
), ∀A
i
∈ Q
+

Tân từ ||Q(a
1
, a
2
, …, a
n
)|| được thỏa

1 thể hiện của Q là tập các bộ của Q, ký hiệu
TQ
Phụ thuộc dữ liệu trong mô hình quan hệ 4
Nhắc lại mô hình quan hệ - Phép
chiếu

Chiếu 1 bộ q của Q lên 1 tập thuộc tính X ⊂ Q
+
(giả
sử X = {A

1
, A
2
, …, A
m
}):

Là phép trích các giá trị tương ứng với các thuộc tính
trong X từ bộ q

Ký hiệu: q.X hoặc q[A
1
, A
2
, …, A
m
]

Chiếu 1 thể hiện TQ của Q lên X

Là phép trích các giá trị tương ứng với các thuộc tính
trong X từ tất cả các bộ trong TQ

Ký hiệu TQ[X] hoặc TQ[A
1
, A
2
, …, A
m
]

Phụ thuộc dữ liệu trong mô hình quan hệ 5
Nhắc lại mô hình quan hệ - Ví dụ
q = (a
1
, a
2
, …, a
m
, a
m+1
, …, a
n
)
=> q.X = (a
1
, a
2
, …, a
m
)
TQ
=> TQ[X]
A
1
A
2
A
m
a
1

a
2

a
m
a'
1
a
2

a'
m
A
1
A
2
A
m
A
m+1
A
n
a
1
a
2

a
m
a

m+1

a
n
a'
1
a
2

a'
m
a
m+1

a'
n
Phụ thuộc dữ liệu trong mô hình quan hệ 6
Nhắc lại mô hình quan hệ - Khóa

K ⊆ Q
+
là khóa (key) của quan hệ Q khi và chỉ
khi
i. Mỗi giá trị k của khóa K xác định duy nhất 1 bộ
của Q
ii. K là tập thuộc tính nhỏ nhất thỏa điều kiện (i)

Nếu chỉ thỏa điều kiện (i), K được gọi là 1 siêu
khóa của Q
Phụ thuộc dữ liệu trong mô hình quan hệ 7

Phụ thuộc hàm

Phụ thuộc hàm (functional dependency) (PTH)
thể hiện sự phụ thuộc của 1 tập thuộc tính (Y)
đối với tập thuộc tính khác (X)

Định nghĩa dựa trên những ngữ nghĩa, qui tắc tìm
hiểu được từ môi trường ứng dụng

Ký hiệu X → Y

Biểu diễn bằng đồ thị
Phụ thuộc dữ liệu trong mô hình quan hệ 8
Phụ thuộc hàm

Cho quan hệ Q; X, Y, Z là các tập thuộc tính, X ≠
∅, Y ≠ ∅

1 thể hiện TQ của Q thỏa PTH X → Y nếu:
∀q, q' ∈ TQ, q.X = q'.X => q.Y = q'.Y

TQ vi phạm PTH X → Y nếu:
∃q, q' ∈TQ: q.X = q'.X và q.Y ≠ q'.Y

PTH X → Y được gọi là định nghĩa trên Q nếu ∀TQ là
thể hiện của Q, TQ thỏa PTH này

PTH X → Y gọi là PTH hiển nhiên ⇔ Y ⊆ X
Phụ thuộc dữ liệu trong mô hình quan hệ 9
Phụ thuộc hàm - Ví dụ

Phụ thuộc dữ liệu trong mô hình quan hệ 10
Nhận diện PTH

Việc nhận diện PTH dựa vào ý nghĩa của thuộc tính và
mối quan hệ của chúng trong quan hệ.

Dựa vào dữ liệu trên Staff:

staffNo → sName

sName → staffNo

Tuy nhiên, chỉ có PTH:

staffNo → sName
Phụ thuộc dữ liệu trong mô hình quan hệ 11
Nhận diện PTH - Ví dụ

Xét lược đồ quan hệ
Phim(Tênphim, Nămsx, Thờilượng, Loạiphim, Xưởngsx,
Diễnviên)

Và thể hiệ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

Phụ thuộc dữ liệu trong mô hình quan hệ 12
Nhận diện PTH - Ví dụ

Tìm được nhiều PTH
Tênphim, Nămsx → Thờilượng
Tênphim, Nămsx → Loại
Tênphim, Nămsx → Xưởngsx
Tênphim, Nămsx → Diễnviên
Phụ thuộc dữ liệu trong mô hình quan hệ 13
Nhận diện PTH - Ví dụ

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
Phụ thuộc dữ liệu trong mô hình quan hệ 14
Nhận diện PTH - Ví dụ

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ệ
Phụ thuộc dữ liệu trong mô hình quan hệ 15
Phụ thuộc hàm - Ví dụ

Cho quan hệ
PHÂN_CÔNG (Phi_Công, Máy_Bay, Ngày_KH,
Giờ_KH)

Qui định

Mỗi máy bay có 1 giờ khởi hành duy nhất

Nếu biết phi công, ngày, giờ khởi hành thì biết được
máy bay do phi công ấy lái

Nếu biết máy bay, ngày khởi hành thì biết phi công
lái chuyến bay ấy
Phụ thuộc dữ liệu trong mô hình quan hệ 16
Phụ thuộc hàm - Ví dụ

Mỗi máy bay có 1 giờ khởi hành duy nhất
MÁY_BAY → GIỜ_KH

Nếu biết phi công, ngày, giờ khởi hành thì biết
được máy bay do phi công ấy lái
PHI_CÔNG, NGÀY_KH, GIỜ_KH → MÁY_BAY

Nếu biết máy bay, ngày khởi hành thì biết phi

công lái chuyến bay ấy
MÁY_BAY, NGÀY_KH → PHI_CÔNG
Phụ thuộc dữ liệu trong mô hình quan hệ 17
Phụ thuộc hàm - Ví dụ

Xét lịch xếp lớp của 1 cơ sở giảng dạy trong 1
ngày, ta có các PTH sau
(1) GV, Giờ → Lớp
(2) Giờ, Lớp → Phòng
(Cho 1 giờ học và lớp học cụ thể, ta sẽ biết được lớp đó
đang học phòng nào vào giờ đó)
⇒ Nếu biết GV và giờ dạy, ta sẽ biết được Phòng
mà GV dạy vào giờ đó
⇒ (3) GV, Giờ → Phòng
(3) là hệ quả của (1) và (2)
Phụ thuộc dữ liệu trong mô hình quan hệ 18
Hệ quả của tập PTH

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

PTH f là hệ quả của ℱ, ký hiệu ℱ╞ f nếu f được
thỏa trong tất cả các thể hiện TQ của Q

Tập tất cả các phụ thuộc hàm hệ quả của ℱ gọi là
bao đóng (clousure) của ℱ, ký hiệu ℱ
+
(ℱ ⊆ ℱ
+
)
Làm sao xác định ℱ

+
?
Phụ thuộc dữ liệu trong mô hình quan hệ 19
Hệ tiên đề Amstrong

Gồm 3 luật dẫn

(FD1) Luật phản xạ
∀Y ⊆ X, X → Y

(FD2) Luật cộng
Nếu X → Y và Z ⊆ W thì X,W → Y,Z

(FD3) Luật bắc cầu
Nếu X → Y và Y → Z thì X → Z

Hệ tiên đề Amstrong là 1 tập luật dẫn hợp lệ và đầy đủ

Là cơ sở để tính ℱ
+
Phụ thuộc dữ liệu trong mô hình quan hệ 20
1 số luật dẫn thông dụng khác

Từ các luật dẫn trong tiên đề Amstrong ta có thể suy
ra các luật dẫn khác.1 số sau đây thường được sử
dụng

Luật bắc cầu giả
Nếu X → Y và Y, W → Z thì X, W → Z


Luật hội
Nếu X → Y và X → Z thì X → Y, Z

Luật phân rã
Nếu X → Y và Z ⊆ Y thì X → Z
Ghi chú: X, Y hay XY có nghĩa là X ∪ Y
Phụ thuộc dữ liệu trong mô hình quan hệ 21
Hệ quả của tập PTH - Ví dụ

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

Và PTH ℱ định nghĩa trên Q

f
6
là phụ thuộc hàm hệ quả từ ℱ
ℱ = {
f
1
: A → B
f
2
: A → C
f
3
: CG → H
f
4
: CG → I
f

5
: B → H }
f
6
: A → H
Phụ thuộc dữ liệu trong mô hình quan hệ 22
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 là rất
cần thiết để thiết kế các lược đồ quan hệ đạt chất lượng
tốt
Phụ thuộc dữ liệu trong mô hình quan hệ 23
Suy dẫn từ tập PTH - Ví dụ

Xét lược đồ Q(A,B,C) thỏa tập PTH
Ta có thể suy diễn Q còn thỏa PTH
ℱ = {
f
1
: A → B
f
2
: B → C }
f
3

: A → C
Phụ thuộc dữ liệu trong mô hình quan hệ 24
PTH suy dẫn từ ℱ

f là 1 PTH được suy dẫn từ ℱ, ký hiệu ℱ├ f, nếu

Tồn tại 1 chuỗi PTH f
1
, f
2
, f
n
, với

f
n
= f

f
i
∈ℱ hoặc được suy từ những PTH f
j
, j=1 i-1 nhờ vào luật dẫn

ℱ' là tập các PTH suy dẫn từ ℱ nhờ vào tập luật dẫn R
(ℱ ⊆ ℱ')

Tập luật dẫn R là hợp lệ và đầy đủ nếu và chỉ nếu ℱ ' =

+

Phụ thuộc dữ liệu trong mô hình quan hệ 25
Bao đóng của tập PTH

Nhận xét: ℱ
+
thường rất lớn

Thực tế: cho 1 PTH f: X → Y, xác định xem f
có thuộc ℱ
+
(có thỏa với mọi thể hiện của
quan hệ Q?)
⇒ Có cần phải xác định ℱ
+
để trả lời câu hỏi
này?

×