Chơng 3: chuẩn hoá
3.1. Giới thiệu
Theo các lý do đ đã ợc nêu trong chơng 2, trong mô hình quan hệ, chỉ
cho phép các quan hệ đ đã ợc chuẩn hoá
Trong phần 2.3, thông qua ví dụ chúng ta đ biết một quan hệ chã a
chuẩn hoá chuyển thành một quan hệ chuẩn hoá tơng đơng nh thế nào
Đặc biệt, chúng ta sẽ biết một quan hệ đ cho, mặc dù nếu đ đã ã ợc
chuẩn hoá vẫn có thể có những thuộc tính không mong muốn nào đó
và chúng ta sẽ biết cách chuyển quan hệ nh vậy thành dạng tốt hơn
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
84
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
85
Các quan hệ tổng quát (đ chuẩn hoá và chưa chuẩn hoá)ã
Các quan hệ 1NF (các quan hệ đ chuẩn hoá)ã
Các quan hệ 2NF
Các quan hệ 3NF, BCNF
Các quan hệ 4NF
Hình 3.1. Các mức của chuẩn hoá
Codd là ngời đầu tiên đ định nghĩa ba mức chuẩn hoá mà ông gọi làã
dạng chuẩn thứ nhất, thứ hai và thứ ba
Tóm lại:
Tất cả các quan hệ đ đã ợc chuẩn hoá đều ở dạng chuẩn thứ
nhất (1NF: First Normal Form)
Một số quan hệ 1NF cũng ở dạng chuẩn thứ hai (2NF: Second
Normal Form)
một số quan hệ 2NF cũng ở dạng chuẩn thứ ba (3NF: Third
Normal Form)
Sau đó, Fagin đ định nghĩa dạng chuẩn thứ bốn (4NF: Fourth Normalã
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
88
nếu cho trớc một giá trị của S# thì sẽ có đúng một giá
trị tơng ứng của từng thuộc tính SNAME, STATUS và
CITY
Chúng ta có thể biểu thị các phụ thuộc hàm này bằng sơ đồ nh trên
hình 3.2.
Hình 3.2. Các phụ thuộc hàm trong quan hệ S
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
89
SNAME
STATUSS#
CITY
Sự nhận biết các phụ thuộc hàm là một phần rất quan trọng để hiểu ý
nghĩa hoặc ngữ nghĩa của dữ liệu
Ví dụ:
CITY là phụ thuộc hàm vào S# có nghĩa là mỗi một h ng cungã
cấp chỉ đặt địa chỉ ở đúng một thành phố
Nói một cách khác, chúng ta áp đặt lên thực tế điều kiện là
CSDL biểu thị:
mỗi h ng cung cấp chỉ đặt trụ sở ở đúng một thành phốã
Vì đây là một phần ngữ nghĩa của tình huống này nên sự áp đặt này
cần phải đợc thể hiện trong mô hình dữ liệu
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
90
Cách thức để đảm bảo điều này đợc thể hiện là chỉ định điều kiện áp
đặt này trong định nghĩa mô hình dữ liệu (nghĩa là, trong lợc đồ khái
Nói rằng X
Y (đọc là X xác định hàm Y hoặc Y phụ
thuộc hàm vào X) nếu r là một quan hệ xác định trên
R(U) sao cho đối với bất kỳ hai bộ t
1
, t
2
r mà
t
1
[X] = t
2
[X] thì t
1
[Y] = t
2
[Y]
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
93
Phụ thuộc hàm đầy đủ (fully functionally dependent):
Thuộc tính Y đợc gọi là phụ thuộc hàm đầy đủ vào
thuộc tính X nếu nó là phụ thuộc hàm vào X và
không phụ thuộc hàm vào bất kỳ một tập con nào
của các thuộc tính của X (X phải là thuộc tính ghép)
Ví dụ:
Trong quan hệ S: thuộc tính CITY là phụ thuộc hàm vào thuộc
96
Quan hệ R đợc gọi là ở dạng chuẩn thứ bốn (4NF) nếu và
chỉ nếu tại mọi thời điểm, mỗi bộ của R gồm giá trị khoá
chính (dùng để nhận dạng duy nhất một thực thể nào đó)
và một tập các giá trị của các thuộc tính độc lập với nhau
để mô tả thực thể
Hai thuộc tính đợc gọi là độc lập với nhau nếu không thuộc
tính nào là phụ thuộc hàm vào thuộc tính kia; các thuộc
tính này có thể là các thuộc tính ghép
Ví dụ:
Quan hệ S là ở dạng chuẩn thứ bốn
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
97
Các quan hệ P và SP cũng trong dạng chuẩn thứ bốn
Nói chung, các thực thể đợc nhận dạng duy nhất bởi các giá trị khoá
chính là các thực thể cơ sở đợc ghi nhận bởi dữ liệu trong CSDL
Quan hệ R đợc gọi là ở dạng chuẩn thứ nhất (1NF) nếu và
chỉ nếu tất cả các miền đều chỉ chứa các giá trị nguyên tố.
Định nghĩa này chỉ đơn thuần cho ta biết là bất kỳ quan hệ đ chuẩnã
hoá nào cũng ở dạng chuẩn thứ nhất
Một quan hệ chỉ ở dạng chuẩn thứ nhất (nghĩa là một quan hệ 1NF mà
không là 2NF, do đó cũng không là 3NF hoặc BCNF) có cấu trúc không
mong muốn do một số lý do
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
98
Để minh hoạ điểm này, giả thiết:
Thông tin liên quan đến h ng cung cấp và số lã ợng đặt hàng thay
vì chia thành hai quan hệ tách biệt nhau (S và P), sẽ kết hợp lại
cơ sở mà ta sẽ xét sau đây
Để minh hoạ các vấn đề này, chúng ta xem xét một bảng dữ liệu mẫu
của quan hệ FIRST trên hình 3.5
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
101
S# STATUS CITY P# QTY
S1 20 London P1 300
S1 20 London P2 200
S1 20 London P3 400
S1 20 London P4 200
S1 20 London P5 100
S1 20 London P6 100
S2 10 Paris P1 300
S2 10 Paris P2 400
S3 10 Paris P2 200
S4 20 London P2 200
S4 20 London P4 300
Hình 3.5. Bảng dữ liệu mẫu của quan hệ FIRST
Quan hệ FIRST có các dị thờng trong các phép toán lu trữ giống nh các
dị thờng đ thấy trong mô hình phân cấp đ đã ã ợc mô tả trong chơng 1
Các vấn đề xuất hiện với ba phép toán cơ bản đợc thể hiện nh sau:
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
102
i. Chèn (Insert):
Chúng ta không thể đa thêm dữ liệu về địa chỉ thành phố của
một h ng cung cấp nào đó vào quan hệ FIRST cho đến khi h ngã ã
này thực sự cung cấp ít nhất một mặt hàng nào đó
Lý do vì:
Amsterdam, chúng ta sẽ hoặc gặp phải bàI toán tìm
kiếm hoặc dữ liệu không nhất quán
SECOND SP
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
105
STATUS
CITY
S#
S#
P#
QTY
Hình 3.6. Các phụ thuộc hàm trong quan hệ SECOND và SP
Để giải quyết các vấn đề trên, chúng ta thay thế quan hệ FIRST bằng
hai quan hệ
SECOND (S#, STATUS, CITY)
SP (S#, P#, QTY)
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
106
Hình 3.6 chỉ ra các sơ đồ phụ thuộc hàm của hai quan hệ này
Hình 3.7 cho thấy bảng dữ liệu mẫu tơng ứng với các giá trị của hình
3.5
Quan hệ SP bây giờ thực tế giống hệt nh đ cho trên hình 2.5ã
===============================================================================
"Cơ sở dữ liệu". PGS.TS. Nguyễn Việt Hơng. Khoa ĐT-VT. ĐHBK-HN. 11/2004
SECOND S# STATUS CITY
S1 20 London
S2 10 Paris
S3 10 Paris