Giao trinh CSDL
X → Y, Y → Z ⇒ X → Z
Các quy tắc suy rộng:
4.Luật hợp (the union rule)
Cho X → Y, X → Z ⇒ X → YZ
5.Luật bắc cầu giả (the pseudotransitivity rule)
Cho X → Y,WY→ Z ⇒ XW → Z
6.Luật phân rã (the decomposition rule):
Cho X → Y, Z ⊆ Y ⇒ X → Z
5.3
BAO ĐÓNG CỦA TẬP PHỤ THUỘC HÀM VÀ BAO ĐÓNG CỦA TẬP
THUỘC TÍNH
5.3.1. Bao Đóng Của Tập Phụ Thuộc Hàm F
Bao đóng (closure) của tập phụ thuộc hàm F (ký hiệu là F+) là tập hợp tất
cả các phụ thuộc hàm có thể suy ra từ F dựa vào các tiên đề Armstrong. Rõ
ràng F ⊆ F+
Ví dụ 5.2
Cho lược đồ quan hệ Q(ABCDEGH) và F được cho như sau:
- hệ luật dẫn
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 59
F = {B → A; DA→ CE;
BC → AC;
BC → D;
D → H;
DA → AH;
GH→ C;
AC→ D }
AC→ D ;
Khi đó F+ ={B→ A; DA→ CE;
D → H;
GH→ C;
DG → C;BC → AD;....}
(Lưu ý rằng, nếu mỗi thuộc tính được biểu diễn bằng một ký tự thì danh
sách các thuộc tính có hoặc không có dấu phẩy đều được, còn giữa các phụ
thuộc hàm phải có dấu chấm phẩy)
Các tính chất của tập F+
1.
Tính phản xạ:
Với mọi tập phụ thuộc hàm F+ ta luôn có F ⊆ F+
2.
Tính đơn điệu:
Nếu F ⊆ G thì F+ ⊆ G+
3.
Tính luỹ đẳng:
Với mọi tập phụ thuộc hàm F ta luôn luôn có F++ = F+.
5.3.2.Bao Đóng Của Tập Thuộc Tính X
Cho lược đồ quan hệ Q. giả sử F là tập các phụ thuộc hàm trong Q, X ⊆
Q+.
+Bao đóng của tập thuộc tính X đối với F ký hiệu là X+ (hoặc X F ) là tập
tất cả các thuộc tính A ∈ Q+ được suy ra từ X dựa vào các phụ thuộc hàm trong
F và hệ tiên đề Armstrong, nghĩa là:
X+ = {A : A ∈ Q+ và X → A ∈ F+}
Ví dụ 5.3
Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ thuộc hàm F
F = {B → A; DA→ CE;
Hãy tính:
B+; H+;BC+
Giải
Khi đó B+ = BA
H+ = H.
BC+= BCADEH.
(do có phụ thuộc hàm B → A)
(do có phụ thuộc hàm H → H)
(do
có
các
phụ
thuộc
hàm:B
→
A;AC→D;DA→ CE; D → H )
D → H;
GH→ C;
AC→ D }
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 60
Tương tự như tập bao đóng của tập phụ thuộc hàm F+, tập bao đóng X+
cũng chứa các phần tử của tập X, tức là X ⊆ X+.
Các tính chất của bao đóng của tập thuộc tính X+
Nếu X,Y là các tập con của tập thuộc tính Q thì ta có các tính chất sau
đây:
1.
2.
3.
4.
5.
6.
7.
Tính phản xạ:
Tính đơn điệu:
Tính luỹ đẳng:
(XY)+ ⊇ X+Y+
(X+Y)+ = (XY+)+ = (X+Y+)+
X → Y∈ F+ ⇔ Y ⊆ X+
X → Y ⇔ Y+ ⊆ X+
X ⊆ X+
Nếu X ⊆ Y thì X+ ⊆ Y+
X++ = X+
(Để giáo trình không bị ảnh hưởng quá nặng về lý thuyết toán, chúng tôi
không muốn đi sâu về các khái niệm F+, X+ cũng như việc chứng minh các tính
chất của F+, X+ , Bạn đọc có thể tham khảo thêm ở tài liệu tham khảo [2])
5.3.3.Bài Toán Thành Viên
Qua phần trên ta nhận thấy X+ được định nghĩa thông qua F+. Vấn đề
nảy sinh khi nghiên cứu lý thuyết CSDL là: Cho trước tập các phụ thuộc hàm F
và một phụ thuộc hàm f, bài toán kiểm tra có hay không f ∈ F+ gọi là bài toán
thành viên.
Để giải quyết bài toán bài toán thành viên thật sự không đơn giản; vì
mặc dù F là rất nhỏ nhưng F+ thì có thể rất lớn. Tuy nhiên ta có thể giải bằng
cách tính X+ và so sánh X+ với tập Y. Dựa vào tính chất X → Y ∈ F+ ⇔ Y ⊆ X+ ,
ta có ngay câu trả lời X → Y ∈ F+ hay không ? Như vậy thay vì giải bài toán
thành viên ta đưa về giải bài toán tìm bao đóng của tập thuộc tính.
5.3.4.Thuật Toán Tìm Bao Đóng Của Một Tập Thuộc Tính
Thuật toán 5.1
Thuật toán tìm bao đóng với độ phức tạp O(N2), với N là số lượng thuộc
tính của lược đồ quan hệ Q.
Dữ Liệu Vào
Q, F, X ⊆ Q+
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 61
Dữ Liệu Ra
X+
Đặt X+ = X
Temp = X+
∀f
U→V∈F
if (U ⊆ X+ )
X+ = X+ ∪ V.
F= F - f;
if (X+=Temp)
"X+ chính là kết quả cần tìm "
Dừng thuật toán
else
trở lại Bước 2:
Bước 1:
Bước 2:
Bước 3:
Ví dụ 5.4:
Cho lược đồ quan hệ Q(ABCDEGH) và tập phụ thuộc hàm F
F = { f1:
f2:
f3:
f4:
f5:
Giải:
X+ = AC
Do f1, f2, f3, f4 không thoả. f5 thoả :
X+=ACD
Lập lại bước 2. f1 không thoả, f2 thoả:
X+=ACDE,
f3 thoả :
X+=ACDEH
B
DA
D
GH
AC
→ A;
→ CE;
→ H;
→ C;
→ D}
Tìm bao đóng của các tập X = {AC} dựa trên F.
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 62
Đến đây rõ ràng không có phụ thuộc hàm nào làm thay đổi X+ nữa, thuật
toán dừng lại và kết quả X+ = ACDEH
Chú ý rằng bạn đọc hãy nắm thật kỹ thuật toán này - nó mở đầu cho
một loạt ứng dụng quan trọng về sau. Tiếp theo, chúng tôi nêu lên một thuật
toán tìm bao đóng với độ phức tạp tuyến tính để các bạn tham khảo.
Thuật toán 5.2
Thuật toán tìm bao đóng với độ phức tạp tuyến tính[3]
Bước 1:
Xây dựng mảng một chiều COUNT
Với COUNT(i) là số thuộc tính vế trái của phụ thuộc hàm
thứ i
Bước 2:
Xây dựng mảng LIST với
LIST(A) = {X → Y} ∈ F, A ∈ X}
(lưu chỉ số phụ thuộc hàm)
Bước 3:
X+ = X
Bước 4:
Mọi thuộc tính A ∈ X+
Giảm COUNT(X → Y} đi một nếu A ∈ X
Nếu COUNT{X → Y} = 0 thì X+ = X+ ∪ Y
Quay lại duyệt thuộc tính kế tiếp trong X+ cho đến khi nào duyệt
hết mọi phần tử của X+ thì dừng lại. Kết quả X+ là bao đóng cần tìm.
5.4.
KHOÁ CỦA LƯỢC ĐỒ QUAN HỆ - MỘT SỐ THUẬT TOÁN TÌM KHOÁ
5.4.1.Định Nghĩa Khoá Của Quan Hệ (relation key)
Cho quan hệ Q(A1,A2,...,An) được xác định bởi tập thuộc tính Q+ và tập
phụ thuộc hàm F định nghĩa trên Q, cho K ⊆ Q +.
K là một khoá của Q nếu thoả đồng thời cả hai điều kiện sau:
1. K → Q + ∈ F
+
+(hay K F = Q +)
(K chỉ thoả điều kiện 1 thì được gọi là siêu khoá)
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 63
2. Không tồn tại K' ⊂ K sao cho K'+ = Q +
Một lược đồ quan hệ có thể có nhiều siêu khoá, nhiều khoá.
5.5.2.Thuật Toán Tìm Một Khoá Của Một Lược Đồ Quan Hệ Q
Thuật toán 5.3
K = Q+;
While A ∈ K do
if (K - A)+ = Q+ then K = K - A
K còn lại chính là một khoá cần tìm.
Nếu muốn tìm các khoá khác (nếu có) của lược đồ quan hệ, ta có thể
thay đổi thứ tự loại bỏ các phần tử của K.
Ví dụ 5.7
Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc hàm
F={ A→ B;
A → C;
B → A}
Hãy tìm một khóa của Q.
Giải:
K={A,B,C}
Loại thuộc tính A, do (K-A)+ = Q+ nên K={B,C}
thuộc tính B không loại được do (K - B)+ ≠ Q+ nên K={B,C}
Loại thuộc tính C, do (K-C)+ = Q+ nên K={B}.
Vậy một khóa của Q là B.
5.4.3. Thuật Toán Tìm Tất Cả Các Khoá Của Một Lược Đồ Quan Hệ
Thuật toán 5.4 (thuật toán cơ bản)
Bước 1:Xác định tất cả các tập con của Q
Để xác định tất cả các tập con của một lược đồ quan hệ Q(A1,A2,...,An)
ta lần lượt duyệt tất cả 2n-1 tập hợp con khác rỗng của Q+ (n là số thuộc tính
của lược đồ quan hệ Q), kết quả tìm được giả sử là các tập thuộc tính: S={X1,
X2, ...,X2n-1 }
Bước 2: Tính Xi+
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 64
Bước 3: Nếu Xi+ = Q thì Xi là siêu khoá
Nếu một tập con Xi (i = 1..,2n-1) của Q+ có bao đóng đúng bằng Q+ thì tập
con dó (theo định nghĩa trên) là một siêu khoá của Q.
Giả sử sau bước này có m siêu khoá: S = {S1,S2,...,Sm}
Bước 4
Xây dựng tập chứa tất cả các khoá của Q từ tập S
Xét mọi Si,Sj con của S (i ≠ j), nếu Si ⊂ Sj thì ta loại Sj (i,j=1..m), kết quả
còn lại chính là tập tất cả các khoá cần tìm.
Ví dụ 5.8
Tìm tất cả các khoá của lược đồ quan hệ Q và tập phụ thuộc hàm F
được cho như sau:
Q(A,B,C);
F={ A→ B;
A → C;
B → A}
Xi+
Q+
Q+
C
Q+
Q+
Q+
Q+
AB
AC
BC
ABC
+
Xi
A
B
C
AB
AC
BC
ABC
Siêu khóa
A
B
khóa
A
B
Vậy lược đồ quan hệ Q có hai khoá là: {A} và {B}
Thuật toán trên thì dễ hiểu, dễ cài đặt, tuy nhiên nếu với n khá lớn thì
phép duyệt để tìm ra tập tất cả các tập con của tập Q+ là điều không hiệu quả,
do vậy cần thu hẹp không gian duyệt. Chúng ta sẽ nghiên cứu thuật toán cải
tiến theo hướng giảm số thuộc tính của tập cần duyệt.
Chú ý rằng thuật toán này tìm được tất cả các siêu khóa, tất cả các khóa
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 65
Thuật toán 5.5 (thuật toán cải tiến)
Trước khi đi vào thuật toán cải tiến, ta cần đưa thêm một số khái niệm
sau:
-Tập nguồn(TN) chứa tất cả các thuộc tính có xuất hiện ở vế trái và
không xuất hiện ở vế phải của tập phụ thuộc hàm. Những thuộc tính không
tham gia vào bất kỳ một phụ thuộc hàm nào thì cũng đưa vào tập nguồn.
-Tập đích chứa tất cả các thuộc tính có xuất hiện ở vế phải và không
xuất hiện ở vế trái của tập phụ thuộc hàm.
-Tập trung gian(TG) chứa tất cả các thuộc tính vừa tham gia vào vế trái
vừa tham gia vào vế phải.
Dữ liệu vào:
liệu F
Dữ liệu ra:
Bước 0.
gian(TG)
Tìm tất cả các tập con của tập trung gian gọi là Xi (bằng
phương pháp duyệt nhị phân)
if tập trung gian=∅ then
Tập Khoá = Tập nguồn ;kết thúc
Ngược lại
Qua bước 1
Bước 1Tìm tất cả các tập con của tập trung gian: Xi
:
S= φ
∀ Xi ∈ tập trung gian
if
(Tập nguồn ∪ Xi)+ = Q+ then
S = S ∪ { Tập nguồn ∪ Xi}
{S là tập các siêu khoá cần tìm}
Bước 2:
Bước 3:
Tính TN ∪ Xi
Tính (TN ∪ Xi)+
+
Lược đồ quan hệ phổ quát Q và tập phụ thuộc dữ
Tất cả các khoá của quan hệ
Tìm tập thuộc tính nguồn(TN), tập thuộc tính trung
Bước 4: Nếu Xi+ = Q thì Xi là siêu khoá
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 66
Nếu một tập con TN ∪ Xi có bao đóng đúng bằng Q+ thì TN ∪ Xi là một
siêu khoá của Q.
Giả sử sau bước này có m siêu khoá: S = {S1,S2,...,Sm}
Bước 5
Xây dựng tập chứa tất cả các khoá của Q từ tập S
Xét mọi Si,Sj con của S (i ≠ j), nếu Si ⊂ Sj thì ta loại Sj (i,j=1..m), kết quả
còn lại chính là tập tất cả các khoá cần tìm.
Ví dụ 5.9
(Giải lại bài tập ở ví dụ 5.8)
={ φ} ;
Ap dụng thuật toán cải tiến ta có lời giải như sau:
TN
TG
={A,B}
Gọi Xi là các tập con của tập TG:
(TN∪ Xi)+
φ
Q+
Q+
Q+
A
B
AB
A
B
Xi
φ
A
B
AB
(TN∪ Xi)
φ
A
B
AB
Siêu khoá
khoá
Vậy quan hệ trên có hai khoá là : [A] và [B]
Chú ý :
Thuật toán cải tiến này tìm được tất cả các khoá, nhưng không chắc tìm ra tất
cả các siêu khoá.
5.5.
PHỦ TỐI THIỂU (minimal cover)
5.5.1. Tập Phụ Thuộc Hàm Tương Đương (equivalent
dependancy)
Cho F và G là hai tập phụ thuộc hàm, ta nói F và G tương đương (hay F
phủ G hoặc G phủ F ) và ký hiệu là F+ = G+ nếu và chỉ nếu mỗi phụ thuộc hàm
thuộc F đều thuộc G + và mỗi phụ thuộc hàm thuộc G đều thuộc F + .
Chẳng hạn cho lược đồ quan hệ Q(ABCDEGH), thì hai tập phụ thuộc
hàm F và G (xác định trên Q) là tương đương.
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
functional
Giáo Trình Cơ Sở Dữ Liệu
Trang 67
F = {B → A; DA→ CE;
G={B→ A;
DA→ CE;
D → H; GH→ C;
D → H; GH→ C;
AC→ D; DG → C}
AC→ D ;BC → AC;
BC → D; DA → AH; AC → DEH}
Bạn đọc hãy kiểm chứng lại ví dụ nhận xét này bằng cách sử dụng định
nghĩa về tập phụ thuộc hàm tương đương và tính chất X → Y ∈ F+ ⇔ Y ⊆ X+ )
Ví dụ 5.5:
Chẳng hạn hai tập phụ thuộc hàm sau là tương đương:
Q(A,B,C)
F={
G={
A→B; A→C; B→A; C→A; B→C}
A→B; C→A; B→C}
(việc chứng minh xem như bài tập dành cho bạn đọc)
5.5.2.Phủ Tối Thiểu
Để có thể phục vụ quá trình thiết kế cơ sở dữ liệu, cần đưa thêm khái
niệm tập phụ thuộc hàm tối thiểu.
Bổ đề
Mỗi tập các phụ thuộc hàm F đều được phủ bởi tập các phụ thuộc hàm
G mà vế phải của các phụ thuộc hàm G chỉ gồm một thuộc tính.
Định nghĩa
F được gọi là một tập phụ thuộc hàm tối thiểu nếu F thoả đồng thời ba
điều kiện sau:
Điều kiện a) Vế phải của F chỉ có một thuộc tính.
Điều kiện b) Không ∃ f: X → A ∈ F và Z ⊂ X mà:
F + = (F − (X → A) ∪ (Z → A))+
Điều kiện c) Không ∃ X → A ∈ F mà:
F + = (F − (X → A))+
Trong đó vế phải của mỗi phụ thuộc hàm ở điều kiện a) chỉ có một thuộc
tính, nên bảo đảm không có thuộc tính nào ở vế phải là dư thừa. điều kiện b)
bảo đảm không có một thuộc tính nào tham gia vế trái của phụ thuộc hàm là dư
thừa. điều kiện c)bảo đảm cho tập F không có một phụ thuộc hàm nào là dư
thừa.
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 68
Chú ý rằng một tập phụ thuộc hàm luôn tìm ra ít nhất một phủ tối thiểu
và nếu thứ tự các phụ thuộc hàm trong tập F là khác nhau thì có thể sẽ thu
được những phủ tối thiểu khác nhau.
5.5.3.Thuật Toán Tìm Phủ Tối Thiểu
Thuật toán 5.6
Dữ liệu vào : Lược đồ quan hệ ban đầu Q và tập phụ thuộc hàm F, số
lượng
phụ thuộc hàm trong F là m.
Dữ liệu ra :
Bước 1:
Tách vế phải mỗi phụ thuộc hàm trong F sao cho vế phải của mỗi phụ
thuộc hàm chỉ chứa một thuộc tính (điều này luôn thực hiện được do bổ đề
trên)
∀ f: X → Y ∈ F
∀ A∈Y
g =X→A
F =F ∪ g
m=m+1
Cuối ∀
Cuối ∀
Bước 2.
Tìm tập phụ thuộc hàm đầy đủ bằng cách loại bỏ các thuộc
Tập phụ thuộc hàm tối thiểu của F
tính dư thừa ở vế trái của từng phụ thuộc hàm.
∀ fX→A∈F
∀B∈ X
X' =X − B
If (X'→ A ∈ F+)
Cuối ∀
Cuối ∀
Chú ý:
X = X'
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 69
Việc tìm tất cả các tập X' ⊆ X theo thuật toán trên hoàn toàn thay thế
được việc tìm X' cách tìm các tập con của X.
Bước 3.
∀ f∈F
G=F−f
If (F + =G+ )
dưới}
F=G
Cuối ∀
Ví dụ 5.6
Cho lược đồ quan hệ Q và tập phụ thuộc F như sau:
Q(ABCD)
F={
AB→CD;
B→C;
C→D}
Hãy tìm phủ tối thiểu của F.
Giải:
kết quả của bước 1 là:
F={
AB→C;
AB→D;
B→C;
C→D}
{cập nhật lại F mới}
{loại f ra khỏi F. và lưu { F − f} vào G }
{gọi thủ tục kiểm tra F, G tương đương ở
Loại bỏ các phụ thuộc hàm dư thừa trong F.
kết quả của bước 2 là:
F={
B→C;
B→D;
B→C;
C→D}
kết quả của bước 3 cho phủ tối thiểu:
Q(ABCD)
F={ B→C;
C→D }
5.6.DẠNG CHUẨN CỦA LƯỢC ĐỒ QUAN HỆ
Khi thiết kế một hệ thống thông tin, thì việc lập lược đồ CSDL đạt đến
một tiêu chuẩn nào đó là một việc làm quan trọng. Chất lượng của hệ thống
thông tin phụ thuộc rất nhiều vào lược đồ CSDL này. Việc xác định chuẩn cho
một lược đồ quan hệ có liên quan mật thiết với thuật toán tìm khoá. Có thể
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 70
khẳng định rằng thuật toán tìm khoá là một trong những thuật toán quan trọng
của lý thuyết thiết kế cơ sở dữ liệu.
Chất lượng thiết kế của một lược đồ CSDL có thể được đánh giá dựa
trên nhiều tiêu chuẩn trong đó sự trùng lắp thông tin và chi phí kiểm tra các
ràng buộc toàn vẹn là hai tiêu chuẩn quan trọng. Sau đây là một số dạng chuẩn
để đánh giá mức độ tốt/xấu của một lược đồ cơ sở dữ liệu.
Trước hết, chúng ta cùng tìm hiểu một số khái niệm liên quan.
5.6.1.Một Số Khái Niệm Liên Quan Đến Các Dạng Chuẩn
Thuộc tính khoá/không khoá
A là một thuộc tính khoá nếu A có tham gia vào bất kỳ một khoá nào của
quan hệ, ngược lại A gọi là thuộc tính không khoá.
Ví dụ 5.10
Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc hàm
F={ A→ B;
A → C;
B → A}
Có hai khóa là A và B. khi đó thuộc tính khoá là A, B; thuộc tính không
khóa là: C.
Thuộc tính phụ thuộc đầy đủ- phụ thuộc hàm đầy đủ.
A là một thuộc tính phụ thuộc đầy đủ vào tập thuộc tính X nếu X →A là
một phụ thuộc hàm đầy đủ (tức là không tồn tại X' ⊂ X sao cho X' → A ∈ F+)
Ví dụ 5.10
Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc hàm
F={
A→B
A→ C;
AB → C
}
thì A → ;B A → C là các phụ thuộc hàm đầy đủ. Phụ thuộc hàm AB → C
không là phụ thuộc hàm đầy đủ vì có A → C.
Biên soạn : Phan Tấn Quốc- Trường Cao Đẳng Kỹ Thuật Cao Thắng
Giáo Trình Cơ Sở Dữ Liệu
Trang 71
Chú ý rằng, một phụ thuộc hàm mà vế trái chỉ có một thuộc tính là phụ
thuộc hàm đầy đủ.
5.6.2.Dạng Chuẩn Một (First Normal Form)
Lược đồ quan hệ Q được gọi là đạt dạng chuẩn 1 (1NF) nếu và chỉ nếu
toàn bộ các thuộc tính của Q đều mang giá trị đơn.
Chẳng hạn xét quan hệ
MASV
HOTEN
MONHOC
Kỹ Thuật Lập Trình
Cơ Sở Dữ Liệu
Cấu Trúc Dữ Liệu
00CDTH211 Trần Thu Hà
Kỹ Thuật Lập Trình
DIEMTHI
8
9
7
5
00CDTH189 Nguyễn Văn Thành
Lược đồ quan hệ này không đạt dạng chuẩn 1 vì các thuộc tính MONHOC,
DIEMTHI không mang giá trị đơn (chẳng hạn sinh viên Nguyễn Văn Thành có
thuộc tính môn học là Kỹ Thuật Lập Trình, Cơ Sở Dữ Liệu, Cấu Trúc Dữ Liệu.
Ta hoàn toàn có thể đưa quan hệ trên về dạng chuẩn 1 như sau:
MASV
HOTEN
MONHOC
Kỹ Thuật Lập Trình
Cơ Sở Dữ Liệu
Cấu Trúc Dữ Liệu
Kỹ Thuật Lập Trình
DIEMTHI
9
8
7
5
00CDTH189 Nguyễn Văn Thành
00CDTH189 Nguyễn Văn Thành
00CDTH189 Nguyễn Văn Thành
00CDTH211 Trần Thu Hà
Chú ý rằng nếu ta không nói gì thêm, thì lược đồ quan hệ đang xét ít
nhất là đạt dạng chuẩn 1.
5.6.3.Dạng Chuẩn 2 (second normal form)
Một lược đồ quan hệ Q đạt dạng chuẩn 2 nếu Q đạt dạng chuẩn 1 và tất
cả các thuộc tính không khoá của Q đều phụ thuộc đầy đủ vào khoá.
Nếu một lược đồ quan hệ không
Bạn đang đọc truyện trên: Truyen2U.Net