Bài giảng phân tích thiết kế hệ thống thông tin - Chương 3: Phân tích thiết kế thành phần dữ liệu - Nguyễn Đình Loan Phương

ppt 143 trang huongle 3790
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng phân tích thiết kế hệ thống thông tin - Chương 3: Phân tích thiết kế thành phần dữ liệu - Nguyễn Đình Loan Phương", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_phan_tich_thiet_ke_he_thong_thong_tin_chuong_3_pha.ppt

Nội dung text: Bài giảng phân tích thiết kế hệ thống thông tin - Chương 3: Phân tích thiết kế thành phần dữ liệu - Nguyễn Đình Loan Phương

  1. TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – KHOA HTTT PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN Giảng viên: ThS. Nguyễn Đình Loan Phương Email: phuongndl@uit.edu.vn 1
  2. Chương 3 PHÂN TÍCH THIẾT KẾ THÀNH PHẦN DỮ LIỆU __ MÔ HÌNH HÓA DỮ LIỆU MỨC QUAN NIỆM 2
  3. Mục tiêu • Hiểu các khái niệm trong việc mô hình hóa dữ liệu ở mức quan niệm: mô hình quan niệm dữ liệu (conceptual data model), mô hình thực thể - mối kết hợp (entity-relationship diagram), loại thực thể (entity type), thể hiện thực thể (entity instance), thuộc tính (attribute), khóa dự tuyển (candidate key), thuộc tính đa trị (multivalued attribute), mối kết hợp (relationship), số ngôi của mối kết hợp (degree), bản số của mối kết hợp (cardinality), loại thực thể kết hợp (associative entity) • Biết các loại câu hỏi để xác định dữ liệu yêu cầu cho một hệ thống thông tin (information system) • Vẽ được mô hình thực thể - mối kết hợp • Hiểu vai trò của việc mô hình hóa dữ liệu trong giai đoạn phân tích (analysis) và thiết kế (design) một hệ thống thông tin • Phân biệt được các thành phần trong mô hình thực thể kết hợp • Nắm rõ quy tắc và các bước xây dựng mô hình thực thể kết hợp 3
  4. Thế giới quan HTTT cần tin học hóa Thành phần dữ liệu Cài đặt thành phần dữ liệu dựa vào các Tìm hiểu và mô mô hình đã thiết kế hình hóa Các mô hình thiết kế Nhóm chuyên gia phân Nhóm lập trình tích thiết kế Hệ quản trị CSDL CSDL của HTTT cần tin học hóa 4
  5. Mô hình hóa dữ liệu mức quan niệm ØKhái niệm về thành phần dữ liệu mức quan niệm • Mô hình thực thể - kết hợp (ER) • Mô hình thực thể - kết hợp mở rộng • Các bước xây dựng mô hình ER • Các phương pháp phân tích dữ liệu • Các quy tắc mô hình hóa dữ liệu • Một số vấn đề thường gặp 5
  6. Khái niệm về TPDL mức quan niệm • Dữ liệu là tập hợp các ký hiệu xây dựng nên những thông tin phản ánh các mặt của tổ chức, là thành phần quan trọng chủ yếu của HTTT. Để thông tin phản ánh chính xác, đầy đủ và kịp thời các khía cạnh dữ liệu, cần phải nghiên cứu cách thức, phương pháp nhằm nhận biết, tổ chức, lưu trữ dữ liệu nhằm xử lý và khai thác hiệu quả nhất • Mô hình dữ liệu là tập hợp các khái niệm dùng để diễn tả tập các đối tượng dữ liệu cũng như những mối quan hệ giữa chúng trong hệ thống thông tin cần tin học hóa. Nó được xem là cầu nối giữa thế giới thực với mô hình cơ sở dữ liệu bên trong máy tính. Khi một mô hình dữ liệu mô tả một tập hợp các khái niệm từ thế giới thực, ta gọi đó là mô hình quan niệm dữ liệu. 6
  7. Các loại câu hỏi thường dùng Loại câu hỏi Câu hỏi người dùng hệ thống (System Users) và người quản lý doanh nghiệp (Business Managers) 1. Thực thể dữ liệu Doanh nghiệp cần lưu trữ dữ liệu gì? (dữ liệu về con người (people), (Data entities) nguyên vật liệu (material), ). Số lượng dữ liệu cần lưu trữ là bao nhiêu? 2. Khóa dự tuyển Nét đặc trưng (characteristic) duy nhất phân biệt giữa đối tượng này và (Candidate key) đối tượng khác trong cùng một loại là gì? Đặc trưng này có thay đổi theo thời gian và có bị mất đi khi đối tượng vẫn còn tồn tại hay không? 3. Thuộc tính Những nét đặc trưng cơ bản của đối tượng là gì? (Attributes) 4. Bảo mật Người dùng thực hiện những thao tác gì trên dữ liệu? (thao tác (Security control) thêm/xóa/sửa dữ liệu)? Những ai được quyền sử dụng dữ liệu? Ai có vai trò thiết lập các giá trị hợp lệ cho dữ liệu? 5. Mối quan hệ (Rlationships), Các đối tượng có mối quan hệ với nhau như thế nào? bản số (cardinality) và số ngôi (degrees) 6. Ràng buộc toàn vẹn Người dùng có những quy định, điều kiện ràng buộc gì trên dữ liệu? (Integrity rules), bản số tối thiểu và bản số tối đa (minimum and maximum cardinality) 7
  8. Mô hình hóa dữ liệu mức quan niệm • Khái niệm về thành phần dữ liệu mức quan niệm ØMô hình thực thể - kết hợp (ER) • Mô hình thực thể - kết hợp mở rộng • Các bước xây dựng mô hình ER • Các phương pháp phân tích dữ liệu • Các quy tắc mô hình hóa dữ liệu • Một số vấn đề thường gặp 8
  9. Mô hình thực thể - kết hợp (ER) • Giới thiệu • Thực thể, thể hiện của thực thể • Thuộc tính của thực thể • Khoá của thực thể • Mối kết hợp, thể hiện của mối kết hợp • Thuộc tính của mối kết hợp • Bản số 9
  10. Giới thiệu • Mô hình thực thể kết hợp (Entity-Relationship Model viết tắc ER) được CHEN giới thiệu năm 1976. • Mô hình ER được sử dụng nhiều trong thiết kế dữ liệu ở mức quan niệm. 10
  11. Thực thể • Định nghĩa: Thực thể (Entity Type) biểu diễn lớp các đối tượng hay sự vật của thế giới thực tồn tại cụ thể cần được quản lý. • Ví dụ : SINHVIEN, LOP, MONHOC, • Ký hiệu: TÊN THỰC THỂ • Tên thực thể: danh từ, cụm danh từ Ví dụ: SINHVIEN LOP 11
  12. Thực thể - Loại thực thể • Sự khác biệt quan trọng giữa loại thực thể (entity types) và thể hiện thực thể (entity instances). • Loại thực thể là một tập các thực thể chia sẻ các thuộc tính (properties) hoặc các đặc tính (characteristics) chung. • Mỗi loại thực thể trong mô hình thực thể - kết hợp (ER) có một tên, đại diện cho một tập thực thể. 12
  13. Thể hiện của thực thể • Định nghĩa: là một đối tượng cụ thể của một thực thể. • Mỗi loại thực thể có nhiều thể hiện thực thể được lưu trữ trong cơ sở dữ liệu • Ví dụ: Thực thể SINHVIEN có các thể hiện: – (‘SV001’, ‘Nguyen Nam’, ‘1/2/1987’,’Nam’) – (‘SV002’, ‘Trần Nam’, ‘13/2/1987’, ‘Nam’) 13
  14. Thuộc tính của thực thể • Định nghĩa: thuộc tính là những tính chất đặc trưng của thực thể cần lưu trữ. • Ví dụ: Thực thể SINHVIEN có các thuộc tính: Mã sinh viên, họ tên, giới tính, ngày sinh, nơi sinh • Ký hiệu: MaSV Hoten SINHVIEN Gioitinh Ngaysinh Noisinh 14
  15. Các loại thuộc tính • Đơn trị (Simple): mỗi thực thể chỉ có một giá trị ứng với các thuộc tính. Ví dụ: MaSV,TenSV • Đa hợp (Composite): thuộc tính có thể được tạo thành từ nhiều thành phần. Ví dụ: DCHI(SONHA,DUONG,PHUONG,QUAN) hay thuộc tính HOTEN(HO,TENLOT,TEN). • Đa trị (Multi-valued): thuộc tính có thể có nhiều giá trị đối với một thực thể. Ví dụ: BANGCAP ký hiệu {BANGCAP} 15
  16. Các loại thuộc tính • Tóm lại, các thuộc tính đa hợp và đa trị có thể lồng nhau tùy ý. – Ví dụ: thuộc tính BANGCAP của HOCVIEN là một thuộc tính đa hợp được ký hiệu bằng {BANGCAP(TRUONGCAP,NAM,KETQUA, CHUYENNGANH)} 16
  17. Khóa của thực thể • Khóa của thực thể là tập thuộc tính nhận diện thực thể. • Căn cứ vào giá trị của khóa có thể xác định duy nhất một đối tượng cụ thể (thể hiện). • Ký hiệu: Khóa có 1 thuộc tính Khóa có nhiều thuộc tính • Ví dụ: – Mỗi sinh viên có một mã số duy nhất => Khoá của thực thể SINHVIEN là Mã sinh viên MaSV Hoten SINHVIEN Gioitinh Ngaysinh Noisinh 17
  18. Mối kết hợp • Định nghĩa: mối kết hợp là sự kết hợp giữa hai hay nhiều thực thể • Ví dụ: giữa hai thực thể HOCVIEN và LOP có mối kết hợp THUOC • Tên mối kết hợp: là động từ hoặc cụm động từ • Ký hiệu: bằng một hình oval hoặc hình thoi HOCVIEN Thuộc LOP 18
  19. Mối kết hợp • Giữa hai thực thể có thể tồn tại nhiều hơn một mối kết hợp. • Ví dụ Thuộc HOCVIEN LOP Là lớp trưởng 19
  20. Thể hiện của mối kết hợp Là tập hợp không trùng lắp các thể hiện của các thực thể tham gia vào mối kết hợp đó. GIÁO VIÊN Giảng MÔN HỌC (1,n) dạy (0,n) m1 g1 m2 g2 m3 Không hợp lệ do trùng lắp 20
  21. Số ngôi của mối kết hợp • Số ngôi của mối kết hợp là số thực thể tham gia vào mối kết hợp đó. • Ví dụ 1: Mối kết hợp Thuộc kết hợp 2 thực thể HOCVIEN và LOP nên có số ngôi là 2 => đây còn gọi là mối kết hợp nhị phân • Ví dụ 2: Mối kết hợp Giảng dạy kết hợp 3 thực thể GIAOVIEN, MONHOC, LOP nên có số ngôi là 3 => đây còn gọi là mối kết hợp đa phân 21
  22. Số ngôi của mối kết hợp HOCVIENLOP MONHOCLOP Giảng dạy GIAOVIEN 22
  23. Thuộc tính của mối kết hợp • Thuộc tính của mối kết hợp bao gồm các thuộc tính khoá của các thực thể tham gia vào mối kết hợp đó. Ngoài ra còn có thể có thêm những thuộc tính bổ sung khác. • Ví dụ: Mối kết hợp Giảng dạy giữa ba thực thể GIAOVIEN, MONHOC và LOP có các thuộc tính là Magv,Mamh,Malop, ngoài ra còn có thuộc tính riêng là Hocky, Nam 23
  24. Thuộc tính của mối kết hợp LOP MONHOC Giảng dạy Hocky Nam GIAOVIEN 24
  25. Bản số • Mối kết hợp thể hiện liên kết giữa các thực thể, mỗi liên kết được gọi là một nhánh. • Định nghĩa: bản số của nhánh là số lượng tối thiểu và số lượng tối đa các thể hiện mà một đối tượng cụ thể của thực thể thuộc nhánh đó tham gia vào mối kết hợp. • Ký hiệu: (bản số tối thiểu, bản số tối đa) • Ví dụ: Thực thể Hocvien và Lop có mối kết hợp Thuoc. 25
  26. Bản số Thuộc (1,1) (1,n) HOCVIEN LOP 26
  27. Bản số Thuộc (1,1) (1,n) HOCVIEN LOP (0,1) (1,1) Là lớp trưởng 27
  28. Bài tập - Xây dựng mô hình ER • Xây dựng mô hình ER cho CSDL quản lý giáo vụ gồm có các chức năng sau: – Lưu trữ thông tin: Sinh viên , giáo viên, môn học, lớp học – Xếp lớp cho sinh viên, chọn lớp trưởng cho lớp – Phân công giảng dạy: giáo viên dạy lớp nào với môn học gì, ở học kỳ, năm học nào. – Lưu trữ kết quả thi: học viên thi môn học nào, lần thi thứ mấy, điểm thi bao nhiêu. 28
  29. Mô hình hóa dữ liệu mức quan niệm • Khái niệm về thành phần dữ liệu mức quan niệm • Mô hình thực thể - kết hợp (ER) ØMô hình thực thể - kết hợp mở rộng • Các bước xây dựng mô hình ER • Các phương pháp phân tích dữ liệu • Các quy tắc mô hình hóa dữ liệu • Một số vấn đề thường gặp 29
  30. Mô hình ER mở rộng • Thực thể yếu • Mối kết hợp đệ quy • Mối kết hợp mở rộng • Cấu trúc phân cấp - Chuyên biệt hoá / Tổng quát hóa 30
  31. Thực thể yếu • Định nghĩa: – Là thực thể không có thuộc tính khóa – Phải tham gia trong một mối kết hợp xác định trong đó có một thực thể chủ. • Ký hiệu: Thực thể • Ví dụ: thực thể LYLICH tham gia trong mối kết hợp Co với thực thể SINHVIEN là thực thể yếu. 31
  32. Thực thể yếu (1,1) (1,1) SINHVIEN Co LYLICH 32
  33. Mối kết hợp đệ quy • Định nghĩa: là mối kết hợp được tạo thành từ cùng một thực thể (hay một thực thể có mối kết hợp với chính nó) • Ví dụ: Mỗi nhân viên có một người quản lý trực tiếp và người quản lý đó cũng là một nhân viên (0,1) NHANVIEN QuanLy (0,n) 33
  34. Mối kết hợp mở rộng • Là mối kết hợp định nghĩa trên ít nhất một mối kết hợp khác E1 E2 R1 Cung định hướng: cho biết R2 định nghĩa trên R1 Mối kết hợp mở rộng R2 E3 E1 E2 R1 R3 E4 R2 E3 34
  35. Ví dụ - Mối kết hợp mở rộng • Mở rộng mô hình ER cho CSDL quản lý giáo vụ gồm có các chức năng sau: – Lưu trữ thông tin: Sinh viên , giáo viên, môn học, lớp học, học kỳ – Xếp lớp cho sinh viên, chọn lớp trưởng cho lớp – Lập danh sách các môn học được mở cho một lớp trong một học kỳ – Phân công giảng dạy: những môn học được mở cho giáo viên – Lưu trữ thông tin đăng ký môn học của sinh viên trên môn học được mở – Lưu trữ kết quả học tập: sinh viên thi môn học nào đã đăng ký, điểm thi bao nhiêu. 35
  36. Ví dụ - Mối kết hợp mở rộng Số học phần MÔN HỌC Mã MH Địa chỉ SINH VIÊN Mã SV Tên MH Tên sinh (0,n) (0,n) viên (0,n) ĐĂNG KÝ MỞ Điểm Học kỳ MH HỌC KỲ Niên học (0,n) Mã lớp (0,n) (0,n) LỚP Tên lớp Ngày bắt đầu Ngày kết thúc Mã GV PHÂN Sĩ số GIÁO VIÊN (0,n) CÔNG Tên GV 36
  37. Cấu trúc phân cấp Thực thể tổng quát E E1 E2 E3 Các thực thể chuyên biệt • E là một tổng quát hóa của một nhóm các thực thể E1, E2, , En nếu mỗi đối tượng của lớp E1, E2, , En cũng là đối tượng của lớp E 37
  38. Cấu trúc phân cấp Ví dụ: XE XE MÁY XE ĐẠP XE HƠI NHÂN VIÊN Thuộc PHÒNG BAN NV_VP NV_SX NV_ QL 38
  39. Cấu trúc phân cấp • Ví dụ: CON-NGƯỜI (t,e) (p,e) ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ NHÂN VIÊN (t,o) (p,o) QL - KỸ QL HÀNH NV - KẾ NV - KINH NV - TIẾP THUẬT CHÍNH TOÁN DOANH THỊ 39
  40. Cấu trúc phân cấp • Tính kế thừa: thực thể chuyên biệt kế thừa thuộc tính và mối kết hợp của thực thể tổng quát A E R E’ B E1 E2 C Thực thể E1 và E2 kế thừa (Thuộc tính A và mối kết hợp R) từ thực thể E 40
  41. Cấu trúc phân cấp • Ví dụ chuyển đổi từ cấu trúc bình thường thành cấu trúc phân cấp PHIẾU GIAO Số PGH ĐƠN ĐẶT Số ĐĐH HÀNG Ngày giao HÀNG Ngày đặt (1,n) (1,n) Chi tiết SL giao Chi tiết SL đặt giao đặt (0,n) (0,n) HÀNG HÓA Mã hàng Tên hàng ĐVTính CHỨNG TỪ (0,n) Mã hàng Số ctừ CT HÀNG HÓA Ngày ctừ (1,n) CTỪ Tên hàng ĐVTính (t,e) Số lượng ĐƠN ĐẶT HÀNG PHIẾU GIAO HÀNG 41
  42. Cấu trúc phân cấp • Sự tương quan giữa các đối tượng trong cấu trúc phân cấp – Sự tương quan giữa các thực thể chuyên biệt với thực thể tổng quát § Toàn phần (t- total): các đối tượng của tất cả các thực thể chuyên biệt phủ toàn bộ tập đối tượng của thực thể tổng quát § Bán phần (p- partial):các đối tượng của tất cả các thực thể chuyên biệt không phủ toàn bộ tập đối tượng của thực thể tổng quát 42
  43. Cấu trúc phân cấp • Sự tương quan giữa các đối tượng trong cấu trúc phân cấp – Sự tương quan giữa các thực thể chuyên biệt § Riêng biệt (e-executive): đối tượng trong thực thể chuyên biệt này thì không là đối tượng của thực thể chuyên biệt khác. § Chồng lắp (o-overlapping): đối tượng trong thực thể chuyên biệt này có thể là đối tượng của thực thể chuyên biệt khác 43
  44. Cấu trúc phân cấp Tập tổng quát Tập tổng quát (p,o) Tập Tập Tập (t,e) Tập chuyên chuyên chuyên chuyên biệt biệt biệt biệt Chuyên biệt bán phần, Chuyên biệt toàn phần, chồng lắp riêng biệt Tập tổng quát Tập tổng quát Tập chuyên biệt Tập chuyên (p,e) Tập biệt (t,o) Tập chuyên chuyên biệt biệt Chuyên biệt bán phần, Chuyên biệt toàn phần, riêng biệt chồng lắp 44
  45. Cấu trúc phân cấp • Ví dụ CON-NGƯỜI (t,e) (p,e) ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ NHÂN VIÊN (t,o) (p,o) QL - KỸ QL HÀNH NV - KẾ NV - KINH NV - TIẾP THUẬT CHÍNH TOÁN DOANH THỊ 45
  46. Cấu trúc phân cấp XE (p,e) XE MÁY XE ĐẠP XE HƠI Nguyên tắc: - Xây dựng thực thể chuyên biệt khi chúng ta xác định được các đặc trưng riêng của nó - Xây dựng thực thể tổng quát của các thực thể khi chúng ta xác đinh được các đặc trưng chung giữa chúng và có thể tái sử dụng trong các tình huống khác. 46
  47. Tập con Là trường hợp đặc biệt của tổng quát hóa khi chỉ có một thực thể chuyên biệt CÔNG-NHÂN Họ tên KHÁCH HÀNG Địa chỉ Mã số KH Tên KH ĐThoại CÔNG-NHÂN KHÁCH QUEN THƯỜNG-XUYÊN NGÀY KÝ HỢP ĐỒNG MỨC CÔNG NỢ Sự tương quan trong tập con luôn là bán phần và riêng biệt (p,e) 47
  48. Mô hình hóa dữ liệu mức quan niệm • Khái niệm về thành phần dữ liệu mức quan niệm • Mô hình thực thể - kết hợp (ER) • Mô hình thực thể - kết hợp mở rộng ØCác bước xây dựng mô hình ER • Các phương pháp phân tích dữ liệu • Các quy tắc mô hình hóa dữ liệu • Một số vấn đề thường gặp 48
  49. Các bước xây dựng mô hình ER • B1 - Phân hoạch dữ liệu thành các lĩnh vực • B2 - Xây dựng mô hình thực thể - kết hợp cho từng lĩnh vực • B3 - Tổng hợp các mô hình thực thể - kết hợp từ tất các lĩnh vực để có một mô hình tổng quát. • B4 - Chuẩn hóa • B5 - Kiểm tra lần cuối 49
  50. Các bước xây dựng mô hình ER – B1 Phân hoạch dữ liệu thành các lĩnh vực • Tiêu chuẩn phân hoạch thường căn cứ vào tính chất chức năng, nghiệp vụ của tổ chức. • Các dữ liệu của lĩnh vực này thường ít liên quan đến dữ liệu của lĩnh vực kia. • Thí dụ: Hệ thống kế toán có thể phân chia thành các phân hệ – Phân hệ tiền tệ: thu – chi tiền mặt, tiền gửi ngân hàng. – Phân hệ hàng hóa: mua – bán hàng hóa. – Phân hệ nguyên liệu: nhập – xuất nguyên liệu chính, nguyên liệu phụ, công cụ sản xuất. – Phân hệ sản phẩm: sản xuất và bán sản phẩm. – Phân hệ công cụ: nhập - xuất, khấu hao công cụ. – Phân hệ tài sản cố định: cập nhật, tính khấu hao. – Phân hệ thuế: lập báo cáo thuế giá trị gia tăng đầu vào, đầu ra. – Phân hệ thanh toán - các loại công nợ. – Phân hệ kết chuyển, tổng hợp, lập các báo cáo tài chính. 50
  51. Các bước xây dựng mô hình ER – B2 Xây dựng mô hình thực thể - kết hợp cho từng lĩnh vực • Xác định các thuộc tính, thực thể, quan hệ, bản số của mỗi thực thể đối với mỗi mối kết hợp mà nó tham gia. • Xác định các ràng buộc toàn vẹn. 51
  52. Các bước xây dựng mô hình ER – B3 Tổng hợp các mô hình thực thể - kết hợp từ tất các lĩnh vực để có một mô hình tổng quát. • Thường mỗi lĩnh vực có tính chất nghiệp vụ riêng, khi tổng hợp lại chúng có thể có những thực thể chung. • Ví dụ: các phân hệ trong hệ thống kế toán luôn liên quan đến những lớp đối tượng chung như hệ thống tài khoản, khách hàng, nhân viên 52
  53. Các bước xây dựng mô hình ER – B3 (tt) • Xóa bỏ những từ đồng nghĩa và đa nghĩa – Từ đồng nghĩa: 2 vật thể (object) mang 2 tên khác nhau, nhưng thực chất là như nhau. § Ví dụ: thực thể "SINH VIÊN" và "HỌC VIÊN" hay "HỌC SINH", thuộc tính "ĐIỂM" và "KẾT QUẢ" môn thi. – Từ đa nghĩa: 2 vật thể khác nhau mang cùng một tên. § Ví dụ: Trong trường Đại học, khi sau này có phân biệt liên quan đến chức năng, cùng là "NHÂN VIÊN" nhưng sẽ không phân biệt được đó là "CÁN BỘ GIẢNG DẠY" hay "NHÂN VIÊN HÀNH CHÁNH". 53
  54. Các bước xây dựng mô hình ER – B3 (tt) • Xây dựng ngữ vựng chung: Tạo danh mục tổng quát gồm các danh mục sau: – Danh mục các thuộc tính. – Danh mục các thực thể. – Danh mục các mối kết hợp. • Lưu ý: Các thuộc tính, các thực thể, và các quan hệ được định danh bằng các tên không thể trùng nhau và khi tổng hợp có thể xem một thực thể của mô hình thực thể – kết hợp này lại là mối kết hợp trong một mô hình thực thể – kết hợp khác. 54
  55. Các bước xây dựng mô hình ER – B4 Chuẩn hóa • Áp dụng các quy tắc chuẩn hóa để có một mô hình hợp lý. • Lưu ý: khi chuẩn hoá không làm mất ngữ nghĩa bản chất của vấn đề trong thế giới thực. • Ví dụ: trong vấn đề quản lý nhân sự, nếu cần quản lý thêm con của nhân viên thì cần quan tâm đến ngữ nghĩa của vấn đề: đó là con của nhân viên với người vợ hoặc người chồng nào vì mỗi nhân viên có thể chưa (thậm chí không) nhưng cũng có nhiều vợ (hoặc nhiều chồng). 55
  56. Các bước xây dựng mô hình ER – B5 Kiểm tra lần cuối • Trao đổi lại với những người có trách nhiệm và những người có liên quan đến mô hình như: lãnh đạo cơ quan, những người sử dụng, cũng như các đồng nghiệp, những nhà tin học khác. • Phân tích những ý kiến này, nếu hợp lý => điều chỉnh cho phù hợp. 56
  57. Mô hình hóa dữ liệu mức quan niệm • Khái niệm về thành phần dữ liệu mức quan niệm • Mô hình thực thể - kết hợp (ER) • Mô hình thực thể - kết hợp mở rộng • Các bước xây dựng mô hình ER ØCác phương pháp phân tích dữ liệu • Các quy tắc mô hình hóa dữ liệu • Một số vấn đề thường gặp 57
  58. Các phương pháp phân tích dữ liệu • Các luật căn bản phân tích quan niệm dữ liệu • Chiến lược trên – xuống (top-down) • Chiến lược dưới – lên (bottom–up) • Chiến lược trong-ra-ngòai • Chiến lược phối hợp 58
  59. Luật căn bản phân tích dữ liệu • Quá trình phân tích quá trình tinh chế, chuyển đổi • Ví dụ: CON NGƯỜI Sống NƠI CHỐN ở (a) Lược đồ khởi điểm CON NGƯỜI Sống THÀNH PHỐ ở Thuộc QUỐC GIA (b) Lược đồ kết quả 59
  60. Luật căn bản phân tích dữ liệu • Ví dụ: THÀNH PHỐ NƠI CHỐN Thuộc (c) Lược đồ chuyển đổi QUỐC GIA • Các tính chất chyển đổi: – Lược đồ khởi điểm lược đồ kết quả – Ánh xạ tên – Thừa kế kết nối luận lý 60
  61. Luật căn bản phân tích dữ liệu • Luật căn bản trên xuống: Luật căn bản Lược đồ khởi điểm Lược đồ kết quả T1: Thực thể > Các thực thể có cùng quan hệ T2: Thực thể > Tổng quát hóa Thực thể > Tập con T3: Thực thể > Các thực thể không có quan hệ T4: Mối kết hợp > Mối kết hợp song song 61
  62. Luật căn bản phân tích dữ liệu • Luật căn bản trên xuống: T5: Mối kết hợp > Thực thể và các kết hợp T6: Phát triển (thêm) thuộc tính hay T7: Phát triển (thêm) thuộc tính kết hợp hay T8: Tinh chế thuộc tính hay 62
  63. Luật căn bản phân tích dữ liệu • Luật căn bản trên xuống – ví dụ: THÀNH PHỐ CON NGƯỜI CON NGƯỜI NƠI CHỐN Thuộc ĐÀN ÔNG PHỤ NỮ (a) ứng dụng luật T1 QUỐC GIA (b) ứng dụng luật T2 GIẢI THƯỞNG GIẢI NOBEL GIẢI OSCAR (c) ứng dụng luật T3 CON NGƯỜI CON NGƯỜI Liên hệ Sống ở Sinh tại đến THÀNH PHỐ THÀNH PHỐ (d) ứng dụng luật T4 63
  64. Luật căn bản phân tích dữ liệu • Luật căn bản trên xuống – ví dụ: KHÁCH HÀNG KHÁCH HÀNG Của Thuê HỢP ĐỒNG THUÊ NHÀ Liên quan (e) ứng dụng luật T5 NHÀ Mã số SINH VIÊN SINH VIÊN Tên sinh viên Phái (e) ứng dụng luật T6 Ngày sinh 64
  65. Luật căn bản phân tích dữ liệu • Luật căn bản trên xuống – ví dụ: Số nhà CON NGƯỜI CON NGƯỜI Địa chỉ Đường Phường (f) ứng dụng luật T7 Quận Thành phố Ngày Ngày Ngày Tháng Năm Thông tin sức Tình trạng sức khoẻ khoẻ Ngày tiêm chủng cuối (g) ứng dụng luật T8 65
  66. Luật căn bản phân tích dữ liệu • Luật căn bản dưới lên: Luật căn bản Lược đồ khởi điểm Lược đồ kết quả B1: Giai đoạn Thực thể B2: Giai đoạn mối kết hợp B3: Giai đoạn Tổng quát hóa (Giai đoạn Tập con) B4: Cấu trúc các thuộc tính B5: Cấu trúc các thuộc tính kết hợp 66
  67. Luật căn bản phân tích dữ liệu • Luật căn bản dưới lên – ví dụ: NHÂN VIÊN CON NGƯỜI QUẢN LÝ NHÂN VIÊN QUẢN LÝ (c) Ứng dụng luật B3 CON NGƯỜI Họ tên CON NGƯỜI Giới tính Họ tên Giới tính Tuổi Tuổi (d) Ứng dụng luật B4 67
  68. Luật căn bản phân tích dữ liệu • Luật căn bản dưới lên – ví dụ: Số nhà CON Số nhà CON Địa chỉ Đường phố NGƯỜI Đường phố NGƯỜI Thành phố Thành phố (e) Ứng dụng luật B5 68
  69. Chiến lược thiết kế lược đồ • Chiến lược trên – xuống (top-down): Lãnh vực ứng dụng Mặt phẳng tinh chế thứ 1 Mặt phẳng tính chế thứ 2 Mặt phẳng tính chế thứ cuối cùng 69
  70. Chiến lược thiết kế lược đồ • Chiến lược trên – xuống – ví dụ: ứng dụng “quản lý nhân chủng học” Thông tin nhân Lược đồ khởi tạo chủng học Thông tin về Liên Thông tin về vị con người quan đến trí Tinh chế lần 1 70
  71. Chiến lược thiết kế lược đồ • Chiến lược trên – xuống – ví dụ: ứng dụng “quản lý nhân chủng học” Tinh chế lần 2 Sinh tại CON NGƯỜI VỊ TRÍ Sống ở ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ 71
  72. Chiến lược thiết kế lược đồ • Chiến lược trên – xuống – ví dụ: ứng dụng “quản lý nhân chủng học” Tinh chế lần cuối (1,1) Sinh (0,n) Họ tên tại Ngày sinh Tên Chiều cao CON NGƯỜI VỊ TRÍ (1,n) Sống ở (0,n) Dân số Cân nặng ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ (1,1) Chức danh Tên con gái Châu lục Thuộc -Bổ sung thêm thuộc tính -Bổ sung thêm bản số (0,n) -Bổ sung định danh Tên MIỀN 72
  73. Chiến lược thiết kế lược đồ • Chiến lược trên – xuống – ví dụ: ứng dụng “Quản lý Đại lý băng đĩa” Lược đồ khởi tạo Thông tin bán Thông tin mua BĐ Liên BĐ quan Tinh chế lần 1 Thông tin Thông tin bán BĐ Liên BĐ Liên mua BĐ quan 1 quan 2 73
  74. Chiến lược thiết kế lược đồ • Chiến lược trên – xuống – ví dụ: ứng dụng “Quản lý Đại lý băng đĩa” Tinh chế thực thể: Thông tin Thông tin bán lẻ Chi tiết (1) bán BĐ BĐ bán lẻ BĐ Thông tin xử lý Chi tiết xử (2) đặt BĐ lý đặt HOÁ ĐƠN BÁN Chi tiết hóa BĐ (1) đơn LẺ ĐƠN HÀNG Chi tiết Chi tiết đặt giao (2) Của HOÁ ĐƠN GIAO KHÁCH HÀNG Cho HÀNG 74
  75. Chiến lược thiết kế lược đồ • Chiến lược trên – xuống – ví dụ: ứng dụng “Quản lý Đại lý băng đĩa” Đơn giá Số lượng Mã số Số HĐ HOÁ ĐƠN Chi tiết BĐ Tên BĐ Ngày HĐ (1,n) hóa đơn (0,n) ĐVTính Loại Trị giá Hiệu (0,n) HOÁ ĐƠN Đơn giá bán Chi tiết GIAO HÀNG đơn hàng Số lượng đặt (0,n) Cho (1,1) (1,n) Mã KH Số ĐH KHÁCH HÀNG ĐƠN HÀNG Của Tên khách Ngày đặt (1,1) (1,n) Điện thoại Trị giá đơn hàng hàng Địa chỉ giao hàng Tinh chế cuối cùng 75
  76. Chiến lược thiết kế lược đồ • Chiến lược dưới – lên (bottom-up): Lãnh vực ứng dụng cung cấp các thông Lãnh vực ứng dụng tin chi tiết về cấu trúc từ: báo cáo, tập tin, sổ sách, chứng từ Xây dựng các khái niệm cơ bản Các đặc trưng của đối tượng sẽ được thu thập (thuộc tính) Thu thập thêm các khái niệm cơ bản Kết hợp các khái Kết hợp các đặc trưng thu thập để hình thành các niệm cơ bản thực thể, mối kết hợp, định danh, Lược đồ 76 cuối
  77. Chiến lược thiết kế lược đồ • Chiến lược dưới – lên - ví dụ: “ Quản lý nhân chủng học” Tuổi đàn ông Tuổi phụ nữ Tên quốc gia Tên thành phố Chiều cao đàn Chiều cao phụ Dân số quốc Dân số thành ông nữ gia phố Tên đàn ông Tên phụ nữ Cân nặng Cân nặng phụ nữ Tên con gái Chức danh Châu lục Tên miền Thu thập tất cả các đặc trưng của đối tượng hệ thống 77
  78. Chiến lược thiết kế lược đồ • Chiến lược dưới – lên - ví dụ: “ Quản lý nhân chủng học” Họ tên đàn ông Tuổi đàn ông ĐÀN ÔNG Họ tên phụ nữ Chiều cao đàn Tuổi phụ nữ PHỤ NỮ ông Chiều cao phụ nữ Cân nặng đàn ông Chức danh Cân nặng phụ nữ Tên con gái Tên quốc gia QUỐC GIA Tên thành phố THÀNH PHỐ Dân số quốc Dân số thành gia phố Châu lục Tên miền MIỀN Kết hợp các đặc trưng để hình thành thực thể 78
  79. Chiến lược thiết kế lược đồ • Chiến lược dưới – lên - ví dụ: “ Quản lý nhân chủng học” Xây dựng các khái niệm trừu tượng hóa hơn CON NGƯỜI Họ tên đàn ông Họ tên phụ nữ Tuổi đàn ông ĐÀN ÔNG Tuổi phụ nữ PHỤ NỮ Chiều cao đàn Chiều cao phụ ông nữ Cân nặng đàn Cân nặng phụ nữ VỊ TRÍ Tên con gái ông Chức danh Tên miền MIỀN Tên quốc gia QUỐC GIA Tên thành phố THÀNH PHỐ Dân số quốc Dân số thành gia phố Châu lục 79
  80. Chiến lược thiết kế lược đồ • Chiến lược dưới – lên - ví dụ: “ Quản lý nhân chủng học” (1,1) Sinh tại (0,n) Họ tên Số năm Ngày sinh CON NGƯỜI VỊ TRÍ Tên Chiều cao (1,n) Sống ở (0,n) Dân số Cân nặng ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ (1,1) Chức danh Tên con gái Châu lục Thuộc (0,n) Xác định mối kết hợp, bản số, định MIỀN danh Tên 80
  81. Chiến lược thiết kế lược đồ • Chiến lược trong – ra – ngòai: Lãnh vực ứng dụng Chọn lọc các khái Các thực thể quan trọng, niệm quan trọng nhất nổi bật của hệ thống Lược đồ khởi điểm Lặp: phát triển thêm các Tiến triển theo Lược đồ trung khái niệm có liên kết với “vết dầu loang” gian các khái niệm đã tồn tại Lược đồ 81 cuối
  82. Chiến lược thiết kế lược đồ • Chiến lược trong – ra – ngòai – ví dụ: (1,1) Sinh tại (0,n) Họ tên Số năm Ngày sinh CON NGƯỜI VỊ TRÍ Tên Chiều cao (1,n) Sống ở (0,n) Dân số Cân nặng ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ (1,1) Chức danh Tên con gái Châu lục Thuộc (0,n) Tiến triển lần Tiến triển lần Tiến triển lần MIỀN Tên thứ ba thứ hai thứ nhất 82
  83. Chiến lược thiết kế lược đồ • Chiến lược trong – ra – ngòai – ví dụ: “Quản lý yêu cầu sách NKH” Tiến triển Tên sách lần một Số phiếu Số lượng Mã sách Đơn giá Ngày PYC (1,n) Chi (0,n) SÁCH (1,1) Cung (1,n) NHÀ CUNG Mã số Trị giá PYC tiết cấp CẤP Tên NCC YC (0,n) Địa chỉ Tình trạng (1,1) Số trang (1,n) Ngôn ngữ Chi Số lượng đặt Của tiết đặt Đặt Đơn giá đặt tới (1,n) (1,n) Số đặt sách Tên NKH NHÀ KHOA ĐƠN Ngày đặt (1,1) Đơn vị HỌC SÁCH Điện thoại Ngày giao (0,n) Email Trị giá Cấp Tiến triển (1,1) Tiến triển lần hai Tiến triển NGÂN SÁCH Năm lần ba Số tiền lần bốn 83 Ghi chú Sử dụng
  84. Chiến lược thiết kế lược đồ • Chiến lược trong – ra – ngòai – ví dụ: “Quản lý yêu cầu sách NKH” Mã sách Tên sách Số lượng Số phiếu PHIẾU (1,n) Chi SÁCH Số trang Ngày tiết (0,n) (t,e) Trị giá Ngôn ngữ phiếu (1,1) Đơn giá PYC ĐƠN SÁCH Đơn giá Cung Tình trạng (1,1) cấp (1,1) Đặt (1,n) Ngày giao tới (0,n) Của NHÀ CUNG Mã số Năm CẤP Tên NCC (1,n) Địa chỉ Tên NKH NHÀ KHOA (0,n) NGÂN SÁCH Số tiền Đơn vị Cấp (1,1) HỌC Sử dụng Điện thoại Ghi chú Email 84
  85. Chiến lược thiết kế lược đồ • Chiến lược trong phối hợp: Lãnh vực ứng dụng Lãnh vực ứng dụng 2 Lãnh vực ứng dụng 1 Lược đồ khung Lược đồ 1 Lược đồ 2 Lược đồ cuối cùng 85
  86. Chiến lược thiết kế lược đồ • Chiến lược trong phối hợp – ví dụ: Lược đồ khung THÔNG TIN BÁN HÀNG Liên TỒN KHO quan Tinh chế Đơn giá Số lượng Mã số Số HĐ HOÁ ĐƠN Chi tiết BĐ Tên BĐ Ngày HĐ (1,n) hóa đơn (0,n) ĐVTính Loại Trị giá (0,n) Hiệu HOÁ ĐƠN Đơn giá bán GIAO HÀNG Chi tiết đơn hàng Số lượng đặt (0,n) Cho (1,1) (1,n) Số ĐH Mã KH ĐƠN HÀNG Của KHÁCH HÀNG Tên khách Ngày đặt (1,1) (1,n) Điện thoại Trị giá đơn hàng 86 hàng Địa chỉ giao hàng
  87. Chiến lược thiết kế lược đồ • Chiến lược trong phối hợp – ví dụ: Mô hình hóa TỒN KHO Mã số (1,1) (0,n) Tên BĐ Tháng LOẠI BĐ Thuộc BĐ THÁNG ĐVTính (0,n) NĂM Năm Loại (0,n) Hiệu (0,n) Tồn Đơn giá bán Tổng xuất Tồn tối thiểu Tổng nhập Tồn đầu kỳ Số PN Ngày nhập Mô tả PHIẾU NHẬP (1,n) Chi tiết Số lượng nhập nhập Trị giá Đơn giá nhập 87
  88. Chiến lược thiết kế lược đồ • Chiến lược trong phối hợp – ví dụ: (0,n) LOẠI BĐ Thuộc THÁNG Tháng Năm Loại NĂM Hiệu (0,n) Tồn Số PN Ngày nhập (1,1) Tổng xuất Mô tả PHIẾU NHẬP (1,n) Chi tiết Số lượng nhập Tồn đầu kỳ nhập Tổng nhập Trị giá Đơn giá nhập (0,n) (0,n) Đơn giá Số lượng Mã số Số HĐ HOÁ ĐƠN Chi tiết BĐ Tên BĐ Ngày HĐ (1,n) hóa đơn (0,n) ĐVTính Trị giá Tồn tối thiểu (0,n) HOÁ ĐƠN Đơn giá Chi tiết GIAO HÀNG bán đơn hàng Số lượng (0,n) đặt Cho (1,1) (1,n) Số ĐH Mã KH ĐƠN HÀNG Của KHÁCH HÀNG Tên khách hàng Ngày đặt (1,1) (1,n) Điện thoại Trị giá 88 đơn hàng Địa chỉ giao hàng
  89. Chiến lược thiết kế lược đồ • So sánh các chiến lược: Chiến lược Mô tả Ưu điểm Khuyết điểm Trên xuống Các khái niệm từng Không có các hiệu ứng lề không Đòi hỏi phân tích viên phải bước được tinh chế mong muốn giỏi với mức trừu tượng hóa cao lúc khởi điểm Dưới lên Các khái niệm được - Dễ dàng cho các ứng dụng có Khi cần thiết có thể phải xây xây dựng từ các tính chất cục bộ dựng lại cấu trúc trong quá thành phần cơ bản - Phân tích không phải chịu gánh trình tinh chế ứng dụng luật nặng quá lớn lúc bắt đầu cơ bản. Trong ra Các khái niệm được - Dễ dàng phát hiện ra các khái Hình ảnh toàn bộ của ứng ngoài xây dựng theo cách niệm mới liên quan đến các dụng chỉ được xây dựng vào tiếp cận “vết dầu khái niệm đã có giai đoạn cuối cùng loang” - Phân tích không phải chịu gánh nặng quá lớn lúc bắt đầu Phối hợp Phân tích từ trên - Tiếp cận theo cách “chia để trị” Đòi hỏi quyết định quan xuống các yêu cầu; để giảm độ phức tạp trọng về lược đồ khung tại tích hợp từ dưới lên thời điểm bắt đầu của quá sử dụng lược đồ trình thiết kế. khung 89
  90. Mô hình hóa dữ liệu mức quan niệm • Khái niệm về thành phần dữ liệu mức quan niệm • Mô hình thực thể - kết hợp (ER) • Mô hình thực thể - kết hợp mở rộng • Các bước xây dựng mô hình ER • Các phương pháp phân tích dữ liệu ØCác quy tắc mô hình hóa dữ liệu • Một số vấn đề thường gặp 90
  91. Một số qui tắc mô hình hóa Quy tắc 1: Mọi thuộc tính dùng để mô tả đặc trưng cho một thực thể duy nhất và chỉ mô tả đặc trưng của thực thê Mã SP SANPHAM KHÁCH HÀNG Tên Tên Địa chỉ ĐVT Điện thoại Gồm Của HOADON Số HĐ Ngày Khách hàng 91
  92. Một số qui tắc mô hình hóa Quy tắc 2: Các thực thể cùng liên quan đến một mối kết hợp thì ứng với một tổ hợp thể hiện của các thực thể đó chỉ có một thể hiện duy nhất của mối kết hợp SINH VIÊN MÔN HỌC Học Điểm Trên thực tế, một SV sẽ có nhiều điểm trên một môn học SINH VIÊN MÔN HỌC Học Điểm HỌC KỲ 92
  93. Một số qui tắc mô hình hóa Quy tắc 3: Tất cả các nhánh nối với mối kết hợp phải là nhánh bắt buộc, nếu không phải tách ra nhiều mối kết hợp. Trường hợp này được gọi là mối kết hợp ẩn dụ nhiều ngữ nghĩa khác nhau SẢN PHẨM NHÀ CUNG CẤP Liên hệ KHO HÀNG Tồn tại các thể hiện không có sự tham gia đầy đủ của các thực thể Cung SẢN PHẨM ứng NHÀ CUNG CẤP Đặt hàng KHO HÀNG 93
  94. Một số qui tắc mô hình hóa Quy tắc 4: Các đặc trưng của một thực thể chỉ phụ thuộc vào thực thể đó mà thôi. Nếu có đặc trưng nào phụ thuộc vào nhiều thực thể thì đó là đặc trưng của mối kết hợp định nghĩa trên các thực thể đó SINH VIÊN Học MÔN HỌC Điểm SINH VIÊN Thuộc LỚP HỌC Ngày BĐ (1,1) (1,n) SINH VIÊN Thuộc LỚP HỌC Ngày BĐ Ngày BĐ 94
  95. Một số qui tắc mô hình hóa Quy tắc 5: Nếu có một thuộc tính của một thực thể phụ thuộc vào thực thể đó và một thuộc tính khác của thực thể đó thì tồn tại một thực thể ẩn mà cần phải được định nghĩa bổ sung Số xe XE Màu xe Số chỗ Loại xe Trọng lượng Lọai xe Trọng lượng XE Thuộc LOẠI XE Tên loại Trọng lượng 95
  96. Các quy tắc chuẩn hóa mô hình ER • Quy tắc 1: Trong mô hình thực thể - kết hợp: Đối với bất kỳ thể hiện nào của một thực thể, mỗi thuộc tính đều phải có một ý nghĩa và có một giá trị duy nhất. • Quy tắc 2: Trong mô hình thực thể - kết hợp: Mọi thuộc tính của một thực thể / mối kết hợp phải phụ thuộc vào khóa của thực thể / mối kết hợp đó bằng một phụ thuộc hàm sơ cấp. Nghĩa là phụ thuộc vào toàn bộ khóa chứ không phải phụ thuộc vào một bộ phận thực sự của khóa. • Quy tắc 3 Trong mô hình: Mọi thuộc tính của một thực thể hay của một mối kết hợp phải phụ thuộc vào khóa bằng một phụ thuộc hàm sơ cấp trực tiếp. 96
  97. Quy tắc 1 Trong mô hình thực thể - kết hợp: Đối với bất kỳ thể hiện nào của một thực thể, mỗi thuộc tính đều phải có một ý nghĩa và có một giá trị duy nhất. Ví dụ: Thực thể nhân viên với các thuộc tính: Mã nhân viên, họ tên, giới tính, tuổi, họ tên con, tôn giáo Þ Cách giải quyết • C1: Thay bằng thuộc tính tương đương mang tính bản chất hơn, vd: Tuổi nên thay bằng Ngày sinh khi đó có thể xác định tuổi ở tại bất cứ thời điểm nào. • C2: Cho thuộc tính vi phạm quy tắc này mang giá trị đặc biệt. Cách này chỉ nên dùng cho trường hợp giá trị của thuộc tính đó hoặc là xác định hoặc là không. Vd: thuộc tính Tôn giáo bằng chuỗi rỗng với những người không có tín ngưỡng thuộc tôn giáo nào (Nếu có thì chỉ có một tôn giáo mà thôi). • C3: xây dựng thêm một thực thể và một mối kết hợp mới NHÂN VIÊN có CON_NV (0,n) (1,n) 97
  98. Quy tắc 2 Thuộc tính không khóa phụ thuộc đầy đủ vào khóa Mã NV NHÂN VIÊN NGẠCH . Ngạch . Hưởng Hệ số Tháng năm THÁNG BẬC Bậc . . Trên thực tế: Ngạch, bậc => Hệ số lương 98
  99. Quy tắc 2 (tt) Mã NV NHÂN VIÊN NGẠCH . Ngạch . (1,n) (1,n) (1,n) Hưởng Ngạch Hệ số – Bậc (1,n) (1,n) Tháng năm THÁNG BẬC Bậc . . 99
  100. Quy tắc 3 Thuộc tính không khóa không phụ thuộc bắc cầu vào khóa Số HD Mã SP HÓA ĐƠN SẢN PHẨM (1,n) (1,n) Số lượng CT_H Đơn giá Đ Thành tiền Số HD, Mã SP => Số lượng, Đơn giá Số lượng, Đơn giá => Thành tiền 100
  101. Mô hình hóa dữ liệu mức quan niệm • Khái niệm về thành phần dữ liệu mức quan niệm • Mô hình thực thể - kết hợp (ER) • Mô hình thực thể - kết hợp mở rộng • Các bước xây dựng mô hình ER • Các phương pháp phân tích dữ liệu • Các quy tắc mô hình hóa dữ liệu ØMột số vấn đề thường gặp 101
  102. Một số vấn đề thường gặp Thực thể hay không là thực thể ? Trong một số trường hợp thì khái niệm cần biểu diễn có thể là một đối tượng của thế giới thực nhưng trong phạm vi ứng dụng thì số thể hiện chỉ là một. Nếu không có nhu cầu mở rộng ứng dụng về sau thì không nên xem là thực thể SINH VIÊN TRƯỜNG Thuộ Thuộ Chỉ có một thể c c hiện TRƯỜNG trong suốt chu KHOA trình hệ thống 102
  103. Một số vấn đề thường gặp Thực thể hay thuộc tính đơn ? - Chọn là thực thể khi có thể xác định một số đặc trưng căn bản như các thuộc tính, mối kết hợp, tổng quát hóa hay tập con. - Chọn là thuộc tính khi đối tượng có cấu trúc nguyên tố đơn giản và không có các đặ̣c trưng khác. XE HƠI Sản xuất HÃNG SẢN bởi XUẤT Màu sắc Số xe Đi CHUYẾN BAY CHUYẾN BAY THÀNH PHỐ MS-CB Đế MS-TP n MS-CB TP_DI TEN-TP TP_DEN 103
  104. Một số vấn đề thường gặp Tổng quát hóa hay thuộc tính ? - Tổng quát hóa được chọn khi chúng ta cho rằng một số đặc trưng sẽ được liên kết ở cấp thấp hơn (ví dụ như thuộc tính hay mối kết hợp). - Trường hợp ngược lại sẽ là thuộc tính CON NGƯỜI Màu sắc tóc CON NGƯỜI Màu sắc tóc ĐÀN ÔNG PHỤ NỮ Phái Tình trạng nghĩa vụ quân Kết sự hôn 104
  105. Một số vấn đề thường gặp Thuộc tính kết hợp hay một tập các thuộc tính đơn ? - Chọn thuộc tính kết hợp nếu có thể gán tên một cách tự nhiên cho khái niệm. - Ngược lại, chọn một tập các thuộc tính đơn nếu chúng diễn tả các đặc trưng độc lập. Số nhà Đường ĐỊA CHỈ Phường Quận Tỉnh/TP 105
  106. Một số vấn đề thường gặp Mối kết hợp hay thực thể ? - Chọn thực thể nếu khái niệm quan tâm có một số đặc trưng cần mô hình hóa ví dụ như các mối kết hợp đến các thực thể khác, có định danh phân biệt, Đơn giá Chi tiết Số HĐ SANPHAM HOÁ ĐƠN Ngày HĐ (1,n) HĐ (0,n) (1,1) Trị giá Mã SP Tên SP ĐVT Số lượng Đơn giá Của (0,n) KHÁCH Họ tên KH -Một sản phẩm có thể tồn tại nhiều lần trong HÀNG Địa chỉ Điện thoại một hóa đơn? -Chi tiết HĐ có thể được chuyên biệt hóa? -Có một mối kết hợp khác liên kết với Chi tiết HĐ? 106
  107. Một số vấn đề thường gặp Mối kết hợp hay thực thể ? (tt) Đơn giá SANPHAM HOÁ ĐƠN Số HĐ Ngày HĐ (0,n) (1,n) (1,1) Trị giá Mã SP Tên SP ĐVT Có Có Của trong (0,n) (1,1) (1,1) Số thứ tự KHÁCH HÀNG Họ tên KH CHI TIẾT Địa chỉ Số lượng HOÁ ĐƠN Đơn giá Điện thoại 107
  108. Một số vấn đề thường gặp Chọn lược đồ rõ về nghĩa khi có nhiều lược đồ chọn lựa Bắt đầu (1,1) (0,n) (0,n) (0,n) LỊCH TRÌNH Dừng GA (1,1) (0,n) Kết thúc LỊCH TRÌNH (2,n) Liên (0,n) GA quan Phân loại 108
  109. Chương 5 PHÂN TÍCH THIẾT KẾ THÀNH PHẦN DỮ LIỆU __ MÔ HÌNH TỔ CHỨC DỮ LIỆU (LOGIC) 109
  110. Các bước PTTK TPDL mức logic • Xây dựng mô hình quan hệ dữ liệu (tổ chức dữ liệu) từ mô hình thực thể kết hợp (quan niệm dữ liệu). • Tối ưu hóa mô hình quan hệ dữ liệu. • Mô tả các ràng buộc toàn vẹn ở mức thiết kế tổ chức (thường dùng ngôn ngữ toán học). • Thiết kế hàm cửa sổ hay các khung nhìn (views) dữ liệu, cũng như các chỉ mục(index) được sử dụng trong xử lý sau này. 110
  111. Chuyển đổi sang mô hình quan hệ • B1 - Chuyển các khái niệm chuyên biệt hóa, tổng quát hoá khái niệm quan hệ • B2 - Chuyển thực thể quan hệ. • B3 - Chuyển các mối kết hợp bậc 1 quan hệ. • B4 - Chuyển các mối kết hợp bậc i quan hệ (i = bậc trước +1) – Lặp lại bước 4 cho đến khi hết các mối kết hợp. • B5 - Nhập tất cả các quan hệ cùng khóa lại với nhau. • B6 - Chuẩn hóa các quan hệ. • B7 - Xem xét các RBTV. 111
  112. Bước 1 B1 - Chuyển các khái niệm chuyên biệt hóa, tổng quát hoá khái niệm quan hệ • C1: Chuyển thành tổng quát hóa, gom tất cả vào một quan hệ (thường áp dụng khi ở mức chuyên biệt hóa không có hoặc có ít (<3) thuộc tính riêng) – Các đặc trưng của thực thể chuyên biệt sẽ chuyển sang thực thể tổng quát. – Thêm vào một thuộc tính phân loại (hoặc một thực thể) loại E, bổ sung ràng buộc miền giá trị cho thuộc tính loại E – Loại bỏ các thực thể chuyên biệt 112
  113. Bước 1 (tt) • TH1: Ở mức chuyên biệt hóa không có thuộc tính riêng A E A E’ R E E1 E2 Loại E E (A, Loại E) E’ R Bổ sung ràng buộc miền giá trị cho thuộc tính Loại E § (t,e): Ràng buộc MGT(LoạiE)  {E1, E2} § (t,o): Ràng buộc MGT(LoạiE)  {E1, E2, E1E2} § (p,e): Ràng buộc MGT(LoạiE)  {E, E1, E2} § (p,o): Ràng buộc MGT(LoạiE)  {E, E1, E2, E1E2} 113
  114. Bước 1 (tt) (1,1) Thuộc (1,n) Mã PB Mã NV (0,1) Họ tên NV NHÂN VIÊN QLý PHÒNG BAN (t,e) (1,n) (1,1) Tên PB C.NHÂN C.VIÊN Q.LÝ Ptrách (0,1) Thuộc (1,1) (1,n) Mã PB Mã NV NHÂN (0,1) Họ tên NV QLý PHÒNG BAN LoạiNV VIÊN (0,n) (0,1) (1,1) Tên PB Ptrách NHANVIEN(Mã_NV, Họ tên_NV, LOẠI_NV) Ràng buộc miền giá trị LOẠI_NV € {CN, CV, QL} 114
  115. Bước 1 (tt) • TH2: Ở mức chuyên biệt hóa có ít thuộc tính riêng ( ngoài ràng buộc miền giá trị như TH1, bổ sung thêm ràng buộc để đảm bảo ngữ nghĩa 115
  116. Bước 1 (tt) A E A E’ R E B B C C E1 E2 Loại E E’ R E (A, B, C, Loại E) Bổ sung ràng buộc miền giá trị cho thuộc tính Loại E § (t,e): Ràng buộc MGT(LoạiE)  {E1, E2} § (t,o): Ràng buộc MGT(LoạiE)  {E1, E2, E1E2} § (p,e): Ràng buộc MGT(LoạiE)  {E, E1, E2} § (p,o): Ràng buộc MGT(LoạiE)  {E, E1, E2, E1E2} 116
  117. Bước 1 (tt) (1,1) Thuộc (1,n) Mã PB Mã NV (0,1) Họ tên NV NHÂN VIÊN QLý PHÒNG BAN (t,e) (1,n) (1,1) Tên PB C.NHÂN C.VIÊN Q.LÝ Ptrách (0,1) Bậc thợ Chuyên SLượng NV ngành trực thuộc LoạiNV SLượng NV trực thuộc Thuộc (1,1) (1,n) Mã PB Mã NV NHÂN (0,1) Họ tên NV QLý PHÒNG BAN Chuyên ngành VIÊN (0,n) Bậc thợ (0,1) (1,1) Tên PB Ptrách NHANVIEN (Mã_NV, Họ tên_NV, Chuyên ngành, Bậc thợ, Slượng NV trực thuộc, LOẠI_NV) 117
  118. Bước 1 (tt) • TH2 (tt) Lưu ý: Ngoài Ràng buộc miền giá trị LOẠI_NV € {CN, CV, QL} Trong trường hợp này khi chuyển cần cộng thêm một số ràng buộc toàn vẹn khác (để đảm bảo về mặt ngữ nghĩa với mô hình ban đầu). nv NHÂN VIÊN Nếu nv.LOẠI NV = “CN” thì nv. Chuyên ngành = NULL nv. Slượng NV trực thuộc = NULL Nguợc lại Nếu nv.LOẠI NV = “CV” thì nv. Bậc thợ = NULL nv. Slượng NV trực thuộc = NULL Nguợc lại nv. Bậc thợ = NULL nv. Chuyên ngành = NULL Cuối nếu Cuối  118
  119. Bước 1 (tt) • Đánh giá ưu khuyết điểm của phương pháp dùng thực thể tổng quát hóa Ưu điểm Khuyết điểm Giải pháp đơn giản nhất, Có thể phát sinh ra một số lớn không phát sinh thêm các các giá trị rỗng cho các thuộc mối kết hợp tính mà chỉ dùng cho một loại thực thể tập con mà thôi. Áp dụng cho tất cả các Tất cả các tác vụ muốn truy cập cấu trúc tổng quát hóa đến một thực thể tập con phải như toàn bộ (t) và bán truy cập toàn bộ tất cả các thực phần (p), chồng lắp (o) và thể tập con riêng biệt (e) Phát sinh thêm một số RBTV cần phải kiểm tra 119
  120. Bước 1 (tt) • C2: Chuyển thành chuyên biệt hóa, chia thành các quan hệ riêng (thường áp dụng khi ở mức chuyên biệt hóa có nhiều thuộc tính riêng (>3)) – Chuyển đổi tất cả đặc trưng (thuộc tính, mối kết hợp, định danh) của thực thể tổng quát xuống lần lượt các thực thể chuyên biệt – Hủy bỏ thực thể tổng quát – Cách này chỉ có thể áp dụng cho cấu trúc tổng quát hóa toàn bộ (t) và riêng biệt (e), các cấu trúc còn lại không thể áp dụng. 120
  121. Bước 1 (tt) A E’ R E E1 B E2 C E1 B E2 C E1 (B, A) A A R1 R2 E2 (C, A) E’ 121
  122. Bước 1 (tt) (1,1) Thuộc C2 (tt): Vd1 (1,n) Mã PB Mã NV (0,1) Họ tên NV NHÂN VIÊN QLý PHÒNG BAN (t,e) (1,n) (1,1) Tên PB C.NHÂN C.VIÊN Q.LÝ Ptrách (0,1) Bậc thợ Chuyên SLượng NV ngành trực thuộc (0,n) Mã PB (0,n) Thuộc 1 Thuộc 2 PHÒNG BAN Thuộc 3 (1, n) (1,1) (1,1) (1,1) (1,1) Tên PB C. NHÂN C. VIÊN Q. LÝ (0,1) Ptrách (0,n) (0,n) (0,n) (0,n) (0,n) Bậc thợ Chuyên SLượng NV ngành trực thuộc (0,1) Qlý 3 Qlý 2 Qlý 1 122
  123. Bước 1 (tt) • Ta được các quan hệ: ØCÔNG NHÂN (Mã NV, Họ tên NV, Bậc thợ) ØCHUYÊN VIÊN (Mã NV, Họ tên NV, Chuyên ngành) ØQUẢN LÝ (Mã NV, Họ tên NV, Slượng NV trực thuộc ) 123
  124. Bước 1 (tt) • C2 (tt): Vd2 HÃNG SX Sản xuất XE Số xe Tên xe (t,e) Số bình acquy Số sườn Thời gian sạc XE ĐẠP ĐIỆN XE MÁY Số máy Thời gian chạy Mode Số loại linh kiện HÃNG SX Số xe Sản xuất Sản xuất Số xe Tên xe Tên xe Số bình acquy Số sườn Thời gian sạc XE ĐẠP ĐIỆN XE MÁY Số máy Thời gian chạy Mode Số loại linh kiện 124
  125. Bước 1 (tt) • C2 (tt): Ta được các quan hệ: ØXE ĐẠP ĐIỆN (Số xe, Tên xe, Số bình acquy, Thời gian sạc, Thời gian chạy, Số loại linh kiện) ØXE MÁY (Số xe, Tên xe, Số sườn, Số máy, Mode, Số loại linh kiện ) 125
  126. Bước 1 (tt) • Đánh giá ưu khuyết điểm: Ưu điểm Khuyết điểm Thuộc tính riêng của thực thể Cách chọn lựa này không áp dụng được cho cấu trúc tập con chỉ biểu diễn riêng cho tổng quát hóa loại chồng chéo (o) và bán phần (p), chỉ loại thực thể tập con đó dùng được cho toàn phần (t) và riêng biệt (e) Các tác vụ liên quan đến một Quan niệm các thực thể tập con trước đây cùng là loại thực thể tập con chỉ truy chuyên biệt hóa của một thực thể tổng quát không còn cập đến loại thực thể tập con đó nữa. Quan niệm này có thể là chủ yếu liên quan đến một số xử lý. Ví dụ công nhân, chuyên viên và quản lý là nhân viên Nếu thuộc tính của thực thể tổng quát là đáng kể thì sự lập lại trong lược đồ đáng xem xét lại Các tác vụ trước đây thao tác lên thực thể tổng quát nay phải thao tác lên tất cả các thực thể tập con 126
  127. Bước 1 (tt) • Nhận xét chung: việc lựa chọn cách 1 hay cách 2 tuỳ theo cấu trúc tổng quát hóa, số thuộc tính của các thực thể chuyên biệt, ngoài ra còn phụ thuộc vào các yếu tố sau: – Dung lượng: § Gộp: Dung lượng lớn => truy xuất chậm § Tách: tùy trường hợp, thông thường dung lượng tối ưu hơn – Xử lý: xác định các xử lý ưu tiên (các xử lý có tần xuất cao, ), tùy tình huống mà quyết định gộp hay tách 127
  128. Bước 1 (tt) • C3: Dùng mối kết hợp A A E’ R E E’ R E (0,1) (0,1) R1 R2 (1,1) (1,1) C B C E1 E2 E1 B E2 E (A) E1 (B) E2 (C) • Hủy bỏ tổng quát – chuyên biệt • Tạo mối kết hợp từ thực thể tổng quát đến các thực thể chuyên biệt 128
  129. Bước 1 (tt) C3 (tt): Ví dụ (1,1) Thuộc (1,n) Mã PB Mã NV (0,1) Họ tên NV NHÂN VIÊN QLý PHÒNG BAN (t,e) (1,n) (1,1) Tên PB C.NHÂN C.VIÊN Q.LÝ Ptrách (0,1) Bậc thợ Chuyên SLượng NV ngành trực thuộc (1,1) Mã NV NHÂN VIÊN Thuộc Tên NV (1,n) Mã PB (0,1) (0,1) (0,1) (0,1) Nv-Cn Nv-Cv Nv-Ql QLý PHÒNG BAN (1,1) (1,1) (1,1) (1,n) (1,1) Tên PB C. NHÂN C. VIÊN Q. LÝ Ptrách (0,1) Chuyên SLượng NV Bậc thợ ngành trực thuộc 129
  130. Bước 1 (tt) • C3 (tt): Ta được các quan hệ: ØNHÂN VIÊN (Mã NV, Họ tên NV) ØCÔNG NHÂN (Mã NV, Bậc thợ ) ØCHUYÊN VIÊN (Mã NV, Chuyên ngành) ØQUẢN LÝ (Mã NV, Slượng NV trực thuộc) 130
  131. Bước 1 (tt) • Đánh giá ưu khuyết điểm: Ưu điểm Khuyết điểm Có thể mô hình tất cả các loại cấu Lược đồ kết quả khá phức tạp. Ví dụ trúc tổng quát hóa toàn bộ / bán như thêm một thể hiện cho một thực phần và chồng chéo / riêng biệt thể tập con phải thêm mới một thể hiện cho quan hệ và một thể hiện cho thực thể tổng quát hóa Rất uyển chuyển khi thay đổi yêu Phải chấp nhận sự dư thừa khi biểu cầu của ứng dụng diễn mối liên kết IS A thành mối kết hợp 131
  132. Bước 2 • B2 - Chuyển thực thể sang quan hệ Mã SV Mã lớp SINH VIÊN Thuộc LỚP Họ tên SV Tên lớp Địa chỉ Sĩ số NTNS • SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTNS) • LỚP (Mã lớp, Tên lớp, Sĩ số) 132
  133. Bước 3 + 4 • B3 - Chuyển mối kết hợp bậc 1 sang quan hệ • B4 - Chuyển các mối kết hợp bậc i quan hệ (i = bậc trước +1) – Lặp lại bước 4 cho đến khi hết các mối kết hợp. Lưu ý: - Thuộc tính của quan hệ chính là tổ hợp các khóa của các thực thể tham gia vào mối kết hợp, cộng với các thuộc tính riêng của quan hệ - Dựa vào phân loại của mối kết hợp để xác định khóa của quan hệ + Mối kết hợp 1-1: khóa của quan hệ là một trong các khóa của các thực thể tham gia vào mối kết hợp + Mối kết hợp 1-n: khóa của quan hệ là khóa của nhánh nhiều + Mối kết hợp n-n: khóa của quan hệ là tổ hợp khóa của các thực thể tham gia vào mối kết hợp (có thể cộng thêm thuộc tính riêng của quan hệ) 133
  134. Bước 3 + 4 Số học phần MÔN HỌC Mã MH Địa chỉ SINH VIÊN Mã SV Tên MH Tên sinh (0,n) (0,n) viên (0,n) ĐĂNG KÝ MỞ Điểm Học kỳ MH HỌC KỲ Niên học (0,n) Mã lớp (0,1) (0,n) LỚP Tên lớp Ngày bắt đầu Ngày kết thúc Mã GV PHÂN Sĩ số GIÁO VIÊN (0,n) CÔNG Tên GV • MỞ MH (Mã MH, Học kỳ, Niên học, Mã lớp) • ĐĂNG KÝ (Mã SV, Mã MH, Học kỳ, Niên học, Mã lớp, Điểm) • PHÂN CÔNG (Mã giáo viên, Mã MH, Học kỳ, Niên học, Mã lớp) 134
  135. Bước 5 • B5 – Gộp tất cả các quan hệ cùng khóa Ví dụ: xét mô hình (1,1) (1, n) Mã SV Thuộc Mã lớp Họ tên SV SINH VIÊN LỚP lớp Tên lớp Địa chỉ Sĩ số NTNS (1,1) Thuộc khoa (1,n) Mã khoa KHOA Tên khoa Ngày thành lập 135
  136. Bước 5 (tt) • Sau khi áp dụng B1, 2, 3, 4, ta được Ø SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN) Ø THUỘC LỚP (Mã SV, Mã lớp) Ø LỚP (Mã lớp, Tên lớp, Sĩ số) Ø THUỘC KHOA (Mã lớp, Mã khoa) Ø KHOA (Mã khoa, Tên khoa, Ngày thành lập) • Áp dụng B5, ta được ØSINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTTN, Mã lớp) ØLỚP (Mã lớp, Tên lớp, Sĩ số, Mã khoa) ØKHOA (Mã khoa, Tên khoa, Ngày thành lập) 136
  137. Bước 6 • B6 – Chuẩn hóa Ví dụ: xét mô hình (1,n) (1,1) Mã_KS KỸ SƯ Phụ CÔNG TRÌNH Mã_CT trách (1,n) Tham gia (1,1) Ngày (1,1) (1,1) Mã_P THỜI ĐIỂM Cuộc PHÒNG Giờ họp 137
  138. Bước 6 (tt) • Áp dụng B1, 2, 3, 4, ta được: ØKỸ SƯ (Mã_KS, .) ØCÔNG TRÌNH (Mã_CT, ) ØPHÒNG (Mã_P, ) ØTHỜI ĐIỂM (Ngày, Giờ) ØCUỘC HỌP (Mã_P, Ngày, Giờ) ØPHỤ TRÁCH (Mã_CT, Mã_KS) ØTHAM GIA (Mã_KS, Mã_CT, Mã_P, Ngày, Giờ) 138
  139. Bước 6 (tt) • Áp dụng B5, ta được: ØKỸ SƯ (Mã_KS, .) ØCÔNG TRÌNH (Mã_CT, , Mã_KS ) ØPHÒNG (Mã_P, ) ØTHỜI ĐIỂM (Ngày, Giờ) ØCUỘC HỌP (Mã_P, Ngày, Giờ) ØPHỤ TRÁCH (Mã_CT, Mã_KS) ØTHAM GIA (Mã_KS, Mã_CT, Mã_P, Ngày, Giờ) 139
  140. Bước 6 (tt) • Áp dụng B6, ta thấy: THAM_GIA không đạt dạng chuẩn 2 do tồn tại PTH: Mã_CT -> Mã_KS Þ Phân rã thành: THAM GIA (Mã_CT, Mã_P, Ngày, Giờ) KS_TG (Mã_KS, Mã_CT) ≡≡ CÔNG TRÌNH (Mã_CT, , Mã_KS) 140
  141. Bước 6 (tt) • Tóm lại, ta có mô hình CSDL quan hệ: ØKỸ SƯ (Mã_KS, .) ØCÔNG TRÌNH (Mã_CT, , Mã_KS) ØPHÒNG (Mã_P, ) ØTHỜI ĐIỂM (Ngày, Giờ) ØCUỘC HỌP (Mã_P, Ngày, Giờ) ØTHAM GIA (Mã_CT, Mã_P, Ngày, Giờ) 141
  142. Bước 7 • B7 – Xem xét các ràng buộc toàn vẹn 142
  143. Ví dụ minh họa • Mô hình quan niệm dữ liệu và mô hình tổ chức dữ liệu (mô hình quan hệ) của ứng dụng quản lý ấn phẩm tại Sở văn hóa thông tin TP. HCM. 143