Tải bản đầy đủ (.pdf) (42 trang)

bài giảng thiết kế cơ sở dữ k liệu chương 3 phương pháp chuẩn hóa lược đồ csdl - gv. dương khai phong

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.46 MB, 42 trang )

ĐH CÔNG NGHỆ THÔNG TIN

/>
Số tiết lý thuyết: 45 tiết
Số tiết thực hành: 30 tiết
GVHD: Dương Khai Phong – Email
1


/>
 Nội dung môn học:


Chương 1: Giới thiệu tổng quan



Chương 2: Mơ hình dữ liệu và các phụ thuộc dữ liệu



Chương 3: Phương pháp chuẩn hóa Lược đồ CSDL



Chương 4: Lý thuyết đồ thị quan hệ



Chương 5: Thiết kế CSDL ở mức vật lý


2


/>
 Chương 3: Phương pháp chuẩn hóa
lược đồ CSDL
1. Giới thiệu dạng chuẩn
2. Phân loại dạng chuẩn

3. Phương pháp chuẩn hóa
4. Bài tập chuẩn hóa

3


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
1. Giới thiệu dạng chuẩn
Xét bài toán 1: Cho thể hiện của một quan hệ sau
MASV

TEN

KHOA

9912

Nguyen


Thu

Cong nghe thong tin

9903

Chọn lược
đồ?

HO

Nguyen

A

MASV
9912
9912
9912
9903

HO
Nguyen
Nguyen
Nguyen
Nguyen

TEN
Thu
Thu

Thu
A

MASV
9912
9903
MAMH
THDC
CSDL
TRR
XSTK

HO
Nguyen
Nguyen

Kinh te

TÊN_MH
Tin hoc dai cuong
Co so du lieu
Toan roi rac
Xac suat thong ke

DIEM
6
8
4
5


KHOA
Cong nghe thong tin
Cong nghe thong tin
Cong nghe thong tin
Kinh te

TÊN_MH
Tin hoc dai cuong
Co so du lieu
Toan roi rac
Xac suat thong ke

DIEM
6
8
4
5

TEN
Thu
A

TÊN_MH
Tin hoc dai cuong
Co so du lieu
Toan roi rac
Xac suat thong ke

MAKHOA
CNTT

KT
MAKHOA
CNTT
CNTT
CNTT
KT

KHOA
Cong nghe thong tin
Kinh te
MASV
9912
9912
9912
9903

MAMH
CNTT
CNTT
CNTT
KT

DIEM
6
8
4
5
4



 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
1. Giới thiệu dạng chuẩn
Nhận xét bài toán 1:
 Sự trùng lắp thông tin: tăng không gian lưu trữ 
thông tin bị mâu thuẫn khi cập nhật CSDL.
 Chi phí kiểm tra ràng buộc tồn vẹn.
 Bảo tồn thơng tin.
 Bảo tồn qui tắc quản lý tức là bảo toàn các phụ
thuộc hàm.

5


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
1. Giới thiệu dạng chuẩn
Xét bài toán 2: Cho thể hiện của quan hệ quản lý học tập
của sinh viên
QLHT(MsSV, Ten, NS, Phai, ĐC, MsLop, TenLop, MsMH,
TenMH, Diem)
F = { f1:MsSV  Ten, NS, Phai, ĐC, MsLop;
f2: MsLop  TenLop;
f3: MsMH  TenMH;
f4: TenMH  MsMH;
f5: MsSV, MsMH  Diem }

6



 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
1. Giới thiệu dạng chuẩn
Xét bài toán 2: Cho thể hiện của quan hệ quản lý học tập
của sinh viên
QLHT(MsSV, Ten, NS, Phai, ĐC, MsLop, TenLop, MsMH,
TenMH, Diem)
F = { f1:MsSV  Ten, NS, Phai, ĐC, MsLop;
f2: MsLop  TenLop;
f3: MsMH  TenMH;
f4: TenMH  MsMH;
f5: MsSV, MsMH  Diem }
 Sửa đổi: Giả sử có 1 sv thay đổi địa chỉ  duyệt tồn bộ
