Tải bản đầy đủ (.pptx) (94 trang)

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 9: Chuẩn hóa CSDL- Phép phân rã

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 (762.2 KB, 94 trang )

Chương 9
Chuẩn hóa CSDL- Phép phân rã

1


2

Các vấn đề gặp phải khi tổ chức CSDL
 Dư thừa dữ liệu:
Ví dụ: cho lược đồ quan hệ sau
Thi(MASV,HOTEN,MONHỌC,DIEMTHI) và một thể
hiện trên lược đồ quan hệ Thi:


3

Các vấn đề gặp phải khi tổ chức CSDL
 Bất thường khi cập nhật:
– Do dư thừa nên khi cập nhật họ tên của một
sinh viên trong một bộ nào đó nhưng vẫn để
lại họ tên cũ trong những bộ khác.
 Bất thường khi chèn (insertion anomaly)
– Không thể biết họ tên của một sinh viên nếu
hiện tại sinh viên đó khơng dự thi mơn nào.
 Bất thường khi xố (deletion anomaly).
– Ngược lại, khi xố tất cả các mơn thi của một
sinh viên, vô ý làm mất dấu vết để tìm ra họ
tên của sinh viên này.



Chuẩn hóa cơ sở dữ liệu

4

 Chuẩn hóa: Là quá trình phân rã những quan hệ
chưa đạt bằng cách chia nhỏ những thuộc tính
của nó ra thành những quan hệ nhỏ hơn
 Ví dụ: Phân rã lược đồ quan hệ Thi thành ba lược
đồ quan hệ:
– Sinhvien(MASV,HOTEN)
– MonHoc(MAMH, TENMON)
– Ketqua(MASV,MAMH,DIEMTHI)


Chuẩn hóa cơ sở dữ liệu
MASV

HOTEN

00CDTH189

Nguyễn Văn Thành

00CDTH211

Trần Thu Hà

MAMH

TENMON


M1

Cơ sở dữ liệu

M2

Cấu trúc dữ liệu

M3

Kỹ thuật lập trình

MASV

MAMH

DIEMTHI

00CDTH189

M2

7

00CDTH189

M2

9


00CDTH211

M3

5

00CDTH189

M3

8

5


Các khái niệm liên quan đến dạng
chuẩn

6

 Thuộc tính khố/khơng khố
– A là một thuộc tính khố nếu A có tham gia vào
bất kỳ một khoá nào của quan hệ, ngược lại A
gọi là thuộc tính khơng khố.
Ví dụ:
Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc
hàm F={ A→ B; A → C; B → A}
Có hai khóa là A và B. khi đó thuộc tính khố là A,
B; thuộc tính khơng khóa là: C



Thuộc tính phụ thuộc đầy đủ-phụ
thuộc hàm đầy đủ

7

 A là một thuộc tính phụ thuộc đầy đủ vào tập thuộc
tính X nếu X →A là một phụ thuộc hàm đầy đủ
 Phụ thuộc hàm X →A gọi là đầy đủ là không tồn tại
X' X sao cho X' → A F+
Ví dụ: Cho Q(ABC) và F={ A → B; A→ C; AB → C}
– A →B: A → C là các phụ thuộc hàm đầy đủ.
– AB → C khơng là phụ thuộc hàm đầy đủ vì có
A → C.
Chú ý rằng, một phụ thuộc hàm mà vế trái ch ỉ có m ột
thuộc tính là phụ thuộc hàm đầy đủ.


Thuộc tính phụ thuộc trực tiếpphụ thuộc hàm trực tiếp

8

 A là một thuộc tính phụ thuộc trực tiếp vào tập thuộc
tính X nếu X →A , khơng tồn tại Z  U, X Z, ZA
thì XA là phụ thuộc trực tiếp. Nếu ngược lại thì
được gọi là phụ thuộc hàm bắc cầu.
Ví dụ: Cho Q(ABC) F={ A → B; A→ C; C → B}
– C →B; A → C là các phụ thuộc hàm trực tiếp.
– A → B là phụ thuộc hàm bắc cầu vì tồn tại C Q

