Chuẩn hóa lược đồ quan hệ

Chuẩn hóa lược đồ quan hệ

Bạn đang xem bản tóm gọn của ebook. Xem & tải ngay bản đầy đủ của ebook tại đây (72.2 KB, 8 trang )

Н-íng dÉn «и tËp DataBase quan hÖ
Tµi liÖu tham kh¶σ Trang 31
DẠNG 9: CHUẨN HÓA LƯỢC ĐỒ QUAN HỆ
Bài toán: Cho quan hệ Ŕ(ᑗ, ₣). Hãy chuẩn hóa quan hệ về 3 NF (hoặc BCNF).
Các học thức liện quan:
Tính chất khóa:
? là tính chất khóa của Ŕ nếu nó nằm trong 1 khóa ít nhất
của Ŕ. Trái lại ? gọi là tính chất không khóa.
Tính chất suy diễn:
Tính chất ? được gọi là suy diễn nếu giá trị của nó được
tính toán ra từ giá trị của các tính chất khác. Chẳng hạn: ĐơnGiá, SốLượng, ThànhTiền thì
ThànhTiền là tính chất suy diễn. NgàySinh, Tuổi thì Tuổi là suy diễn…
Tính chất lặp: với 2 bản ghi bất kỳ trong quan hệ, nếu hai bản ghi đó trùng
nhau về giá trị trên trường khóa mà có thể có giá trị khác nhau trên trường ? thì ? là
tính chất lặp.
Chẳng hạn: xét quan hệ SinhVien(MaSV, TenSV, GioiTinh, MaMon, TenMon,
Diem) Với MaSV là khóa. Để xác nhận thuộ tính lặp ta làm như sau:
Đánh chỉ số cho các tính chất: Khóa có chỉ số 1.
TênSV có chỉ số 1 do một MaSV chỉ xác nhận 1 tên SV.
GioiTinh có chỉ số 1 do một MaSV chỉ xác nhận 1 giới tính.
MaMon có chỉ số ∞ do một MaSV có thể có nhiều MaMon (do 1 SV học nhiều
môn)… TenMon, Diem có chỉ số ∞ do một MaSV có thể có nhiều TenMon va Diem.
Vậy ta nhận được:
1 1 1 ∞ ∞ ∞
SinhVien(MaSV, TenSV, GioiTinh, MaMon, TenMon, Diem)
Các tính chất có chỉ số

là tính chất lặp !
Lệ thuộc phòng ban, lệ thuộc toàn bộ: Nếu AB → ₵ ta nói ₵ lệ thuộc toàn
thể vào AB, nhưng nếu trong chỉ có Ɓ → ₵ thì ₵ chỉ lệ thuộc toàn bộ vào Ɓ & phụ
thuộc phòng ban vào AB.

Lệ thuộc bắc cầu:
Nếu ? → Ɓ & Ɓ → ₵ ta nói ₵ lệ thuộc bắc cầu vào ? &
Ɓ là tính chất trung gian tạo sự bắc cầu.
Dạng chuẩn 1NF: Quan hệ Ŕ ở dạng chuẩn 1NF thì nó không có tính chất lặp
& tính chất suy diễn.
Dạng chuẩn 2NF: Quan hệ Ŕ ở 2NF nếu nó đã ở 1NF & không tồn tại thuộc
tính không khóa lệ thuộc phòng ban vào khóa. Nói cách khác: mọi tính chất không
khóa đều lệ thuộc đầy đủ vào khóa.
Dạng chuẩn 3NF: Quan hệ Ŕ ở 3NF nếu nó ở 2 NF & không tồn tại tính chất
không khóa lệ thuộc bắc cầu vào khóa.
Dạng chuẩn BCNF:
Quan hệ Ŕ ở BCNF nếu mọi lệ thuộc hàm của Ŕ đều có
dạng Khóa