quan hệ để tìm và sửa địa chỉ ở các bộ liên quan đến sv
này  thông tin không nhất quán.

7


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
1. Giới thiệu dạng chuẩn
Xét bài toán 2: Cho thể hiện của quan hệ quản lý học tập
của sinh viên
QLHT(MsSV, Ten, NS, Phai, ĐC, MsLop, TenLop, MsMH,
TenMH, Diem)

F = { f1:MsSV  Ten, NS, Phai, ĐC, MsLop;
f2: MsLop  TenLop;
f3: MsMH  TenMH;
f4: TenMH  MsMH;
f5: MsSV, MsMH  Diem }
 Xóa: Giả sử sv có mã số 1108 hiện nay chỉ đăng ký học
mơn CSDL  xóa kết quả điểm mơn này  xóa thơng tin
của sv này.

8


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
1. Giới thiệu dạng chuẩn
Xét bài toán 2: Cho thể hiện của quan hệ quản lý học tập
của sinh viên
QLHT(MsSV, Ten, NS, Phai, ĐC, MsLop, TenLop, MsMH,
TenMH, Diem)
F = { f1:MsSV  Ten, NS, Phai, ĐC, MsLop;
f2: MsLop  TenLop;
f3: MsMH  TenMH;
f4: TenMH  MsMH;
f5: MsSV, MsMH  Diem }
 Thêm: vì khóa của quan hệ là {MsSV, MsMH} và {MsSV,
TenMH}  không thể thêm 1 sv vào quan hệ nếu sv đó
chưa đăng ký học mơn nào.

9



 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1

Dạng chuẩn 1 (DC1)

DC2

 Khái niệm: Một lược đồ Q đạt DC1 nếu tồn bộ
các thuộc tính của mọi bộ đều mang giá trị đơn.
 Nhận xét: khi xét DC, xem DC đang xét ít nhất
đạt DC1.

DC3
BCK
DC4

* Tips: Giá trị đơn là giá trị không phải kết hợp bởi
nhiều thơng tin có ý nghĩa khác nhau.
Ví dụ: giá trị của thuộc tính Bằng cấp:
{“Thạc sĩ”,”ĐH CNTT”}: thuộc tính mang giá trị kép.
{“Thạc sĩ}: thuộc tính mang giá trị đơn.

10



 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1

Dạng chuẩn 2 (DC2)

DC2

 Khái niệm: Một lược đồ Q đạt DC2 nếu
 Q ở dạng DC1.
 Mọi thuộc tính khơng khóa đều phụ thuộc đầy
đủ vào các khóa của Q.

DC3
BCK
DC4

* Tips: Thuộc tính A được gọi là phụ thuộc đầy đủ vào
tập thuộc tính X nếu:
+
 A  XF
 X  A là pth nguyên tố.
Ví dụ: MsSV, MsMH  TenSV là pth không đầy đủ
do: MsSV  TenSV

11



 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1
DC2

DC3
BCK
DC4

Dạng chuẩn 2 (DC2)
 Thuật toán kiểm tra DC2:
 Input: Q,F
 Output: Q đạt DC2?
 Thuật tốn:
B1: Tìm tập các khóa của Q
B2: Với mỗi khóa, tính bao đóng của tất cả các tập
con thật sự S của Q.
B3: Nếu có bao đóng S+ chứa thuộc tính khơng
khóa thì Q khơng đạt DC2 (ngược lại đạt).
* Tips: Nếu mỗi khóa của quan hệ Q chỉ có một thuộc
tính thì Q hiển nhiên đạt DC2.

12


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>

2. Phân loại dạng chuẩn
DC1
DC2

DC3

Dạng chuẩn 2 (DC2)
Ví dụ: Cho Q (A,B,C,D) và F=(ABC;BD;BC A).
Hỏi Q đạt DC2?
Giải:
B1: tìm tập các khóa
N = {B},M= {AC}
AC Ki Ki = N  Ki

