CHƯƠNG 6 : LÝ THUYẾT VỀ THIẾT KẾ CƠ SỞ DỮ LIỆU
6.2. Chuẩn hóa lược đồ quan hệ
6.2.2. Phép tách có kết nối bảo tồn 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à F là tập các phụ thuộc hàm, nói r ằng phép tách có kết nối bảo tồn thơng tin đối với F nếu với mỗi quan hệ r trên R thỏa F:
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 R i, i = 1,2,…,k.
Tính chất:
Tập các lược đồ ρ = (R1,R2,…,Rk) được thay thế cho lược đồ R. Gọi mρ là ánh xạ xác định nhờ mρ(r) = *∏ Ri(r) có ngh ĩa là mρ(r) là kết nối của các phép chiếu của r trên các lược đồ con trong ρ. Điều kiện để kết nối bảo toàn thông tin đối với F được biểu diễn như sau:
Kiểm tra phép tách – kết nối bảo tồn thơng tin :
Liệu một phép tách có kết nối bảo tồn thơng tin hay không đối với tập các phụ thuộc hàm được kiểm tra qua thuật toán sau đây:
Thuật toán:
Vào: Lược đồ quan hệ R(A1,….,An), tập các phụ thuộc hàm F và phép tách ρ = (R1,R2,…,Rk)
Ra: Kết luận phép tách ρ có bảo tồn thơng tin hay khơng .
Phương pháp:
– Thiết lập một bảng với n cột và k hàng, cột thứ j ứng với thuộc tính Aj, hàng thứ i ứng với lược đồ Ri Tại hàng i và c ột j điền ký hiệu aj nếu Aj ∈ Ri, nếu không điền ký hiệu bij.
– Bây giờ xem xét đến các phụ thuộc hàm từ F áp dụng cho bảng vừa thiết lập được.
Giả sử xem xét (X→Y) ∈ F. Xét đến các hàng và n ếu có giá trị bằng nhau trên thuộc
tính X (ví dụ t1, t2 mà t1[X]= t2[X]) thì làm bằng giá trị của chúng trên Y (ví dụ t1[Y] = t2[Y]). Chú ý là khi làm b ằng giá trị của chúng trên Y, nếu một trong hai giá trị là aj thì ưu tiên làm bằng ký hiệu là aj. Ngoài ra làm b ằng chúng bằng một trong các ký hiệu là bij
– Tiếp tục áp dụng các phụ thuộc hàm có trong F (kể cả việc lập lại phụ thuộc hàm đã được áp dụng) cho tới khi khơng cịn áp d ụng được nữa.
– Xem xét bảng kết quả: Nếu xuất hiện một hàng gồm tồn các ký hi ệu a1,a2,…,an
thì phép kết nối là bảo tồn thơng tin. Trường hợp ngược lại là kết nối khơng bảo tồn thơng tin
Ví dụ 6.8: Xem xét ở quan hệ người cung cấp: NGUOICC (NCC, DIACHI, MAHANG,
GIA) F={ NCC → DIACHI;
NCC, MAHANG → GIA}
được tách thành hai quan h ệ
NCC DIACHI MAHANG GIA
S 1 a 1 a 2 b 13 b 14 S2 a1 b22 a3 a4
Áp dụng phụ thuộc hàm NCC → DIACHI cho hai hàng của bảng. Hai hàng bằng nhau trên cột NCC (đều bằng a1) nên ở cột DIACHI chúng được làm bằng và bằng a2 Bảng kết quả là:
NCC DIACHI MAHANG GIA
S1 a1 a2 b13 b
14
S2 a1 a2 a3 a4
Bảng kết quả có dịng th ứ hai có giá trị tồn là a 1, a2, a3, a4, do đó phép tách trên có kết nối bảo tồn thơng tin.