A → C, C → B


Dạng chuẩn 1 (1NF)

9

 Lược đồ quan hệ Q được gọi là đạt dạng
chuẩn1 (1NF) nếu và chỉ nếu toàn bộ các
thuộc tính của Q đều mang giá trị đơn.
Ví dụ: xét quan hệ -không đạt chuẩn 1 (?)


Dạng chuẩn 1 (1NF)
– Đưa quan hệ trên về dạng chuẩn 1 như sau

10


Dạng chuẩn 2 (2NF)

11

 Một lược đồ quan hệ Q đạt dạng chuẩn 2 nếu
Q đạt dạng chuẩn 1 và tất cả các thuộc tính
khơng khố của Q đều phụ thuộc đầy đủ vào
khoá.
– Nếu một lược đồ quan hệ khơng đạt chuẩn 2
thì ta nói nó đạt dạng chuẩn 1.
Ví dụ: Cho Q(A,B,C,D) và F={ AB → CD; B → D; C→ A}

– Khoá là {A,B} và {B,C}.
– D là thuộc tính khơng khố; AB → D khơng là
phụ thuộc hàm đầy đủ vì có B → D.
– Vậy Q đạt chuẩn 1.


Dạng chuẩn 2 (2NF)

12

Ví dụ: Xác định dạng chuẩn của lược đồ quan hệ
sau. Q(GMVNHP) với F={G→N;G→H; G→P; M→V;
NHP→M}
– Khoá của Q là G.
– Thuộc tính khơng khố là M,V,N,H,P.
– Do các phụ thuộc hàm G → M; G → V; G → N;
G → H; G → P là các phụ thuộc hàm đầy đủ, nên
lược đồ quan hệ Q đạt dạng chuẩn 2


Dạng chuẩn 2 (2NF)

13

 Giải thuật kiểm tra lược đồ quan hệ đạt 2NF
• Cho lược đồ quan hệ Q, tập phụ thuộc hàm F
– B1: Tìm tất cả khóa K của Q
– B2: Với mỗi khóa K, tìm bao đóng của tất cả tập
con thực sự S của K.
– B3: Nếu có S+ chứa thuộc tính khơng khóa thì Q

khơng đạt 2NF, ngược lại thì Q đạt 2NF


Dạng chuẩn 2 (2NF)

14

 Ví dụ: Q(A,B,C,D) F={AB→C; B→D; BC→A}. Q có
đạt 2 NF khơng

 D là thuộc tính khơng khóa Q khơng đạt 2NF


Dạng chuẩn 2 (2NF)

15

Hệ quả:
– Q đạt 2NF nếu Q đạt 1NF và tập thuộc tính
khơng khố của Q bằng rỗng.
– Nếu khố của quan hệ có một thuộc tính thì
quan hệ đó ít nhất đạt chuẩn 2.
Ví dụ: Q(ABCDEH) F={A → E; C → D; E → DH}
Khoá của Q là K={ABC}
D là thuộc tính khơng khố và C →D , vì C là t ập
con thực sự của khố nên Q khơng đạt 2NF


Dạng chuẩn 3 (3NF)


16

 Định nghĩa 1: Một lược đồ quan hệ Q đạt dạng
chuẩn 3 nếu mọi phụ thuộc hàm X→AF+ ( F là
tập phụ thuộc không hiển nhiên định nghĩa trên
Q, A là thuộc tính đơn, X là tập thuộc tính con của
tập Q), thì một trong hai điều kiện sau được thoả:
– Hoặc X là một siêu khố của Q
– Hoặc A là một thuộc tính khố
 Nhận xét: Nếu Q đạt chuẩn 3 thì Q đạt chuẩn 2


Dạng chuẩn 3 (3NF)

17

 Ví dụ: cho R(C,S,Z), F = {CS →Z, Z →C}
– Khóa dự tuyển: CS và SZ
– Tất cả các thuộc tính đều là thuộc tính khóa
– R đạt 3NF
 Ví dụ: R(A,S,I,P), F={SI →P, S →A},
