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

Bài giảng Phân tích thiết kế hệ thống thông tin: Chương 7 - Lê Nhị Lãm Thúy - Trường Đại Học Quốc Tế Hồng Bàng

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

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>PHÂN TÍCH THIẾT KẾ THỐNG THƠNG TIN</b>


<b>LÝ THUYẾT CHUẨN HÓA DỮ LIỆU</b>



<i><b>Chương 7</b></i>


 <b>Phụ thuộc hàm.</b>
 <b>Bao đóng.</b>


 <b>Khóa của lược đồ quan hệ.</b>
 <b>Phủ tối thiểu.</b>


 <b>Dạng chuẩn.</b>


 <b>Chuẩn hóa cơ sở dữ liệu.</b>
 <b>Phép tách lược đồ quan hệ.</b>
 <b>Bàitập</b>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Số HD</b> <b>NgàyHD</b> <b>TênKH</b> <b>TênNV</b> <b>TênHH</b> <b>SL</b> <b>DG</b> <b>TT</b>
001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Coca 2 8.000 <b>16.000</b>


001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Pepsi 1 7.000 <b>7.000</b>


001 01/02/19 Nuyễn Ngọc Nga Trần Thị Lan Ken 3 15.000 <b>45.000</b>


002 01/02/19 Nguyễn Thị An Linh Gạo 1 20.000 <b>20.000</b>


002 01/02/19 Nguyễn Thị An Linh Đường 2 21.000 <b>42.000</b>


003 01/02/19 Nguyễn Thị An Linh Sữa 1 25.000 <b>25.000</b>
<b>Ví dụ</b>



<b>Nếu thêm một hóa đơn mới ???</b> <b>Nếu thêm một kết quả thi của sinh viên mới ???</b>


<b>7.1 Phụ thuộc hàm (functional dependence-FD)</b>
<b>Định nghĩa: </b>


Phụ thuộc hàm là ràng buộc giữa 2 tập thuộc tính của 01 lược
đồ quan hệ


R(A1, A2,…, An) là lược đồ quan hệ.


X, Y là hai tập con của tập thuộc tính ={A1, A2,…, An}.
Ta nói Y phụ thuộc hàm vào X: <b>X →</b> <b>Y</b>


<i><b>Với mỗi giá trị tại X trong R xác định duy nhất một giá trị của Y trong R</b></i>


<b>7.1 Phụ thuộc hàm (functional dependence-FD)</b>
Một thể hiện của R thỏa phụ thuộc hàm <b>X </b><b>Y</b>nếu


t1, t2 R


<b>t1.X = t2.X</b> <b>t1.Y = t2.Y</b>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

MONHOC → DIEMTHI ???


HOTEN → DIEMTHI ???


MASV → DIEMTHI ???


<b>Vídụ</b> A B C D E



1 2 3 4 5


1 4 3 4 5


1 2 4 4 1


<b>Kí hiệu nào là phụ thuộc hàm</b>


<b>I. AB→ C</b>


<b>II. B→</b> <b>D</b>


<b>III. DE→ A</b>


<b>(T)</b>


<b>(T)</b>


<b>sai</b>


<b>Phụ thuộc hàm hiển nhiên</b>


<b>Nếu X </b><b>Y thì X→ Y .</b>


<b>Với r là quan hệ bất kỳ, F là tập phụ thuộc hàm </b>
<b>thỏa trên r, ta ln có</b>


<b>F </b><b>{các phụ thuộc hàm hiển nhiên}</b>


<b>7.2 Hệ luật dẫn Armstrong</b>
 Phụ thuộc hàm được suy diễn logic từ F



 Phụ thuộc hàm XYđược suy diễn logic từ F nếu một quan hệ r
bất kỳthỏa mãn tất cả các phụ thuộc hàm của Fthìcũng thỏa phụ
thuộc hàm XY.


 Kýhiệu F|= XY.
 Bao đóng của F


Bao đóng của F là tập tất cả các phụ thuộc hàm
được suy diễn logic từ F.


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>Thuật tốn tìm bao đóng F+</b>


<b>“Áp dụng hệ tiên đề Armstrong cho đến khi </b>
<b>khơng tìm ra thêm phụ thuộc hàm mới”</b>


 <b>Các tính chất của tập F+</b>


<b>Tính phản xạ: F </b><b>F+</b>