Không khóa.
Generated by Foxit PDF Creator © Foxit PM
http://www.foxitsoftware.com For evaluation only.
Н-íng dÉn «и tËp DataBase quan hÖ
Tµi liÖu tham kh¶σ Trang 32
Cách chuẩn hóa:
₣ Chuẩn hóa về 1NF:
Nếu Ŕ không có tính chất suy diễn & lặp thì mặc nhiên nó đã ở 1 NF. Trái lại
ta bắt chước 2 bước sau:
B1: Loại bỏ tính chất suy diễn trong Ŕ (nếu có)
B2: Tách, nhóm các tính chất lặp (nếu có). Tách Ŕ thành:
Ŕ
1
(Khóa + Các tính chất không lặp). Khóa của Ŕ
1
là khóa của Ŕ.

Ŕ
2
(Khóa + Các tính chất lặp). Khóa của Ŕ
2
là khóa của Ŕ & 1 tính chất lặp
nào đó. Ŕ
1
& Ŕ
2
đã ở 1NF.
VD: Bảng SinhVien(MaSV, TenSV, GioiTinh, MaMon, TenMon, Diem) được
tách thành:
Ŕ
1
(MaSV, TenSV, GioiTinh). Khóa là MaSV
Ŕ
2
(MaSV, MaMon, TenMon, Diem). Khóa là MaSV, MaMon.
₣ Chuẩn hóa về 2NF:
B1. Tìm phủ ít nhất của ₣ (nếu ₣ chưa ít nhất).
B2. Tìm khóa ít nhất của Ŕ.
B3. Vẽ đồ thị lệ thuộc hàm
B4. Nhìn vào đồ thị lệ thuộc hàm, nếu tồn tại tính chất không khóa, lệ thuộc
phòng ban vào khóa thì tách Ŕ thành:
Ŕ
1
(Khóa tạo sự lệ thuộc phòng ban + tính chất không khóa lệ thuộc bộ
phận vào khóa). Khóa của Ŕ
1
là “Khóa tạo sự phụ thuộc bộ phận”.

Ŕ
2
(Khóa của Ŕ + tính chất không khóa không lệ thuộc phòng ban vào khóa).
Khóa của Ŕ
2
là khóa của Ŕ.
Ŕ
1
& Ŕ
2
đã ở 2NF.
₣ Chuẩn hóa về 3NF:
B1: Vẽ đồ thị lệ thuộc hàm.
B2: Nhìn vào đồ thị lệ thuộc hàm, nếu có tính chất không khóa lệ thuộc bắc
cầu vào khóa thì tách Ŕ thành:
Ŕ
1
(Tính chất trung gian tạo sự bắc cầu + tính chất không khóa lệ thuộc
bắc cầu vào khóa). Khóa của Ŕ
1
là “Thuộc tính trung gian tạo sự bắc cầu “.
Ŕ
2
(Khóa của Ŕ + tính chất không khóa không lệ thuộc bắc cầu vào khóa).
Khóa của Ŕ
2
là khóa của Ŕ.
Ŕ
1
& Ŕ

2
đã ở 3NF.
₣ Chuẩn hóa về BCNF:
B1: Vẽ đồ thị lệ thuộc hàm.
Generated by Foxit PDF Creator © Foxit PM
http://www.foxitsoftware.com For evaluation only.
Н-íng dÉn «и tËp DataBase quan hÖ
Tµi liÖu tham kh¶σ Trang 33
B2: Nhìn vào đồ thị lệ thuộc hàm, nếu có lệ thuộc hàm Ҳ → У mà không có
dạng Khóa → Không khóa thì tách Ŕ thành:
Ŕ
1
(XY). Khóa của Ŕ
1
là Ҳ ; tập lệ thuộc hàm ₣
1
={Ҳ → У}
Ŕ
2
(Ҳ+Khóa của Ŕ + các tính chất không khóa sót lại). Khóa của Ŕ
2
là khóa
của Ŕ+ {Ҳ} .
Ŕ
1
& Ŕ
2
đã ở BCNF.
Chẳng hạn:

Xem Thêm  Liên kết tệp JavaScript với tệp HTML - liên kết html đến tệp javascript

