Cộng đồng chia sẻ tri thức Lib24.vn

Chương 5: Dạng Chuẩn và Chuẩn hóa LD - CSDL

ab32b8800dbb6c975d47d8cd49c81187
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:
Tải xuống

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