Bài giảng Phân tích thiết kế hệ thống thông tin - Chương 10: Mô hình dữ liệu cung cấp cho người học những kiến thức như: Mô hình thực thể kết hợp; Mô hình hướng đối tượng. Mời cá bạn cùng tham khảo!
Trang 1Phân tích thiết kế hệ
thống thông tin
Chương 10 Mô hình dữ liệu
1
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
– Mối kết hợp - Quan hệ
– Thuộc tính - Thuộc tính
Trang 2Mô hình thực thể kết hợp
3
CON NGƯỜI VỊ TRÍ
ĐÀN ÔNG PHỤ NỮ QUỐC GIA
Thuộc
Họ tên
Ngày sinh
Chiều cao
Cân nặng
Tên Dân số
Châu lục
Tên Chức danh Tên con gái
(1,1) (0,n)
(1,n) (0,n)
(1,1)
(0,n)
Sống ở Sinh tại
THÀNH PHỐ
MIỀN
Số năm
• Ứng dụng Quản lý nhân chủng học
Mô hình thực thể kết hợp
HOÁ ĐƠN
HOÁ ĐƠN GIAO
HÀNG
NGK Chi tiết
hóa đơn
Của
Mã số Tên NGK ĐVTính Loại Hiệu Đơn giá bán
Mã KH Tên khách hàng
Số HĐ
Ngày HĐ
Trị giá
Số ĐH
Số lượng Đơn giá
Số lượng đặt (1,n)
(1,1)
(0,n) (1,n)
(0,n) (0,n)
Cho
ĐƠN HÀNG
Chi tiết đơn hàng
Trang 3Mô hình hướng đối tượng
5
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
Trang 4Dạ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ó
• Lược đồ trên không đạt 1NF
Cơ sở dữ liệu
Kỹ thuật lập trình
7
9
8
7
Dạng chuẩn 1 (1NF) (tt)
Đưa quan hệ về dạng chuẩn 1 như sau:
Trang 5Dạ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
9
Ví dụ 8
• Cho lược đồ quan hệ Q(ABCD) và tập phụ thuộc
hàm F = {ABCD; BD; 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ó BD
- Vậy Q đạt dạng chẩn 1 (1NF)
Trang 6Ví 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={AE; C D; E DH}
Trang 7Bài tập 3
• Xác định dạng chuẩn của lược đồ sau:
Q(ABCDEG)
F={ABC; 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
Trang 8Ví dụ 10
• Cho lược đồ quan hệ Q(ABC) và tập phụ thuộc
hàm F = {AB; AC; 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: AB; BC
- 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 = {ABC; DB; 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
Trang 9Ví dụ 11
• Cách 2
– Nếu lấy 1 khóa {AB}
– Thuộc tính không khóa CD
– Pth ABC; CABD 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
Trang 10Bà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
Trang 11Bà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
Trang 12Dạ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
Trang 1325
Trang 14Ví 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 = {ABC; DB; 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
Trang 15Tá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)
Trang 16CHUẨ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ố
Trang 17CHUẨ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
(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}
Trang 18CHUẨ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
– 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Ệ