THIẾT KẾ DỮ LIỆU GVLT: Thái Lê Vinh 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 2 Chương 2 : Thiết kế Dữ liệu 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ệ,…) 3 Chương 2 : Thiết kế Dữ liệu 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 4 Chương 2 : Thiết kế Dữ liệu 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 5 Chương 2 : Thiết kế Dữ liệu 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 6 Chương 2 : Thiết kế Dữ liệu 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 7 Chương 2 : Thiết kế Dữ liệu 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ái niệm Loại Khối KHÁCH HÀNG Mã KH 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 Tài khoản Thực thể 30.000 (1,1) Số tài khỏan TÀI KHOẢN Phát sinh Thực thể 600.000 Số dư tài khỏan (1,n) Liên Của Kết hợp 30.000 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 8 Chương 2 : Thiết kế Dữ liệu 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 ? 9 Chương 2 : Thiết kế Dữ liệu 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 số dư khách hàng Khách hàng Thực thể Đọc 3000 03: 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 04: 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 10 Chương 2 : Thiết kế Dữ liệu 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 Ghi (/ngày) / 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 số dư 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 03: Rút tiền Tài khoản Thực thể Đọc 2000 Ghi 2000 04: Gởi tiền Tài khoản Thực thể Đọc 1000 Ghi 1000 (A) 3000 Đ + 3000 G ~ (B) 12000 Đ 11 Chương 2 : Thiết kế Dữ liệu 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 Đ 12 Chương 2 : Thiết kế Dữ liệu 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). 13 Chương 2 : Thiết kế Dữ liệu 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 thực thể) loại E - Loại bỏ các thực thể chuyên biệt 14 Chương 2 : Thiết kế Dữ liệu 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) 15 Chương 2 : Thiết kế Dữ liệu Thiết kế luận lý dữ liệu cấp cao Dùng thực thể tổng quát Ví dụ: (1,1) Thuộc (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 16 Chương 2 : Thiết kế Dữ liệu 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 Có thể phát sinh ra một số lớn các giá trị nhất, không phát sinh rỗng cho các thuộc tính mà chỉ dùng cho một thêm các mối kết hợp 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 đến một cấu trúc tổng quát hóa thực thể tập con phải truy cập toàn bộ tất cả như toàn bộ (t) và bán các 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 và riêng biệt (e) tra 17 Chương 2 : Thiết kế Dữ liệu 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 18 Chương 2 : Thiết kế Dữ liệu 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) 19 Chương 2 : Thiết kế Dữ liệu Thiết kế luận lý dữ liệu cấp cao Thuộc Mã BP Dùng các thực thể chuyên biệt (1,1) (1,n) Ví dụ: Mã NV (0,1) Tên NV NHÂN VIÊN QLý BỘ PHẬN (t,e) (1,n) (1,1) THƯ KÝ KỸ SƯ NV QLÝ Ptrách (0,1) (0,n) Tên BP (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 (0,n) Mã BP (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 20 Chương 2 : Thiết kế Dữ liệu 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ể 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ụ 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 21 Chương 2 : Thiết kế Dữ liệu Thiết kế luận lý dữ liệu cấp cao Chọn lựa giữa 2 phương án : Mã NV Tên NV NHÂN VIÊN 10.100 Số CMND Ngày sinh 100 (t,e) 10.