ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG
NGUYỄN LÊ HOÀN
LOẠI BỎ CÁC MẪU TIN NHÂN BẢN THỪA
TRONG CƠ SỞ DỮ LIỆU QUAN HỆ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên – 2012
i
LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn này là công trình nghiên cứu của riêng
tôi, không sao chép ở bất kỳ công trình khoa học nào trước đây. Các kết quả
nêu trong luận văn có nguồn gốc rõ ràng và được trích dẫn đầy đủ. Nếu có gì
sai, tôi xin chịu hoàn toàn trách nhiệm.
Học viên
Nguyễn Lê Hoàn
ii
MỤC LỤC
Trang
MỞ ĐẦU 1
CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 2
1.1. Tổng quan CSDL quan hệ 2
1.1.1. Định nghĩa quan hệ 2
1.1.2. Phụ thuộc hàm 2
1.1.3. Khóa 4
1.1.3. Các loại chuẩn 7
1.2. Hệ chuyên gia 14
1.2.1. Thể hiện dấu hiệu không chắc chắn 16
1.2.2. Thể hiện các luật không chắc chắn 19
1.2.3. Lan truyền chắc chắn đối với các luật có nhiều giả thiết 22
CHƯƠNG 2: LOẠI BỎ CÁC MẪU TIN NHÂN BẢN THỪA 25
2.1. Các dạng lệnh SQL 25
2.2. Các loại mảnh và cách phân mảnh quan hệ 32
2.2.1. Các lý do phân mảnh 40
2.2.2. Các kiểu phân mảnh. 40
2.3. Thể hiện dấu hiệu không chắc chắn cho các thuộc tính không khóa 50
2.4. Thể hiện luật không chắc chắn cho các thuộc tính có giá trị lặp 51
2.4.1. Thuật toán 52
2.4.2. Mệnh đề 53
2.5. Kết luận 54
CHƯƠNG 3: ỨNG DỤNG GIẢI MỘT SỐ BÀI TOÁN THỰC TẾ 55
3.1. Giới thiệu các quan hệ trong CSDL quản lí nhân sự 55
3.1.1. Bài toán phân mảnh tối ưu 55
iii
3.1.2. Bài toán phân mảnh ứng dụng. 55
3.2. Tư vấn 67
3.3. Kết luận và hướng phát triển 67
3.3.1. Kết luận 67
3.3.2. Hướng phát triển 67
TÀI LIỆU THAM KHẢO 68
iv
DANH MỤC CÁC KÍ HIỆU
CÁC KÍ HIỆU Ý NGHĨA
Phép giao
Phép hợp
Kí hiệu không thuộc
Kí hiệu thuộc
+ Phép cộng
- Phép trừ
X Tích đề các
Phép nối
Phép chiếu
Tê ta
> Phép so sánh lớn hơn
< Phép so sánh nhỏ hơn
Phép so sánh lớn hơn hoăc bằng
Phép so sánh nhỏ hơn hoăc bằng
\ Phép chia
* Phép nhân
v
AND Phép và
OR Phép hoặc
Tập rỗng
Phủ định
= Phép bằng
Phép chọn
Kí hiệu với mọi
Pi
vi
DANH MỤC CÁC CHỮ VIẾT TẮT
1NF Fisrt Normal Form (Dạng chuẩn thứ nhất)
2NF Second Normal Form (Dạng chuẩn thứ hai)
3NF Third Normal Form (Dạng chuẩn thứ ba)
4NF Fourth Normal Form (Dạng chuẩn thứ bốn)
5NF Fifth Normal Form (Dạng chuẩn thứ năm)
BCNF Boye Codd Normal Form (Dạng chuẩn BOYE CODD)
CF Certainty Factor (Nhân tố chắc chắn)
CSDL Cơ sở dữ liệu
DDBM Distributed Database Managerment (Hệ quản trị CSDL phân tán)
FD Functional Dependancy (Phụ thuộc hàm)
GCS Global Conception Schema (lược đồ khái niệm toàn cục)
LCS Local Conception Schema (lược đồ khái niệm địa phương)
LTM Long Term Memory (bộ nhớ vĩnh cửu)
MB Measure of Belief (Độ chắn chắn)
MD Measure of Disbelief (Độ không chắn chắn)
SQL Structured Query Langguage (Ngôn ngữ truy vấn có cấu trúc)
STM Short Term Memory (bộ nhớ tạm thời)
vii
DANH MỤC CÁC BẢNG BIỂU
Trang
Bảng 1.1. HS 3
Bảng 1.2. HangHoa 5
Bảng 1.3. Khoa 6
Bảng 1.4.Luong 7
Bảng 1.5. TienLuong 8
Bảng 1.6.XeMay 8
Bảng 1.7. XeMay1 9
Bảng 1.8. XeMay2 9
Bảng 1.9. SV 10
Bảng 1.10. Xe 12
Bảng 1.11. R1 13
Bảng 1.12. R2 13
Bảng 1.13. R3 13
Bảng 1.14. Miêu tả các giá trị CF 23
Bảng 2.1. So sánh các lựa chọn nhân bản 39
Bảng 2.2. Truong 42
Bảng 2.3. Hocsinh 42
Bảng 2.4. Monhoc 42
Bảng 2.5.Diemthi 43
Bảng 2.6. Truong
1
44
Bảng 2.7. Truong2 45
Bảng 2.8. Hocsinh
1
46
Bảng 2.9. Hocsinh
2
46
Bảng 2.10.Monhoc
1
48
viii
Bảng 2.11.Monhoc2 50
Bảng 3.1. Quan hệ R 56
Bảng 3.2. Mảnh ngang t1 56
Bảng 3.3. Mảnh ngang t2 56
Bảng 3.4. Mảnh ngang t3 57
Bảng 3.5. Mảnh ngang t4 57
Bảng 3.6. Mảnh ngang t5 57
Bảng 3.7. Mảnh ngang t6 57
Bảng 3.8. Mảnh ngang t7 58
Bảng 3.9. Mảnh ngang t8 58
Bảng 3.10. Mảnh ngang t9 58
Bảng 3.11. Mảnh ngang t10 58
Bảng 3.12. Mảnh ngang t11 59
Bảng 3.13. Mảnh ngang t12 59
Bảng 3.14. Mảnh ngang 1 60
Bảng 3.15. Mảnh ngang 2 60
Bảng 3.16. Mảnh ngang 3 61
Bảng 3.17. Mảnh ngang 4 61
Bảng 3.18. Mảnh ngang 5 61
Bảng 3.19. Mảnh ngang 6 61
Bảng 3.20. Mảnh ngang 7 62
Bảng 3.21. Mảnh HV1 62
Bảng 3.22. Mảnh HV2 62
Bảng 3.23. Mảnh HV3 63
Bảng 3.24. Mảnh HV4 63
Bảng 3.25. Mảnh HV5 63
Bảng 3.26. Mảnh HV6 63
ix
Bảng 3.27. Mảnh HV7 63
Bảng 3.28. Mảnh R1 64
Bảng 3.30. Mảnh ngang tR21 65
Bảng 3.31. Mảnh ngang tR22 65
Bảng 3.32. Mảnh ngang tR23 65
Bảng 3.33. Mảnh ngang tR24 65
Bảng 3.34. Mảnh ngang R2a 65
Bảng 3.35. Mảnh HV8 66
Bảng 3.37. Mảnh R22 66
Bảng 3.38. Mảnh ngang tR22 66
x
DANH MỤC CÁC HÌNH
Trang
Hình 1.1. Giải quyết vấn đề của chuyên gia 17
Hình 1.2. Giải quyết các vấn đề của hệ chuyên gia 17
Hình 1.3. Phạm vi của CF 20
Hình 1.4. Phân mảnh hỗn hợp 49
Hình 1.5. Tái thiết các mảnh hỗn hợp 49
Hình 2.1. Quá trình thiết kế từ trên xuống 36
Hình 2.2. Mối liên hệ giữa các quan hệ 44
1
MỞ ĐẦU
Trong mấy thập niên gần đây sự bùng nổ về công nghệ thông tin diễn ra
mạnh mẽ, hầu hết các lĩnh vực đều phát triển với tốc độ tối đa của nó, trong
đó lĩnh vực cơ sở dữ liệu đã mở ra một hướng phát triển mới đó là cơ sở dữ
liệu phân tán - phân mảnh.
Việc phân tán – phân mảnh một quan hệ thành nhiều mảnh rồi phân tán
trên các nút mạng và xử lý chúng như những đơn vị độc lập sẽ cho phép thực
hiện nhiều giao dịch đồng thời và giải quyết được vấn đề tiết kiệm không gian
nhớ cho một nút mạng cục bộ cũng như tốc độ đường truyền.
Khi đưa vào sử dụng, một CSDL quan hệ bao giờ cũng đã được chuẩn hoá.
Mỗi bảng trong CSDL quan hệ có một lược đồ quan hệ dạng R (K,A) trong đó K
= KeyR = {K
1
, K
2
,…} là tập siêu khoá (khoá chính), K
i
được gọi là thuộc tính
khoá. Tập các thuộc tính còn lại A = {A
1
, A
2
,…} là tập các thuộc tính không khoá.
Tập siêu khoá được dùng để xác định tính duy nhất của các bộ giá trị t(K,A).
Một số bộ giá trị t(A) có thể trùng nhau trên toàn bộ hoặc ở một số thuộc
tính không khoá nhưng vẫn không vi phạm tính duy nhất của bộ giá trị cũng
như tính chất phụ thuộc hàm bởi chúng luôn luôn có bộ giá trị khoá t(K) khác
nhau. Nghĩa là có thể do một sai sót nào đó mà hai bộ t
s
(K), t
x
(K) khác nhau
và t
s
(A), t
x
(A) có thể khác hoặc giống nhau nhưng t
s
(K, A), t
x
(K, A) trong thực
tế chỉ mô tả một đối tượng, khi đó ta nói t
s
(K, A), t
x
(K, A) là nhân bản thừa
của nhau. Điều này đặc biệt hay xảy ra trong CSDL phân tán khi vô hình nhân
bản và vô hình phân tán. Điều gì xẩy ra, nếu một người được nhận "danh hiệu
khen thưởng tại một số nơi", một nhân viên của tổng công ty có thể nhận
"lương tại một số công ty con" ở các nút mạng khi vô hình nhân bản và phân
tán.…Vì vậy cần phải loại bỏ tất cả các bộ được nhân bản thừa trong CSDL
quan hệ. Để làm việc này chúng ta có thể dựa vào phương pháp heuristics.
2
CHƯƠNG 1: CƠ SỞ LÍ THUYẾT
1.1. Tổng quan CSDL quan hệ
Một số khái niệm cơ bản về hệ cơ sở dữ liệu: Để dễ dàng cho việc giải
thích các khái niệm, trước hết chúng ta quan sát qua hệ thống bán vé máy bay
bằng máy tính. Dữ liệu lưu dữ trong máy tính bao gồm các thông tin về khách
hàng, chuyến bay, đường bay, …Mọi thông tin về mối quan hệ này được biểu
diễn trong máy tính thông qua việc đặt chỗ của khách hàng. Vậy làm thế nào
để biểu diễn được dữ liệu đó và để đảm bảo khách hàng đi đúng tuyến. Phần
thông tin lưu trữ trong máy tính đó theo một định dạng nào đó gọi là cơ sở dữ
liệu(Database). Phần chương trình để xử lý cơ sở dữ liệu gọi là hệ quản trị cơ
sở dữ liệu(Database management system), hệ quản trị cơ sở dữ liệu có nhiệm
vụ rất quan trọng như một bộ diễn dịch với các ngôn ngữ bậc cao nhằm giúp
người sử dụng có thể dùng được hệ thống mà ít nhiều không cần quan tâm
đến thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy.
1.1.1. Định nghĩa quan hệ
Cho R = (A
1
, A
2
, …, A
n
) là tập hữu hạn không rỗng các thuộc tính.
Mỗi thuộc tính A
i
có một miền giá trị D
Ai
(i = 1, 2, …, n). Khi đó r gồm
một tập các bộ {h
1
, h
2
, …, h
m
} được gọi là một quan hệ trên R, với h
j
(j
= 1, 2,
…, m) là một hàm:
:
i
j A
i
h R D
A R
sao cho: h
j
(A
i
)
Ai
D
1.1.2. Phụ thuộc hàm
Năm 1970 Codd đề cập phụ thuộc hàm trong mô hình quan hệ, nhằm giải
quyết phân rã không mất mát thông tin. Phụ thuộc hàm được định nghĩa như sau:
3
* Phụ thuộc hàm (Functional dependancy): Giả sử R(A
1
, A
2
, …, A
n
) là
lược đồ quan hệ, X, Y là tập con của {A
i
}. Người ta nói rằng X
Y (X xác
định Y hay Y phụ thuộc hàm vào X) nếu với tất cả các thác triển r của R, n bộ
t
i
, t
j
(
i j
)của r ta có:
Nếu chiếu X(t
i
) = chiếu X(t
j
) thì chiếu Y(t
i
) = chiếu Y(t
j
)
Ví dụ:
Xét quan hệ HS(Sbd, HoTen, DiaChi, Truong, KhuVuc) cho bởi bảng 1.1:
Sbd HoTen DiaChi Truong KhuVuc
CD101 Lê Thị Bình Định Hóa TN
Định Hóa 1
ED123 Vũ Ngọc Nam TP.TN Chuyên 3
QE112 Trần Thu Lệ Đồng Hỷ TN Đồng Hỷ 2
Bảng 1.1. HS
Trong quan hệ HS dựa vào định nghĩa phụ thuộc hàm của quan hệ ta có:
{Truong}
{KhuVuc}
* Hệ tiên đề Armstrong:
Giả sử R = {A
1
, A
2
, …, A
n
} là tập các thuộc tính.
X, Y, Z
R. Hệ tiên đề Armstrong bao gồm 3 tính chất cơ bản sau:
+ A
1
(phản xạ): Nếu Y
X thì X
Y;
+ A
2
(tăng trưởng): Nếu Z
R và X
Y thì X
Z
Y
Z ;
+ A
3
(bắc cầu): Nếu X
Y và Y
Z thì X
Z
* Sơ đồ quan hệ:
Giả sử R = (A
1
, A
2
, …, A
n
) là tập các thuộc tính. F là tập các phụ thuộc
hàm trên R. Khi đó sơ đồ quan hệ s là cặp R, F như trên và ký hiệu
là
s = < R, F >.
4
* Bao đóng của sơ đồ quan hệ:
Giả sử một sơ đồ quan hệ s = (R, F), trong đó R là tập các thuộc tính, F là
tập các phụ thuộc hàm trên R. Kí hiệu F
+
là tập tất cả các phụ thuộc hàm được
dẫn xuất từ F bằng việc áp dụng hệ tiên đề Armstrong:
Đặt A
+
= {a: A
{a}
F
+
}. Khi đó A
+
được gọi là bao đóng của A
trên s. Thấy rằng
A B F
nếu và chỉ nếu
B A
.
1.1.3. Khóa
Khóa (key) của một quan hệ r trên tập thuộc tính R= (A
1
, …, A
n
) là tập con
K
{A
1
, …, A
n
} thỏa mãn các tính chất sau đây: với bất kì hai bộ t
i
, t
j
r đều tồn
tại một thuộc tính A
K sao cho t
i
(A)
t
j
(A) (
i j
). Nói cách khác, không
tồn tại hai bộ mà có giá trị bằng nhau trên mọi thuộc tính của K, điều kiện này có
thể viết t
i
(K)
t
j
(K). Do vậy mỗi giá trị của K là xác định duy nhất.
Trong một lược đồ quan hệ có thể có rất nhiều khóa. Việc tìm tất cả các
khóa của lược đồ quan hệ là rất khó khăn. Để có thể định nghĩa khóa ta lưu ý,
nếu K
’
là khóa của quan hệ r(A
1
, …, A
n
) thì K
’
K
R, K cũng là khóa của
r, nghĩa là với bất kì hai bộ t
i
, t
j
r từ t
i
(K
’
)
t
j
(K
’
). Vì vậy chúng ta có định
nghĩa khóa của một quan hệ như sau:
* Định nghĩa khóa:
Khóa của một quan hệ trên tập thuộc tính R={A
1
, …, A
n
} là tập con K
R sao cho bất kì hai bộ khác nhau t
i
, t
j
r luôn thỏa mãn t
i
(K)
t
j
(K) bất kì
tập con thực sự K
’
K nào, K’ đều không có tính chất đó. Thì K được định
nghĩa là khóa.
Ví dụ 1:
Cho quan hệ hàng hóa HangHoa(MSMH, TenHang, SoLuong) cho dữ
liệu bởi bảng 1.2 như sau:
5
MSHH TenHang SoLuong
1011 Bàn phím 505
1012 Chuột quang 500
1013 Màn hình 600
Bảng 1.2. HangHoa
Trong ví dụ biểu diễn quan hệ hàng hóa (HangHoa) trong đó mã số mặt
hàng (MSMH) là khóa. Mỗi giá trị của thuộc tính MSMH đều xác định duy
nhất một loại mặt hàng trong quan hệ hàng hóa (HangHoa) và trong đó
t
i
(MSHH)
t
j
(MSHH) (
i j
).
* Thuật toán tìm khóa tối tiểu của một quan hệ:
Cho trước r = {h
1
, …, h
m
} là một quan hệ trên tập thuộc tính R ={A
1
, … , A
n
}
E
r
= {E
ij
:1
i
j
m}, ở đây E
ij
= {a
R: h
i
(a) = h
j
(a)}
Vào: r ={h
1
,…, h
m
} là một quan hệ trên tập thuộc tính R ={A
1
, …,A
n
}
Ra: K là một khóa tối tiểu của r
+ Bước 1: Tính E
r
= {A
1
, …, A
n
} trong đó E
r
là các hệ bằng nhau.
+ Bước 2: Tính M
r
là các hệ bằng nhau cực đại.
+ Bước 3: Lần lượt tính các thuộc tính:
K
0
, K
1
, K
2
, …, K
n
tính theo quy tắc:
K
0
= R = {A
1
, …, A
n
} hoặc K
0
là khóa đã biết
K
i
= K
i-1
– {A
i
} nếu không tồn tại A
M
r
sao cho K
i-1
– {A
i
}
A hoặc
K
i
= K
i-1
trong trường hợp ngược lại
+ Bước 4: Đặt K = K
n
, khi đó K là khóa tối tiểu.
Nếu ta thay đổi thứ tự các thuộc tính của R, thì bằng thuật toán này
chúng ta tìm được một khóa tối tiểu khác.
6
Ví dụ 2: Cho quan hệ Khoa = {A, B, C, D, E} cùng dữ liệu ở bảng 1.3.
A B C D E
1 1 0 3 0
0 1 0 1 1
0 0 1 1 0
2 0 2 0 1
Bảng 1.3. Khoa
Áp dụng thuật toán cho ví dụ trên ta có:
+Bước 1: Tính E
r
: Đối với r ta có: E
12
= {B}, E
13
= {E}, E
14
= {
},
E
23
= {A,D}, E
24
= {E}, E
34
= {B}
+ Bước 2: Tính M
r
= {{B},{E},{A,D}}
+ Bước 3: Dễ thấy K
0
= R = {A, B, C, D, E}
K
1
= K
0
– {A} = {A, B, C, D, E} - {A} = {B, C, D, E}
K
2
= K
1
– {B} = {B, C, D, E} - {B} = {C, D, E}
K
3
= K
2
– {C} = {D, E}
K
4
= K
3
K
5
= K
4
Do vậy theo thuật toán tập thuộc tính {D, E} là khóa tối tiểu của r
Nếu ta thay đổi thứ tự R= {E, D, C, B, A} thì ta có:
K
1
= {D, C, B, A}
K
2
= {C, B, A}
K
3
= {B, A}
Vì K
3
– B = A và A
{A, D} ta có K4= K
3
. Mắt khác, vì K
4
– A = B là
một phần tử của M
r
, ta có K
5
= K
4
+ Bước 4: Vậy {A,B} là khóa tối tiểu khác.
7
1.1.3. Các loại chuẩn.
Trong quá trình cập nhật dữ liệu không thể tránh khỏi những sai sót gây
ra các dị thường cho nên các quan hệ cần thiết phải được biến đổi thành các
dạng chuẩn. Quá trình đó được xem là quá trình chuẩn hóa. Một quan hệ được
chuẩn hóa là một quan hệ trong đó mỗi miền của một thuộc tính chỉ chứa một
giá trị nguyên tố, tức là không thể phân chia nhỏ thêm được nữa và do đó mỗi
giá trị trong quan hệ cũng là nguyên tố.
Các dạng chuẩn: Theo lý thuyết ban đầu Codd đưa ra các dạng chuẩn của
quan hệ:
Dạng chưa chuẩn
Dạng chuẩn thứ nhất (Fisrt Normal Form, viết tắt 1NF)
Dạng chuẩn thứ hai (Second Normal Form, viết tắt 2NF)
Dạng chuẩn thứ ba (Third Normal Form, viết tắt 3NF)
Dạng chuẩn BCNF (Boye Codd Normal Form)
Dạng chuẩn thứ bốn (Fourth Normal Form, viết tắt 4NF)
Dạng chuẩn thứ năm (Fifth Normal Form, viết tắt 5NF)
* Dạng chưa chuẩn:
Ví dụ 1:
Cho quan hệ Luong có cấu trúc như bảng 1.4:
Tien
HoTen
Luong Thuong
Bảng 1.4.Luong
8
* Các dạng chuẩn:
Cho sơ đồ quan hệ s = (R, F), trong đó R là tập các thuộc tính, F là tập
các phụ thuộc hàm trên R, K là một khóa của s.
+ Định nghĩa 1.(Dạng chuẩn 1 – 1NF)
Sơ đồ quan hệ s = (R, F) được gọi là ở dạng chuẩn 1NF nếu toàn bộ các
miền giá trị có mặt trong R đều chỉ chứa các giá trị nguyên tố (giá trị nguyên
tố là giá trị không thể phân chia nhỏ được nữa).
Ví dụ 2:
Quan hệ TienLuong có cấu trúc cho bởi bảng 1.5:
HoTen Luong Thuong Tien
Bảng 1.5. TienLuong
+ Định nghĩa 2.(Dạng chuẩn 2 – 2NF)
Sơ đồ quan hệ s = (R, F) được gọi là ở dạng chuẩn 2NF nếu mọi thuộc
tính thứ cấp của s phụ thuộc hoàn toàn vào khóa. Hay nói cách khác s là 2NF
nếu trong s không có các phụ thuộc hàm dạng A
{a}
F
n
với A là tập con
thực sự của K và a là thuộc tính thứ cấp.
Ví dụ 3: Cho quan hệ XeMay(MaXe, Mac, Gia) cho bởi bảng dữ liệu 1.6:
MaXe Mac Gia
S1 M1 20
S1 M2 30
S1 M3 40
S2 M1 50
S2 M2 60
Bảng 1.6.XeMay
9
+ Định nghĩa 3.(Dạng chuẩn 3 – 3NF)
Sơ đồ quan hệ s = (R, F) được gọi là ở dạng chuẩn 3NF, nếu trong s
không tồn tại phụ thuộc hàm dạng A
{a}
A, với mọi tập thuộc tính A mà
A
+
R và a là thuộc tinh thứ cấp. Có nghĩa là cấm thuộc tính thứ cấp phụ
thuộc vào mọi tập có bao đóng khác R.
Ví dụ 4:
Cho quan hệ XeMay1(MaXe, NamSx) cho bởi bảng dữ liệu 1.7:
MaXe NamSx
S1 2010
S2 2011
S3 2012
Bảng 1.7. XeMay1
+ Định nghĩa 4.(Dạng chuẩn Boye- Codd – BCNF)
Sơ đồ quan hệ s = (R, F) được gọi là ở dạng chuẩn BCNF nếu trong s
không tồn tại phụ thuộc hàm dạng A
{a} với {a}
A và A
+
R. Có nghĩa
là cấm tất cả các thuộc tính không phụ thuộc vào tập các bao đóng khác R.
Ví dụ 5: Cho quan hệ XeMay2(MaXe,Ten,NamSx,Mau) cho bởi bảng 1.8:
MaXe Ten NamSx Mau
S1 Xe Đua 2010 Xanh
S2 Xe Ga 2011 Trắng
S3 Xe Số 2012 Đen
Bảng 1.8. XeMay2
10
* Các phụ thuộc đa trị và dạng chuẩn bốn:
Trên thực tế quan hệ thuộc các dạng chuẩn 3NF, BCNF vẫn chưa hết dư
thừa dữ liệu. Việc dư thừa ấy khiến các phép cập nhật trên bảng hoặc là phức
tạp hoặc là đưa đến sai khác về thông tin
Ví dụ 6:
Cho quan hệ SV(MsSv, MonHoc, TheThao) cho biết môn học và môn
thể thao mà sinh viên tham gia thể hiện qua mô tả dữ liệu quan bảng 1.9:
MsSv MonHoc TheThao
100 Toán Võ
100 Toán Bóng
200 Toán Bơi
200 Văn Bơi
Bảng 1.9. SV
Quan hệ SV là 3NF, dư thừa nhưng không thể phân rã được nữa do
không có phụ thuộc hàm. Thực chất là do sự không đủ của định nghĩa phụ
thuộc hàm (FD) mà người ta không thể tìm hiểu về độc lập giữa các thuộc
tính như môn học và môn thể thao. Do vậy đưa ra khái niệm phụ thuộc đa trị,
việc loại các phụ thuộc hàm này được các công trình nghiên cứu của Fagin
năm 1977, Delobel năm 1978 và Zanodo năm 1981.
+ Định nghĩa 5. Phụ thuộc đa trị (Multivalued dependancy)
Giả sử R(A
1
, A
2
, …, A
n
) là một lược đồ quan hệ X,Y
{A
i
}, ta nói rằng
X ->>Y (X xác đa trị Y hay Y phụ thuộc đa trị vào X) nếu cho những giá trị
11
X, có một tập giá trị Y liên quan và tập này độc lập với các thuộc tính
Z = R - X - Y. Điều này tức là:
(X ->>Y)
{(xyz),(x’y’z’)
R
(xy’z),(x’yz’)
R } x
X,y
Y, z
Z
Trong ví dụ trên, quan hệ SV có các thuộc tính đa trị MsSv ->> MonHoc.
Tập thuộc tính liên quan đến các thuộc tính phụ thuộc đa trị là Z = {TheThao}.
Có thể thấy trong định nghĩa về phụ thuộc đa trị nêu trên, tập Y phụ
thuộc vào X luôn có mặt của tập thứ ba là Z. Giá trị Y gắn với (x, z) như là
gắn với x. Để loại bỏ các phụ thuộc đa trị do suy diễn và để phụ thuộc đa trị
tối giản, Melkanoff năm 1982 đã đưa ra định nghĩa về phụ thuộc đa trị cơ sở.
+ Định nghĩa 6. Phụ thuộc đa trị cơ sở (Elementary Muntivalued
dependancy)
Phụ thuộc đa trị X ->> Y của quan hệ R mà:
1. Y không rỗng và không giao với X
2. R không chứa phụ thuộc đa trị khác có dạng X’ ->>Y’ mà
'
X X
và
'
Y Y
+ Định nghĩa 7. Dạng chuẩn bốn (Fourth Normal Form – 4NF)
Một quan hệ ở dạng chuẩn bốn khi và chi khi những phụ thuộc đa trị cơ
sở là phụ thuộc trong đó xác định một thuộc tính. Tức là nếu có phụ thuộc đa
trị thì nó có dạng Z ->>A.
* Các phụ thuộc kết nối và dạng chuẩn năm.
Việc phân rã các quan hệ có chuẩn 4NF cũng chưa loại bỏ được các dư
thừa trong quan hệ. Kết luận này đã được Nicole năm 1978 hay Fagin năm
1979 khẳng định điều này.
12
Ví dụ 7:
Cho quan hệ Xe(Ten, Mau, Mac) và dữ liệu cho ở bảng 1.7 về người
dùng xe có màu và mác xe. Bảng 1.7 dữ liệu cho thấy quan hệ này vẫn dư
thừa dữ liệu và vấn đề cần phải nghiên cứu và phân rã chúng như bảng 1.10:
Ten Mau Mac
Nam Xanh YAMAHA
Nam Xanh HONDA
Nam Đỏ HONDA
Mai Xanh HONDA
Bảng 1.10. Xe
Quan hệ Xe thuộc dạng chuẩn 4NF vì bài toán không xác định phụ thuộc
đa trị nào. Kiểm tra các phụ thuộc đa trị ta thấy:
+ Không thể Ten
Mau vì không có bộ (Nam, Đỏ, YAMAHA)
+ Không thể Mau
Mac vì không có bộ (Mai, Đỏ, YAMAHA)
+ Không thể Mac
Ten vì không có bộ (Mai, Đỏ, HONDA)
Để giải quyết vấn đề này người ta phải phân rã thành nhiều quan hệ. Tài
liệu này được Aho hay Nicolas đề cập năm 1979.
Quan hệ Xe nói trên có thể phân rã thành các quan hệ R
1
, R
2
, R
3
được thể
hiện ở các bảng 1.11, 1.12, 1.13 như sau:
13
Ten Mau
Mau Mac
Ten Mac
Nam Xanh Xanh Yamaha Nam Yamaha
Nam Đỏ Xanh Honda Nam Honda
Mai Xanh Đỏ Honda Mai Honda
Bảng 1.11. R1 Bảng 1.12. R2 Bảng 1.13. R3
+ Định nghĩa 8. phụ thuộc kết nối (Joint dependancy)
Cho R = (A
1
, A
2
, …, A
n
) là lược đồ quan hệ và X
1
, X
2
, …, X
m
là các tập
con của {A
i
}. Ta nói rằng có phụ thuộc kết nối
*
{ X
1
, X
2
, …, X
n
} nếu R là
kết nối của chiếu của nó trên X
1
, X
2
, …, X
m
, tức là:
R = chiếu
x1
(R) chiếu
x2
(R) …chiếu
xm
(R)
Trong ví dụ về quan hệ Xe nói trên tuân theo phụ thuộc kết nối
*
{{Ten,
Mau}, {Mau, Mac}, {Ten, Mac}}.
Nhận xét thấy phụ thuộc đa trị là trường hợp đặc biệt của phụ thuộc kết
nối, do X ->> Y thỏa mãn
*
{XY, XZ}
+ Định nghĩa 9. Dạng chuẩn năm (Fifth Normal Form – 5NF)
Một quan hệ ở dạng chuẩn năm khi và chỉ khi tất cả các phụ thuộc kết
nối thực hiện bởi khóa sơ cấp của R.
Các phụ thuộc đa trị cũng là các phụ thuộc kết nối, nên một lược đồ qua
hệ ở dạng chuẩn nối cũng là lược đồ ở dạng 4NF. Các phân rã ở dạng chuẩn
5NF không tổn thất thông tin nhưng không giữ được các phụ thuộc hàm và
phụ thuộc đa trị. Do vậy nói chung không thể có được phân rã giữ được các
phụ thuộc cho lược đồ chuẩn năm.
14
* Mối liên hệ giữa các bảng (Relationship)
Khái niệm quan hệ ở mục này được dùng để nhóm họp hai hay nhiều
thực thể với nhau nhằm biểu hiện một mối liên quan tồn tại trong thế giới
thực giữa các thực thể này.
+ Quan hệ một – một (one - to - one): mỗi thể hiện của thực thể A được
liên kết với không, một hay nhiều thể hiện của B và mỗi thể hiện của B được
liên kết với một thể hiện duy nhất của A. Đây là quan hệ thông dụng và đơn
giản nhất.
+ Quan hệ nhiều – nhiều (many - to - many): mỗi thể hiện của thực thể A
được liên kết với không, một hay nhiều thể hiện của B và ngược lại, mỗi thể
hiện của thực thể B được liên kết với không, một hay nhiều thể hiện của A.
1.2. Hệ chuyên gia
+ Máy thông minh
Khi tri thức con người ngày càng rộng và cao, thì họ đòi hỏi thiết bị càng có
khả năng xử lý các vấn đề ngày càng phức tạp. Thậm chí yêu cầu máy xử lý các
tình huống càng giống con người. Máy phải “thu thập các sự kiện, suy nghĩ, dẫn
luận và đưa ra các kết luận”. Nhiều tổ chức đã dùng các thiết bị - cùng với các
phần mềm hỗ trợ để ra các quyết định hoặc thu thập tri thức của các chuyên gia
các lĩnh vực mà họ cần có các máy móc đó gọi là máy thông minh.
Định nghĩa 1.2-1. Chuyên gia về lĩnh vực nào đó là một người có kiến
thức sâu sắc về lĩnh vực đó và có thể dùng kiến thức đó để giải quyết các vấn
đề tương tự trong lĩnh vực đó.
Trải qua các kinh nghiệm, chuyên gia phát triển kĩ năng giúp họ giải
quyết vấn đề một cách có hiệu quả. Còn hệ chuyên gia là hệ thống bắt chước
được các kĩ năng của chuyên gia.
Định nghĩa 1.2-2. Hệ chuyên gia là một hệ thống dựa trên tri thức, cho
phép mô hình hóa các tri thức của chuyên gia có chất lượng, hay chuyên gia