Bài giảng Phân tích thiết kế thành phần dữ liệu

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.

pdf143 trang | Chia sẻ: hao_hao | Lượt xem: 2225 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích thiết kế thành phần dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1PHÂ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 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN – KHOA HTTT 2Chươ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 3Mụ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 4Thế giới quan HTTT cần tin học hóa Thành phần dữ liệu Tìm hiểu và mô hình hóa Các mô hình thiết kế Nhóm chuyên gia phân tích thiết kế Nhóm lập trình Cài đặt thành phần dữ liệu dựa vào các mô hình đã thiết kế Hệ quản trị CSDL CSDL của HTTT cần tin học hóa 5Mô 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 6Khá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. 7Cá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 (Data entities) Doanh nghiệp cần lưu trữ dữ liệu gì? (dữ liệu về con người (people), 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 (Candidate key) Nét đặc trưng (characteristic) duy nhất phân biệt giữa đối tượng này và đố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 (Attributes) Những nét đặc trưng cơ bản của đối tượng là gì? 4. Bảo mật (Security control) Người dùng thực hiện những thao tác gì trên dữ liệu? (thao tác 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), bản số (cardinality) và số ngôi (degrees) Các đối tượng có mối quan hệ với nhau như thế nào? 6. Ràng buộc toàn vẹn (Integrity rules), bản số tối thiểu và bản số tối đa (minimum and maximum cardinality) Người dùng có những quy định, điều kiện ràng buộc gì trên dữ liệu? 8Mô 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 9Mô 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ố 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. 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ể: danh từ, cụm danh từ Ví dụ: TÊN THỰC THỂ LOPSINHVIEN 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ể. 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’) 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: SINHVIEN Hoten Gioitinh MaSV Ngaysinh Noisinh 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} 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)} 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 SINHVIEN Hoten Gioitinh Ngaysinh Noisinh 18 • Đị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 Mối kết hợp HOCVIEN LOPThuộc 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ụ HOCVIEN LOP Thuộc Là lớp trưởng 20 Thể hiện của mối kết hợp GIÁO VIÊN MÔN HỌC (1,n) (0,n) Giảng dạy g1 g2 m1 m2 m3 Không hợp lệ do trùng lắ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 đó. 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 22 Số ngôi của mối kết hợp HOCVIEN LOPLOP MONHOC GIAOVIEN Giảng dạy 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 24 Thuộc tính của mối kết hợp LOP MONHOC GIAOVIEN Hocky Nam Giảng dạy 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. 26 Bản số HOCVIEN LOP (1,1) (1,n) Thuộc 27 Bản số HOCVIEN LOP (1,1) (1,n) (0,1) (1,1) Thuộc Là lớp trưởng 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. 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 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 31 • Đị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: • 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. Thực thể Thực thể yếu 32 Thực thể yếu SINHVIEN LYLICH (1,1) (1,1) Co 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 NHANVIEN (0,n) (0,1) QuanLy 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 R2 E3 E1 E2 R1 R2 E3E4 R3 Mối kết hợp mở rộng Cung định hướng: cho biết R2 định nghĩa trên R1 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. 36 Ví dụ -Mối kết hợp mở rộng MỞ MH (0,n) (0,n) (0,n) (0,n) ĐĂNG KÝ Điểm (0,n) PHÂN CÔNG(0,n) (0,n) MÔN HỌC SINH VIÊN LỚP GIÁO VIÊN HỌC KỲ Mã MH Tên MH Mã SV Số học phần Tên sinh viên Địa chỉ Mã lớp Tên lớp Sĩ số Niên học Học kỳ Ngày bắt đầu Ngày kết thúc Mã GV Tên GV 37 Cấu trúc phân cấp • 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 E E1 E2 E3 Thực thể tổng quát Các thực thể chuyên biệt 38 Cấu trúc phân cấp Ví dụ: XE XE MÁY XE ĐẠP XE HƠI NHÂN VIÊN NV_VP NV_SX NV_ QL PHÒNG BANThuộc 39 Cấu trúc phân cấp • Ví dụ: CON-NGƯỜI ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ QL - KỸ THUẬT NHÂN VIÊN QL HÀNH CHÍNH NV - KẾ TOÁN NV - KINH DOANH NV - TIẾP THỊ (t,e) (p,e) (t,o) (p,o) 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 E E1 E’ E2 RA B 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 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 ĐƠN ĐẶT HÀNG Chi tiết giao PHIẾU GIAO HÀNG HÀNG HÓA Chi tiết đặt Số PGH Ngày giaoSố ĐĐH Ngày đặt SL giao SL đặt Mã hàng Tên hàng ĐVTính (0,n) (1,n) (0,n) (1,n) ĐƠN ĐẶT HÀNG PHIẾU GIAO HÀNG HÀNG HÓA ĐVTính Số ctừ Ngày ctừ Số lượng Mã hàng Tên hàng (0,n) (1,n) CHỨNG TỪ CT CTỪ (t,e) 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 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 44 Cấu trúc phân cấp Tập tổng quát Tập chuyên biệt Tập tổng quát Tập chuyên biệt Tập chuyên biệt Tập chuyên biệt Chuyên biệt bán phần, chồng lắp Chuyên biệt toàn phần, riêng biệt (p,o) (t,e) Tập chuyên biệt Tập chuyên biệt Tập chuyên biệt Tập chuyên biệt Tập tổng quát Tập tổng quát Chuyên biệt bán phần, riêng biệt Chuyên biệt toàn phần, chồng lắp (p,e) (t,o) 45 Cấu trúc phân cấp • Ví dụ CON-NGƯỜI ĐÀN ÔNG PHỤ NỮ QUẢN LÝ BGĐ QL - KỸ THUẬT NHÂN VIÊN QL HÀNH CHÍNH NV - KẾ TOÁN NV - KINH DOANH NV - TIẾP THỊ (t,e) (p,e) (t,o) (p,o) 46 Cấu trúc phân cấp XE XE MÁY XE ĐẠP XE HƠI (p,e) 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. 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 KHÁCH HÀNG KHÁCH QUEN Mã số KH Tên KH ĐThoại MỨC CÔNG NỢ CÔNG-NHÂN CÔNG-NHÂN THƯỜNG-XUYÊN Họ tên Địa chỉ NGÀY KÝ HỢP ĐỒNG Sự tương quan trong tập con luôn là bán phần và riêng biệt (p,e) 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 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 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. 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. 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… 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". 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. 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). 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. 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 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 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ụ: NƠI CHỐNCON NGƯỜI Sống ở (a) Lược đồ khởi điểm THÀNH PHỐCON NGƯỜI Sống ở QUỐC GIA Thuộc (b) Lược đồ kết quả 60 Luật căn bản phân tích dữ liệu • Ví dụ: • 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ý NƠI CHỐN THÀNH PHỐ QUỐC GIA Thuộc (c) Lược đồ chuyển đổi 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 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 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ụ: NƠI CHỐN THÀNH PHỐ QUỐC GIA Thuộc (a) ứng dụng luật T1 CON NGƯỜI CON NGƯỜI ĐÀN ÔNG PHỤ NỮ (b) ứng dụng luật T2 GIẢI THƯỞNG GIẢI NOBEL GIẢI OSCAR (c) ứng dụng luật T3 THÀNH PHỐ Sống ở CON NGƯỜI THÀNH PHỐ Liên hệ đến CON NGƯỜI Sinh tại (d) ứng dụng luật T4 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 NHÀ Thuê KHÁCH HÀNG HỢP ĐỒNG THUÊ NHÀ Của Liên quan (e) ứng dụng luật T5 SINH VIÊN SINH VIÊN Tên sinh viên Mã số Phái Ngày sinh(e) ứng dụng luật T6 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ụ: CON NGƯỜI CON NGƯỜI Địa chỉ Số nhà Đường Phường Quận Thành phố(f) ứng dụng luật T7 Ngày Tháng Năm Ngày Ngày Thông tin sức khoẻ Tình trạng sức khoẻ Ngày tiêm chủng cuối (g) ứng dụng luật T8 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 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ụ: CON NGƯỜINHÂN VIÊN QUẢN LÝ NHÂN VIÊN QUẢN LÝ (c) Ứng dụng luật B3 CON NGƯỜI Họ tên Giới tính Tuổi CON NGƯỜI Họ tên Giới tính Tuổi (d) Ứng dụng luật B4 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ụ: CON NGƯỜI Số nhà Đường phố Thành phố CON NGƯỜI Địa chỉ Số nhà Đường phố Thành phố (e) Ứng dụng luật B5 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 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 chủng học Thông tin về con người Thông tin về vị trí Liên quan đến Lược đồ khởi tạo Tinh chế lần 1 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” CON NGƯỜI VỊ TRÍ ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ Sinh tại Sống ở Tinh chế lần 2 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” CON NGƯỜI VỊ TRÍ ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ Sinh tại Sống ở MIỀN 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) Tinh chế lần cuối -Bổ sung thêm thuộc tính -Bổ sung thêm bản số -Bổ sung định danh 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” Thông tin bán BĐ Thông tin mua BĐLiên quan Lược đồ khởi tạo Thông tin bán BĐ Thông tin mua BĐLiên quan 1 BĐ Liên quan 2 Tinh chế lần 1 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” Thông tin bán lẻ BĐ Thông tin xử lý đặt BĐ BĐ Chi tiết bán lẻ Chi tiết xử lý đặt (1) (2) Tinh chế thực thể: Thông tin bán BĐ BĐHOÁ ĐƠN BÁN LẺ ĐƠN HÀNG KHÁCH HÀNG HOÁ ĐƠN GIAO HÀNG Chi tiết hóa đơn Chi tiết đặt Của Chi tiết giao Cho (1) (2) 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” HOÁ ĐƠN HOÁ ĐƠN GIAO HÀNG BĐ ĐƠN HÀNG KHÁCH HÀNG Chi tiết hóa đơn Cho Của Mã số Tên BĐ ĐVTính Loại Hiệu Đơn giá bán Mã KH Tên khách hàngĐiện thoại Địa chỉ giao hàng Chi tiết đơn hàng Số HĐ Ngày HĐ Trị giá Số ĐH Ngày đặt Trị giá đơn hàng Số lượngĐơn giá Số lượng đặt (1,n) (0,n) (1,1) (1,1) (1,n) (1,n) (0,n) (0,n) Tinh chế cuối cùng 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 Xây dựng các khái niệm cơ bản Thu thập thêm các khái niệm cơ bản Kết hợp các khái niệm cơ bản cuối Lược đồ Lãnh vực ứng dụng cung cấp các thông tin chi tiết về cấu trúc từ: báo cáo, tập tin, sổ sách, chứng từ Các đặc trưng của đối tượng sẽ được thu thập (thuộc tính) Kết hợp các đặc trưng thu thập để hình thành các thực thể, mối kết hợp, định danh,… 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 Chiều cao đàn ông Tên đàn ông Cân nặng Tuổi phụ nữ Chiều cao phụ nữ Tên phụ nữ Cân nặng phụ nữ Tên con gái Châu lục Tên miền Chức danh Tên quốc gia Dân số quốc gia Tên thành phố Dân số thành phố Thu thập tất cả các đặc trưng của đối tượng hệ thống 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” ĐÀN ÔNG PHỤ NỮ THÀNH PHỐ MIỀN Họ tên đàn ông Tuổi đàn ông Chiều cao đàn ông Cân nặng đàn ông Chức danh Tên con gái Họ tên phụ nữ Tuổi phụ nữ Chiều cao phụ nữ Cân nặng phụ nữ QUỐC GIA Châu lục Tên quốc gia Dân số quốc gia Tên thành phố Dân số thành phố Tên miền Kết hợp các đặc trưng để hình thành thực thể 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 VỊ TRÍ ĐÀN ÔNG Họ tên đàn ông Tuổi đàn ông Chiều cao đàn ông Cân nặng đàn ông Chức danh PHỤ NỮ Tên con gái Họ tên phụ nữ Tuổi phụ nữ Chiều cao phụ nữ Cân nặng phụ nữ QUỐC GIA Châu lục Tên quốc gia Dân số quốc gia MIỀNTên miền THÀNH PHỐTên thành phố Dân số thành phố 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” CON NGƯỜI VỊ TRÍ ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ Sinh tại Sống ở MIỀN 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 Số năm (1,1) (0,n) (0,n)(1,n) (1,1) (0,n) Xác định mối kết hợp, bản số, định danh 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 niệm quan trọng nhất Tiến triển theo “vết dầu loang” cuối Lược đồ điểm Lược đồ khởi gian Lược đồ trung Các thực thể quan trọng, nổi bật của hệ thống Lặp: phát triển thêm các khái niệm có liên kết với các khái niệm đã tồn tại 82 Chiến lược thiết kế lược đồ • Chiến lược trong – ra – ngòai – ví dụ: ĐÀN ÔNG PHỤ NỮ QUỐC GIA THÀNH PHỐ Châu lụcChức danh Tên con gái CON NGƯỜI VỊ TRÍ Sinh tại Sống ở Họ tên Ngày sinh Chiều cao Cân nặng Tên Dân số Số năm (1,1) (0,n) (0,n)(1,n) Tên MIỀN Thuộc (1,1) (0,n) Tiến triển lần thứ nhất Tiến triển lần thứ hai Tiến triển lần thứ ba 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” NHÀ KHOA HỌC Của Tên NKH Đơn vị Điện thoại Email (1,1) (1,n) SÁCH Mã sách Tên sách Đơn giá Số trangNgôn ngữ (0,n) (0,n) (1,1) Tiến triển lần một Tiến triển lần hai PYC NHÀ CUNG CẤP ĐƠN SÁCH Cung cấp Chi tiết YC Chi tiết đặt Mã số Đặt tới Tên NCC Địa chỉ Số đặt sách Ngày đặt Ngày giao Trị giá Ngày Số phiếu Trị giá PYC Tình trạng (1,n) Số lượng Số lượng đặt Đơn giá đặt (1,n) (1,1) (1,n) (1,n) Tiến triển lần baTiến triển lần bốnNGÂN SÁCH Cấp Năm Số tiền Sử dụngGhi chú (1,1) (0,n) 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” Tên NCC PHIẾU Số phiếu Ngày Trị giá PYC ĐƠN SÁCHTình trạng Ngày giao NHÀ KHOA HỌC Của Tên NKH Đơn vị Email Điện thoại NGÂN SÁCH Số tiền Năm Sử dụng Ghi chú Cấp SÁCH Chi tiết phiếu Đặt tới Số lượng Đơn giá Mã sách Tên sách Đơn giá NHÀ CUNG CẤP Mã số Địa chỉ Số trang Ngôn ngữ Cung cấp (1,1) (1,n) (0,n) (1,1) (1,n) (0,n) (1,1) (1,n) (0,n) (1,1) (t,e) 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 1 Lãnh vực ứng dụng 2 Lược đồ khung Lược đồ 1 Lược đồ 2 Lược đồ cuối cùng 86 Chiến lược thiết kế lược đồ • Chiến lược trong phối hợp – ví dụ: THÔNG TIN BÁN HÀNG TỒN KHOLiên quan Lược đồ khung HOÁ ĐƠN HOÁ ĐƠN GIAO HÀNG BĐ ĐƠN HÀNG KHÁCH HÀNG Chi tiết hóa đơn Cho Của Mã số Tên BĐ ĐVTính Loại Hiệu Đơn giá bán Mã KH Tên khách hàngĐiện thoại Địa chỉ giao hàng Chi tiết đơn hàng Số HĐ Ngày HĐ Trị giá Số ĐH Ngày đặt Trị giá đơn hàng Số lượngĐơn giá Số lượng đặt (1,n) (0,n) (1,1) (1,1) (1,n) (1,n) (0,n) (0,n) Tinh chế 87 Chiến lược thiết kế lược đồ • Chiến lược trong phối hợp – ví dụ: BĐ Mã số Tên BĐ ĐVTính Loại Hiệu Đơn giá bán LOẠI BĐ Thuộc THÁNG NĂM Tháng Năm Tồn Tồn đầu kỳTổng nhập Tổng xuất Tồn tối thiểu PHIẾU NHẬP Chi tiết nhập Số lượng nhập Đơn giá nhập Số PN Ngày nhập Mô tả Trị giá (0,n) (1,1) (0,n) (0,n) (0,n) (1,n) Mô hình hóa TỒN KHO 88 Chiến lược thiết kế lược đồ • Chiến lược trong phối hợp – ví dụ: Loại Hiệu LOẠI BĐ Thuộc THÁNG NĂM Tháng Năm Tồn Tồn đầu kỳ Tổng nhập Tổng xuất Tồn tối thiểu PHIẾU NHẬP Chi tiết nhập Số lượng nhập Đơn giá nhập Số PN Ngày nhập Mô tả Trị giá (0,n) (1,1) (0,n) (0,n) (0,n) (1,n) HOÁ ĐƠN HOÁ ĐƠN GIAO HÀNG BĐ ĐƠN HÀNG KHÁCH HÀNG Chi tiết hóa đơn Cho Của Mã số Tên BĐ ĐVTính Đơn giá bán Mã KH Tên khách hàng Điện thoại Địa chỉ giao hàng Chi tiết đơn hàng Số HĐ Ngày HĐ Trị giá Số ĐH Ngày đặt Trị giá đơn hàng Số lượngĐơn giá Số lượng đặt (1,n) (0,n) (1,1) (1,1) (1,n) (1,n) (0,n) (0,n) 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 bước được tinh chế Không có các hiệu ứng lề không mong muốn Đòi hỏi phân tích viên phải 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 xây dựng từ các thành phần cơ bản - Dễ dàng cho các ứng dụng có tính chất cục bộ - Phân tích không phải chịu gánh nặng quá lớn lúc bắt đầu Khi cần thiết có thể phải xây dựng lại cấu trúc trong quá trình tinh chế ứng dụng luật cơ bản. Trong ra ngoài Các khái niệm được xây dựng theo cách tiếp cận “vết dầu loang” - Dễ dàng phát hiện ra các khái niệm mới liên quan đến các khái niệm đã có - Phân tích không phải chịu gánh nặng quá lớn lúc bắt đầu Hình ảnh toàn bộ của ứng dụng chỉ được xây dựng vào giai đoạn cuối cùng Phối hợp Phân tích từ trên xuống các yêu cầu; tích hợp từ dưới lên sử dụng lược đồ khung - Tiếp cận theo cách “chia để trị” để giảm độ phức tạp Đòi hỏi quyết định quan trọng về lược đồ khung tại thời điểm bắt đầu của quá trình thiết kế. 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ắcmô hình hóa dữ liệu • Một số vấn đề thường gặp 91 Một số qui tắc mô hình hóa KHÁCH HÀNG Tên Địa chỉ Điện thoại SANPHAM HOADON Mã SP Tên ĐVT Số HĐ Ngày Khách hàng CủaGồm 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ê 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 SINH VIÊN MÔN HỌC Học Điểm HỌC KỲ Trên thực tế, một SV sẽ có nhiều điểm trên một môn học 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 Tồn tại các thể hiện không có sự tham gia đầy đủ của các thực thể SẢN PHẨM NHÀ CUNG CẤP KHO HÀNG Liên hệ SẢN PHẨM NHÀ CUNG CẤP KHO HÀNG Đặt hàng Cung ứng 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 MÔN HỌCHọc Điểm SINH VIÊN LỚP HỌCThuộc Ngày BĐ SINH VIÊN LỚP HỌCThuộc Ngày BĐ (1,1) (1,n) Ngày BĐ 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 Trọng lượng XE Thuộc LOẠI XE Tên loại XE Số xe Màu xe Số chỗ Lọai xe Trọng lượng Loại xe  Trọng lượng 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. 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 CON_NVcó (0,n) (1,n) 98 Quy tắc 2 Thuộc tính không khóa phụ thuộc đầy đủ vào khóa NHÂN VIÊN NGẠCH BẬC Hưởng THÁNG Ngạch …. Bậc …. Tháng năm …. Mã NV …. Hệ số Trên thực tế: Ngạch, bậc => Hệ số lương 99 Quy tắc 2 (tt) NHÂN VIÊN NGẠCH BẬC Hưởng THÁNG Ngạch …. Bậc …. Tháng năm …. Mã NV …. Ngạch – Bậc Hệ số (1,n) (1,n) (1,n)(1,n) (1,n) 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 => Số lượng, Đơn giá Số lượng, Đơn giá => Thành tiền SẢN PHẨM Số lượng Đơn giá Thành tiền HÓA ĐƠN CT_H Đ Số HD … Mã SP … (1,n) (1,n) 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 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ể Chỉ có một thể hiện TRƯỜNG trong suốt chu trình hệ thống SINH VIÊN TRƯỜNG KHOA Thuộ c Thuộ c 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 HÃNG SẢN XUẤT Màu sắc Số xe Sản xuất bởi MS-CBMS-TP THÀNH PHỐ CHUYẾN BAYĐi Đế n TEN-TP MS-CB CHUYẾN BAY TP_DI TP_DEN 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 Màu sắc tócCON NGƯỜI Phái ĐÀN ÔNG PHỤ NỮ Tình trạng nghĩa vụ quân sự Kết hôn CON NGƯỜI Màu sắc tóc 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. ĐỊA CHỈ Số nhà Đường Phường Quận Tỉnh/TP 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,... Họ tên KH Điện thoại SANPHAM HOÁ ĐƠN KHÁCH HÀNG Chi tiết HĐ Của Mã SP Tên SP ĐVT Đơn giá Số lượng Đơn giá Số HĐ Ngày HĐ Trị giá Địa chỉ (1,n) (0,n) (1,1) (0,n) -Một sản phẩm có thể tồn tại nhiều lần trong 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Đ? 107 Một số vấn đề thường gặp Mối kết hợp hay thực thể ? (tt) SANPHAM HOÁ ĐƠN KHÁCH HÀNG Có trong Của Mã SP Tên SP ĐVT Đơn giá Đơn giá Số HĐ Ngày HĐ Trị giá Họ tên KH Địa chỉ Điện thoại (1,n) (0,n) (1,1) (0,n) CHI TIẾT HOÁ ĐƠN Số lượng Có (1,1) (1,1) Số thứ tự 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 LỊCH TRÌNH GA Bắt đầu Dừng Kết thúc (1,1) (0,n) (0,n) (0,n) (0,n)(1,1) LỊCH TRÌNH GALiên quan Phân loại (2,n) (0,n) 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) 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. 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. 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 113 Bước 1 (tt) E E1 E2 A E’ R EE’ R A Loại E E (A, 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} • TH1: Ở mức chuyên biệt hóa không có thuộc tính riêng 114 Bước 1 (tt) NHÂN VIÊN Thuộc(1,1) Mã NV Họ tên NV PHÒNG BAN C.NHÂN C.VIÊN Q.LÝ (t,e) QLý Ptrách (1,n) (1,n) (0,1) (0,1) (1,1) Mã PB Tên PB NHANVIEN(Mã_NV, Họ tên_NV, LOẠI_NV) Ràng buộc miền giá trị LOẠI_NV € {CN, CV, QL} NHÂN VIÊN Mã NV Họ tên NV Thuộc(1,1) (1,n) QLý Ptrách LoạiNV (0,1) (0,n) (0,1) (1,1) Mã PB Tên PB PHÒNG BAN 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 116 Bước 1 (tt) E E1 E2 A CB E’ R EE’ R AB C Loại E 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} 117 Bước 1 (tt) NHÂN VIÊN Thuộc(1,1) Mã NV Họ tên NV SLượng NV trực thuộc Bậc thợ Chuyên ngành PHÒNG BAN C.NHÂN C.VIÊN Q.LÝ (t,e) QLý Ptrách (1,n) (1,n) (0,1) (0,1) (1,1) Mã PB Tên PB NHÂN VIÊN Mã NV Họ tên NV Chuyên ngành Thuộc(1,1) (1,n) Bậc thợ QLý Ptrách SLượng NV trực thuộc LoạiNV (0,1) (0,n) (0,1) (1,1) Mã PB Tên PB PHÒNG BAN NHANVIEN (Mã_NV, Họ tên_NV, Chuyên ngành, Bậc thợ, Slượng NV trực thuộc, LOẠI_NV) 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  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, không phát sinh thêm các mối kết hợp Có thể phát sinh ra một số lớn các giá trị rỗng cho các thuộc 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 cấu trúc tổng quát hóa như toàn bộ (t) và bán phần (p), chồng lắp (o) và riêng biệt (e) Tất cả các tác vụ muốn truy cập đến một thực thể tập con phải truy cập toàn bộ tất cả các thực thể tập con Phát sinh thêm một số RBTV cần phải kiểm tra 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. 121 Bước 1 (tt) E’ E E1 E2 A B R C E1 E2B C A A E’ R1 R2 E1 (B, A) E2 (C, A) 122 Bước 1 (tt) NHÂN VIÊN Thuộc(1,1) Mã NV Họ tên NV SLượng NV trực thuộc Bậc thợ Chuyên ngành PHÒNG BAN C.NHÂN C.VIÊN Q.LÝ (t,e) QLý Ptrách (1,n) (1,n) (0,1) (0,1) (1,1) Mã PB Tên PB SLượng NV trực thuộc Bậc thợ Chuyên ngành C. NHÂN C. VIÊN Q. LÝ (0,1) PHÒNG BAN Ptrách (1,1) Mã PB Tên PB Thuộc 3 Thuộc 2Thuộc 1 Qlý 1Qlý 2Qlý 3 (0,n) (1, n) (0,n) (1,1) (1,1) (1,1) (0,1) (0,n)(0,n) (0,n)(0,n)(0,n) C2 (tt): Vd1 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 ) 124 Bước 1 (tt) • C2 (tt): Vd2 Sản xuất HÃNG SX Sản xuất XE ĐẠP ĐIỆN Thời gian chạy Số bình acquy Thời gian sạc XE MÁY Số máy Mode Số loại linh kiện Số sườn Tên xe Số xe Tên xe Số xe XE ĐẠP ĐIỆN XE MÁY XE Số xe Tên xe Thời gian chạy Số máy Mode Số loại linh kiện Sản xuấtHÃNG SX Số bình acquy Thời gian sạc Số sườn (t,e) 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 ) 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ể tập con chỉ biểu diễn riêng cho loại thực thể tập con đó Cách chọn lựa này không áp dụng được cho cấu trúc tổng quát hóa loại chồng chéo (o) và bán phần (p), chỉ 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 loại thực thể tập con chỉ truy cập đến loại thực thể tập con đó Quan niệm các thực thể tập con trước đây cùng là chuyên biệt hóa của một thực thể tổng quát không còn 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 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 128 Bước 1 (tt) • C3: Dùngmối kết hợp E E1 E2 A B E’ R C E E1 E2 A B E’ R C R1 R2 (1,1) (1,1) (0,1) (0,1) • 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 E (A) E1 (B) E2 (C) 129 Bước 1 (tt) NHÂN VIÊN Thuộc(1,1) Mã NV Họ tên NV SLượng NV trực thuộc Bậc thợ Chuyên ngành PHÒNG BAN C.NHÂN C.VIÊN Q.LÝ (t,e) QLý Ptrách (1,n) (1,n) (0,1) (0,1) (1,1) Mã PB Tên PB NHÂN VIÊN Thuộc (1,1)Mã NV Tên NV SLượng NV trực thuộcBậc thợ Chuyên ngành PHÒNG BAN C. NHÂN C. VIÊN Q. LÝ QLý Ptrách (1,n) (1,n) (0,1) (0,1) (1,1) Mã PB Tên PB Nv-Cn Nv-Cv Nv-Ql (0,1)(0,1)(0,1) (1,1)(1,1)(1,1) C3 (tt): Ví dụ 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) 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 trúc tổng quát hóa toàn bộ / bán phần và chồng chéo / riêng biệt Lược đồ kết quả khá phức tạp. Ví dụ như thêm một thể hiện cho một thực 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 cầu của ứng dụng Phải chấp nhận sự dư thừa khi biểu diễn mối liên kết IS A thành mối kết hợp 132 Bước 2 • B2 - Chuyển thực thể sang quan hệ • SINH VIÊN (Mã SV, Họ tên SV, Địa chỉ, NTNS) • LỚP (Mã lớp, Tên lớp, Sĩ số) Sĩ số SINH VIÊN Thuộc LỚP Tên lớp Mã lớpMã SV Họ tên SV Địa chỉ NTNS 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ệ) 134 Bước 3 + 4 • 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) MỞ MH (0,n) (0,n) (0,n) (0,n) ĐĂNG KÝ Điểm (0,n) PHÂN CÔNG(0,n) (0,1) MÔN HỌC SINH VIÊN LỚP GIÁO VIÊN HỌC KỲ Mã MH Tên MH Mã SV Số học phần Tên sinh viên Địa chỉ Mã lớp Tên lớp Sĩ số Niên học Học kỳ Ngày bắt đầu Ngày kết thúc Mã GV Tên GV 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 Ngày thành lập Sĩ số SINH VIÊN Thuộc lớp LỚP Tên lớp Mã lớpMã SV Họ tên SV Địa chỉ NTNS Thuộc khoa KHOA Tên khoa Mã khoa (1,1) (1, n) (1,1) (1,n) 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) 137 Bước 6 • B6 – Chuẩn hóa Ví dụ: xét mô hình Phụ trách (1,n) (1,1) (1,1) (1,n) Tham gia (1,1) Cuộc họp (1,1) KỸ SƯ CÔNG TRÌNH PHÒNGTHỜI ĐIỂM Mã_CT … Mã_KS … Mã_P …Giờ Ngày 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ờ) 139 Bước 6 (tt) • Áp dụng B5, 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ờ) Mã_KS 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) 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ờ) 142 Bước 7 • B7 – Xem xét các ràng buộc toàn vẹn 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.

Các file đính kèm theo tài liệu này:

  • pdfpttk_c3_phuong_3046.pdf
Tài liệu liên quan