1
CHUẨN HÓA CSDL
Giáo viên: Tạ Thúc Nhu
Khoa CNTT trường ĐH Lạc Hồng
ÔN THI
CƠ SỞ DỮ LiỆU
CSDL@Khoa CNTT
2
I- Phụ thuộc hàm:
I- Phụ thuộc hàm:
2
CSDL@Khoa CNTT
3
1. Khái niệm phụ thuộc hàm:
1.
1.
Kh
Kh
á
á
i
i
ni
ni
ệ
ệ
m
m
ph
ph
ụ
Ví dụ: Tìm các phụ thuộc hàm trên quan hệ
Xét lược ñồ quan hệ quản lý kết quả học tập của sinh viên
KQHT(MaSV, Ten, NS, TenLop, KhoaHoc, MaMH,TenMH,Diem)
• Tân từ : Mỗi sinh viên có một mã số phân biệt với các sinh viên
khác (MaSV); có tên (Ten), ngày sinh (NS) và học một lớp
(TenLop). Mỗi lớp có tên lớp phân biệt và thuộc một khóa học
(KhoaHoc). Mỗi môn học có một mã số phân biệt (MaMH), có
tên môn học (TenMH) cũng phân biệt. Mỗi sinh viên học nhiều
môn, mỗi môn có ñiểm thi (Diem) của môn học ñó.
3
CSDL@Khoa CNTT
5
2- Các Phụ thuộc hàm ñặc biệt:
2- Các Phụ thuộc hàm ñặc biệt:
1. Phụ thuộc hàm hiển nhiên: X
→
X
2. Phụ thuộc hàm ñy ñ (fully functional dependence):
X −−>Y là phụ thuộc hàm ñầy ñủ
Khi và chỉ khi ∀
∀∀
∀X' ⊂
⊂⊂
⊂ X, X' −/−>
−/−>−/−>
−/−> Y
Ví dụ: Phụ thuộc hàm MaSV, MaMH −−>
−−>−−>
−−> DiemMH là phụ thuộc
hàm ñầy ñủ vì :
∈ Q
+
: X −−>
−−>−−>
−−> Y ∈
∈∈
∈ F
+
Q
}
Nhận xét:
1. X ∈
∈∈
∈ X
+
FQ
2. W −−>
−−>−−>
−−> Z và W ⊆
⊆⊆
⊆ X
+
FQ
thì Z ⊆
⊆⊆
⊆ X
+
FQ
4
CSDL@Khoa CNTT
8
4- Khóa của quan hệ:
4- Khóa của quan hệ:
Định nghiã:
Cho lược ñồ quan hệ < Q, F
Q
>
1. S ⊆
⊆⊆
⊆ Q
+
, S là siêu khóa của Q nếu S −−>
−−>−−>
−−> Q
+
∈
∈∈
∈ F
Q
2. K ⊆
⊆⊆
⊆ Q
+
, K là khóa chỉ ñịnh nếu
a) K là siêu khóa
b) K
−−>
Q
+
là phụ thuộc hàm ñầy ñủ
• Dạng chuẩn 1
• Dạng chuẩn 2
• Dạng chuẩn 3
• Dạng chuẩn BCK
CSDL@Khoa CNTT
10
1- Dạng chuẩn 1:
1- Dạng chuẩn 1:
1.1Định nghĩa DC1:
Một lược ñồ quan hệ Q ñạt dạng chuẩn 1 nếu mọi thuộc tính của
Q ñều là thuộc tính ñơn.
1.2 Khái niệm Thuộc tính ñơn:
Một thuộc tính ñược gọi là thuộc tính ñơn nếu giá trị thuộc tính
hoặc chỉ mang một thông tin duy nhất; nếu ñược ghép bởi
nhiều thông tin thì hệ thống thường truy xuất trên toàn bộ giá trị
của nó.
Ví dụ:
– Thuộc tính Địa_Chỉ
– Thuộc tính Ngày_Sinh
6
CSDL@Khoa CNTT
11
2- Dạng chuẩn 2:
2- Dạng chuẩn 2:
Một lược ñồ quan hệ Q ñạt dạng chuẩn 2 nếu:
a. Q có DC1
b. Mọi thuộc tính không là thuộc tính khóa ñều phụ thuộc hàm
ñầy ñủ vào các khóa của Q.
Nhận xét: Nu mi khóa ca quan h Q ch có 1 thuc tính thì
Q ñt dng chun 2.
• A ⊂
⊂⊂
⊂ Q
+
, X ⊂
⊂⊂
⊂ Q
+
và tồn tại X
A
X
A là phụ thuộc hàm bắc cầu nếu tồn tại nhóm thuộc tính
Y ⊂ Q
+
thỏa mản 4 ñiều kiện sau:
1. X Y ∈ F
+
Q
2. Y A ∈ F
+
Q
3. Y −/−> X
4. A
⊄
{X ∪ Y}
CSDL@Khoa CNTT
14
Ví dụ:
2- SV(MaSV, Ten, NS, DC, TenLop, KhoaHoc)
F
SV
= { f1:MaSV Ten, NS, DC, TenLop;
f2: TenLop KhoaHoc}
9
CSDL@Khoa CNTT
17
4. Dạng chuẩn BCK (Boyee-Codd-Kent):
4. Dạng chuẩn BCK (Boyee-Codd-Kent):
Lược ñồ quan hệ Q ở dạng chuẩn BCK nếu
1. Q ñạt dạng chuẩn 3
2. Mọi phụ thuộc hàm không hiển nhiên ñều chứa 1 khóa của
Q ở vế trái.
∀
∀∀
∀ X
A ∈
∈∈
∈ F
+
Q
: A ∉
∉∉
∉ X và X chứa 1 khóa của Q
DC1
DC2
DC3
DC BCK
2- SV(MaSV, Ten, NS, DC, TenLop, KhoaHoc)
F
SV
= { f1:MaSV Ten, NS, DC, TenLop;
f2: TenLop KhoaHoc}
CSDL@Khoa CNTT
20
Ví dụ:
Ví dụ:
Xét dạng chuẩn của CSDL gồm 3 quan hệ sau:
1- SV(MaSV, Ten, NS, DC, TenLop)
F
SV
= { f: MaSV Ten, NS, DC, TenLop}
2- LOP(TenLop, KhoaHoc)
F
LOP
= { f: TenLop KhoaHoc}
3- KQMH(MaSV, MaMH, TenMH, Diem)
F
KQHT
={ f1: MaMH TenMH; f2 : TenMH MaMH;
f3: MaSV, MaMH Diem}
11
CSDL@Khoa CNTT
21
Ví dụ:
Ví dụ:
Xét dạng chuẩn của CSDL gồm 4 quan hệ sau:
1- SV(MaSV, Ten, NS, DC, TenLop)
={ f1: MaMH TenMH; f2 : TenMH MaMH;
f3: MaSV, MaMH Diem}
2- SV(MaSV, Ten, NS, DC, TenLop, KhoaHoc)
F
SV
= { f1:MaSV Ten, NS, DC, TenLop;
f2: TenLop KhoaHoc}
CSDL@Khoa CNTT
24
2- Định lý Delobel: (1973)
2- Định lý Delobel: (1973)
• Xét quan hệ Q(X, Y, Z) có tập phụ thuộc hàm F
Q
• X, Y, Z là các tập con thuộc tính khác rỗng.
Nếu tồn tại X
Y thì phép phân rã Q thành 2 quan hệ con
Q1(X, Y) và Q2(X, Z) là bảo toàn thông tin.
Nghĩa là: - Q
+
= Q1
+
∪
∪∪
∪ Q2
+
.
- Q = Q1 Q2
Ý tưởng: Chuẩn hóa quan hệ Q
1. Phân rã Q thành 2 quan hệ Q1 và Q2 bằng 1 một phụ thuộc hàm f có
+
}
b2. Nếu F* = ∅ thì C = {Q
I
} là nghiệm của bài toán (kết thuc)
Ngược lại thì chuyển sang bước b3
b3. Chọn phụ thuộc hàm f: X Y ∈ F*
b4. Phân rã lược ñồ quan hệ Q thành 2 lược ñồ quan hệ con:
< Q
1
(X, Y), F
1
={f ∈ F
Q
: VT(f) ∪ VP(f) ⊂ Q
1
+
} >
< Q
2
(Q
+
\ Y), F
2
={ f ∈ F
Q
: VT(f) ∪ VP(f) ⊂ Q
2
+
} >
f3: MsKH, MsHH
SL }
– MsKH: Mã số Khách hàng.
– TP: Thành phố khách ở.
– CtyVC: công ty vận chuyển hàng.
– MsHH: mã hàng hóa.
– SL: số lượng.
1. Xét dạng chuẩn
2. Phân rã thành các quan hệ có dạng chuẩn cao nhất
CSDL@Khoa CNTT
28
Nhận xét:
Nhận xét:
1. Tất cả các quan hệ kết quả ñều ñạt dạng chuẩn BCK
2. Bảo toàn thông tin.
3. Tùy theo thứ tự các pth ñược xét mà k
ết quả và số lượng
quan hệ con có thể khác nhau
4. Nên ưu tiên chọn phụ thuộc hàm gây chất lượng xấu cho
quan hệ.