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!
25/02/2016 Phân tích thiết kế hệ thống thơng tin Chương 10 Mơ hình liệu Mối tương quan mơ hình dự thể/kết hợp mơ hình hướng đối tượng • Thực thể/kết hợp – Thực thể – Mối kết hợp – Thuộc tính – Bản số Hướng đối tượng - Lớp - Quan hệ - Thuộc tính - Bản số 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) Họ tên Ngày sinh CON NGƯỜI Chiều cao (0,n) Sinh (0,n) (1,n) Tên VỊ TRÍ Dân số Sống Cân nặng ĐÀN ÔNG Số năm PHỤ NỮ THÀNH PHỐ QUỐC GIA (1,1) Chức danh Thuộc Châu lục Tên gái (0,n) Tên MIỀN Mơ hình thực thể kết hợp Đơn giá Số HĐ (1,n) Mã số Tên NGK Chi tiết hóa đơn HỐ ĐƠN Ngày HĐ Số lượng (0,n) NGK ĐVTính Loại Trị giá (0,n) HỐ ĐƠN GIAO HÀNG Chi tiết đơn hàng (1,1) Hiệu Đơn giá bán Số lượng đặt Cho Số ĐH Ngày đặt Trị giá đơn hàng (0,n) (1,n) ĐƠN HÀNG (1,1) Mã KH Của (1,n) KHÁCH HÀNG Tên khách hàng Điện thoại Địa giao hàng 25/02/2016 Mơ hình hướng đối tượng Dạng chuẩn lược đồ quan hệ • Chất lượng HTTT phụ thuộc nhiều vào lược đồ CSDL • Chất lượng thiết kế lược đồ csdl đánh giá dựa nhiều tiêu chuẩn trùng lắp thơng tin chi phí kiểm tra ràng buộc tòan vẹn tiêu chuẩn quan trọng • Một số dạng chuẩn đánh giá độ tốt xấu lược đồ csdl: • • • • Dạng chuẩn (Fisrt Normal Form) Dạng chuẩn Dạng chuẩn Dạng chuẩn Boyce Codd 25/02/2016 Dạng chuẩn (1NF) • Một quan hệ 1NF miền giá trị thuộc tính chứa giá trị nguyên tử (đơn, ko phân chia được) giá trị thuộc tính giá trị đơn lấy từ miền giá trị MASV HOTEN MONHOC DIEMTHI CDTH100 Nguyễn Lan Anh Cấu trúc liệu Cơ sở liệu Kỹ thuật lập trình CDTH111 Trần Bích Chi Kỹ thuật lập trình CDTH122 Nguyễn Cao Chí Kỹ thuật lập trình • Lược đồ khơng đạt 1NF Dạng chuẩn (1NF) (tt) Đưa quan hệ dạng chuẩn sau: MASV HOTEN MONHOC DIEMTHI CDTH100 Nguyễn Lan Anh Cấu trúc liệu CDTH100 Nguyễn Lan Anh Cơ sở liệu CDTH100 Nguyễn Lan Anh Kỹ thuật lập trình CDTH111 Tran Bích Chi Kỹ thuật lập trình CDTH122 Nguyễn Cao Chí Kỹ thuật lập trình 8 25/02/2016 Dạng chuẩn (2NF) • Từ dạng chuẩn trở ta ý đến thuộc tính khóa thuộc tính khơng khóa • ĐN: quan hệ dạng chuẩn (2NF) nếu: – Quan hệ dạng chuẩn – 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 cho Ki’ B F • Lưu ý: Dạng chuẩn vi phạm quan hệ khóa gồm thuộc tính Ví dụ • Cho lược đồ quan hệ Q(ABCD) 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 {AB} {BC}, - Thuộc tính khơng khóa D - Nhưng A,B D khơng phụ thuộc hàm đầy đủ có BD - Vậy Q đạt dạng chẩn (1NF) 10 25/02/2016 Ví dụ • Xác định dạng chuẩn lược đồ sau: Q(GMVNHP) F={G N; G H; G P; M V; NHP M} Giải: - Khóa Q {G} - Thuộc tính khơng khóa: MVNHP - Do 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 11 Bài tập • Xác định dạng chuẩn lược đồ sau: Q(ABCDEH) F={AE; C D; E DH} 12 25/02/2016 Bài tập • Xác định dạng chuẩn lược đồ sau: Q(ABCDEG) F={ABC; C DE; E G} 13 Dạng chuẩn (3NF) • Một quan hệ dạng chuẩn nếu: – Quan hệ dạng chuẩn –Khơng có chứa phụ thuộc hàm phụ thuộc bắc cầu thuộc tính khơng khóa vào khóa quan hệ • Hệ : Nếu lược đồ quan hệ Q,F mà Q khơng có thuộc tính khơng khố Q đạt chuẩn 14 25/02/2016 Ví dụ 10 • Cho lược đồ quan hệ Q(ABC) 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 {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, quan hệ Q khơng phải 3NF 15 Ví dụ 11 • Cho lược đồ quan hệ Q(ABCD) 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} khố, - Q khơng có thuộc tính khơng khố nên Q đạt chuẩn 16 25/02/2016 Ví dụ 11 • Cách – Nếu lấy khóa {AB} – Thuộc tính khơng khóa CD – Pth ABC; CABD khơng vi phạm quy tắc vế phải ABD có AB thuộc tính khóa – Vậy Q đạt dạng chuẩn (3NF) (nếu tính đủ khóa {AD} {C} hiển nhiên tất thỏa) 17 Bài tập • Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) tập phụ thuộc hàm F = {A→D; E → B; A,E → G; B → C} a.Tìm tất khóa lược đồ quan hệ Q b.Hãy xác định dạng chuẩn cao lược đồ quan hệ Q 18 25/02/2016 Bài tập • Cho lược đồ quan hệ Q(A,B,C,D,E,G,H) 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 khóa Q • b.Hãy xác định dạng chuẩn cao Q 19 Bài tập • Cho lược đồ quan hệ Q(ABCDEG) tập phụ thuộc hàm • F = {AB→ C, AC→D, D→EG, G→B, A→D, CG→A} • a Tìm khóa Q • b Xác định dạng chuẩn Q 20 10 25/02/2016 Bài tập • Cho lược đồ quan hệ Q tập phụ thuộc hàm F cho 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 khóa Q b.Xác định dạng chuẩn Q 21 Bài tập • Cho lược đồ quan hệ Q(ABCDEG) F={B → C;DEG → B; A → D; A→ E; A → G} a.Tìm tất khóa Q b.Xác định dạng chuẩn Q 22 11 25/02/2016 Dạng chuẩn Boyce-Codd (BCNF) • Một lược đồ quan hệ R gọi là dạng chuẩn Boyce-Codd (BCNF) – Thỏa mãn dạng chuẩn 3NF – Khơng 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 phụ thuộc hàm khơng có phụ thuộc nào vi phạm - Vậy quan hệ 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 – Nên lược đồ đạ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 phụ thuộc hàm: – A1,A2 A3,A4,A5 – A4 A2 • lược đồ tách sau: – R1( A4, A2) – R2(A1, A4, A3, A5) 29 CHUẨN HĨA QUAN HỆ • Bước 1: Từ biểu mẫu (tài liệu xuất: hoá đơn, chứng từ,…) lấy danh sách thuộc tính cho quan hệ chưa chuẩn hố (cịn gọi dạng chuẩn 0) 30 15 25/02/2016 CHUẨN HĨA QUAN HỆ • Mỗi tiêu đề biểu mẫu thuộc tính • Bỏ qua phần đầu đề phần (một số ghi chú, chữ ký …) biểu mẫu • Khơng lấy thuộc tính suy diễn từ thuộc tính khác (như thành tiền = đơn giá x số lượng) thuộc tính trình bày ‘số thứ tự’ có • Bổ sung thêm số thuộc tính định danh tương ứng với số thuộc tính tên gọi chưa có định danh cần thiết • Xác định nhóm thuộc tính lặp, phụ thuộc hàm thuộc tính 31 CHUẨN HĨA QUAN HỆ • Hãy xây dựng mơ hình liệu cho hệ thống từ mẫu phiếu xuất công ty thương mạ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 mặt hàng không thay đổi) số PX -> ngày – số đại lý -> địa – mã hàng -> tên hàng, đơn vị tính, đơn giá – {số PX, mã hàng }-> số lượng – Khố 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 hố dạng chuẩn (1NF): Tách nhóm thuộc tính lặp – Tách thuộc tính khơng nằm nhóm lặp thành quan hệ (R1) Xác định khố quan hệ – Các thuộc tính nhóm lặp khố quan hệ (R1) tạo thành quan hệ (R2) Xác định khóa cho quan hệ R2 (khố R2 khố ghép khố R1 thuộc tính khác R2) – Ví dụ: R{A, B, C, D, E} khố {A} Tồn nhóm thuộc tính lặp {C,D} tách thành quan hệ R1{A, B, E} R2{A,C,D} 33 CHUẨN HĨA QUAN HỆ • Bước 3: Chuẩn hoán dạng chuẩn (2NF): Loại bỏ phụ thuộc phận vào khoá (chỉ áp dụng với quan hệ có khố ghép) – Tách thuộc tính tham gia vào phụ thuộc hàm xác định phần khoá vào quan hệ (R3) Khoá quan hệ thuộc tính xác định hàm – Phần cịn lại với khố quan hệ (R3) quan hệ giữ ngun khố quan hệ ban đầu – Ví dụ: R{A, B, C, D} khoá {A,B} Tồn phụ thuộc hàm A C tách thành quan hệ R1{A,C} R2{A, B, D} 34 17 25/02/2016 CHUẨN HÓA QUAN HỆ • Bước 4: Chuẩn hố dạng chuẩn (3NF): Loại bỏ phụ thuộc hàm thuộc tính khơng khố – Tách thuộc tính tham gia vào phụ thuộc hàm thuộc tính khơng khố vào quan hệ (R4) Khố quan hệ thuộc tính xác định hàm – Phần cịn lại khố quan hệ (R4) quan hệ giữ ngun khố quan hệ ban đầu – Ví dụ: R{A, B, C, D} mà khố {A,B} Tồn phụ thuộc hàm C D tách thành quan hệ R1{C, D} R2{A, B, C} 35 CHUẨN HÓA QUAN HỆ 36 18 ... tính tên gọi chưa có định danh cần thiết • Xác định nhóm thuộc tính lặp, phụ thuộc hàm thuộc tính 31 CHUẨN HĨA QUAN HỆ • Hãy xây dựng mơ hình liệu cho hệ thống từ mẫu phiếu xuất công ty thương... quan hệ khóa gồm thuộc tính Ví dụ • Cho lược đồ quan hệ Q(ABCD) 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 {AB} {BC}, - Thuộc tính khơng khóa D - Nhưng... chuẩn (3NF) • Một quan hệ dạng chuẩn nếu: – Quan hệ dạng chuẩn –Khơng có chứa phụ thuộc hàm phụ thuộc bắc cầu thuộc tính khơng khóa vào khóa quan hệ • Hệ : Nếu lược đồ quan hệ Q,F mà Q khơng có