Chuẩn hóa cơ sở dữ liệu
Phép tách lược đồ quan hệ
- Mục tiêu: tách sơ đồ quan hệ
với tập phụ thuộc hàm thành sơ đồ con với và - Yêu cầu phép tách:
- Bảo toán dữ liệu
- Bảo toàn ràng buộc, thuộc tính
Phép tách không mất mát thông tin
- Phép tách không làm mất mát thông tin nếu với mỗi quan hệ
xác định trên thỏa mãn thì
- Định lí tách đôi: Phép tách
thành và không làm mất mát thoogn tin nếu một trong hai phụ thuộc hàm sau thuộc : - Hệ quả: Nếu
thì phép tách sau không làm mất mát thông tin
Phép tách bảo toàn tập phụ thuộc hàm
- Hình chiếu của tập phụ thuộc hàm
trên lược đồ quan hệ :
- Phép tách bảo toàn tập phụ thuộc hàm nếu
Các dạng chuẩn
Dạng chuẩn 1 (1NF)
- Tất cả thuộc tính trong
đều chỉ chứa giá trị nguyên tố (không chứa thuộc tính phức, giá trị không chia nhỏ được nữa)
Dạng chuẩn 2 (2NF)
-
Thuộc dạng chuẩn 1 và các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa chính
-
Thuộc tính không khóa là các thuộc tính không nằm trong khóa tối thiểu nào
-
phụ thuộc hàm đầy đủ vào nếu
Dạng chuẩn 3 (3NF)
-
Thuộc dạng chuẩn 2 và các thuộc tính không khóa đều không phụ thuộc bắc cầu vào khóa chính
-
Phép tách về 3NF bảo toàn tập phụ thuộc hàm và không làm mất mát thông tin:
- Bước 1: Tìm khóa tối thiểu và phủ tối thiểu
- Bước 2: Tách tất cả các thuộc tính không nằm trong phủ tối thiểu, tạo thành quan hệ mới
- Bước 3: Nếu tồn tại phụ thuộc hàm trong phủ tối thiểu chứa tất cả các thuộc tính, thuật toán kết thúc
- Bước 4: Với mỗi
, tạo quan hệ mới , nếu có nhiều thì gộp chung thành một quan hệ - Bước 5: Nếu trong các sơ đồ con không chứa khóa tối thiểu, tạo sơ đồ từ các khóa tối thiểu