You are on page 1of 18

25/02/2016

Phân tích thiết kế hệ


thống thông tin
Chương 10. Mô hình dữ liệu

Mối tương quan giữa mô hình dự thể/kết


hợp và mô hình hướng đối tượng
• Thực thể/kết hợp Hướng đối tượng
– Thực thể - Lớp
– Mối kết hợp - Quan hệ
– Thuộc tính - Thuộc tính
– Bản số - Bản số

1
25/02/2016

Mô hình thực thể kết hợp


• Ứng dụng Quản lý nhân chủng học
(1,1) Sinh tại (0,n)
Họ tên
Ngày sinh Tên
VỊ TRÍ
CON NGƯỜI (1,n) (0,n) Dân số
Chiều cao
Sống ở
Cân nặng

Số THÀNH PHỐ
ĐÀN ÔNG PHỤ NỮ năm QUỐC GIA

(1,1)

Thuộc
Chức danh Tên con gái Châu lục

(0,n)

Tên MIỀN

Mô hình thực thể kết hợp

Đơn giá Số lượng Mã số

Số HĐ Chi tiết Tên NGK


HOÁ ĐƠN NGK
hóa đơn ĐVTính
Ngày HĐ (1,n) (0,n)
Loại
Trị giá Hiệu
(0,n)
HOÁ ĐƠN GIAO Đơn giá bán
HÀNG Chi tiết đơn
hàng
Số lượng đặt
(1,1)
Cho

(0,n) (1,n)
Mã KH
Số ĐH
ĐƠN HÀNG Của KHÁCH HÀNG Tên khách hàng
Ngày đặt
(1,1) (1,n)
Trị giá đơn Điện thoại
hàng Địa chỉ giao hàng

2
25/02/2016

Mô hình hướng đối tượng

Dạng chuẩn của lược đồ quan hệ


• Chất lượng của HTTT phụ thuộc rất nhiều vào
lược đồ CSDL.
• Chất lượng thiết kế của một lược đồ csdl có
thể đánh giá dựa trên nhiều tiêu chuẩn trong
đó sự trùng lắp thông tin và chi phí kiểm tra
các ràng buộc tòan vẹn là 2 tiêu chuẩn quan
trọng.
• Một số dạng chuẩn đánh giá độ tốt xấu của
một lược đồ csdl:
• Dạng chuẩn 1 (Fisrt Normal Form)
• Dạng chuẩn 2
• Dạng chuẩn 3
• Dạng chuẩn Boyce Codd
6

3
25/02/2016

Dạng chuẩn 1 (1NF)


• Một quan hệ ở 1NF nếu miền giá trị của một thuộc tính chỉ
chứa giá trị nguyên tử (đơn, ko phân chia được) và giá trị của
mỗi thuộc tính cũng là một giá trị đơn lấy từ miền giá trị của nó

MASV HOTEN MONHOC DIEMTHI


CDTH100 Nguyễn Lan Anh Cấu trúc dữ liệu 7
Cơ sở dữ liệu 9
Kỹ thuật lập trình 8
CDTH111 Trần Bích Chi Kỹ thuật lập trình 5
CDTH122 Nguyễn Cao Chí Kỹ thuật lập trình 8

• Lược đồ trên không đạt 1NF


7

Dạng chuẩn 1 (1NF) (tt)

Đưa quan hệ về dạng chuẩn 1 như sau:

MASV HOTEN MONHOC DIEMTHI


CDTH100 Nguyễn Lan Anh Cấu trúc dữ liệu 7
CDTH100 Nguyễn Lan Anh Cơ sở dữ liệu 9
CDTH100 Nguyễn Lan Anh Kỹ thuật lập trình 8
CDTH111 Tran Bích Chi Kỹ thuật lập trình 5
CDTH122 Nguyễn Cao Chí Kỹ thuật lập trình 8

4
25/02/2016

Dạng chuẩn 2 (2NF)


• Từ dạng chuẩn 2 trở đi ta chú ý đến thuộc tính
khóa và thuộc tính không khóa.
• ĐN: một quan hệ ở dạng chuẩn 2 (2NF) nếu:
– Quan hệ đó ở dạng chuẩn 1
– Thuộc tính không khóa phụ thuộc đầy đủ vào thuộc
tính khóa (NGHĨA LÀ THUỘC TÍNH KHÔNG KHÓA
KHÔNG PHỤ THUỘC VÀO MỘT PHẦN CỦA KHÓA)
Ki  B, ~Ki’ Ki sao cho Ki’  B  F
• Lưu ý: Dạng chuẩn 2 có thể vi phạm khi quan hệ
khóa gồm hơn một thuộc tính.

Ví dụ 8
• Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc
hàm F = {ABCD; BD; C A}. Xác định dạng
chuẩn cho lược đồ.
Giải:
- Khóa là {AB} và {BC},
- Thuộc tính không khóa D.
- Nhưng A,B D không phụ thuộc hàm đầy đủ vì
có BD
- Vậy Q đạt dạng chẩn 1 (1NF)

10

5
25/02/2016

