27. PHÉP TÁCH LƢỢCĐỒ QUAN HỆ
27.4. Bài tập và thảo luận về phép tách
27.5.Tổng kết
Trong chƣơng này chúng ta đã nói đến các nguy hiểm có thể xảy ra trong việc thiết kế cơ sở dữ liệu, xác định một cách không hình thức một số chuẩn mực để chỉ ra một lƣợc đồ quan hệ là “tốt” hay “tồi” và đƣa ra một số nguyên tắc không hình thức cho một thiết kế tốt. Sau đó chúng ta đã trình bày một vài khái niệm cho phép ta thiết kế quan hệ theo cách trên-xuống bằng cách phân tích các quan hệ một cách riêng rẽ.
Chúng ta đó định nghĩa quá trình thiết kế này bằng phân tích và tách bằng cách giới thiệu quá trình chuẩn hóa.
Những vấn đề về các bất thƣờng cập nhật xảy ra khi có sự dƣ thừa xảy ra trong các quan hệ cũng đó đƣợc đề cập đến. Các chuẩn mực không hình thức của các lƣợc đồ quan hệ tốt bao gồm ngữ nghĩa của thuộc tính rừ ràng và đơn giản, ít giá trị null trong các mở rộng của quan hệ. Một phép tách tốt phải tránh đƣợc việc sinh ra các bộ giả khi thực hiện phép nối.
Chúng ta đó định nghĩa khái niệm phụ thuộc hàm và thảo luận một số tính chất của nó. Các phụ thuộc hàm là các nguồn thông tin ngữ nghĩa cơ bản về các thuộc tính của lƣợc đồ quan hệ. Chúng ta đã chỉ ra cách suy diễn các phụ thuộc phụ thêm dựa trên một tập các phụ thuộc hàm cho trƣớc và một tập các quy tắc suy diễn. Chúng ta đó định nghĩa các khái niệm bao đóng và phủ tối thiểu của một tập phụ thuộc hàm và cung cấp thuật toán tính phủ tối thiểu. Ta cũng đó chỉ ra làm thế nào để kiểm tra xem hai tập phụ thuộc hàm có tƣơng đƣơng nhau hay không.
Tiếp theo, chúng ta đã mô tả quá trình chuẩn hóa để đạt đến các thiết kế tốt bằng cách kiểm tra các quan hệ đối với các kiểu phụ thuộc hàm không mong muốn. Chúng ta đó cung cấp cách chuẩn hóa liên tiếp dựa trên khóa chính đƣợc định nghĩa trƣớc trong
= (U, F) U1 =CSG F1={CSG} K=CS U2 =CTHRS F2={CT, HRC, CHR, HSR} K=HS U3 =CT F3={CT} K=C U4 =CHSR F4={ HRC, CHR, HSR} K=HS U5 =CHR F5={ HRC, HRC} K=HR, K=HC U6 =CHS F6={ HSC} K=HS
mỗi quan hệ và sau đó giảm nhẹ đòi hỏi này và đƣa ra các định nghĩa tổng quát của các dạng chuẩn có tính đến tất cả các khóa dự tuyển của một quan hệ.
Trong phần trƣớc chúng ta đã trình bày nhiều thuật toán chuẩn hóa. Đó là thuật toán tổng hợp quan hệ tạo ra các quan hệ 3NF từ một lƣợc đồ quan hệ vũ trụ dựa trên một tập các phụ thuộc hàm do ngƣời thiết kế cơ sở dữ liệu xác định. Các thuật toán tạo ra các quan hệ BCNF (hoặc 4NF) bằng cách tách không mất mát liên tiếp các quan hệ không chuẩn hóa thành hai quan hệ thành phần tại một thời điểm. Chúng ta đã thảo luận về hai tính chất quan trọng của phép tách: tính chất nối không mất mát (hoặc không phụ thêm) và tính chất bảo toàn phụ thuộc. Một thuật toán kiểm tra phép tách không mất mát và một thuật toán kiểm tra tính không mất mát của một phép tách thành hai quan hệ cũng đã đƣợc trình bày. Chúng ta cũng đó thấy rằng việc tổng hợp các quan hệ ở dạng 3NF đảm bảo cả hai tính chất trên là có khả năng còn việc tổng hợp các quan hệ BCNF chỉ có khả năng đảm bảo tính không mất mát, không thể đảm bảo tính bảo toàn phụ thuộc.