BCK
DC4

00
01
10
11


C
A
AC

B
BC
BA

BAC

K+I.F

Siêu khóa Khóa

BD
BCAD = Q+ BC
BACD = Q+ AB
BACD = Q+ BAC

AB
BC

13


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1
DC2

DC3
BCK
DC4

Dạng chuẩn 2 (DC2)
Ví dụ: Cho Q (A,B,C,D) và F = (ABC ; B D ; BC

 A). Hỏi Q đạt DC2?
Giải:
B1: tập các khóa {AB},{BC}
B2,3: tính bao đóng các tập con của khóa {AB}, {BC}
AB

00
01
10
11

Si

B
A
AB

(Si)+
Kết luận

BD
(BD)+ chứa thuộc tính khơng khóa D
A
ABCD

 Kết luận: Q khơng đạt DC2

14



 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1

Dạng chuẩn 3 (DC3)

DC2

 Khái niệm 1: Một lược đồ Q đạt DC3 nếu
 Q đạt dạng DC2.
 Mọi thuộc tính khơng khóa của Q đều khơng
phụ thuộc bắc cầu vào một khóa bất kỳ của Q.

DC3
BCK
DC4

* Tips: Thuộc tính A được gọi là phụ thuộc bắc
cầu vào tập thuộc tính X nếu tồn tại nhóm thuộc
tính Y  Q+ thỏa các điều kiện sau:
 X  Y  F+ và Y  A  F+
YX
 A  (X  Y)

15


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL


/>
2. Phân loại dạng chuẩn
DC1
DC2

Dạng chuẩn 3 (DC3)
 Khái niệm 2: Một lược đồ Q đạt DC3 nếu mọi
pth X  A  F+ với A  X đều có
 hoặc X là siêu khóa.

DC3
BCK
DC4

 hoặc A là thuộc tính khóa.

* Tips: thông thường dựa trên khái niệm 2 để giải
quyết bài tốn kiểm tra lược đồ Q có đạt dạng chuẩn
DC3?

16


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1
DC2

DC3
BCK
DC4

Dạng chuẩn 3 (DC3)
 Thuật toán kiểm tra DC2:
 Input: Q,F
 Output: Q đạt DC3?
 Thuật tốn:
B1: Tìm tập các khóa của Q
B2: Từ F tạo tập pth tương đương Ftt có vế phải 1
thuộc tính.
B3: Nếu mọi pth XA Ftt với AX đều có
 hoặc X là siêu khóa.
 hoặc A là thuộc tính khóa.
 Q đạt DC3 hoặc ngược lại.

17


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1

Dạng chuẩn 3 (DC3)

DC2


Ví dụ: Cho Q (A,B,C,D) và F = (ABC ; DB ; C
 ABD). Hỏi Q đạt DC3?
Giải:
B1: tìm tập các khóa

DC3

N = {},M= {ABCD}

(Kẻ bảng xác định tập khóa)

BCK

 Tập khóa: {AB}, {AD}, {C}

DC4

18


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1
DC2
DC3
BCK
DC4


Dạng chuẩn 3 (DC3)
Ví dụ: Cho Q (A,B,C,D) và F = (ABC ; DB ; C
 ABD). Hỏi Q đạt DC3?
Giải:
B1: tập các khóa {AB}, {AD}, {C}
B2,3: tập pth tương đương Ftt của F có VP một
thuộc tính:
F = (ABC ; DB ; C  ABD)
Ftt = (ABC ; DB ; CA ; CB ; CD)

Nhận xét:
- pth ABC : có C là thuộc tính khóa
- pth DB : có B là thuộc tính khóa
- pth CA : có A là thuộc tính khóa
- pth CB : có B là thuộc tính khóa
- pth CD : có D là thuộc tính khóa

Đạt DC3

19


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1

Dạng chuẩn BCK (Boyce-Codd-Kent)


