Nh vậy, định nghĩa BCNF đ hạn chế đã ợc một số trờng hợp xuất hiện trong định nghĩa 3NF
khoá chính, phụ thuộc hàm đầy đủ và phụ thuộc hàm bắc cầu
Nhng mặt khác, định nghĩa 3NF vẫn còn có ích trong thực tế vì nó tham gia vào quá trình thực sự theo từng bớc một mà ngời sử dụng cần phải tiến hành để chuyển một quan hệ bất kỳ thành một tập tơng đơng của các quan hệ 3NF
3.5. Kết luận
Các bớc để chuyển mô hình dữ liệu quan hệ thành các quan hệ ở dạng chuẩn hóa 4NF:
1. B ớc 1 : Chuyển một quan hệ từ dạng cha chuẩn hoá thành một tập các quan hệ tơng đơng ở dạng chuẩn hoá 1NF
• Có hai phơng pháp chuyển một quan hệ từ dạng cha chuẩn hoá thành một tập các quan hệ tơng đơng ở dạng chuẩn hoá 1NF:
==============================================================================="Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004 "Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
+ Loại bỏ các nhóm lặp lại bằng cách đa dữ liệu thích hợp vào các cột trống của các hàng chứa dữ liệu lặp lại
− Cách này thông thờng đợc gọi là "làm phẳng" ("flattening") bảng đ choã
− Với phơng pháp này, sự d thừa đ đã ợc đa vào quan hệ kết quả và sau này sự d thừa này sẽ đợc loại bỏ trong quá trình chuẩn hoá
+ Cách thứ hai:
− Chỉ định một hoặc một nhóm các thuộc tính làm khoá chính cho bảng cha chuẩn hoá
− Loại bỏ các nhóm lặp lại bằng cách mang nhóm các thuộc tính lặp lại cùng với bản copy của khoá chính sang một quan hệ tách biệt
− Nhận diện khoá chính cho các quan hệ mới nhận đợc
− Đôi khi bảng cha chuẩn hoá có thể chứa hơn một nhóm lặp lại hay các nhóm lặp lại lồng nhau
• Trong các trờng hợp nh vậy, cách tiếp cận này đợc ứng dụng lặp đi lặp lại cho đến khi nào không còn các nhóm lặp lại nữa
• Cả hai cách tiếp cận đều đúng, tuy nhiên, với cách tiếp cận thứ hai, ngay từ đầu sẽ tạo ra những quan hệ ít nhất là ở dạng chuẩn thứ nhất (1NF) với ít sự d thừa hơn
==============================================================================="Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004 "Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
• Minh hoạ hai cách tiếp cận này bằng cách xét ví dụ của công ty cho thuê tài sản tên là "DreamHome".
• Để đơn giản hoá ví dụ này, giả thiết:
+ Mỗi khách chỉ đợc thuê một tài sản đ cho chỉ một lầnã
+ Mọi khách hàng đều không đợc thuê hơn một tài sản cùng một lúc
• Mẫu biểu chi tiết thuê tài sản của khách hàng của công ty DreamHome đợc minh hoạ trên hình 3.17
• Thông tin về các tài sản mà hai khách thuê có tên John Kay và Aline Stewart thuê đợc chuyển thành bảng Customer_Rental với các hàng và cột nh trên hình 3.18
DreamHome
Customer Rental Details
Customer Name John Kay Customer Number CR76 Property
Number
Property Address Rent Start Rent Finish Rent Owner Number Owner Name PG4 6 Lawrence Street, Glasgow
1-Jul-93 31-Aug-95 350 CO40 Tina Murphy PG16 5 Novar Drive,
Glasgow
1-Sep-95 1-Sep-96 450 CO93 Tony Shaw
Hình 3.17. Mẫu biểu chi tiết đơn thuê của khách hàng của công ty DreamHome
Customer_Rental
==============================================================================="Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004 "Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
Customer_No CName Property_No PAddress RentStart RentFinish Rent Owner_ No OName CR76 John Kay PG4 6 Lawrence Street, Glasgow
1-Jul-93 31-Aug-95 350 CO40 Tina Murphy
PG16 5 Novar Drive, Glasgow
1-Sep-95 1-Sep-96 450 CO93 Tony Shaw CR56 Aline Stewart PG4 6 Lawrence Street, Glasgow
1-Sep-92 10-June-93 350 CO40 Tina Murphy
PG36 2 Manor Road, Glasgow
10-Oct-93 1-Dec-94 375 CO93 Tony Shaw PG16 5 Novar Drive,
Glasgow
1-Jan-95 10-Aug-95 450 CO93 Tony Shaw
Hình 3.18. Bảng cha chuẩn hoá Customer_Rental
• Thuộc tính khoá chính đợc nhận diện cho bảng cha chuẩn hoá Customer_Rental là Customer_No
• Nhóm lặp lại trong bảng cha chuẩn hoá là các thuộc tính của tài sản đ đã ợc thuê mà đợc lặp lại cho từng khách hàng:
Nhóm lặp lại = (Property_No, PAddress, RentStart, RentFinish, Rent, Owner_ No, OName)
• Để chuyển bảng cha chuẩn hoá này thành dạng chuẩn 1NF, chúng ta phải đảm bảo chỉ có một giá trị tại mỗi ô cắt nhau của mỗi hàng và mỗi cột
a. Cách thứ nhất : Loại bỏ nhóm lặp lại bằng cách đa dữ liệu về khách hàng tơng ứng vào từng hàng
==============================================================================="Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004 "Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
• Dạng chuẩn 1NF của quan hệ Customer_Rental đợc minh hoạ trên hình 3.19
• Khoá chính cho quan hệ Customer_rental này là thuộc tính ghép bao gồm hai thuộc tính (Customer_No, Property_No)
Customer_Rental (1NF)
CR76 PG4 John Kay