Đ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=(ABC;BD;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 = (ABC ; 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+
YX
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 XA Ftt với AX đề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 = (ABC ; DB ; 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 = (ABC ; DB ; 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 = (ABC ; DB ; C ABD)
Ftt = (ABC ; DB ; CA ; CB ; CD)
Nhận xét:
- pth ABC : có C là thuộc tính khóa
- pth DB : có B là thuộc tính khóa
- pth CA : có A là thuộc tính khóa
- pth CB : có B là thuộc tính khóa
- pth CD : 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 XA Ftt với AX đề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,MHThay
; ThayMH). 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,MHThay: 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,MHThay: 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 = (ACDEBI ;
CEAD). 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 ACDEBI : có VT chứa khóa ACD
- Xét pth CEAD : 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à AQ+ thì XA 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 XQ+,
Y Q+, XY= 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