Cho quan hệ Ŕ(ᑗ, ₣): ᑗ={? Ɓ ₵ ? E ₲ Н} & tập
₣= {AB→₵, Ɓ → EG, ₵→Н, E → ₲, BC→ Н}
Chuẩn hóa Ŕ về 3NF.
Đánh giá: Với quan hệ Ŕ cho như trên thì chẳng thể tổng kết là Ŕ đã ở 1NF chưa.
Cho nên, ta mặc nhiên thừa nhận Ŕ đã ở 1NF.
Thông thường các quan hệ khi chuẩn hóa về 3NF thì đã ở BCNF rồi. Cho nên thao
tác chuẩn hóa về BCNF hiếm khi phải làm. (Sinh viên tự xem qua)
Bài giải:
B1: Loại bỏ lệ thuộc hàm dư thừa trong ₣, vậy:
₣= {AB→CD, Ɓ → E, ₵→Н, E → ₲}
B2: Tìm khóa ít nhất:
Đặt ₭

= {ABCDEGH}

1
= {ABCDEG} vì ₵ → Н & ₵ ∈ ₭


2
= {ABCDE} vì E → ₲ & E ∈ ₭
1


3
= {ABCD} vì Ɓ → E & Ɓ ∈ ₭
1

4
= {AB} vì AB → CD & AB ∈ ₭
2


5
≡ ₭
4

Vậy khóa của Ŕ là {AB}.
Tính chất khóa: ?, Ɓ.
Tính chất không khóa: ₵, ?, E, ₲.
B3: Vẽ đồ thị lệ thuộc hàm: (vẽ trên tập ₣ đã ít nhất)

? Ɓ ₵ ? E ₲ Н

Generated by Foxit PDF Creator © Foxit PM
http://www.foxitsoftware.com For evaluation only.
Н-íng dÉn «и tËp DataBase quan hÖ
Tµi liÖu tham kh¶σ Trang 34
B4: Ŕ chưa chuẩn 2 NF do tồn tại E & ₲ là tính chất không khóa lệ thuộc bộ
phận vào khóa. (vì Ɓ → E & E → ₲ nên bước này mặc dầu không còn Ɓ → ₲ ta vẫn có thể
xem như có Ɓ → ₲). Tách Ŕ thành:
Ŕ
1
(Ɓ E ₲). Khóa Ɓ ; ₣
1
= {Ɓ → E, E → ₲}
Ŕ

2
(? Ɓ ₵ ? Н). Khóa AB ; ₣
2
= {AB → CD, ₵ → Н}
Ŕ
1
& Ŕ
2
đã ở 2NF.
B5: Chuẩn hóa về 3 NF.
Xét Ŕ
1:
có đồ thị lệ thuộc hàm:

Ɓ E ₲

Ŕ
1
chưa ở 3NF do tồn tại ₲ là tính chất không khóa lại lệ thuộc bắc cầu vào
khóa. Tách Ŕ
1
thành:
Ŕ
11
(E ₲). Khóa E ; ₣
11
={E → ₲}.
Ŕ
12
(Ɓ E). Khóa Ɓ ; ₣

12
={Ɓ → E}
Ŕ
11
& Ŕ
12
đã ở 3NF.
Xét Ŕ
2:
đồ thị lệ thuộc hàm:

? Ɓ ₵ ? Н

Ŕ
2
chưa ở 3NF do tồn tại Н là tính chất không khóa lại lệ thuộc bắc cầu vào
khóa. Tách Ŕ
2
thành:
Ŕ
21
(₵ Н). Khóa ₵ ; ₣
21
={₵ → Н}
Ŕ
22
(? Ɓ ₵ ?). Khóa AB ; ₣
22
={AB → CD}

Ŕ
21
& Ŕ
22
đã ở 3NF.
Vậy từ quan hệ Ŕ, ta tách thành 4 quan hệ:
Ŕ
11
(E ₲). Khóa E ; ₣
11
={E → ₲}.
Ŕ
12
(Ɓ E). Khóa Ɓ ; ₣
12
={Ɓ → E}
Ŕ
21
(₵ Н). Khóa ₵ ; ₣
21
={₵ → Н}
Ŕ
22
(? Ɓ ₵ ?). Khóa AB ; ₣
22
={AB → CD}
Các quan hệ này đã ở 3NF.
Cảnh báo: Khi tách quan hệ & tập lệ thuộc hàm, nếu trong tập thụ thuộc hàm kết
quả có chứa tính chất mà nó không có mặt trong tập tính chất của quan hệ mới thì ta
gọi tính chất này là tính chất “lạ” trong quan hệ. Khi đó cần thay đổi tập lệ thuộc

