Chủ Nhật, 14 tháng 2, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 7 - Thêm lực lượng quan hệ vào mô hình qui trình kinh doanh

James Perry, Richard Newmark


Chương 7
Nhập môn mô hình dữ liệu cho hệ thông tin kế toán


Thêm lực lượng quan hệ vào mô hình qui trình kinh doanh


Nhắc lại từ Chương 2, có 3 kiểu quan hệ cơ bản: một-một (1-1), một-nhiều (1-M), và nhiều-nhiều (M-M). Ta gọi số 1 và chữ M là lực lượng (cardinality), đó là thuật ngữ trong cơ sở dữ liệu quan hệ. Hiện nay bạn đã tạo các thực thể trong qui trình mua hàng - chi tiền, gồm các biến cố, tài nguyên, và tác nhân, cũng như những quan hệ giữa chúng, bạn cũng cần xác định lực lượng cho từng quan hệ. Lực lượng là một cách đưa nghiệp vụ kinh doanh vào cơ sở dữ liệu quan hệ. Chẳng hạn, nhắc lại rằng nghiệp vụ kinh doanh về quan hệ đối ngẫu giữa mua hàng (Purchase) và xuất quỹ (Cash Disbursement) như sau:

1. Pipefitters thường chi trả đầy đủ mọi hóa đơn tồn kho (biến cố mua hàng) từ nhà cung cấp bằng một chi phiếu vào cuối tháng.
2. Tuy nhiên, đôi khi công ty chi trả sớm để được giảm giá mua hàng.
3. Ngoài ra, Pipefitters có thể chi trả từng đợt từ 2 tháng trở lên đối với những lần mua nhiều.

Mục 1 cho thấy một lần xuất quỹ (ghi chi phiếu để chi trả cho hàng tồn kho) có thể cho nhiều đợt mua. Mặc dù mục 2 chỉ ra rằng một lần xuất quỹ có thể chỉ cho một đợt mua, AIS phải cho phép một lần xuất quỹ tham gia vào “nhiều” đợt mua. Vì thế, lực lượng ở phía mua (Purchase) trong quan hệ mua hàng - chi tiền như được minh họa ở Hình 7.6 phải là “M”. Bạn đọc quan hệ đó như sau: một lần xuất quỹ cụ thể (Cash Disbursement) có thể kết hợp với nhiều đợt mua (Purchase).

Hình 7.6. Quan hệ đối ngẫu trong qui trình mua hàng - chi tiền kèm theo lực lượng.

Mục 3 thể hiện rằng một đợt mua cụ thể (Purchase) có thể kết hợp với nhiều lần xuất quỹ (Cash Disbursement). Lực lượng này được ghi là “M”  ở phía Cash Disbursement của qui trình mua hàng - chi tiền. Như vậy nghiệp vụ kinh doanh đã đưa đến quan hệ đối ngẫu nhiều-nhiều giữa Purchase và Cash Disbursement.

BÀI TẬP 7.4: TẠO MÔ HÌNH QUI TRÌNH KINH DOANH – THÊM LỰC LƯỢNG VÀO CÁC QUAN HỆ
Trong bài tập này, bạn sẽ thêm lực lượng vào các quan hệ thể hiện trong Hình 7.5. Bạn cần đọc lại mô tả qui trình mua hàng - chi tiền của Pipefitters ở đầu phần này để xác định các nghiệp vụ kinh doanh. Nếu một nghiệp vụ không được phát biểu rõ ràng trong mô tả, hãy áp dụng điều bạn tin đó là hoạt động kinh doanh thông thường để xác định lực lượng.

Khi xác định lực lượng phù hợp cho một quan hệ đã cho, hãy tự hỏi, “Theo thời gian, một thể hiện X có thể tham gia với nhiều hơn một thể hiện Y hay không?” Nếu trả lời là có, thì lực lượng là “M”. Nếu trả lời là không, thì lực lượng là “1”, chỉ ra rằng một thể hiện X có thể kết hợp với tối đa một thể hiện Y. Hãy điền đầy đủ các lực lượng trước khi xem đáp án ở Hình 7.7.

Hình 7.7. Qui trình mua hàng - chi tiền với các thực thể, quan hệ, và lực lượng.

Hình 7.7 chỉ ra quan hệ dòng-ra nhiều-nhiều giữa hàng tồn kho (Inventory) và mua hàng (Purchase). Những lực lượng này có thể suy luận từ thông tin về Pipefitters sau:

