Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chương I: Khái niệm cơ bản về các hệ cơ <strong>sở</strong> <strong>dữ</strong> <strong>liệu</strong><br />
X Y Z W Q<br />
Ω1 a a b b b<br />
Ω2 a b a a b<br />
Ω3 b a b a a<br />
4.6.3 Thuật toán tách về dạng chuẩn BCNF không tổn thất<br />
Input: s = < Ω , F > lược đồ quan hệ.<br />
Ω = {A1, A2,..., An} tập các thuộc tính.<br />
X Y Z W Q<br />
Ω1 a a b b b<br />
Ω2 a a a a a<br />
Ω3 b a b a a<br />
F = {Lj → Rj ⏐ Lj, Rj ⊆ Ω } tập các phụ thuộc.<br />
Output: Phép tách ϕ [Ω1 , Ω2 , .. , Ωp ] không tổn thất thông tin. Mỗi một lược đồ quan hệ<br />
chiếu có dạng chuẩn BCNF tương ứng với tập phụ thuộc chiếu của F trên nó.<br />
Phương pháp: Phương pháp chủ yếu của thuật toán là tách lược đồ s = thành 2<br />
lược đồ. Chọn bất kỳ X → A ∈ F + sao cho X không là khoá và A ∉ X. Khi đó lược đồ<br />
có tập các thuộc tính XA sẽ có dạng chuẩn BCNF và phụ thuộc hàm X → A sẽ thoả trên<br />
nó. Lược đồ thứ 2 có tập các thuộc tính Ω \ A. Hiển nhiên, khi kết nối lược đồ có tập<br />
thuộc tính Ω \ A với lược đồ có tập thuộc tính XA không tổn thất thông tin. Tiếp tục tách<br />
Ω \ A cho đến khi thoả điều kiện (b) của định lý 4.11, cũng là lược đồ có dạng chuẩn<br />
BCNF. Theo định lý 4.10, các lược đồ quan hệ chiếu cũng có dạng BCNF và có kết nối<br />
không tổn thất thông tin.<br />
Đặt Ω1 : = XA , Ω2 : = Ω \ A<br />
Ω1 ∩ Ω2 = X<br />
Ω1 \ Ω2 = A<br />
Suy ra Ω1 ∩ Ω2 → Ω1 \ Ω2 .<br />
Phép tách ϕ [Ω1, Ω2] không tổn thất khi và chỉ khi Ω1 ∩ Ω 2 → Ω1 \ Ω2 . Tiếp tục cho<br />
đến khi tất cả lược đồ ở dạng chuẩn Boyce Codd.<br />
Sử dụng phương pháp lặp liên tiếp. Mỗi bước đảm bảo không làm tổn thất thông tin.<br />
Bước đầu áp dụng đối với lược đồ quan hệ S = .<br />
Giả sử bước thứ i: Lược đồ quan hệ si = chưa phải là lược đồ dạng<br />
chuẩn Boyce Codd.<br />
Chọn X → A ∈ F i = F⏐Ωi sao cho X không là khoá và A∉ X.<br />
Đặt Ωi1 = XA , Ωi2 = Ω \ A<br />
Tiếp tục phép lặp.<br />
Ví dụ Ω = {C, T, H, R, S, G}, trong đó:<br />
C : Khoá học, T: Thầy giáo,<br />
H: Giờ học R: Phòng học<br />
S : Sinh viên G: Lớp<br />
Biết rằng:<br />
90