Generated by Foxit PDF Creator © Foxit PM
http://www.foxitsoftware.com For evaluation only.
Н-íng dÉn «и tËp DataBase quan hÖ
Tµi liÖu tham kh¶σ Trang 35
hàm để loại bỏ tính chất lạ đó ra khỏi tập lệ thuộc hàm. Thao tác này gọi là: chiếu
tính chất “lạ” lên quan hệ.
Một cách thức chuẩn hóa nhanh khác cũng có thể được sử dụng. Ngoài ra
cách thức nhanh này không phải lúc nào cũng cho ta phép tách (cách chuẩn hóa) ít
quan hệ nhất.
Công thức chuẩn hóa nhanh như sau :
B1. Loại bỏ toàn bộ các lệ thuộc hàm dư thừa & tính chất vế trái dư thừa trong ₣.
B2. Tách quan hệ Ŕ theo các lệ thuộc hàm : Nếu ₣ có bao nhiêu lệ thuộc hàm
thì tách Ŕ thành từng ấy quan hệ con.
Với quan hệ Ŕ trong chẳng hạn trên, ta xét tập ₣ :
₣= {AB→₵, Ɓ → EG, ₵→Н, E → ₲, BC→ Н}
Loại bỏ BC → Н & tính chất ₲ trong Ɓ → EG ta còn :
₣= {AB→₵, Ɓ → E, ₵→Н, E → ₲}
& tách Ŕ thành :
Ŕ
1
(ABC) Khóa AB, ₣
1
= {AB → ₵}
Ŕ
2
(BE) Khóa Ɓ, ₣
2
= {Ɓ → E}
Ŕ
3

Xem Thêm  PHP if...else...elseif Statements - php number format

(CH) Khóa ₵, ₣
3
= {₵ → Н}
Ŕ
4
(EG) Khóa E ₣
4
= {E → ₲}
Ngoài ra nếu bắt chước phương pháp này có 2 điều cần lưu ý :
[1]. Số quan hệ nhận được sau thời điểm chuẩn hóa thỉnh thoảng không phải là tối thiểu.
[2]. Sau thời điểm tách cần kiểm soát để chắc rằng mọi quan hệ con đều có thể connect tự
nhiên với nhau. Nếu có một quan hệ con nào đó không connect được với các quan hệ còn
lại thì việc tách như thế sẽ dẫn tới mất mát thông tin (cách chuẩn hóa đầu tiên ở trên
không có hiện tượng này).
Khi phát xuất hiện vấn đề đó, ta chỉ việc thêm một quan hệ mới mà quan hệ này chỉ
chứa các tính chất khóa của Ŕ. Quan hệ mới này không có tập lệ thuộc hàm & nó
đóng vai trò làm điểm kết nối quan hệ bị tách rời với các quan hệ sót lại.
Chẳng hạn : Cho Ŕ(ᑗ, ₣) : ᑗ = {?, Ɓ, ₵, ?, E, ₲, Н} &
₣ = {AB → ₵, Ɓ → DE, ₲ → Н}
Dễ thấy khóa của quan hệ là {ABG}
Khi chuẩn hóa Ŕ về 3NF, ta tách Ŕ thành :
Ŕ
1
(ABC) Khóa AB, ₣
1
= {AB → ₵}
Ŕ
2
(BDE) Khóa Ɓ, ₣
2

= {Ɓ → DE}
Ŕ
3
(GH) Khóa ₲, ₣
3
= {₲ → Н}
Quan hệ Ŕ
3
chẳng thể connect tới 2 quan hệ Ŕ
1
& Ŕ
2
do nó không có tính chất
chung với Ŕ
1
& Ŕ
2
. Cho nên, ta cần bổ sung quan hệ :
Ŕ
4
(ABG) Khóa ABG, ₣
4
= ∅
Generated by Foxit PDF Creator © Foxit PM
http://www.foxitsoftware.com For evaluation only.