<b>Tính đơn điệu: Nếu F </b><b>G thì F+ </b><b><sub>G</sub>+</b>
<b>Tính lũy đẳng: (F+<sub>)</sub>+ <sub>= F</sub>+<sub>.</sub></b>


<b>Phần phụ của F: F-<sub>= G - F</sub>+</b>


<b>(G -tập tất cả các PTH có thể có của r)</b>


<b>7.2 Hệ luật dẫn Armstrong</b>


<b>7.2 Hệ luật dẫn Armstrong</b>



 <b>Hệ luật dẫn Amstrong: Gọi R(</b><b>) làlược đồ quan hệ</b>
<b>với</b><b>={A1, A2,…, An} làtập thuộc tính và X,Y,Z,W là</b>


<b>tập con của</b><b>. (Kíhiệu: XY=X</b><b>Y)</b>


<b>Baluật của tiên đề Amstrong:</b>
<b>1.</b> <b>Luật phản xạ (reflexive rule):</b>


<b>NếuY</b><b>XthìX</b><b>Y</b>


<b>2.</b> <b>Luật tăng trưởng (augmentation rule):</b>
<b>Nếu X </b><b>Y, Z</b> <b>thì XZ </b><b>YZ</b>
<b>3.</b> <b>Luật bắc cầu (Transivity Rule) </b>
<b>Nếu X </b><b>Y và Y </b><b>Z thì X </b><b>Z</b>


Giả sử quan hệ r thoả mãn X Y.


Tồn tại hai bộ t, u r sao cho t[XZ] = u[XZ] mà t[YZ] u[YZ]
Vì t[Z] = u[Z] nên để có t[YZ]u[YZ] thì t[Y] u[Y] (1)
Mà ta có t[XZ] = u[XZ] nên t[X] = u[X] (2)


Từ (1) và (2) ta có t[X] = u[X] và t[Y]u[Y] điều này là trái với
giả thiết quan hệ r thoả mãn X Y.


Vậy t[YZ] = u[YZ] hay XZ YZ là đúng trên quan hệ r.


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>7.2 Hệ luật dẫn Armstrong</b>


<b>Ba hệ quả của tiên đề Amstrong:</b>


<b>1.</b> <b>Luật hợp (Union Rule)</b>


<b>Nếu X </b><b>Y và X </b><b>Z thì X </b><b>YZ</b>


<b>2.</b> <b>Luật bắc cầu giả (Pseudotransivity Rule)</b>
<b>Nếu X </b><b>Y và WY </b><b>Z thì XW </b><b>Z</b>


<b>3.</b> <b>Luật phân rã (Decomposition Rule)</b>
<b>Nếu X </b><b>Y và Z </b><b>Y thì X </b><b>Z</b>


 Định nghĩa


Gọi F là tập các phụ thuộc hàm trên tập thuộc tính 
Bao đóng của F là tất cả các phụ thuộc hàm có thể
suy ra từ F dựa trên các tiên đề Armstrong


<b>7.3 Bao đóng của tập thuộc tính X </b>
<b>(closures of attribute sets)</b>


 Thuật tốn tìm bao đóng:


Tính liên tiếp tập các tập thuộc tính X0<sub>,X</sub>1<sub>,X</sub>2<sub>,... theo phương </sub>


pháp sau:


<i>Bước 1</i>: X0 <sub>= X</sub>


<i>Bước 2</i>: lần lượt xét các phụ thuộc hàm của F
Nếu YZ có Y Xi thì Xi+1 = XiZ



Loại phụ thuộc hàm Y Z khỏi F


<i>Bước 3</i>: Nếu ở bước 2 khơng tính được Xi+1 <sub>thì X</sub>i <sub>chính là </sub>


bao đóng của X


<b>7.3 Bao đóng của tập thuộc tính X </b>
<b>(closures of attribute sets)</b>


Ví dụ 1: Cho lược đồ quan hệ R(A,B,C,D,E,G,H) và
tập phụ thuộc hàm


F={BA; DACE; DH; GHC; ACD}.
Tìm baođóng của X = {A,C} trên F?baođóng


Giải: X(0) <sub>= {A,C} ,</sub><sub>{</sub><sub>A,C</sub><sub>}</sub><sub>{D}</sub>
X(1) <sub>= {A,C,D}, </sub><sub>{A, D}</sub><sub>{C,E}</sub>
X(2) <sub>= {A,C,D,E},</sub><sub>{D}</sub><sub>{H}</sub>
X(3) <sub>= {</sub><sub>A,C,D,E,H</sub><sub>}</sub>


