Chương 5: Dạng Chuẩn và Chuẩn hóa LD - CSDL
Gửi bởi: Khoa CNTT - HCEM 10 tháng 9 2020 lúc 10:07:14 | Được cập nhật: 2 giờ trước (18:40:14) Kiểu file: PDF | Lượt xem: 461 | Lượt Download: 2 | File size: 0.750399 Mb
Nội dung tài liệu
Tải xuống
Link tài liệu:
Các tài liệu liên quan
Có thể bạn quan tâm
Thông tin tài liệu
Môn học
Cơ sở dữ liệu
GV: Nguyễn Thị Thu Hiếu
LOGO
Chương 5: Dạng chuẩn và chuẩn hóa
lược đồ CSDL
1.
2.
3.
4.
Giới thiệu về chuẩn hóa?
Các dạng chuẩn
Thuật toán kiểm tra dạng chuẩn
Chuẩn hóa lược đồ CSDL
Chương 5: Dạng chuẩn và chuẩn hóa
lược đồ CSDL
1. Giới thiệu về chuẩn hóa?
2. Các dạng chuẩn
3. Thuật toán kiểm tra dạng chuẩn
4. Chuẩn hóa lược đồ CSDL
1. Giới thiệu về chuẩn hóa
Chuẩn hóa là quá trình tách bảng (phân
rã) thành các bảng nhỏ hơn dựa vào các
phụ thuộc hàm.
Các dạng chuẩn là các chỉ dẫn để thiết kế
các bảng trong CSDL.
Mục đích của chuẩn hóa là loại bỏ các dư
thừa và các lỗi khi thao tác dữ liệu (Insert,
Delete, Update).
Nhưng chuẩn hóa làm tăng thời gian truy
vấn.
1. Giới thiệu về chuẩn hóa (tt)
Bảng SinhVien sau có phải là một quan hệ?
Thuộc tính
phức hợp
Khóa
MaSV
HoTen
A01 Nguyễn Thị Ánh
Thuộc tính
Đa trị
Thuộc tính
Đơn trị
DiaChi
MaMH
TenMH
TenGV
Phong
Diem
Hà Nội
M01
CSDL
Hiếu
P13
8
M02
Anh 2
Hương
P04
5
A03 Trần Văn Nam
Thái Nguyên
M01
CSDL
Hiếu
P13
4
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
7
M02
Anh 2
Hương
P04
6
M03
CNPM
Hòa
P14
7
Giá trị của
thuộc tính
Vấn đề:
Muốn xóa môn học có mã M02
Có 100 sinh viên học môn CNPM
Chương 5: Dạng chuẩn và chuẩn hóa
lược đồ CSDL
1. Giới thiệu về chuẩn hóa?
2. Các dạng chuẩn
3. Thuật toán kiểm tra dạng chuẩn
4. Chuẩn hóa lược đồ CSDL
2. Các dạng chuẩn
2.1.
2.2.
2.3.
2.4.
Dạng
Dạng
Dạng
Dạng
chuẩn
chuẩn
chuẩn
chuẩn
1NF (First Normal Form)
2NF (Second Normal Form)
3NF (Third Normal Form)
BCNF (Boyce - Codd Normal)
2. Các dạng chuẩn
2.1. Dạng chuẩn 1NF
2.2. Dạng chuẩn 2NF
2.3. Dạng chuẩn 3NF
2.4. Dạng chuẩn BCNF
2.1. Dạng chuẩn 1NF
Định nghĩa
Lược đồ quan hệ R được gọi là thuộc dạng
chuẩn 1 khi và chỉ khi mọi thuộc tính của R là
thuộc tính đơn.
Ví dụ 1.1: Chuyển bảng SinhVien sang
dạng 1NF
R
MaSV
HoTen
DiaChi
MaMH
TenMH
TenGV
Phong
Diem
A01 Nguyễn Thị Ánh
Hà Nội
M01
CSDL
Hiếu
P13
8
A01 Nguyễn Thị Ánh
Hà Nội
M02
Anh 2
Hương
P04
5
A03 Trần Văn Nam
Thái Nguyên
M01
CSDL
Hiếu
P13
4
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
7
A02 Lê Phương Yến
Hưng Yên
M02
Anh 2
Hương
P04
6
A02 Lê Phương Yến
Hưng Yên
M03
CNPM
Hòa
P14
7
R đạt chuẩn 1NF
2. Các dạng chuẩn
2.1. Dạng chuẩn 1NF
2.2. Dạng chuẩn 2NF
2.3. Dạng chuẩn 3NF
2.4. Dạng chuẩn BCNF
2.2. Dạng chuẩn 2NF
Định nghĩa
Lược đồ quan hệ R được gọi là thuộc dạng
chuẩn 2 khi và chỉ khi:
• R ở dạng chuẩn 1
• Mọi thuộc tính không khóa đều phụ thuộc hàm đầy
đủ vào khóa chính.
R(U), K ⊆ U là khóa chính của R
• A ∈ U là thuộc tính không khóa nếu A ∉ K.
• X → Y là PTH đầy đủ nếu ∀A ∈ X thì (X - {A}) → Y
không đúng trên R.
Ngược lại X → Y là PTH bộ phận.
2.2. Dạng chuẩn 2NF (tt)
Một quan hệ ở dạng 2NF nếu thỏa mãn 1 trong
các điều kiện sau:
Khóa chính chỉ gồm 1 thuộc tính.
Bảng không có các thuộc tính không khóa.
Tất cả các thuộc tính không khóa phụ thuộc hoàn
toàn vào tập các thuộc tính khóa chính
Chú ý:
Chỉ kiểm tra các quan hệ có đạt 2NF nếu quan hệ đó
có khóa chính gồm 2 thuộc tính trở lên.
Để chuyển quan hệ từ dạng chuẩn 1NF sang dạng
chuẩn 2NF, ta sử dụng phép chiếu.
Thuật toán kiểm tra dạng chuẩn 2NF
B1: Tìm các khóa K của R.
B2: Với mỗi khóa K, tìm bao đóng của tất
cả tập con thật sự Si của K.
Nếu tồn tại 1 bao đóng (Si)+ chứa thuộc tính
không khóa thì R không đạt chuẩn 2NF.
Ngược lại thì R đạt chuẩn 2NF.
2.2. Dạng chuẩn 2NF (tt)
VD 2.1:
Bảng SinhVien có các phụ thuộc hàm sau:
•
•
•
•
(1) MaSV → HoTen, DiaChi
(2) MaMH → TenMH, TenGV, Phong
(3) MaSV, MaMH → Diem
(4) TenGV → Phong
Khóa chính: MaSV, MaMH
HoTen, DiaChi, TenMH, TenGV, Phong là các thuộc
tính không khóa, nhưng chỉ phụ thuộc vào 1 phần của
khóa
2.2. Dạng chuẩn 2NF (tt)
R
MaSV
HoTen
DiaChi
MaMH
TenMH
TenGV
Phong
Diem
A01 Nguyễn Thị Ánh
Hà Nội
M01
CSDL
Hiếu
P13
8
A01 Nguyễn Thị Ánh
Hà Nội
M02
Anh 2
Hương
P04
5
A03 Trần Văn Nam
Thái Nguyên
M01
CSDL
Hiếu
P13
4
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
7
A02 Lê Phương Yến
Hưng Yên
M02
Anh 2
Hương
P04
6
A02 Lê Phương Yến
Hưng Yên
M03
CNPM
Hòa
P14
7
R1
MaSV
R2
HoTen
DiaChi
R3
MaMH TenMH TenGV
Phong
MaSV MaMH Diem
Hà Nội
M01
CSDL
Hiếu
P13
A01
M01
8
A03 Trần Văn Nam
Thái Nguyên
M02
Anh 2
Hương
P04
A01
M02
5
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
A03
M01
4
M03
CNPM
Hòa
P14
A02
M04
7
A02
M02
6
A02
M03
7
A01 Nguyễn Thị Ánh
R1, R2, R3 đạt chuẩn 2NF
2.2. Dạng chuẩn 2NF (tt)
Các lỗi khi quan hệ ở dạng chuẩn 2NF
Lược đồ R2(MaMH, TenMH, TenGV, Phong) gồm
các phụ thuộc hàm:
• (2) MaMH → TenMH, TenGV, Phong
• (4) TenGV → Phong
R2 đạt chuẩn 2NF
Vấn đề:
• Liệu có thể phân phòng cho 1 giáo viên khi giáo viên đó
chưa dạy môn nào?
• Khi xóa 1 môn học, liệu có làm mất thông tin về giáo viên và
phòng?
• Khi đổi phòng cho 1 giáo viên thì phải cập nhật lại ở bao
nhiêu phòng?
2. Các dạng chuẩn
2.1. Dạng chuẩn 1NF
2.2. Dạng chuẩn 2NF
2.3. Dạng chuẩn 3NF
2.4. Dạng chuẩn BCNF
2.3. Dạng chuẩn 3NF
Định nghĩa
Lược đồ quan hệ R được gọi là thuộc dạng
chuẩn 3 khi và chỉ khi:
• R ở dạng chuẩn 2
• Mọi thuộc tính không khóa đều không phụ thuộc
hàm bắc cầu vào khóa chính.
R(U)
• X → Y là PTH bắc cầu nếu ∃Z ⊆ U, Z không là
khóa và cũng không là tập con của khóa của R mà
X → Z và Z → Y đúng trên R.
Thuật toán kiểm tra dạng chuẩn 3NF
B1: Tìm các khóa K của R.
B2: Từ F tạo tập PTH tương đương Ftd có vế
phải 1 thuộc tính.
B3: Nếu mọi PTH X A Ftd và A X đều có
X là siêu khóa (khóa bao hàm) hoặc A là
thuộc tính khóa (thuộc tính nguyên tố) thì R
đạt chuẩn 3NF.
Ngược lại thì R không đạt chuẩn 3NF.
Chú ý:
X là siêu khóa X+ = U
A là thuộc tính khóa khi A là phần tử của một khóa của R
(R có thể có nhiều khóa). Ngược lại, A là phi nguyên tố.
2.3. Dạng chuẩn 3NF (tt)
(2) MaMH→TenMH,TenGV,Phong
(3) MaSV,MaMH→Diem
(4) TenGV→Phong
(1) MaSV → HoTen, DiaChi
R1 MaSV
HoTen
R2
DiaChi
MaMH TenMH TenGV Phong
A01
M01
8
Anh 2 Hương
P04
A01
M02
5
M04
LTHĐT
Huy
P05
A03
M01
4
M03
CNPM
Hòa
P14
A02
M04
7
A02
M02
6
A02
M03
7
M01
CSDL
A03 Trần Văn Nam
Thái Nguyên
M02
A02 Lê Phương Yến
Hưng Yên
R1 đạt chuẩn 3NF
R4
Hiếu
R2 ko đạt chuẩn 3NF
Vì: Khóa K = MaMH
Xét TenGV→Phong: có TenGV
ko phải là siêu khóa và Phong
ko phải là thuộc tính khóa
(2) MaMH→TenMH,
TenGV,
Phong
MaMH TenMH TenGV
R5
(4) TenGV→Phong
TenGV Phong
Hiếu
P13
Hương
P04
Huy
Huy
P05
Hòa
Hòa
P14
M01
CSDL
Hiếu
M02
Anh 2 Hương
M04
LTHĐT
M03
CNPM
MaMH Diem
P13
Hà Nội
A01 Nguyễn Thị Ánh
R3 MaSV
R4, R5 đạt chuẩn 3NF
R3 đạt
chuẩn 3NF
Cơ sở dữ liệu
GV: Nguyễn Thị Thu Hiếu
LOGO
Chương 5: Dạng chuẩn và chuẩn hóa
lược đồ CSDL
1.
2.
3.
4.
Giới thiệu về chuẩn hóa?
Các dạng chuẩn
Thuật toán kiểm tra dạng chuẩn
Chuẩn hóa lược đồ CSDL
Chương 5: Dạng chuẩn và chuẩn hóa
lược đồ CSDL
1. Giới thiệu về chuẩn hóa?
2. Các dạng chuẩn
3. Thuật toán kiểm tra dạng chuẩn
4. Chuẩn hóa lược đồ CSDL
1. Giới thiệu về chuẩn hóa
Chuẩn hóa là quá trình tách bảng (phân
rã) thành các bảng nhỏ hơn dựa vào các
phụ thuộc hàm.
Các dạng chuẩn là các chỉ dẫn để thiết kế
các bảng trong CSDL.
Mục đích của chuẩn hóa là loại bỏ các dư
thừa và các lỗi khi thao tác dữ liệu (Insert,
Delete, Update).
Nhưng chuẩn hóa làm tăng thời gian truy
vấn.
1. Giới thiệu về chuẩn hóa (tt)
Bảng SinhVien sau có phải là một quan hệ?
Thuộc tính
phức hợp
Khóa
MaSV
HoTen
A01 Nguyễn Thị Ánh
Thuộc tính
Đa trị
Thuộc tính
Đơn trị
DiaChi
MaMH
TenMH
TenGV
Phong
Diem
Hà Nội
M01
CSDL
Hiếu
P13
8
M02
Anh 2
Hương
P04
5
A03 Trần Văn Nam
Thái Nguyên
M01
CSDL
Hiếu
P13
4
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
7
M02
Anh 2
Hương
P04
6
M03
CNPM
Hòa
P14
7
Giá trị của
thuộc tính
Vấn đề:
Muốn xóa môn học có mã M02
Có 100 sinh viên học môn CNPM
Chương 5: Dạng chuẩn và chuẩn hóa
lược đồ CSDL
1. Giới thiệu về chuẩn hóa?
2. Các dạng chuẩn
3. Thuật toán kiểm tra dạng chuẩn
4. Chuẩn hóa lược đồ CSDL
2. Các dạng chuẩn
2.1.
2.2.
2.3.
2.4.
Dạng
Dạng
Dạng
Dạng
chuẩn
chuẩn
chuẩn
chuẩn
1NF (First Normal Form)
2NF (Second Normal Form)
3NF (Third Normal Form)
BCNF (Boyce - Codd Normal)
2. Các dạng chuẩn
2.1. Dạng chuẩn 1NF
2.2. Dạng chuẩn 2NF
2.3. Dạng chuẩn 3NF
2.4. Dạng chuẩn BCNF
2.1. Dạng chuẩn 1NF
Định nghĩa
Lược đồ quan hệ R được gọi là thuộc dạng
chuẩn 1 khi và chỉ khi mọi thuộc tính của R là
thuộc tính đơn.
Ví dụ 1.1: Chuyển bảng SinhVien sang
dạng 1NF
R
MaSV
HoTen
DiaChi
MaMH
TenMH
TenGV
Phong
Diem
A01 Nguyễn Thị Ánh
Hà Nội
M01
CSDL
Hiếu
P13
8
A01 Nguyễn Thị Ánh
Hà Nội
M02
Anh 2
Hương
P04
5
A03 Trần Văn Nam
Thái Nguyên
M01
CSDL
Hiếu
P13
4
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
7
A02 Lê Phương Yến
Hưng Yên
M02
Anh 2
Hương
P04
6
A02 Lê Phương Yến
Hưng Yên
M03
CNPM
Hòa
P14
7
R đạt chuẩn 1NF
2. Các dạng chuẩn
2.1. Dạng chuẩn 1NF
2.2. Dạng chuẩn 2NF
2.3. Dạng chuẩn 3NF
2.4. Dạng chuẩn BCNF
2.2. Dạng chuẩn 2NF
Định nghĩa
Lược đồ quan hệ R được gọi là thuộc dạng
chuẩn 2 khi và chỉ khi:
• R ở dạng chuẩn 1
• Mọi thuộc tính không khóa đều phụ thuộc hàm đầy
đủ vào khóa chính.
R(U), K ⊆ U là khóa chính của R
• A ∈ U là thuộc tính không khóa nếu A ∉ K.
• X → Y là PTH đầy đủ nếu ∀A ∈ X thì (X - {A}) → Y
không đúng trên R.
Ngược lại X → Y là PTH bộ phận.
2.2. Dạng chuẩn 2NF (tt)
Một quan hệ ở dạng 2NF nếu thỏa mãn 1 trong
các điều kiện sau:
Khóa chính chỉ gồm 1 thuộc tính.
Bảng không có các thuộc tính không khóa.
Tất cả các thuộc tính không khóa phụ thuộc hoàn
toàn vào tập các thuộc tính khóa chính
Chú ý:
Chỉ kiểm tra các quan hệ có đạt 2NF nếu quan hệ đó
có khóa chính gồm 2 thuộc tính trở lên.
Để chuyển quan hệ từ dạng chuẩn 1NF sang dạng
chuẩn 2NF, ta sử dụng phép chiếu.
Thuật toán kiểm tra dạng chuẩn 2NF
B1: Tìm các khóa K của R.
B2: Với mỗi khóa K, tìm bao đóng của tất
cả tập con thật sự Si của K.
Nếu tồn tại 1 bao đóng (Si)+ chứa thuộc tính
không khóa thì R không đạt chuẩn 2NF.
Ngược lại thì R đạt chuẩn 2NF.
2.2. Dạng chuẩn 2NF (tt)
VD 2.1:
Bảng SinhVien có các phụ thuộc hàm sau:
•
•
•
•
(1) MaSV → HoTen, DiaChi
(2) MaMH → TenMH, TenGV, Phong
(3) MaSV, MaMH → Diem
(4) TenGV → Phong
Khóa chính: MaSV, MaMH
HoTen, DiaChi, TenMH, TenGV, Phong là các thuộc
tính không khóa, nhưng chỉ phụ thuộc vào 1 phần của
khóa
2.2. Dạng chuẩn 2NF (tt)
R
MaSV
HoTen
DiaChi
MaMH
TenMH
TenGV
Phong
Diem
A01 Nguyễn Thị Ánh
Hà Nội
M01
CSDL
Hiếu
P13
8
A01 Nguyễn Thị Ánh
Hà Nội
M02
Anh 2
Hương
P04
5
A03 Trần Văn Nam
Thái Nguyên
M01
CSDL
Hiếu
P13
4
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
7
A02 Lê Phương Yến
Hưng Yên
M02
Anh 2
Hương
P04
6
A02 Lê Phương Yến
Hưng Yên
M03
CNPM
Hòa
P14
7
R1
MaSV
R2
HoTen
DiaChi
R3
MaMH TenMH TenGV
Phong
MaSV MaMH Diem
Hà Nội
M01
CSDL
Hiếu
P13
A01
M01
8
A03 Trần Văn Nam
Thái Nguyên
M02
Anh 2
Hương
P04
A01
M02
5
A02 Lê Phương Yến
Hưng Yên
M04
LTHĐT
Huy
P05
A03
M01
4
M03
CNPM
Hòa
P14
A02
M04
7
A02
M02
6
A02
M03
7
A01 Nguyễn Thị Ánh
R1, R2, R3 đạt chuẩn 2NF
2.2. Dạng chuẩn 2NF (tt)
Các lỗi khi quan hệ ở dạng chuẩn 2NF
Lược đồ R2(MaMH, TenMH, TenGV, Phong) gồm
các phụ thuộc hàm:
• (2) MaMH → TenMH, TenGV, Phong
• (4) TenGV → Phong
R2 đạt chuẩn 2NF
Vấn đề:
• Liệu có thể phân phòng cho 1 giáo viên khi giáo viên đó
chưa dạy môn nào?
• Khi xóa 1 môn học, liệu có làm mất thông tin về giáo viên và
phòng?
• Khi đổi phòng cho 1 giáo viên thì phải cập nhật lại ở bao
nhiêu phòng?
2. Các dạng chuẩn
2.1. Dạng chuẩn 1NF
2.2. Dạng chuẩn 2NF
2.3. Dạng chuẩn 3NF
2.4. Dạng chuẩn BCNF
2.3. Dạng chuẩn 3NF
Định nghĩa
Lược đồ quan hệ R được gọi là thuộc dạng
chuẩn 3 khi và chỉ khi:
• R ở dạng chuẩn 2
• Mọi thuộc tính không khóa đều không phụ thuộc
hàm bắc cầu vào khóa chính.
R(U)
• X → Y là PTH bắc cầu nếu ∃Z ⊆ U, Z không là
khóa và cũng không là tập con của khóa của R mà
X → Z và Z → Y đúng trên R.
Thuật toán kiểm tra dạng chuẩn 3NF
B1: Tìm các khóa K của R.
B2: Từ F tạo tập PTH tương đương Ftd có vế
phải 1 thuộc tính.
B3: Nếu mọi PTH X A Ftd và A X đều có
X là siêu khóa (khóa bao hàm) hoặc A là
thuộc tính khóa (thuộc tính nguyên tố) thì R
đạt chuẩn 3NF.
Ngược lại thì R không đạt chuẩn 3NF.
Chú ý:
X là siêu khóa X+ = U
A là thuộc tính khóa khi A là phần tử của một khóa của R
(R có thể có nhiều khóa). Ngược lại, A là phi nguyên tố.
2.3. Dạng chuẩn 3NF (tt)
(2) MaMH→TenMH,TenGV,Phong
(3) MaSV,MaMH→Diem
(4) TenGV→Phong
(1) MaSV → HoTen, DiaChi
R1 MaSV
HoTen
R2
DiaChi
MaMH TenMH TenGV Phong
A01
M01
8
Anh 2 Hương
P04
A01
M02
5
M04
LTHĐT
Huy
P05
A03
M01
4
M03
CNPM
Hòa
P14
A02
M04
7
A02
M02
6
A02
M03
7
M01
CSDL
A03 Trần Văn Nam
Thái Nguyên
M02
A02 Lê Phương Yến
Hưng Yên
R1 đạt chuẩn 3NF
R4
Hiếu
R2 ko đạt chuẩn 3NF
Vì: Khóa K = MaMH
Xét TenGV→Phong: có TenGV
ko phải là siêu khóa và Phong
ko phải là thuộc tính khóa
(2) MaMH→TenMH,
TenGV,
Phong
MaMH TenMH TenGV
R5
(4) TenGV→Phong
TenGV Phong
Hiếu
P13
Hương
P04
Huy
Huy
P05
Hòa
Hòa
P14
M01
CSDL
Hiếu
M02
Anh 2 Hương
M04
LTHĐT
M03
CNPM
MaMH Diem
P13
Hà Nội
A01 Nguyễn Thị Ánh
R3 MaSV
R4, R5 đạt chuẩn 3NF
R3 đạt
chuẩn 3NF