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

hoa cuong có thì sử dụng – thích thì lao vào

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 (99.21 KB, 30 trang )

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

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



1. Đặt vấn đề


2. Dạng chuẩn 1
3. Dạng chuẩn 2
4. Dạng chuẩn 3


5. Dạng chuẩn Boyce-Codd


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

2


1. ĐẶT VẤN ĐỀ



Xét quan hệ ĐẶT_HAØNG (SốĐH, NgàyĐH,
MãKH, MãHH, SốLượng )


<b>SốĐH</b> <b>NgàyĐH</b> <b>MãKH</b> <b>MãHH</b> <b>SốLượng</b>


<b>DH01</b> <b>5/1/99</b> <b>KH01</b> <b>H01</b> <b>50</b>


<b>DH02</b> <b>13/2/99</b> <b>KH05</b> <b>H02</b> <b>30</b>


<b>DH02</b> <b>13/2/99</b> <b>KH05</b> <b>H03</b> <b>40</b>


Với tập Pth F = { SốĐH  NgàyĐH, MãKH ;
SốĐH, MãHH  SốLượng }


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

1. ĐẶT VẤN ĐỀ



<b>Sự trùng lắp thơng tin dẫn đến:</b>



 Tăng chí phí lưu trữ


 Tăng chi phí kiểm tra RBTV
 Thiếu nhất quaùn


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

4


1. ĐẶT VẤN ĐỀ



Tổ chức lại thành 2 quan hệ như sau:


<b>ĐẶT_HÀNG ( SốĐH, NgàH, MãKH )</b>


<i>Với F1 = { SốĐH </i><i> NgàyĐH, MãKH }</i>
<b>CHITIẾT_ĐH (SốĐH, MãHH, SốLượng )</b>


<i>Với F2 = { SốĐH, MãHH </i><i> SốLượng }</i>


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

1. ĐẶT VẤN ĐỀ



Để có thể đánh giá một cách cụ thể chất
lượng thiết kế của một lược đồ CSDL, lúc
đầu E.F.Codd (tác giả của mô hình dữ liệu
quan hệ) đưa ra <i><b>3 dạng chuẩn</b></i> và sau đó
R.F.Boyce và E.F.Codd cải tiến dạng chuẩn
3 gọi là <i><b>dạng chuẩn Boyce-Codd</b></i> (BC)


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

6



1. ĐẶT VẤN ĐỀ



<b>Mục đích của quá trình chuẩn hóa</b>


 Để biểu diễn được mọi quan hệ trong


CSDL


 Tránh sai sót khi thêm, xóa, sửa dữ liệu
 Tránh phải xây dựng lại cấu trúc của


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

2. DAÏNG CHUẨN 1



<i><b>Thuộc tính đơn</b></i>: Giả sử có lược đồ quan hệ Q.
Một thuộc tính A của Q gọi là thuộc tính


đơn nếu nó khơng phải là một sự tích hợp
của nhiều thuộc tính khác


Ví dụ 1: <i><b>Môn không là thuộc tính đơn</b></i>
CHUYÊN_MÔN (MÃGV, MÔN )


MAGV MÔN


GV01 PASC, CTDL


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

8


2. DẠNG CHUẨN 1




<i><b>Định nghóa</b></i>:


 Một lược đồ quan hệ Q được gọi là ở dạng


chuẩn 1 nếu mọi thuộc tính của Q đều là
thuộc tính đơn


 Một lược đồ CSDL được gọi là ở dạng


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

2. DẠNG CHUẨN 1



Ví dụ:


Quan hệ CHUN_MƠN khơng đạt dạng
chuẩn 1


<b>Khắc phục </b>CHUYÊN_MÔN (MÃGV, MÔN )


<b>MAGV</b> <b>MÔN</b>


<b>GV01</b> <b>PASC</b>


<b>GV01</b> <b>CTDL</b>


<b>GV02</b> <b>CSDL</b>


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

10


3. DẠNG CHUẨN 2




<b>Phụ thuộc đầy đủ:</b>


Giả sử có 1 lược đồ quan hệ Q và tập phụ


thuộc hàm F. Thuộc tính A được gọi là <i><b>phụ </b></i>


