- Hình IV.4 –Một đồ thị quan hệ–
CƠ SỞ DỮ LIỆU QUAN HỆ SANG ĐỒ THỊ QUAN H Ệ
HỆ
III.1. Mục tiêu
Ngoài 3 mục tiêuđãđược đề ra cho quá trình biến đổi từ cấu trúc quan niệm (ở dạng quan hệ) sang cấu trúc ở dạng lô gic, thuật toán sẽ được trình bày trong phần này còn nhắm thêm 2 mục tiêu khác:
ưu tiên cho khoá nào trong số các khoá của một quan hệ thuộc về lãnh vực cài đặt, và sẽ được cân nhắc ở giai đoạn thiết kế vật lý. Điều này giải thích bước thứ nhất của thuật toán.
-Làm nổi bật những tập thuộc tính chung của mỗi cặp quan hệ, vìđó là cơsở của phép kết.
III.2. Thuật toán Vào :
Một phân rã của Q dựa trên F : {Qi}ni=1, mỗi Qi có tập khoá (Ki)
Ra :
Đồ thị quan hệ tươngứng với .
Các bước :
B1: Biến đổi thành một phân rãđồng nhất d:
1.1. Với mọi cặp quan hệ con Qi, Qj, nếu KiKj, Ki, Kj
lần lượt là một khoá của Qi, Qj, thì gộp Qi, Qj lại thành một quan hệ con.
1.2. Với mỗi Qi , nếu Qi+ có chứa một khoá Kj của Qj, thì Qi+phải chứa tất cả các khoá của Qj.
B2: Tạo nút và quan hệ nút:
Mỗi quan hệ Qilà một nút Ni với QNi =Qi.
B3: Tạo nút bản lềvà quan hệ (nút) bản lề:
Mục đích làm nổi bật các thuộc tính chung của mỗi cặp quan hệ nút.
3.1.Qi, Qj, Qij+= Qi+Qj+. 3.2. Chừng nào Qij+<> thì:
- xác định tất cả khoá của Q [Qij+ ] ; KQij+ ký hiệu tập thuộc tính khoá của Q [Q +
thì tạo 1 nút bản lề Nb1với quan hệ Qb1 = Q [KQij+] Cuối nếu - Qij+:= Qij+- KQij+ Cuối chừng nào B4: Tạo cung:
Chú ý : chỉ tạo số cung tối thiểu xuất phát từ một nút. 4.1.
Nivới Qi, xácđịnh:
PTH (Ni) = {Njvới Qi+KQj+}
PTH_THỪA (Ni) = {NjPTH (Ni) sao cho :
NhPTH (Ni) với Qhsao cho KQh+KQj+}
LỒNG_KHOÁ(Ni)={Njvới Qjsao choKQi+KQj+} LỒNG_KHOÁ_THỪA(Ni)={NjLỒNG_KHOÁ(Ni) sao cho: NhLỒNG_ KHOÁ (Ni) với Qh sao cho: KQh+KQj+} Cung (Ni) = ( PTH (Ni) - PTH_THỪA (Ni) ) (LỒNG_ KHOÁ (Ni) - LỒNG_ KHOÁ_THỪA (Ni) ) Cuối 4.2. NiCung (Ni) thì
tạo 1 cung có hướng từ Ni Nj: cij Cuối
B.5: Huỷ những nút bản lề thừa Ni sao cho :
- có một khoá duy nhất là Kk
- Không có thuộc tính nào khác ngoài khoá - Chỉ có một cung vào uất phát từ nút Ni
Thì : /* vai trò bản lề của Nkkhông còn cần thiết nữa*/ - Nhập Nkvào Ni
- huỷ cung cik
Cuối
B.6: Min hoá các quan hệ nút: Ni với Qithì:
Nj Cung (Ni) với Qjthì:
Huỷ khỏi Qi+những thuộc tính khoá của Qj
mà không phải thuộc tính khoá của Qi. Cuối
Cuối
B.7: Tạo cung vô hướng : Nk sao cho :
- Qk+ = KQk+ (nghĩa là Qk không có thuộc tính không khoá)
- Chỉ có 2 cung ra khỏi Nk (không có cung vào, đến Ni, Nj với Qi, Qj sao cho KQk+ =KQi+ KQj+
thì
tạo 1 cung vô hướng nối Ni,Njvới Qij= Qk
huỷ nút Nk
huỷ 2 cung xuất phát từ Nk
VD 4.9:
Cho cấu trúc quan niệm nhưsau: 1. DDH (SODH, NGDH, TRIGIA)
2. Mathang (MAMH, TENMH, DONGIA) 3. ChitietDH (SODH, MAMH, SLDH )