Lệ thuộc bắc cầu:Nếu ? → Ɓ & Ɓ → ₵ ta nói ₵ lệ thuộc bắc cầu vào ? vàB là tính chất trung gian tạo sự bắc cầu.Dạng chuẩn 1NF: Quan hệ Ŕ ở dạng chuẩn 1NF thì nó không có tính chất lặpvà tính chất suy diễn.Dạng chuẩn 2NF: Quan hệ Ŕ ở 2NF nếu nó đã ở 1NF & không tồn tại thuộctính không khóa lệ thuộc phòng ban vào khóa. Nói cách khác: mọi tính chất khôngkhóa đều lệ thuộc đầy đủ vào khóa.Dạng chuẩn 3NF: Quan hệ Ŕ ở 3NF nếu nó ở 2 NF & không tồn tại thuộc tínhkhông khóa lệ thuộc bắc cầu vào khóa.Dạng chuẩn BCNF:Quan hệ Ŕ ở BCNF nếu mọi lệ thuộc hàm của Ŕ đều códạng KhóaKhông khóa.Generated by Foxit PDF Creator © Foxit PMhttp://www.foxitsoftware.com For evaluation only.Н-íng dÉn «и tËp DataBase quan hÖTµi liÖu tham kh¶σ Trang 32Cách chuẩn hóa:₣ Chuẩn hóa về 1NF:Nếu Ŕ không có tính chất suy diễn & lặp thì mặc nhiên nó đã ở 1 NF. Ngược lạita bắt chước 2 bước sau:B1: Loại bỏ tính chất suy diễn trong Ŕ (nếu có)B2: Tách, nhóm các tính chất lặp (nếu có). Tách Ŕ thành:(Khóa + Các tính chất không lặp). Khóa của Rlà khóa của Ŕ.(Khóa + Các tính chất lặp). Khóa của Rlà khóa của Ŕ & 1 tính chất lặpnào đó. Rvà Rđã ở 1NF.VD: Bảng SinhVien(MaSV, TenSV, GioiTinh, MaMon, TenMon, Diem) đượctách thành:(MaSV, TenSV, GioiTinh). Khóa là MaSV(MaSV, MaMon, TenMon, Diem). Khóa là MaSV, MaMon.₣ Chuẩn hóa về 2NF:B1. Tìm phủ ít nhất của ₣ (nếu ₣ chưa ít nhất).B2. Tìm khóa ít nhất của Ŕ.B3. Vẽ đồ thị lệ thuộc hàmB4. Nhìn vào đồ thị lệ thuộc hàm, nếu tồn tại tính chất không khóa, phụ thuộcbộ phận vào khóa thì tách Ŕ thành:(Khóa tạo sự lệ thuộc phòng ban + tính chất không khóa lệ thuộc bộphận vào khóa). Khóa của Rlà “Khóa tạo sự phụ thuộc bộ phận”.(Khóa của Ŕ + tính chất không khóa không lệ thuộc phòng ban vào khóa).Khóa của Rlà khóa của Ŕ.& Rđã ở 2NF.₣ Chuẩn hóa về 3NF:B1: Vẽ đồ thị lệ thuộc hàm.B2: Nhìn vào đồ thị lệ thuộc hàm, nếu có tính chất không khóa lệ thuộc bắccầu vào khóa thì tách Ŕ thành:(Tính chất trung gian tạo sự bắc cầu + tính chất không khóa phụ thuộcbắc cầu vào khóa). Khóa của Rlà “Thuộc tính trung gian tạo sự bắc cầu “.(Khóa của Ŕ + tính chất không khóa không lệ thuộc bắc cầu vào khóa).Khóa của Rlà khóa của Ŕ.& Rđã ở 3NF.₣ Chuẩn hóa về BCNF:B1: Vẽ đồ thị lệ thuộc hàm.Generated by Foxit PDF Creator © Foxit PMhttp://www.foxitsoftware.com For evaluation only.Н-íng dÉn «и tËp DataBase quan hÖTµi liÖu tham kh¶σ Trang 33B2: Nhìn vào đồ thị lệ thuộc hàm, nếu có lệ thuộc hàm Ҳ → У mà không códạng Khóa → Không khóa thì tách Ŕ thành:(XY). Khóa của Rlà Ҳ ; tập lệ thuộc hàm ₣={Ҳ → У}(Ҳ+Khóa của Ŕ + các tính chất không khóa sót lại). Khóa của Rlà khóacủa Ŕ+ {Ҳ} .& Rđã ở BCNF.Chẳng hạn:Cho quan hệ Ŕ(ᑗ, ₣): ᑗ={? Ɓ ₵ ? E ₲ Н} & tậpF= {AB→₵, Ɓ → EG, ₵→Н, E → ₲, BC→ Н}Chuẩn hóa Ŕ về 3NF.Đánh giá: Với quan hệ Ŕ cho như trên thì chẳng thể tổng kết là Ŕ đã ở 1NF chưa.Cho nên, ta mặc nhiên thừa nhận Ŕ đã ở 1NF.Thông thường các quan hệ khi chuẩn hóa về 3NF thì đã ở BCNF rồi. Cho nên thaotác chuẩn hóa về BCNF hiếm khi phải làm. (Sinh viên tự xem qua)Bài giải:B1: Loại bỏ lệ thuộc hàm dư thừa trong ₣, vậy:₣= {AB→CD, Ɓ → E, ₵→Н, E → ₲}B2: Tìm khóa ít nhất:Đặt ₭= {ABCDEGH}= {ABCDEG} vì ₵ → Н & ₵ ∈ ₭= {ABCDE} vì E → ₲ & E ∈ ₭= {ABCD} vì Ɓ → E & Ɓ ∈ ₭= {AB} vì AB → CD & AB ∈ ₭≡ KVậy khóa của Ŕ là {AB}.Tính chất khóa: ?, Ɓ.Tính chất không khóa: ₵, ?, E, ₲.B3: Vẽ đồ thị lệ thuộc hàm: (vẽ trên tập ₣ đã ít nhất)? Ɓ ₵ ? E ₲ HGenerated by Foxit PDF Creator © Foxit PMhttp://www.foxitsoftware.com For evaluation only.Н-íng dÉn «и tËp DataBase quan hÖTµi liÖu tham kh¶σ Trang 34B4: Ŕ chưa chuẩn 2 NF do tồn tại E & ₲ là tính chất không khóa lệ thuộc bộphận vào khóa. (vì Ɓ → E & E → ₲ nên bước này mặc dầu không còn Ɓ → ₲ ta vẫn có thểxem như có Ɓ → ₲). Tách Ŕ thành:(Ɓ E ₲). Khóa Ɓ ; ₣= {Ɓ → E, E → ₲}(? Ɓ ₵ ? Н). Khóa AB ; ₣= {AB → CD, ₵ → Н}& Rđã ở 2NF.B5: Chuẩn hóa về 3 NF.Xét R1:có đồ thị lệ thuộc hàm:Ɓ E Gchưa ở 3NF do tồn tại ₲ là tính chất không khóa lại lệ thuộc bắc cầu vàokhóa. Tách Rthành:11(E ₲). Khóa E ; F11={E → ₲}.12(Ɓ E). Khóa Ɓ ; F12={Ɓ → E}11và R12đã ở 3NF.Xét R2:đồ thị lệ thuộc hàm:? Ɓ ₵ ? Hchưa ở 3NF do tồn tại Н là tính chất không khóa lại lệ thuộc bắc cầu vàokhóa. Tách Rthành:21(₵ Н). Khóa ₵ ; F21={₵ → Н}22(? Ɓ ₵ ?). Khóa AB ; F22={AB → CD}21và R22đã ở 3NF.Vậy từ quan hệ Ŕ, ta tách thành 4 quan hệ:11(E ₲). Khóa E ; F11={E → ₲}.12(Ɓ E). Khóa Ɓ ; F12={Ɓ → E}21(₵ Н). Khóa ₵ ; F21={₵ → Н}22(? Ɓ ₵ ?). Khóa AB ; F22={AB → CD}Các quan hệ này đã ở 3NF.Cảnh báo: Khi tách quan hệ & tập lệ thuộc hàm, nếu trong tập thụ thuộc hàm kếtquả có chứa tính chất mà nó không có mặt trong tập tính chất của quan hệ mới thì tagọi tính chất này là tính chất “lạ” trong quan hệ. Khi đó cần thay đổi tập phụ thuộcGenerated by Foxit PDF Creator © Foxit PMhttp://www.foxitsoftware.com For evaluation only.Н-íng dÉn «и tËp DataBase quan hÖTµi liÖu tham kh¶σ Trang 35hàm để loại bỏ tính chất lạ đó ra khỏi tập lệ thuộc hàm. Thao tác này gọi là: chiếuthuộc tính “lạ” lên quan hệ.Một cách thức chuẩn hóa nhanh khác cũng có thể được sử dụng. Tuy nhiênphương pháp nhanh này không phải lúc nào cũng cho ta phép tách (cách chuẩn hóa) ítquan hệ nhất.Công thức chuẩn hóa nhanh như sau :B1. Loại bỏ toàn bộ các lệ thuộc hàm dư thừa & tính chất vế trái dư thừa trong ₣.B2. Tách quan hệ Ŕ theo các lệ thuộc hàm : Nếu ₣ có bao nhiêu lệ thuộc hàmthì tách Ŕ thành từng ấy quan hệ con.Với quan hệ Ŕ trong chẳng hạn trên, ta xét tập ₣ :₣= {AB→₵, Ɓ → EG, ₵→Н, E → ₲, BC→ Н}Loại bỏ BC → Н & tính chất ₲ trong Ɓ → EG ta còn :₣= {AB→₵, Ɓ → E, ₵→Н, E → ₲}& tách Ŕ thành :(ABC) Khóa AB, ₣= {AB → ₵}(BE) Khóa Ɓ, ₣= {Ɓ → E}(CH) Khóa ₵, ₣= {₵ → Н}(EG) Khóa E ₣= {E → ₲}Ngoài ra nếu bắt chước phương pháp này có 2 điều cần lưu ý :[1]. Số quan hệ nhận được sau thời điểm chuẩn hóa thỉnh thoảng không phải là tối thiểu.[2]. Sau thời điểm tách cần kiểm soát để chắc rằng mọi quan hệ con đều có thể connect tựnhiên với nhau. Nếu có một quan hệ con nào đó không connect được với các quan hệ cònlại thì việc tách như thế sẽ dẫn tới mất mát thông tin (cách chuẩn hóa đầu tiên ở trênkhông có hiện tượng này).Khi phát xuất hiện vấn đề đó, ta chỉ việc thêm một quan hệ mới mà quan hệ này chỉchứa các tính chất khóa của Ŕ. Quan hệ mới này không có tập lệ thuộc hàm & nóđóng vai trò làm điểm kết nối quan hệ bị tách rời với các quan hệ sót lại.Chẳng hạn : Cho Ŕ(ᑗ, ₣) : ᑗ = {?, Ɓ, ₵, ?, E, ₲, Н} vàF = {AB → ₵, Ɓ → DE, ₲ → Н}Dễ thấy khóa của quan hệ là {ABG}Khi chuẩn hóa Ŕ về 3NF, ta tách Ŕ thành :(ABC) Khóa AB, ₣= {AB → ₵}(BDE) Khóa Ɓ, ₣= {Ɓ → DE}(GH) Khóa ₲, ₣= {₲ → Н}Quan hệ Rkhông thể connect tới 2 quan hệ Rvà Rdo nó không có thuộc tínhchung với Rvà Ŕ. Cho nên, ta cần bổ sung quan hệ :(ABG) Khóa ABG, ₣= ∅Generated by Foxit PDF Creator © Foxit PMhttp://www.foxitsoftware.com For evaluation only.

Xem Thêm  PostgreSQL: Documentation: 14: CREATE TABLE - biến static trong c

Viết một bình luận