<i><b>thuộc đầy đủ</b></i> vào 1 tập thuộc tính X nếu:
a) A  X+


F


b) X  A là phụ thuộc hàm nguyên tố


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

3. DẠNG CHUẨN 2



<i><b>Định nghóa</b></i>:


 Một lược đồ quan hệ Q được gọi là ở dạng


chuẩn 2 nếu


Q ở dạng chuẩn 1



Mọi thuộc tính khơng khóa của Q đều



phụ thuộc đầy đủ vào các khóa của


Q



 <sub>Một lược đồ CSDL được gọi là ở dạng </sub>



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

12


3. DẠNG CHUẨN 2



<b>Ví dụ:</b> Quan hệ ĐẶT_HÀNG (SốĐH, MãHH,
NgàyĐH, MãKH, SốLượng )


<b>Với tập Pth F = { SốĐH </b><b> NgàyĐH, MãKH ; SốĐH, </b>


<b>MãHH </b><b> SốLượng }</b>


 Khơng đạt dạng chuẩn 2


<b>Khắc phục: </b>Tách thành 2 quan hệ:


<b>ĐẶT_HÀNG ( SốĐH, NgàH, MãKH )</b>


<i>Với F1 = { SốĐH </i><i> NgàyĐH, MãKH }</i>


<b>CHITIẾT_ĐH (SốĐH, MãHH, SốLượng )</b>


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

3. DẠNG CHUẨN 2



<b>Nhận xét</b>


 Nếu lược đồ quan hệ Q chỉ có 1 khóa K và


K chỉ có 1 thuộc tính thì Q ở dạng chuẩn 2


 <sub>Một lược đồ quan hệ Q ở dạng chuẩn 2 </sub>



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

14


4. DẠNG CHUẨN 3



<b>Phụ thuộc bắc cầu:</b>


Thuộc tính A  Q+ được gọi là phụ thuộc bắc
cầu vào tập thuộc tính X nếu YQ+ :


1)

X

Y

F

+

vaø Y

A

F

+


2)

Y

X

F

+


3)

A

(X

Y)



<b>Khi đó X </b><b> A được gọi là phụ thuộc hàm bắc </b>


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

4. DẠNG CHUẨN 3



<i><b>Định nghóa:</b></i>


 <sub>Một lược đồ quan hệ Q được gọi là ở </sub>
dạng chuẩn 3 nếu


<sub>Q ở dạng chuẩn 2</sub>



<sub>Mọi thuộc tính không khóa của Q </sub>



đều khơng phụ thuộc bắc cầu vào



một khóa nào của Q



 <sub>Một lược đồ CSDL được gọi là ở dạng </sub>


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

16


4. DẠNG CHUẨN 3



<b>Ví dụ:</b> Quan hệ GIẢNG_DẠY(MãLớp, MãsốGV,
TênGV, Địachỉ )


<b>Với tập Pth F = { Mãlớp </b><b> MãsốGV; MãSốGV </b>


<b>TênGV, Địachỉ }</b>


 Khơng đạt dạng chuẩn 3


<b>Khắc phục: </b>Tách thành 2 quan hệ:
GIẢNG_DẠY(MãLớp, MãsốGV)


<b>Với tập Pth F1 = { Mãlớp </b><b> MãsốGV}</b>


GIÁO_VIÊN(MãsốGV, TênGV, Địachỉ )


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

4. DẠNG CHUẨN 3



<i><b>Nhận xét</b></i>


 Chính phụ thuộc hàm bắc cầu là nguyên



nhân dẫn đến tình trạng trùng lắp thơng tin


 <sub>Dạng chuẩn 3 là tiêu chuẩn tối thiểu trong </sub>


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

18


5. DẠNG CHUẨN BOYCE-CODD



<i><b>Định nghóa:</b></i>


 Một lược đồ quan hệ Q được gọi là ở dạng


chuaån Boyce-Codd (BC) nếu mọi phụ


thuộc hàm khơng hiển nhiên của F đều có
vế trái là khóa


 <sub>Một lược đồ CSDL được gọi là ở dạng </sub>


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

5. DẠNG CHUẨN BOYCE-CODD



<i><b>Nhận xét:</b></i>


 Nếu 1 lược đồ quan hệ Q ở dạng chuẩn BC


