Chương 2 : Thiết kế Dữ liệu 2 Nội dung trình bày Thiết kế luận l{ dữ liệu Thiết kế luận l{ cấp cao Thiết kế luận l{ cấp thấp Thiết kế mã Thiết kế vật l{ dữ liệu Chương 2 : Thiết kế Dữ liệu 3 Thiết kế luận l{ dữ liệu Thiết kế luận l{ cấp cao: Độc lập với mô hình cài đặt Dùng chung cho nhiều loại mô hình dữ liệu Thiết kế luận l{ cấp thấp: Chuyển đổi lược đồ kết quả của bước 1 sang một mô hình dữ liệu nhất định (mô hình quan hệ,…) Chương 2 : Thiết kế Dữ liệu 4 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn Chuyển đổi tổng quát hóa và tập con Chọn lựa khóa chính Chương 2 : Thiết kế Dữ liệu 5 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn Dữ liệu suy diễn: là thuộc tính mà giá trị của nó có thể tính tóan số học từ những thuộc tính khác Ví dụ: Số HĐ (1,1) (1,n) HÓA ĐƠN Của Mã KH Ngày lập KHÁCH HÀNG Tên KH Trị giá HĐ (1,n) Công nợ Mức nợ SLượng Gồm Đơn giá (0,n) Mã hàng (0,n) ThángNăm HÀNG HÓA Gồm TỒN KHO Tổng SL nhập Tên hàng (1,1) Qui cách Tổng SL xuất Đơn giá bán Tồn kho Chương 2 : Thiết kế Dữ liệu 6 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn Ưu điểm: Tăng tốc độ truy vấn do không phải tính tóan lại giá trị các thuộc tính này tại thòi điểm thực hiện truy vấn Khuyết điểm: Cập nhật: phải kiểm tra được tính nhất quán với các dữ liệu liên quan (giảm tốc độ cập nhật) Tăng dung lượng lưu trữ (do phải lưu trữ thêm các dữ liệu suy diễn) Phải lập trình để đảm bảo ràng buộc về dữ liệu suy diễn Chương 2 : Thiết kế Dữ liệu 7 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn Các xử l{ truy xuất lên DL suy diễn Các xử lý cập nhật Quyết định Có dữ liệu lên DL suy diễn DL suy diễn suy diễn Tần suất của từng xử lý Không có dữ liệu suy diễn Chương 2 : Thiết kế Dữ liệu 8 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn – ví dụ: 15.000 KHÁCH HÀNG Mã KH Khái niệm Loại Khối lượng Tên KH Số AVG=2 (1,n) lượng Số dư Khách hàng Thực thể 15.000 tài Của khỏan (1,1) Tài khoản Thực thể 30.000 Số tài khỏan TÀI KHOẢN Số dư tài khỏan Phát sinh Thực thể 600.000 (1,n) Liên Của Kết hợp 30.000 (1,2) Số PS Liên quan Kết hợp 800.000 PS RÚT/GỬI Ngày phát sinh Số tiền PS Chương 2 : Thiết kế Dữ liệu 9 Thiết kế luận l{ dữ liệu cấp cao Quyết định dữ liệu suy diễn – Ví dụ Tác vụ Diễn giải Tần suất / ngày o1 Mở tài khoản 100 o2 Đọc số dư tài khoản 3000 o3 Rút tiền 2000 o4 Gửi tiền 1000 Câu hỏi: Có nên sử dụng dữ liệu suy diễn Số dư cho thực thể Khách Hàng hay không ? Chương 2 : Thiết kế Dữ liệu 10 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn – ví dụ: Các xử l{ liên quan – có dữ liệu suy diễn (A) Tên tác vụ Khái niệm Loại Đọc Tần suất (/ngày) / Ghi Bản số t.bình 01: Mở tài khoản Tài khoản Thực thể Ghi 100 Khách hàng Thực thể Ghi 100 Của Kết hợp Ghi 100 02: Đọc cân số khách hàng Khách hàng Thực thể Đọc 3000 04: Rút tiền Tài khoản Thực thể Đọc 2000 Ghi 2000 Khách hàng Thực thể Đọc 2000 Ghi 2000 05: Gởi tiền Tài khoản Thực thể Đọc 1000 Ghi 1000 Khách hàng Thực thể Đọc 1000 Ghi 1000 Chương 2 : Thiết kế Dữ liệu 11 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn – ví dụ: Các xử l{ liên quan – không có dữ liệu suy diễn (B) Tên tác vụ Khái niệm Loại Đọc Tần suất (/ngày) Ghi / Bản số t.bình 01: Mở tài khoản Tài khoản Thực thể Ghi 100 Khách hàng Thực thể Ghi 100 Của Kết hợp Ghi 100 02: Đọc cân số khách hàng Khách hàng Thực thể Đọc 3000 Tài khoản Thực thể Đọc 3000 x 2 = 6000 Của Kết hợp Đọc 3000 x 2 = 6000 04: Rút tiền Tài khoản Thực thể Đọc 2000 Ghi 2000 05: Gởi tiền Tài khoản Thực thể Đọc 1000 Ghi 1000 (A) 3000 Đ + 3000 G ~ (B) 12000 Đ Chương 2 : Thiết kế Dữ liệu 12 Thiết kế luận l{ dữ liệu cấp cao Quyết định về dữ liệu suy diễn Nếu (A) >> (B) chọn không có thuộc tính suy diễn (số dư) do phải trả chi phí có dữ liệu suy diễn (A) nhiều hơn không có (B) Nếu (A) << (B) chọn có thuộc tính suy diễn (số dư) Ngoài ra: có những nhu cầu phát sinh định tính không thể quyết định bằng phương pháp định lượng (A) 3000 Đ + 3000 G ~ (B) 12000 Đ Chương 2 : Thiết kế Dữ liệu 13 Thiết kế luận l{ dữ liệu cấp cao Chuyển đổi tổng quát hóa và tập con Cần thiết khi: mô hình cài đặt không hỗ trợ cho vấn đề về tổng quát hóa, thừa kế Ví dụ: mô hình quan hệ, mô hình mạng, mô hình phân cấp,… Các việc cần xem xét: Các đặc trưng kế thừa (thuộc tính, định danh, mối kết hợp) của thực thể chuyên biệt từ thực thể tổng quát. Mối kết hợp tổng quát hóa (Is A). Chương 2 : Thiết kế Dữ liệu 14 Thiết kế luận l{ dữ liệu cấp cao Dùng thực thể tổng quát A E A E’ R E B C E1 B E2 C Loại E E’ R Cách thực hiện: - Các đặc trưng của các thực thể chuyên biệt sẽ được chuyển qua thực thể tổng quát - Thêm vào một thuộc tính phân lọai (hoặc một tực thể) loại E - Loại bỏ các thực thể chuyên biệt Chương 2 : Thiết kế Dữ liệu 15 Thiết kế luận l{ dữ liệu cấp cao Dùng thực thể tổng quát MGT(LoạiE) {E, E1, E2, E1E2} {0,1,2,3} Biểu diễn sự tượng quan: (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} (t,e) (t,o) (p,e) (p,o) Chương 2 : Thiết kế Dữ liệu 16 Thiết kế luận l{ dữ liệu cấp cao Dùng thực thể tổng quát (1,1) Thuộc Ví dụ: (1,n) Mã BP Mã NV (0,1) Tên NV NHÂN VIÊN QLý BỘ PHẬN (t,e) (1,n) (1,1) Tên BP THƯ KÝ KỸ SƯ NV QLÝ Ptrác (0,1) (1,n) h (0,n) Sử dụng Kỹ năng Chuyên SLượng NV ngành trực thuộc (0,n) Mã PM Tên PM PHẦN MỀM SLượng NV LoạiNV (1,1) Thuộc Ràng buộc: trực thuộc (1,n) Mã BP - LoạiNV Mã NV NHÂN VIÊN (0,1) Tên NV {TK, KS, QL}Chuyên ngành QLý BỘ PHẬN (0,n) (0,n) (0,n) Kỹ năng Sử dụng (1,1) (0,1) Tên BP (0,n) Ptrách Mã PM Tên PM PHẦN MỀM Chương 2 : Thiết kế Dữ liệu 17 Thiết kế luận l{ dữ liệu cấp cao Dùng thực thể tổng quát Ư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 các giá trị rỗng không phát sinh thêm cho các thuộc tính mà chỉ dùng cho một loại các mối kết hợp 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 đến một thực cấu trúc tổng quát hóa thể tập con phải truy cập toàn bộ tất cả các như toàn bộ (t) và bán thực thể tập con phần (p), chồng lắp (o) Phát sinh thêm một số RBTV cần phải kiểm tra và riêng biệt (e) Chương 2 : Thiết kế Dữ liệu 18 Thiết kế luận l{ dữ liệu cấp cao Dùng các thực thể chuyên biệt A E1 B E2 C E’ R E A A R1 R2 E1 B E2 C E’ - 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ược các thực thể chuyên biệt - Hủy bỏ thực thể tổng quát Chương 2 : Thiết kế Dữ liệu 19 Thiết kế luận l{ dữ liệu cấp cao Dùng các thực thể chuyên biệt Ảnh hưởng sự tương quan A E1 B E2 C E’ R E A A R1 R2 E1 B E2 C E’ (t,e) (t,o) (p,e) (p,o) Chương 2 : Thiết kế Dữ liệu 20 Thiết kế luận lý dữ liệu cấp cao Dùng các thực thể chuyên biệt Thuộc Mã BP (1,1) (1,n) Ví dụ: Mã NV (0,1) Tên NV NHÂN VIÊN QLý BỘ PHẬN Tên BP (t,e) (1,n) (1,1) THƯ KÝ KỸ SƯ NV QLÝ Ptrác (0,1) (0,n) h (0,n) Sử dụng Kỹ năng Chuyên SLượng NV ngành trực thuộc (0,n) Mã PM Tên PM PHẦN MỀM Mã BP (0,n) (0,n) Thuộc Thuộc BỘ PHẬN (1,1) 1 Thuộc 2 3 (0,n) (1,1) (1,1) (1,1) (0,1) Tên BP THƯ KÝ KỸ SƯ NV QLÝ Ptrác (0,n) (0,1) h (0,n) Sử dụng Kỹ năng Chuyên SLượng NV ngành trực thuộc (0,1) (0,n) (0,n) (0,n) (0,1) (0,n) Mã PM Tên PM PHẦN MỀM Qlý 3 Qlý 2 Qlý 1 Chương 2 : Thiết kế Dữ liệu 21 Thiết kế luận l{ dữ liệu cấp cao Dùng các thực thể chuyên biệt Nhận xét: Ưu điểm Khuyết điểm Thuộc tính riêng của thực thể tập Cách chọn lựa này không áp dụng được cho cấu trúc tổng con chỉ biểu diễn riêng cho loại quát hóa loại chồng chéo (o) và bán phần (p), chỉ dùng thực thể tập con đó đượ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 Quan niệm các thực thể tập con trước đây cùng là chuyên thực thể tập con chỉ truy cập đến biệt hóa của một thực thể tổng quát không còn nữa.
Quan loại thực thể tập con đó niệm này có thể là chủ yếu liên quan đến một số xử lý. Ví dụ thư ký, kỹ sư 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 Chương 2 : Thiết kế Dữ liệu 22 Thiết kế luận l{ dữ liệu cấp cao Chọn lựa giữa 2 phương án : 10.100 Mã NV Tên NV NHÂN VIÊN Số CMND Ngày sinh 100 (t,e) 10.