Ví dụ 9
• Xác định dạng chuẩn của lược đồ sau:
Q(GMVNHP)
F={G N; G H; G P; M V; NHP M}
Giải:
- Khóa của Q là {G}
- Thuộc tính không khóa: MVNHP
- Do các phụ thuộc hàm G N; G H; G P; G
M; G V, nên lược đồ quan hệ Q đạt dạng chuẩn
2.

11

Bài tập 2
• Xác định dạng chuẩn của lược đồ sau:
Q(ABCDEH)
F={AE; C D; E DH}

12

6
25/02/2016

Bài tập 3
• Xác định dạng chuẩn của lược đồ sau:
Q(ABCDEG)
F={ABC; C DE; E G}

13

Dạng chuẩn 3 (3NF)


• Một quan hệ ở dạng chuẩn 3 nếu:
– Quan hệ ở dạng chuẩn 2
–Không có chứa các phụ thuộc hàm phụ thuộc
bắc cầu giữa các thuộc tính không khóa vào khóa
của quan hệ.

• Hệ quả :
Nếu lược đồ quan hệ Q,F mà Q không có
thuộc tính không khoá thì Q đạt chuẩn 3.
14

7
25/02/2016

Ví dụ 10
• Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc
hàm F = {AB; AC; B C}. Xác định dạng
chuẩn cho lược đồ.
• Giải:
- Khóa là {A}
- Thuộc tính không khóa BC
- Pth bắt cầu: AB; BC
- Thuộc tính không khóa C phụ thuộc bắc cầu vào
thuộc tính khóa A, do đó quan hệ Q không phải
3NF

15

Ví dụ 11
• Cho lược đồ quan hệ Q(ABCD) và tập phụ
thuộc hàm F = {ABC; DB; C ABD}. Xác
định dạng chuẩn cho lược đồ.
• Giải cách 1:
- Khóa: {AB}; {AD};{C} là các khoá,
- vậy Q không có thuộc tính không khoá nên Q
đạt chuẩn 3.

16

8
25/02/2016

Ví dụ 11
• Cách 2
– Nếu lấy 1 khóa {AB}
– Thuộc tính không khóa CD
– Pth ABC; CABD không vi phạm quy tắc vì vế
phải ABD có AB là thuộc tính khóa
– Vậy Q đạt dạng chuẩn 3 (3NF)
(nếu tính đủ 2 khóa {AD} và {C} thì hiển nhiên tất cả
đều thỏa)

17

Bài tập 4
• Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) và
tập phụ thuộc hàm
F = {A→D; E → B; A,E → G; B → C}
a.Tìm tất cả các khóa của lược đồ quan hệ Q.
b.Hãy xác định dạng chuẩn cao nhất của lược
đồ quan hệ Q.

18

9
25/02/2016

Bài tập 5
• Cho lược đồ quan hệ Q(A,B,C,D,E,G,H)
và tập phụ thuộc hàm
• F = { E → C; H → E; A→ D; A,E → H; D,G → B;
D,G → C }
• a.Hãy xác đinh tất cả các khóa của Q
• b.Hãy xác định dạng chuẩn cao nhất của
Q

19

Bài tập 6
• Cho lược đồ quan hệ Q(ABCDEG) và tập
các phụ thuộc hàm
• F = {AB→ C, AC→D, D→EG, G→B, A→D,
CG→A}
• a. Tìm các khóa của Q
• b. Xác định dạng chuẩn của Q

20

10
25/02/2016

Bài tập 7
• Cho lược đồ quan hệ Q và tập phụ thuộc
hàm F được cho như sau:
Q(A,B,C,D,E,G,H,K,L,M,N)
F={ C → D,E; G → H,K; A,G → L; M → A,N; A →
B,C}
a.Tìm tất cả các khóa của Q
b.Xác định dạng chuẩn của Q.

21

Bài tập 8
• Cho lược đồ quan hệ Q(ABCDEG) và
F={B → C;DEG → B; A → D; A→ E; A →
G}
a.Tìm tất cả các khóa của Q
b.Xác định dạng chuẩn của Q.

22

11
25/02/2016

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


• Một lược đồ quan hệ R được gọi là ở dạng
chuẩn Boyce-Codd (BCNF) nếu nó
– Thỏa mãn dạng chuẩn 3NF
– Không có các thuộc tính khóa phụ thuộc hàm vào
thuộc tính không khóa.

23

24

12
25/02/2016

25

26

13
25/02/2016

Ví dụ 12
• Xét lược đồ Q(ABCD)
và tập pth F= {AB C; C ABD}
Giải:
- Thuộc tính khóa: {AB}, {C}
- Các tập thuộc tính X có bao đóng khác R (không
phải khóa): {A}, {B}, {D}, {AD}, {BD}
- Trong các phụ thuộc hàm trên không có phụ
thuộc nào vi phạm.
- Vậy quan hệ trên ở dạng chuẩn BCNF

27

