Bài giảng Cơ sở dữ liệu - Bài 8: Thiết kế CSDL mức quan niệm

Bài 8. THIẾT KẾ SCDL MỨC QUAN NIỆM  
Trên thực tế, một ứng dụng có thể đựơc phân tích.  
thiết kế thành nhiều lược đồ CSDL khác nhau. Để  
đánh giá việc thiết kế một lược đồ CSDL, người ta  
dựa trên các tiêu chuẩn về sự trùng lặp thông tin, chi  
phí kiểm tra và các ràng buộc toàn vẹn...  
Vậy để tránh sự dư thừa thông tin, ta cần chuẩn hoá  
tất cả các lược đồ trong quá trình thiết kế.  
1. Phé p tá ch cá c lược đồ quan hệ  
é á á  
- ĐN: Phép tách các lược đồ quan  
hệ R = { A1, A2, .. An} là việc thay thế  
lược đồ quan hệ R bằng tập các lược đồ  
{ R1, R2, .., Rk}, trong đó  
Ri R, i= 1,..,k  
và R = R1R2 ... Rk  
Không đòi hỏi các Ri phải là phân biệt  
- Mục đích : Loại bỏ các dị thường dữ  
liệu  
Ví dụ :  
í
Cho lược đồ quan hệ người cung cấp :  
S(MCTY, ĐC, MH, GIA)  
với tập pth : MCTY ĐC  
MCTY, MH GIA  
Có thể được tách thành 2 lược đồ khác là :  
S1(MCTY, ĐC) và S2 ( MCTY, MH, GIA)  
như vậy sẽ không mất công lưu địa chỉ của  
một công ty nhiều lần  
Kết nối khô ng mất má t thô ng tin  
á
- Nếu R là một lược đồ quan hệ được  
tách thành các lược đồ con R1, R2, .., Rk  
và D là một tập các phụ thuộc dữ liệu. Nói  
rằng phép tách là tách - kết nối không mất  
mát thông tin đối với D nếu với mỗi quan hệ  
r trên R thoả D:  
r = R1(r) * * ... *   
R2 (r)  
Rk(r)  
tức là r được tạo nên từ phép kết nối tự nhiên  
của các hình chiếu của nó trên các Ri, i=  
1..,k  
Kiểm tra phé p kết nối khô ng  
é
mất má t thô ng tin  
á
Input: R ={ A1, A2, .., An} tập các phụ  
thuộc hàm và phép tách p =(R1, R2, ..,  
Rk)  
Output: Phép tách có phải là không mất  
mát thông tin hay không ?  
Phương pháp : Thiết lập một bảng với n cột  
k hàng.; cột thứ j tương ứng với thuộc tính  
Aj; hàng thứ i tương ứng với lược đồ Ri.  
Tại ô (i,j) điền kí hiệu aj nếu Aj Ri, nếu  
không điền kí hiệu bij  
- Xét các pth:  
+Xét ( XY ) F , xét các hàng và nếu có  
giá trị bằng nhau trên thuộc tính X thì làm bằng  
các giá trị của chúng trên Y. Khi làm bằng trên  
Y, nếu một trong hai giá trị là aj thì ưu tiên làm  
bằng aj, nếu không làm bằng một trong các kí  
hiệu bij.  
+Tiếp tục với các pth khác ( kể cả việc lặp  
lại các pth đã được áp dụng) cho đến khi không  
còn áp dụng được nữa.  
- Xem xét kq: Nếu xuất hiện một hàng gồm toàn  
kí hiệu a1, a2, .. , an thì phép kết nối là không  
mất mát thông tin, ngược lại là kết nối mất mát  
thông tin.  
VD1: Quan hÖ ng-êi cung cÊ p:  
R(MCTY, ĐC, MH, GIA) ®-îc t¸ch thµnh 2 quan hÖ:  
R1(MCTY, ĐC) vµ R2(MCTY, MH,GIA)  
víi c¸c phô thuéc hµm: MCTY ĐC  
MCTY,MH GIA  
Kiểm tra xem phép tách trên có mất mát thông tin hay  
không ?  
Bng ban ®Çu ®-îc thiÕt lË p nh- sau:  
1
2
3
4
MCTY  
MH GIA  
§C  
R1 a1  
R2 a1  
a2  
b13  
a3  
b14  
a3  
1
2
b22  
¸p dông phô thuéc hµm MCTY ĐC cho 2  
hµng cña bng. Ta nhË n thÊ y 2 hµng b»ng nhau  
trªn cét tªn (®Òu lµ a1) nªn ë cét §C chóng ®-îc  
lµm b»ng vµ b»ng a2. Khi ®ã ta thÊ y bng kÕt  
qu¶ lµ:  
Tªn ĐÞa chØ S¶n phÈm Gi¸  
R1 a1  
R2 a1  
a2  
b13  
a3  
b14  
a3  
a2  
Cã hµng thø 2 cã c¸c gi¸ trÞ toµn lµ a, do ®ã phÐp  
t¸ch lµ T¸ch - KÕt nèi kh«ng mÊ t m¸t th«ng tin.  
Bµi tË p:  
B1. Cho l-îc ®å quan hÖ R={A, B, C, D} vµ tË p phô  
thuéc hµm F={AB, AC D}  
PhÐp t¸ch quan hÖ R thµnh 2 quan hÖ R1={AB} vµ  
R2={ACD} cã tæn thÊ t th«ng tin kh«ng? V× sao?  
B2. Cho lược đồ quan hệ với các thuộc tính A, B, C, D, E, F  
và tập phụ thuộc hàm  
F= { AB C, C D, ABD E, F A}  
Kiểm tra tính mất mát thông tin của phép tách R thành :  
(R) = ( BC, AC, ABDE, ABDF)  
B3. Dùng kĩ thuật bảng kiểm tra tính tổn thất của các  
phép tách sau :  
R= < U, F>, U = ABCDE ;  
F = { A C, B C , CD , DE C , CEA}  
p = ( AD, AB, BE , CDE)  
2. Một số khá i niệm  
á
* Thuộc tí nh khoá và khô ng khoá  
í
á
á
- Cho một lược đồ quan hệ R trên tập  
thuộc tính U ={ A1, .., An}. Thuộc tính AU  
được gọi là thuộc tính khoá ( nguyên thuỷ  
hay cơ bản) nếu A là một thành phần thuộc  
một khoá nào đó của R, ngược lại A được gọi  
là thuộc tính không khoá (phi nguyên thuỷ  
hoặc thứ cấp).  
-VD : Cho lược đồ R trên tập thuộc tính  
u= { A, B, C, D } với các pth ABC , B D  
, BCA . Ta thấy AB và BC là khoá. Vậy A,  
B, C là thuộc tính khoá ( hay cơ bản) , còn D  
là thuộc tính không khoá hay thứ cấp.  
* Phụ thuộc hàm đầy đủ  
Cho lược đồ quan hệ R(U) trên  
tập thuộc tính U = { A1, ... ,Ak}. X  
và Y là hai tập thuộc tính khác nhau  
X U và Y U.  
Y là phụ thuộc hàm đầy đủ vào X  
nếu Y là pth vào X nhưng không pth  
vào bất kì tập con thực sự nào của X  
Phụ thuộc bắc cầu  
Cho một lược đồ quan hệ R(U); X là một  
tập con các thuộc tính XU, A là một thuộc  
tính thuộc U. A được gọi là phụ thuộc bắc cầu  
vào X trên R nếu tồn tại một tập con Y của R  
sao cho X Y, YA nhưng Y X với A   
XY.  
3. Cá c dạng chuẩn của lược đồ quan hệ  
á
- Quan hệ được chuẩn hoá là quan  
hệ trong đó mỗi miền của một thuộc  
tính chỉ chứa các giá trị nguyên tố (  
tức là không phân nhỏ được nữa)  
- Quan hệ có chứa các miền giá trị  
là không nguyên tố gọi là quan hệ  
không chuẩn hoá.  
- Mét quan hÖ ®-îc chuÈ n ho¸ cã thÓ thµnh mét  
hoÆc nhiÒu quan hÖ chuÈ n ho¸ kh¸c vµ kh«ng  
lµm mÊ t m¸t th«ng tin.  
C¸c d¹ng chuÈ n:  
- D¹ng kh«ng chuÈ n  
- D¹ng chuÈ n thø nhÊ t (1NF: First Normal Form)  
- D¹ng chuÈ n thø hai (2NF)  
- D¹ng chuÈ n thø ba (3NF)  
- D¹ng chuÈ n Boye – Codd (BCNF)  
3.1. D¹ng chuÈn thø nhÊt:  
Mét l-îc ®å quan hÖ R ®-îc gäi lµ ë d¹ng chuÈ n  
mét (1NF) nÕu vµ chØ nÕu toµn bé c¸c miÒn cã  
mÆt trong R ®Òu chØ chøa c¸c gi¸ trÞ nguyªn tè.  
VD: Cho bảng quan hệ GD ( Ten_GV, MON_GD)  
Ten_GV  
Lan  
Mon_GD  
PASCAL, NM CSDN  
Hà  
C, VISUAL BASIC, TK WEP  
Các giá trị ở thuộc tính Mon_GD chưa là giá trị  
nguyên tố nên bảng trên chưa ở dạng chuẩn 1.  
Để đưa lược đồ trên về dạng chuẩn 1 ta tách  
thuộc tính kép thành các thuộc tính đơn như sau :  
Bảng GD ở dạng chuẩn 1:  
Ten_GV  
Mon_GD  
Lan PASCAL  
Lan NM CSDN  
Hà C  
Hà VISUAL BASIC  
Hà TK WEP  
3.2. D¹ng chuÈn thø 2:  
L-îc ®å quan hÖ R ë d¹ng chuÈ n 2 (2NF) nÕu:  
R ë d¹ng chuÈ n mét  
Mọi thuéc tÝnh kh«ng kho¸ cña R lµ phô thuéc hµm ®Çy  
®ñ vµo kho¸ chÝnh.  
VD:Cho quan hÖ:  
SVTHI ( MONTHI, MSSV, TEN, TUOI, DIACHI, DIEM )  
M«n thi MSSV  
Tªn  
Lan  
Ha  
Tuæi ĐÞa chØ §iÓm  
3
3
4
4
5
5
11  
12  
11  
12  
11  
13  
20  
21  
20  
21  
20  
22  
HN  
HP  
HN  
HP  
HN  
HT  
8
6
7
6
7
2
Lan  
Ha  
Lan  
Tu  
Khoá chính của quan hệ trên là (Monthi ,  
MSSV).Ta thấy các thuộc tính không khoá: ten,  
tuoi , diachi không phụ thuộc đầy đủ vào khoá  
chính (chỉ phụ thuộc vào MSSV). Do đó, vi phạm  
2NF. Để lược đồ ở dạng chuẩn 2, ta tách thành 2  
quan hệ :  
SINHVIEN (MSSV, TEN, TUOI, DIACHI) vµ  
THIXONG (MONTHI, MSSV, DIEM)  
Hai quan hệ trên đã ở 2NF vì mọi thuộc tính  
không khoá đều đã phụ thuộc hàm đầy đủ vào  
khoá chính  
3.3 Dạng chuẩn thứ 3 ( 3NF)  
Lược đồ quan hệ R ở dạng chuẩn thứ 3 ( 3NF) nếu :  
R ở dạng chuẩn 2  
Mỗi thuộc tính không khoá là không phụ thuộc hàm bắc  
cầu vào khoá chính.  
- VD1 : Cho lược đồ quan hệ R ( SAIP) với các phụ thuộc  
hàm : SIP và S A.  
R không ở 3NF. Vì có A là một thuộc tính không khoá, phụ  
thuộc bắc cầu vào khoá chính: SIS , S A và S SI.  
- VD2: Lược đồ quan hệ R ( CSZ) với các phụ thuộc hàm:  
CS Z, Z C. Trong lược đồ này, mọi thuộc tính đều là  
thuộc tính khoá. Do vậy R ở 3 NF  
Tải về để xem bản đầy đủ
pdf 31 trang Mãnh Khiết 12/01/2024 16261 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Bài 8: Thiết kế CSDL mức quan niệm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_bai_8_thiet_ke_csdl_muc_quan_niem.pdf