TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí<br />
<br />
Bài 8. THIẾT KẾ SCDL MỨC QUAN NIỆM<br />
Trên thực tế, một ứng dụng có thể đựơc phân tích.<br />
thiết kế thành nhiều lược đồ CSDL khác nhau. Để<br />
đánh giá việc thiết kế một lược đồ CSDL, người ta<br />
dựa trên các tiêu chuẩn về sự trùng lặp thông tin, chi<br />
phí kiểm tra và các ràng buộc toàn vẹn...<br />
Vậy để tránh sự dư thừa thông tin, ta cần chuẩn hoá<br />
tất cả các lược đồ trong quá trình thiết kế.<br />
<br />
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí<br />
<br />
1. Phép tách các lược đồ quan hệ<br />
- ĐN:<br />
Phép tách các lược đồ quan<br />
hệ R = { A1, A2, .. An} là việc thay thế<br />
lược đồ quan hệ R bằng tập các lược đồ<br />
{ R1, R2, .., Rk}, trong đó<br />
Ri R, i= 1,..,k<br />
và<br />
R = R1 R2 ... Rk<br />
Không đòi hỏi các Ri phải là phân biệt<br />
- Mục đích : Loại bỏ các dị thường dữ<br />
liệu<br />
<br />
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí<br />
<br />
Ví dụ :<br />
Cho lược đồ quan hệ người cung cấp :<br />
S(MCTY, ĐC, MH, GIA)<br />
với tập pth : MCTY ĐC<br />
MCTY, MH GIA<br />
Có thể được tách thành 2 lược đồ khác là :<br />
S1(MCTY, ĐC) và S2 ( MCTY, MH, GIA)<br />
như vậy sẽ không mất công lưu địa chỉ của<br />
một công ty nhiều lần<br />
<br />
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí<br />
<br />
Kết nối không mất mát thông tin<br />
- Nếu R là một lược đồ quan hệ được<br />
tách thành các lược đồ con R1, R2, .., Rk<br />
và D là một tập các phụ thuộc dữ liệu. Nói<br />
rằng phép tách là tách - kết nối không mất<br />
mát thông tin đối với D nếu với mỗi quan hệ<br />
r trên R thoả D:<br />
r = R1(r) * R2 (r) * ... * Rk(r)<br />
tức là r được tạo nên từ phép kết nối tự nhiên<br />
của các hình chiếu của nó trên các Ri, i=<br />
1..,k<br />
<br />
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí<br />
<br />
Kiểm tra phép kết nối không<br />
mất mát thông tin<br />
Input: R ={ A1, A2, .., An} tập các phụ<br />
thuộc hàm và phép tách p =(R1, R2, ..,<br />
Rk)<br />
Output: Phép tách có phải là không mất<br />
mát thông tin hay không ?<br />
Phương pháp : Thiết lập một bảng với n cột<br />
k hàng.; cột thứ j tương ứng với thuộc tính<br />
Aj; hàng thứ i tương ứng với lược đồ Ri.<br />
Tại ô (i,j) điền kí hiệu aj nếu Aj Ri, nếu<br />
không điền kí hiệu bij<br />
<br />