09.01.2013 Views

Cơ sở dữ liệu - e-ptit.edu.vn

Cơ sở dữ liệu - e-ptit.edu.vn

Cơ sở dữ liệu - e-ptit.edu.vn

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!