– Khóa: SI
– S →A nhưng S là tập con của khóa và A là thuộc
tính khơng khóa R khơng đạt 2NF  R không
đạt 3NF


Dạng chuẩn 3 (3NF)

18


 Định nghĩa 2: Một lược đồ quan hệ R đạt dạng
chuẩn 3 (3NF) nếu nó đạt dạng chuẩn 2 và khơng
có thuộc tính khơng khóa phụ thuộc bắc cầu vào
khóa chính.
Ví dụ: R (Cust_ID, Name, Salesperson, Region)
F = { Cust_ID → {Name, Salesperson, Region},
Salesperson → Region }
– Khóa K = Cust_ID
– Phụ thuộc hàm bắc cầu:
Cust_ID →Salesperson → Region không đạt 3NF


Dạng chuẩn 3 (3NF)

19

 Giải thuật kiểm tra lược đồ quan hệ đạt 3NF
Cho lược đồ quan hệ Q, tập phụ thuộc hàm F
– B1: Tìm tất cả khóa của Q
– B2: Tạo một tập phụ thuộc hàm tương đương
(F1tt) với vế phải của các phụ thuộc hàm chỉ
chứa một thuộc tính.
– B3: Nếu mọi phụ thuộc hàm XA ∈ F1tt với
A∉ X, X là siêu khóa hoặc A là thuộc tính khóa
thì Q đạt 3NF, ngược lại thì Q không đạt 3NF


Dạng chuẩn 3 (3NF)


20

Ví dụ: Cho Q(ABCD) và tập phụ thuộc hàm
F=(AB → C ; D → B; C → ABD)
– K1=[AB]; K2=[AD]; K3=[C] là các khố, vậy Q
khơng có thuộc tính khơng khố nên Q đạt
chuẩn 3
Hệ quả: Nếu lược đồ quan hệ Q, F mà Q khơng có
thuộc tính khơng khố thì Q đạt chuẩn 3.


Dạng chuẩn 3 (3NF)

21

 Ví dụ: Xác định dạng chuẩn của lược đồ quan hệ
Q(NGPM), tập phụ thuộc hàm F={NGP→M; M→P}
– Khoá của Q là {NGP}, {NGM}
– NGP → M có vế trái là siêu khố
– M → P có vế phải là thuộc tính khố.
Q đạt chuẩn 3.


Dạng chuẩn 3 (3NF)

22

 Ví dụ: cho Q(A,B,C,D) F={AB →C; D→B; C→ABD},
Q đạt 3NF?, TN= ∅ TG={ABCD}



Dạng chuẩn 3 (3NF)

23

 K1 = {AB}; K2 = {AD}; K3 ={C} , mọi phụ thuộc
hàm XAF với A là thuộc tính khóa Q đạt 3NF


Dạng chuẩn BCNF(Boyce-Codd)

24

 Một lược đồ quan hệ Q ở dạng chuẩn BCNF nếu
với mỗi phụ thuộc hàm không hiển nhiên X → A 
F thì X là một siêu khố của Q.
– Nhận xét: Nếu Q đạt BCNF thì Q đạt 3NF
 Ví dụ: Xác định dạng chuẩn của lược đồ quan hệ
sau. Q(ACDEIB) F={ACD→EBI;CE→AD}
– Q có hai khố là: ACD và CE.
– Các phụ thuộc hàm của F đều có vế trái là siêu
khố, nên Q đạt dạng chuẩn BC.


Dạng chuẩn BCNF(Boyce-Codd)

25

 Giải thuật kiểm tra BCNF
– B1: Tìm tất cả khóa của Q

– B2: Tạo tập phụ thuộc hàm tương đương (F1tt)
mà vế phải của các phụ thuộc hàm chỉ chứa
một thuộc tính.
– B3: Nếu mọi phụ thuộc hàm XA ∈ F1tt với
A∉ X, X là siêu khóa, thì Q đạt chuẩn BCNF,
ngược lại thì khơng đạt


×