tham dự vào thành phần của khoá chính hoặc khóa ứng cử
• Các quan hệ SECOND và SP đều là 2NF
• Quan hệ FIRST không phải là 2NF
• Một quan hệ ở dạng chuẩn thứ nhất và không ở dạng chuẩn thứ hai luôn luôn có thể chuyển thành một tập tơng đơng các dạng chuẩn 2NF
• Ta có thể chuyển bằng cách thay thế các quan hệ bằng các ánh xạ thích hợp
• Tập các ánh xạ này là tơng đơng với quan hệ ban đầu theo nghĩa quan hệ ban đầu luôn luôn có thể khôi phục lại bằng cách kết hợp một cách
thích hợp các ánh xạ này
Nh vậy, thông tin sẽ không bị mất mát trong quá trình chuyển (điều này là rất quan trọng)
Nói một cách khác, quá trình là hai chiều
• Cũng cần lu ý là quan hệ 1NF mà không phải là 2NF cần phải có khoá chính là khoá ghép
• Vì thông tin không bị mất trong quá trình chuyển nên bất kỳ thông tin nào mà rút ra đợc từ cấu trúc ban đầu đều có thể đợc rút ra từ cấu trúc mới
• Tuy nhiên, điều ngợc lại là không đúng:
Cấu trúc mới có thể chứa thông tin (nh thông tin là S5 có địa chỉ
==============================================================================="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
ở Athens) mà không thể biểu thị đợc trong cấu trúc ban đầu
Với ý nghĩa này, cấu trúc mới là ánh xạ đôi chút hợp lý hơn của thế giới thực
• Tuy nhiên, cấu trúc SECOND/SP vẫn còn tồn tại một số vấn đề:
Quan hệ SP là thoả đáng và nó là quan hệ ở dạng chuẩn thứ bốn, do đó sẽ không xét đến nó trong mục này
Ngợc lại, quan hệ SECOND vẫn còn cha đảm bảo sự độc lập lẫn nhau giữa các thuộc tính không khoá:
♦ Sơ đồ phụ thuộc của quan hệ SECOND vẫn còn phức tạp hơn sơ đồ 4NF
cầu (thông qua thuộc tính CITY): mỗi giá trị S# xác định một giá trị CITY và giá trị này đến lợt mình lại xác định giá trị STATUS
• Sự bắc cầu này một lần nữa lại dẫn đến những khó khăn trong các phép toán lu trữ:
i. Chèn (Insert):
Không thể đa thêm thông tin về một thành phố nào đó có một giá trị trạng thái nào đó
Ví dụ:
♦ Không thể nói là bất kỳ h ng cung cấp nào ở thành phốã
Rome cũng phải có trạng thái là 50 - cho đến khi có một
==============================================================================="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
CSCITYSTATUSC Athens30A L C Athens30A L ondon20 o Paris10P SCS#CITY S S1LondonS S2 Paris P S3ParisS S4Lond on o S5AthensS
h ng cung cấp có địa chỉ ở thành phố nàyã
ii. Xoá (Delete):
Nếu xoá đi một bộ duy nhất cho một thành phố nào đó trong quan hệ SECOND, ta sẽ huỷ mất không chỉ thông tin về h ngã
cung cấp có liên quan mà còn huỷ mất cả thông tin về giá trị trạng thái của thành phố đó
Ví dụ:
♦ Nếu huỷ bộ S5 trong quan hệ SECOND, sẽ mất thông tin về giá trị trạng thái là 30 cho thành phố Athens
==============================================================================="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
CSCITYSTATUSC Athens30A L C Athens30A L ondon20 o Paris10P SCS#CITY S S1LondonS S2
iii. Thay đổi (Update):
Quan hệ SECOND vẫn còn chứa sự d thừa thông tin về trạng thái STATUS
♦ Nh vậy, nếu phải thay đổi giá trị trạng thái của London từ 20 thành 30, sẽ hoặc phải giải quyết bàI toán tìm kiếm hoặc không nhất quán về dữ liệu
SC CS
Hình 3.8. Các phụ thuộc hàm trong các quan hệ SC và CS
==============================================================================="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