<sub>X</sub>+<sub>= X</sub>(3)


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

 Ví dụ 2: cho lược đồ quan hệ: Q(A,B,C,D,E,G)
F = { f1: A → C;


f2: A → EG;
f3: B →D;
f<sub>4</sub>: G →E}
Tìm baođóng:



- X+ <sub>với X = {A,B};</sub>
- Y+ với Y = {C,G,D}


<b>7.3 Bao đóng của tập thuộc tính X </b>
<b>(closures of attribute sets)</b>


<i><b>Phủ tối thiểu</b></i>



Một phủ tối thiểu của tập phụ thuộc hàm F là một tập phụ
thuộc hàm G


Trong đó:


- G tương đương với F (tức G+<sub>= F</sub>+<sub>)</sub>


- Tất cả các phụ thuộc hàm trong G đều có dạng X A


- Không thể làm G nhỏ hơn được nữa (nghĩa là khơng thể


xóa đi bất kỳ PTH nào trong G, hay xóa đi bất kỳ thuộc tính
nào bên phải, bên trái của mỗi phụ thuộc hàm mà G vẫn
tương đương với F)


<b>7.4 Phủ tối thiểu</b>


<b>F là một tập phụ thuộc hàm tối thiểu nếu thỏa mãn 3 </b>
<b>điều kiện sau:</b>


<b>F là tập phụ thuộc hàm có vế trái khơng dư thừa</b>
<b>F là tập phụ thuộc hàm có vế phải một thuộc tính.</b>


<b>F là tập phụ thuộc hàm khơng dư thừa</b>


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<i>Thuật tốn tìm phủ tối thiểu</i>
<i>Bước 1:</i>


- Tách vế phải mỗi PTH trong F sao cho các vế phải mỗi


PTH chỉ chứa 1 thuộc tính
<i>Bước 2:</i>


- Tìm các PTH đầy đủ bằng cách loại bỏ các PTH dư thừa


ở vế trái của từng PTH
<i>Bước 3:</i>


-Loại bỏ các PTH dư thừa trong F


<b>7.4 Phủ tối thiểu</b>


<b>R(A, B, C, D, E, F, G, H)</b>


<b>T = {ABH → CK, A → D, C → E, BGH → F, F → AD, E → F, BH → E}</b>
<b>Tìm phủ tối thiểu</b>


<i>Bước 1:</i>


Tách vế phải của các thuộc tính hàm thành các thuộc tính đơn lẻ:
<b>ABH → C</b>


<b>ABH → K</b>


A → D
C → E
BGH → F
<b>F → A</b>
<b>F → D</b>
E → F
BH → E
<b>Ví dụ</b>


<b>Loại bỏ các thuộc tính dư thừa phía bên trái của mỗi </b>
<b>thuộc tính hàm:</b>


<b>2.1. Xét ABH → C</b>


-Loại A trong ABH → C:


Ta có (BH)+ = (BHEFADK) chứa A, nên A dư thừa.
-Loại B trong ABH → C:


Ta có (AH)+ = (AHD) không chứa B, nên B không dư thừa.
-Loại H trong ABH → C:


Ta có (AB)+ = (ABD) khơng chứa H, nên H không dư thừa.
<b>T = {ABH → C, ABH → K, A → D, C → E, BGH → F, F → A, F → D, </b>


<b>E → F, BH → E}</b>


<b>Bước 2</b> <b>T = {ABH → C, ABH → K, A → D, C → E, BGH → F, F → A, </b>
<b>F → D, E → F, BH → E}</b>



<b>2.2. Xét ABH → K</b>


-Loại A trong ABH → K:


Ta có (BH)+ = (BHEFADK) chứa A, nên A dư thừa.
-Loại B trong ABH → K:


Ta có (AH)+ = (AHD) khơng chứa B, nên B khơng dư thừa.
-Loại H trong ABH → K:


Ta có (AB)+ = (ABD) không chứa H, nên H không dư thừa.


<b>Kết quả: T = {BH → C, BH → K, A → D, BGH → F, F → A, F → </b>
<b>D, E → F, BH → E}</b>


</div>

<!--links-->

×