Ví dụ 13
• Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc
hàm F = {ABC; DB; C ABD}. Xác định dạng
chuẩn cho lược đồ.
• Giải:
– Khóa {AB}, {C}
– Thuộc tính không khóa: D
– Thuộc tính khóa B phụ thuộc hàm vào thuộc tính
không khóa D
– Nên lược đồ chỉ đạt dạng chuẩn 3NF không đạt BCNF

28

14
25/02/2016

Tách thành chuẩn BCNF


• Ví dụ trên: R (A1,A2,A3,A4,A5)
Với các phụ thuộc hàm:
– A1,A2  A3,A4,A5
– A4  A2
• lược đồ được tách ra như sau:
– R1( A4, A2)
– R2(A1, A4, A3, A5)

29

CHUẨN HÓA QUAN HỆ


• Bước 1: Từ một biểu mẫu (tài liệu xuất:
hoá đơn, chứng từ,…) lấy ra một danh
sách các thuộc tính cho quan hệ chưa
được chuẩn hoá (còn gọi là dạng
chuẩn 0).

30

15
25/02/2016

CHUẨN HÓA QUAN HỆ

• Mỗi tiêu đề trong biểu mẫu là một thuộc tính.


• Bỏ qua phần đầu đề và phần dưới cùng (một số ghi
chú, chữ ký …) của biểu mẫu.
• Không lấy các thuộc tính được suy diễn từ những
thuộc tính khác (như thành tiền = đơn giá x số lượng)
và các thuộc tính trình bày như ‘số thứ tự’ nếu có.
• Bổ sung thêm một số thuộc tính định danh tương ứng
với một số thuộc tính tên gọi chưa có định danh nếu
cần thiết.
• Xác định nhóm thuộc tính lặp, các phụ thuộc hàm giữa
các thuộc tính.

31

CHUẨN HÓA QUAN HỆ


• Hãy xây dựng mô hình dữ liệu cho hệ thống từ mẫu
phiếu xuất của công ty thương mại Y dưới đây.
– Danh sách thuộc tính: số PX, ngày, số đại lý, địa chỉ, tên
hàng, đơn vị tính, đơn giá, số lượng.
– Bổ sung thêm thuộc tính mã hàng.
– Phụ thuộc hàm: (quy định giá bán của mặt hàng không
thay đổi) số PX -> ngày
– số đại lý -> địa chỉ
– mã hàng -> tên hàng, đơn vị tính, đơn giá
– {số PX, mã hàng }-> số lượng
– Khoá chính: số PX.
– Nhóm lặp (*): mã hàng, tên hàng, đơn vị tính, đơn giá, số
lượng.

32

16
25/02/2016

CHUẨN HÓA QUAN HỆ


• Bước 2: Chuẩn hoá về dạng chuẩn 1 (1NF): Tách
nhóm thuộc tính lặp.

– Tách các thuộc tính không nằm trong nhóm lặp thành
một quan hệ (R1). Xác định khoá chính của quan hệ
này.
– Các thuộc tính của nhóm lặp và khoá chính của quan
hệ trên (R1) tạo thành một quan hệ (R2). Xác định
khóa chính cho quan hệ R2 (khoá chính của R2 sẽ là
một khoá ghép giữa khoá của R1 và một thuộc tính
khác trong R2)
– Ví dụ: R{A, B, C, D, E} và khoá là {A}. Tồn tại nhóm thuộc
tính lặp {C,D} thì tách thành 2 quan hệ R1{A, B, E} và
R2{A,C,D}.
33

CHUẨN HÓA QUAN HỆ


• Bước 3: Chuẩn hoán về dạng chuẩn 2 (2NF):
Loại bỏ phụ thuộc bộ phận vào khoá (chỉ áp
dụng với các quan hệ có khoá ghép)

– Tách các thuộc tính tham gia vào phụ thuộc hàm được
xác định bởi một phần của khoá vào một quan hệ mới
(R3). Khoá chính của quan hệ là thuộc tính xác định hàm.
– Phần còn lại với khoá chính của quan hệ trên (R3) là một
quan hệ giữ nguyên khoá chính như quan hệ ban đầu.
– Ví dụ: R{A, B, C, D} và khoá là {A,B}. Tồn tại phụ thuộc hàm A C
thì tách thành 2 quan hệ R1{A,C} và R2{A, B, D}.

34

17
25/02/2016

CHUẨN HÓA QUAN HỆ


• Bước 4: Chuẩn hoá về dạng chuẩn 3 (3NF):
Loại bỏ phụ thuộc hàm giữa các thuộc tính
không khoá.
– Tách các thuộc tính tham gia vào phụ thuộc hàm giữa
các thuộc tính không khoá vào một quan hệ mới (R4).
Khoá chính của quan hệ là thuộc tính xác định hàm.
– Phần còn lại và khoá chính của quan hệ trên (R4) là
một quan hệ giữ nguyên khoá chính của quan hệ ban
đầu.
– Ví dụ: R{A, B, C, D} mà khoá là {A,B}. Tồn tại phụ thuộc hàm
C D thì tách thành 2 quan hệ R1{C, D} và R2{A, B, C}

35

CHUẨN HÓA QUAN HỆ

36

18

You might also like