II.1. Xác định danh sách các ràng buộc toàn vẹn
Khi sơ đồ quan niệm được chuyển thành sơ đồ logic dữ liệu và được tối ưu hóa thì tập hợp các ràng buộc toàn vẹn trên cũng phải được điều chỉnh lại (bổ sung ràng buộc toàn vẹn mới hoặc loại bỏ ràng buộc toàn vẹn không còn ý nghĩa hoặc thay đổi dạng biểu diễn,...) cho phù hợp với sơ đồ logic dữ liệu.
Trong giai đoạn thiết kế thì các ràng buộc toàn vẹn nào “phức tạp” thì phải có thuật giải đi kèm (xem thêm phụ lục A)
Ví dụ:
Bổ sung ràng buộc toàn vẹn “mỗi đơn đặt hàng có ít nhất một mặt hàng” tương ứng với bản số (1,n) của nhánh nối từ loại thực thể Đơn dặt hàng đến mối kết hợp Chi tiết đặt (xem qui tắc 2). Nếu người thiết kế đã loại bỏ thuộc tính dgiadh trong bảng CTIETDH thì cũng phải loại bỏ luôn ràng buộc toàn vẹn sau:
CTIETDH.sotiendh = CTIETHD.sldh * CTIETDH.dgiadh
II.2. Bảng tầm ảnh hưởng
Ràng buộc toàn vẹn là những điều kiện ràng buộc trên dữ liệu của ứng dụng và dữ liệu của ứng dụng phải thỏa mãn tất cả các ràng buộc toàn vẹn này ở mọi thời điểm. Do đó, trong giai đoạn thiết kế này, chúng ta cần xây dựng một chiến lược kiểm tra ràng buộc toàn vẹn của cơ sở dữ liệu sao cho đầy đủ và tiết kiệm nhất.
Chiến lược kiểm tra có thể dựa trên một nhận xét khá đơn giản nhưng rất quan trọng : nếu một cơ sở dữ liệu đang ở trong tình trạng kết dính (coherence), nghĩa là thỏa mãn tất cả các ràng buộc toàn vẹn, thì nó chỉ có nguy cơ bị mất tính kết dính (incoherence) khi người sử dụng thực hiện việc cập nhật (thêm, sửa, xóa) dữ liệu của cơ sở dữ liệu.
Xuất phát từ nhận xét trên, chúng ta sẽ xây dựng bảng tầm ảnh hưởng tổng hợp làm cơ sở cho việc kiểm tra tính kết dính của cơ sở dữ liệu.
Trước hết, chúng ta thiết lập bảng tầm ảnh hưởng riêng cho mỗi ràng buộc toàn vẹn như trong những ví dụ bên dưới.
Mỗi bảng tầm ảnh hưởng gồm 3 cột: thêm, sửa và xóa, thể hiện 3 động tác cập nhật dữ liệu và có thể có nhiều dòng, trong đó mỗi dòng tương ứng với một bảng có liên quan đến ràng buộc toàn vẹn. Dấu + ở ô có tọa độ ij (dòng i, cột j) trong bảng tầm ảnh hưởng thể hiện yêu cầu phải kiểm tra ràng buộc toàn vẹn khi người sử dụng thực hiện một động tác cập nhật tương ứng với cột j trên bảng ở dòng i.
Học phần 4 – Phân tích Hệ thống Trang 61/150
Ví dụ: Bảng tầm ảnh hưởng của ràng buộc về khóa ngoại
DDH[makh] ⊆ DMKH[makh]
Thêm Sửa Xóa
DMKH +
DDH + +
Bảng tầm ảnh hưởng trên “nói rằng” : hệ thống phải kiểm tra ràng buộc toàn vẹn : DDH[makh] ⊆ DMKH[makh], khi người sử dụng thực hiện 1 trong 3 động tác : xóa một bộ trong bảng DMKH hoặc thêm một bộ trong bảng DDH hoặc sửa một bộ (thuộc tính makh) trong bảng DDH.
Chú ý:
Các ràng buộc toàn vẹn thuộc cùng một loại (xem phần phân loại ràng buộc toàn vẹn trong bài 4) sẽ có cấu trúc bảng tầm ảnh hưởng giống nhau. Sau đây, chúng tôi sẽ giới thiệu bảng tầm ảnh hưởng của một số loại ràng buộc toàn vẹn thường gặp
Ràng buộc về khóa nội của bảng Q
Thêm Sửa Xóa
Q +
Ràng buộc về miền giá trị trong bảng Q
Thêm Sửa Xóa
Q + +
Ràng buộc liên thuộc tính trong bảng Q
Thêm Sửa Xóa
Q + +
Ràng buộc khóa ngoại : CTABLE[a] ⊆ PTABLE[a]
Thêm Sửa Xóa
PTABLE +
CTABLE + +
Hoặc
Thêm Sửa Xóa
PTABLE + +
CTABLE + +
Học phần 4 – Phân tích Hệ thống Trang 62/150
Bước kế tiếp, chúng ta sẽ thiết lập bảng tầm ảnh hưởng tổng hợp các ràng buộc toàn vẹn dựa trên cơ sở các bảng tầm ảnh hưởng của từng ràng buộc toàn vẹn. Bảng tầm ảnh hưởng tổng hợp sẽ giúp chúng ta xác định được tất cả những ràng buộc toàn vẹn nào cần phải kiểm tra khi người sử dụng thực hiện một thao tác cập nhật dữ liệu trên một bảng Q. Điều này sẽ được chúng tôi giải thích rõ hơn ở phía sau.
Bảng tầm ảnh hưởng tổng hợp gồm một cột chứa tên các ràng buộc toàn vẹn cộng thêm (3 * n) cột, trong đó n là số bảng của cơ sở dữ liệu, và có m dòng, với m là tổng số ràng buộc toàn vẹn của cơ sở dữ liệu. Chúng ta lần lượt “đổ” bảng tầm ảnh hưởng của mỗi ràng buộc toàn vẹn vào một dòng của bảng tầm ảnh hưởng tổng hợp như trong bảng bên dưới.
BẢNG TẦM ẢNH HƯỞNG TỔNG HỢP DMHH DMKH DDH CTDH PGH CTGH CNO . . . T S X T S X T S X T S X T S X T S X T S X T S X R1-010 + R1-020 + . . . R2-010 + + R2-020 + + . . . R3-010 + + R3-020 + + R3-030 + + . . . R6-100 + + + + R6-110 + +
Dựa vào bảng tầm ảnh hưởng tổng hợp này, chúng ta sẽ biết rằng khi người sử dụng thực hiện một động tác cập nhật dữ liệu của một bảng tương ứng với cột j trong bảng tầm ảnh hưởng tổng hợp thì hệ thống phải kiểm tra tất cả những ràng buộc toàn vẹn nào được đánh dấu + ở cột j. Ví dụ, nếu người sử dụng thêm một chi tiết đặt hàng mới thi chúng ta sẽ dò trên cột tương ứng (cột thứ 11 từ trái sang) và nhận thấy có các ràng buộc được đánh dấu + : R1-020, R2-010, R3- 020 và R6-100. Như vậy, hệ thống sẽ phải kiểm tra 4 ràng buộc trên nếu người sử dụng thêm một chi tiết đặt hàng mới.
Tóm lại, việc thiết lập bảng tầm ảnh hưởng tổng hợp của các ràng buộc toàn vẹn nhằm tiết kiệm chi phí cho quá trình kiểm tra ràng buộc toàn vẹn của ứng dụng.
II.3. Phương pháp kiểm tra ràng buộc toàn vẹn
Có 4 phương pháp để cài đặt việc kiểm tra ràng buộc toàn vẹn:
9 (S): Ràng buộc sẽ được hệ quản trị cơ sở dữ liệu kiểm tra tự động. Ví dụ các ràng buộc về khoá chính, khoá ngoại, duy nhất (unique), miền giá trị.
9 (I): Ràng buộc sẽ được kiểm tra mức giao diện. Ví dụ các ràng buộc khoá ngoại sẽ được kiểm tra bằng cách chọn dữ liệu trong hộp danh sách (list box/combo box).
Học phần 4 – Phân tích Hệ thống Trang 63/150
9 (P): Ràng buộc sẽ được thay thế bằng thủ tục (hàm) tính toán. Ví dụ ràng buộc thành tiền bằng số lượng x đơn giá sẽ có thủ tục tự động tính thành tiền.
9 (V): Ràng buộc sẽ được sẽ được kiểm tra (validate) bằng thủ tục (hàm). Ví du hàmï kiểm tra ràng buộc số lượng xuất phải còn đủ hàng để xuất.
II.4. Thiết kế các nội dung khác có liên quan đến dữ liệu
Sau khi hoàn tất những nội dung công việc được nêu trong các phần trước, chúng ta sẽ tiếp tục thiết kế các hàm cửa sổ hay khung nhìn (view), chỉ mục (index), sẽ được sử dụng cho những xử lý về sau. Xem thêm sưu liệu của ứng dụng quản lý đơn đặt hàng trong phần Phụ lục A.
Chú ý:
Kết quả đầy đủ của việc thiết kế thành phần dữ liệu là: (xem thêm phụ lục A phần thiết kế) 1/ Sơ đồ logic dữ liệu
2/ Tự điển dữ liệu 3/ Mô tả các bảng
4/ Mô tả các ràng buộc toàn vẹn mức thiết kế 5/ Bảng tầm ảnh hưởng các ràng buộc toàn vẹn 6/ Mô tả các hàm cửa sổ (view) nếu có
Kinh nghiệm giảng dạy:
Có thể cho học viên vẽ sơ đồ logic dữ liệu theo dạng Relatioship của Microsoft Access
0
Học phần 4 – Phân tích Hệ thống Trang 64/150
Bài 8 THIẾT KẾ THAØNH PHẦN XỬ LÝ Tóm tắt
Lý thuyết 2 tiết - Thực hành 4 tiết
Mục tiêu Các mục chính Bài tập bắt
buộc
Bài tập làm thêm
Nắm được các bước thực hiện trong giai đoạn thiết kế thành phần xử lý của một UDTH dựa theo mô hình thác nước