Pipefitters theo dõi hàng tồn kho qua mã số mặt hàng thay vì theo dõi từng đơn vị mặt hàng. Pipefitters có một bản ghi cho từng loại hàng tồn kho … Khi hàng hóa cập bến nhận hàng, một nhân viên nhận hàng đếm rồi ghi số lượng từng mặt hàng lên phiếu nghiệm thu.

Từ thông tin này bạn biết rằng một đợt mua (Purchase) có thể cho nhiều hàng tồn kho (Inventory) khác nhau, tức lực lượng ở phía Inventory của quan hệ dòng-vào là “M”. Hơn nữa, vì bảng Inventory sẽ theo dõi hàng tồn kho qua mã số mặt hàng (một bản ghi cho từng mã số mặt hàng), mỗi hàng tồn kho có thể kết hợp với nhiều đợt mua (Purchase); tức lực lượng ở phía Purchase của quan hệ dòng-vào cũng sẽ là “M”.

Thêm vào đó, tập lực lượng cho quan hệ tham gia nội P-E có thể được xác định từ đoạn thông tin sau:

Khi hàng hóa cập bến nhận hàng, một nhân viên nhận hàng đếm rồi ghi số lượng từng mặt hàng lên phiếu nghiệm thu.

Thông tin này chỉ ra rằng một đợt mua (Purchase) chỉ bao gồm một nhân viên (Employee). Vì thế, lực lượng ở phía Employee là “1”. Mặc dù không có thông tin về số đợt mua tối đa mà một nhân viên nào đó có thể tham gia, lý luận bảo ta rằng một nhân viên nhận hàng có thể tham gia vào nhiều đợt mua. Do đó, lực lượng ở phía Purchase của quan hệ là “M”.

Mặc dù thông tin về Pipefitters không mô tả nghiệp vụ liên quan đến tham gia ngoại giữa mua hàng (Purchase) và nhà cung cấp (Vendor), bạn có thể tự hỏi về lực lượng ở từng phía quan hệ như sau, “Theo thời gian, một đợt mua hàng cụ thể có thể bao gồm nhiều hơn một nhà cung cấp không?” Rõ ràng câu trả lời là “không”, vì vậy lực lượng ở phía Vendor của tham gia ngoại P-V là “1”. Câu hỏi thứ hai là, “Theo thời gian, một nhà cung cấp cụ thể có thể tham gia nhiều hơn một đợt mua hàng không?” Vì câu trả lời cho câu hỏi này là “có”, lực lượng ở phía Purchase của quan hệ là “M”.

Bây giờ, hãy xét quan hệ điển hình hóa (Typification) giữa nhân viên (Employee) và kiểu-nhân-viên (Employee Type). Thông tin sau rõ ràng mô tả lực lượng ở phía Employee Type của quan hệ điển hình hóa:

Kiểu-nhân-viên, chẳng hạn nhân viên mua hàng, nhân viên kho bãi, kế toán viên, được lưu trong bảng riêng sao cho mỗi nhân viên chỉ thuộc một kiểu-nhân-viên.

Vì thế, lực lượng ở phía Employee Type của quan hệ là “1”. Ở phía Employee của quan hệ điển hình hóa, hãy đặt câu hỏi, “Theo thời gian, một kiểu nhân viên cụ thể có thể có nhiều hơn một nhân viên không?” Có. Vì thế, lực lượng là “M”.

Lý luận tương tự mà ta đã áp dụng vào các quan hệ tham gia nội và ngoại với Purchase cũng có thể áp dụng vào các quan hệ với biến cố xuất quỹ (Cash Disbursement).

Cuối cùng, quan hệ dòng-ra giữa tài khoản tiền mặt (Cash Account) và xuất quỹ (Cash Disbursement) cần được giải quyết bằng lý luận vì không có bất kỳ thông tin nào về quan hệ này. Đầu tiên, “Theo thời gian, một tài khoản tiền mặt cụ thể có thể kết hợp với nhiều hơn một đợt xuất quỹ không?” Có, vì Pipefitters có thể ghi nhiều chi phiếu theo thời gian từ cùng một tài khoản thanh toán. Vì thế, lực lượng ở phía Cash Disbursement của dòng-ra là “M”. Kế đến, “Theo thời gian, một đợt xuất quỹ cụ thể có thể đi từ nhiều hơn một tài khoản tiền mặt không?” Câu trả lời là “không” vì các chi phiếu chỉ được rút ra từ một tài khoản. Như vậy, lực lượng ở phía Cash Account của dòng-ra là “1”.

Không có nhận xét nào:

Đăng nhận xét