DC2

 Khái niệm: Một lược đồ Q đạt BCK (cịn gọi BC)
nếu mọi pth khơng hiển nhiên đều có vế trái
chứa khóa.

DC3
BCK
DC4

 Thuật tốn kiểm tra BC:
 Input: Q,F
 Output: Q đạt BC?
 Thuật toán:
B1: Tìm tập các khóa của Q
B2: Nếu mọi pth XA Ftt với AX đều có X là
siêu khóa  Q đạt DC3 hoặc ngược lại.

20


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1
DC2
DC3
BCK
DC4


Dạng chuẩn BCK (Boyce-Codd-Kent)
Ví dụ 1: Cho Q (SV,MH,Thay) và F = (SV,MHThay
; ThayMH). Hỏi Q đạt BC?
Giải:
B1: tìm tập các khóa
N={SV},M={MH,Thay} (Kẻ bảng xác định tập khóa)
 Tập khóa: {SV,Thay}, {SV,MH}
B2: áp dụng thuật tốn
- Xét pth SV,MHThay: có VT chứa khóa
- Xét pth Thay MH: có VT khơng chứa khóa
 Q khơng đạt BC.
* Thử xét Q đạt DC3?
- Xét pth SV,MHThay: VP chứa Thay là thuộc tính khóa
- Xét pth Thay MH: VP chứa MH là thuộc tính khóa
 Q đạt DC3.

21


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1
DC2
DC3
BCK

Dạng chuẩn BCK (Boyce-Codd-Kent)

Ví dụ 2: Cho Q (A,B,C,D,E,I) và F = (ACDEBI ;
CEAD). Hỏi Q đạt BC?
Giải:
B1: tìm tập các khóa
N={C},M={ADE} (Kẻ bảng xác định tập khóa)
 Tập khóa: {ACD}, {CE}
B2: áp dụng thuật tốn
- Xét pth ACDEBI : có VT chứa khóa ACD
- Xét pth CEAD : có VT chứa khóa CE
 Q đạt BC.

DC4

22


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
DC1

Dạng chuẩn 4 (DC4) – tham khảo

DC2

 Khái niệm: Một lược đồ Q đạt DC4 nếu:
 Q đạt BCK.
 Với mọi phụ thuộc đa trị không hiển X-->>Y được
định nghĩa trên Q thì vế trái X phải chứa 1 khóa

của Q, nghĩa là AQ+ thì XA  F+.

DC3
BCK
DC4

• Tips: phụ thuộc hàm đa trị (ký hiệu X -->> Y)
Cho một LĐQH Q(X,Y,Z) với XQ+,
Y  Q+, XY=  và Z = Q+\ {X,Y}
PTH đa trị là một định nghĩa trên Q nếu mỗi giá trị x
của X xác định duy nhất một tập giá trị {y1, y2,...}
của Y. Tập giá trị này không phụ thuộc vào các giá
trị của Z trong các bộ có liên quan đến x, y1, y2,...
Nghĩa là: bộ (x, z1), (x, z2)  Q[X,Z]
thì (Q: X=x và Z = z1)[Y] = (Q:X=x và z = z2)[Y]

23


 Chương 3: Phương pháp chuẩn hóa LĐ CSDL

/>
2. Phân loại dạng chuẩn
Dạng chuẩn của một LĐ CSDL:
là dạng chuẩn thấp nhất trong
các LĐQH của LĐCSDL.

DC1

DC2


DC4

Giảm trùng lắp thông tin
Kiểm tra PTH và PTH đa trị

BCK

DC3

• Tips: Xác định dạng chuẩn cao nhất Q?
B1: Tìm tập khóa của Q
B2: Q đạt BC? Nếu không sang B3.
B3: Q đạt DC3? Nếu không sang B4.
B4: Q đạt DC2? Nếu không xem như Q đạt
DC1.

24


ĐH CÔNG NGHỆ THÔNG TIN

/>
25


×