thì cũng ở dạng chuẩn 3


 <sub>Trong 1 lược đồ quan hệ Q ở dạng chuẩn </sub>


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

20



Ví du


PCGD(Malop, Mamon, MAGV)
F={Malop, Mamon->MAGV;


MAGV->Mamon}
Phân ra


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

5. DẠNG CHUẨN BOYCE-CODD



<i><b>Ví dụ:</b></i>


<b>ĐẶT_HÀNG ( SốĐH, NgàH, MãKH )</b>


<i>Với F1 = { SốĐH </i><i> NgàyĐH, MãKH }</i>


<b>CHITIẾT_ĐH (SốĐH, MãHH, SốLượng )</b>


<i>Với F2 = { SốĐH, MãHH </i><i> SốLượng }</i>


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

22


6. CHUẨN HÓA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



 <i><b>Quá trình chuẩn hóa</b></i><sub> 1 lược đồ CSDL nhằm </sub>


mục đích nâng cao chất lượng thiết kế hay
cụ thể hơn là đưa các lược đồ quan hệ con


từ dạng chuẩn thấp lên dạng chuẩn cao


hơn mà <b>tối thiểu phải là dạng chuẩn 3</b>.


 <i><b>Phương pháp phân rã</b></i> là 1 phương pháp


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

6. CHUẨN HĨA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



<i><b>Sự bảo tồn thơng tin</b></i>


 Việc chuẩn hóa 1 lược đồ quan hệ hay 1


lược đồ CSDL phải bảo đảm 1 yêu cầu:


<i><b>bảo toàn thơng tin</b></i>


 Phép phân rã Q thành Q


1, Q2, … được gọi là
bảo tồn thơng tin nếu:


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

24


6. CHUẨN HÓA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



<i><b>Định lý Delobel</b></i>


Cho lược đồ quan hệ Q(XYZ) và tập phụ


thuộc hàm F


<b>Nếu X </b><b> Y </b><b> F+ thì phép phân rã Q thành 2 </b>


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

6. CHUẨN HĨA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



<i><b>Phương pháp phân rã</b></i>:
Begin


F+ = F \ { f  F+ / VT(f)  VP(f)  Q+ }
IF (F+  ) Then


Begin


B1.Choïn 1 f0: X  Y  F+


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

26


6. CHUẨN HÓA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



Q1 = X  Y


F<sub>1</sub> ={ f  F+ / VT(f)  VP(f)  Q


1+ }
Q<sub>2</sub> = Q+ \ Y


F<sub>2</sub> = { f  F+ / VT(f)  VP(f)  Q



2+ }
B3.Phân rã đệ quy Q<sub>1</sub> và Q<sub>2</sub>


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

6. CHUẨN HÓA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



Ví dụ:


Cho lược đồ quan hệ Q(ABCDEG) và tập pth
F = { AE  C (f1), CG  A (f2), BD  G (f3),
GA  E (f4) }


 Khóa của Q là {BDA}, {BDC}


 <sub>BD  G : khơng đạt dạng chuẩn 2</sub>


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

28


6. CHUẨN HĨA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



Ví dụ:


Q(ABCDEG)
f3


Q<sub>1</sub>(BDG) Q<sub>2</sub>(BDACE)


F1={BD  G} F2 = {AE  C}



Q<sub>21</sub>(AEC) Q<sub>22</sub>(BDAE)


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

6. CHUẨN HÓA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



<b>Nhận xét:</b>


 Thuật tốn phân rã như trên là bảo tồn


thông tin (định lý Delobel)


 <sub>Các lược đồ quan hệ con cuối cùng (nút lá </sub>


trong cây phân rã) đều ít nhất là <i><b>dạng </b></i>


<i><b>chuẩn 3</b></i>


 Thuật tốn phân rã có thể tạo ra những


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

30


6. CHUẨN HÓA LƯỢC ĐỒ CSDL


BẰNG PHƯƠNG PHÁP PHÂN RÃ



<i><b>Nhận xét:</b></i>


 Chất lượng của CSDL kết quả có phụ thuộc


vào việc chọn pth f0 ở từng bước phân rã



 <sub>Thông thường pth được chọn là pth gây ra </sub>


</div>

<!--links-->

×