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
Tạo cơ sở dữ liệu Access
Hình 7.10 hiển thị danh sách tất cả các bảng với đầy đủ khóa ngoại và bảng-quan-hệ để bạn đặt vào cơ sở dữ liệu Access. Khi bắt đầu từ một cơ sở dữ liệu trống, ta nên tạo từ điển dữ liệu (data dictionary) trước khi tạo bảng. Từ điển dữ liệu ở Hình 7.11 liệt kê mọi thông tin chi tiết từng thuộc tính trong mỗi bảng, bao gồm kiểu thuộc tính, kích cỡ, và liệu đó là thuộc tính khóa chính, khóa ngoại, hay phi khóa (không phải là khóa). Từ điển dữ liệu phục vụ hai mức độ. Thứ nhất, giúp theo dõi mọi thuộc tính và bảng cần đưa vào cơ sở dữ liệu. Thứ hai, cung cấp tư liệu hỗ trợ người phát triển tạo ra những thay đổi trong cơ sở dữ liệu và cung cấp thông tin cho kiểm toán viên.
Hình 7.11. Từ điển dữ liệu.
BÀI TẬP 7.7: TẠO CƠ SỞ DỮ LIỆU ACCESS BẰNG CÁCH NHẬP DỮ LIỆU TỪ EXCEL WORKBOOK
Để ý rằng ta sẽ dùng Microsoft Office 2013 cho mọi ứng dụng MS Office. Hãy mở Excel file của Chương 7, Ch07.xlsx rồi in worksheet đầu tiên có tiêu đề Data Dictionary. Để in toàn bộ từ điển dữ liệu trên một trang giấy, kích vào thẻ FILE, kích tiếp vào Print, trong phần Settings chọn Landscape Orientation, rồi chọn Fit Sheet on One Page trong Custom Scaling Options (xem Hình 7.12). Các worksheets khác trong workbook chứa dữ liệu ở các bảng thuộc qui trình mua hàng - chi tiền của Pipefitters Supply Company. Hãy đóng Excel file.
Hình 7.12. Phần Settings để in trong Excel.
1. Hãy mở Access rồi tạo một cơ sở dữ liệu mới bằng cách kích biểu tượng Blank desktop database (cơ sở dữ liệu trống, xem Hình 7.12b). Gõ Ch07AcquisitionProcess vào hộp văn bản File Name để đặt tên cơ sở dữ liệu. Có thể kích vào biểu tượng thư mục file nếu muốn lưu cơ sở dữ liệu vào vị trí khác vị trí mặc định. Sau đó kích nút Create.
Hình 7.12b. Biểu tượng Blank desktop database.
Hình 7.13. Cửa sổ Get External Data.
3. Trong Import Spreadsheet Wizard, đảm bảo rằng nút radio Show Worksheet được chọn. Rồi chọn tblCashAccount từ danh sách các worksheets chứa trong Excel file (xem Hình 7.14). Trong hộp thoại xuất hiện sau khi kích Next, nhớ chọn check box First Row Contains Column Headings (dòng đầu tiên chứa các đầu đề cột). Việc đánh dấu check box này sẽ bảo Access dùng dòng đầu tiên làm các tên trường (trường và thuộc tính là hai thuật ngữ tương đương).
Hình 7.14. Import Spreadsheet Wizard cho tblCashAccount.
4. Khi đến hộp thoại kế, bạn sẽ thấy các tùy chọn trường sau: Field Name (tên trường), Data Type (kiểu dữ liệu), và Indexed (được lập chỉ mục). Kiểu dữ liệu cho từng trường được liệt kê trong bảng từ điển dữ liệu. Kiểu dữ liệu của CashAccountID là Short Text. Với những khóa chính đơn giản (chỉ gồm một trường) giá trị của Indexed nên đặt là Yes (No Duplicates) (không được trùng lặp). Với những khóa chính phức hợp (tblDuality-PurchaseCashDisburse và tblInflow-InventoryPurchase) Indexed nên đặt là Yes (Duplicates OK) (cho phép trùng lặp). Khi chọn xong các giá trị cho CashAccountID, hãy chọn thuộc tính tiếp theo bằng cách kích vào tên thuộc tính (Hình 7.15). Khi hoàn thành thuộc tính cuối cùng trong bảng, kích Next.
Hình 7.15. Các tùy chọn trường.
5. Hãy chọn khóa chính cho bảng (xem Hình 7.16). Kích nút radio Choose my own primary key (để tôi tự chọn khóa chính). Khóa chính cho tất cả các bảng được liệt kê trong từ điển dữ liệu. Với tblCashAccount hãy chọn CashAccountID. Rồi kích Next.
Hình 7.16. Chọn khóa chính cho bảng.
Hình 7.17. Cơ sở dữ liệu sau khi import tblCashAccount.
7. Lặp lại quá trình trên cho 8 bảng còn lại.
⦁ Tham khảo từ điển dữ liệu để biết các tính chất (properties) của từng thuộc tính.
⦁ Đừng quên đặt thuộc tính Indexed của khóa ngoại là Yes (Duplicates OK).
⦁ Ở bước 6 đối với tblDuality-PurchaseCashDisburse và tblInflow-InventoryPurchase, hãy chọn nút radio No primary key (không có khóa chính) vì Import Spreadsheet Wizard không thể thiết lập khóa chính phức hợp. Bạn sẽ phải thiết lập khóa chính phức hợp trong góc nhìn Design cho từng bảng.
Giờ đây bạn đã tạo tất cả các bảng cho cơ sở dữ liệu, điều còn lại cần làm là tạo quan hệ giữa các bảng.
BÀI TẬP 7.8: LIÊN KẾT BẢNG TRONG CƠ SỞ DỮ LIỆU ACCESS
1. Hãy mở Access và mở cơ sở dữ liệu Ch07.accdb. Cơ sở dữ liệu này bao gồm tất cả các thiết đặt thuộc tính và phụ đề từ từ điển dữ liệu cũng như dữ liệu nhập từ Excel workbook. Nếu bạn thấy thanh thông báo (Message Bar) ngay dưới dải lệnh (ribbon), hãy kích nút Enable Content. Điều này cho phép bạn thi hành bất kỳ câu truy vấn, macro, biểu thức, và nội dung khác.
2. Kích DATABASE TOOLS tab rồi mở cửa sổ quan hệ bằng cách kích Relationships trong nhóm Relationships. Bạn cần thấy 9 bảng trong cửa sổ quan hệ (xem Hình 7.18). Các bảng được sắp đặt giống với mô hình dữ liệu trong Hình 7.10 để dễ dàng theo dõi những liên kết mà bạn sẽ tạo ra.
Hình 7.18. Cửa sổ quan hệ.
3. Nhìn Hình 7.10, bạn sẽ kéo khóa chính từ bảng ở đuôi mũi tên đến khóa ngoại trong bảng mà mũi tên trỏ đến. Ngoài ra, với mỗi bảng-quan-hệ, bạn sẽ kéo khóa chính từ các bảng liên kết vào bảng-quan-hệ.
4. Hãy kéo CashAccountID từ tblCashAccount đến CashAccountID trong tblCashDisbursement. Hộp thoại Edit Relationships (soạn thảo quan hệ) sẽ xuất hiện với bảng bạn đã kéo “từ” bên trái và bảng bạn đã kéo “đến” bên phải. Hãy đánh dấu ô Enforce Referential Integrity (áp đặt tính toàn vẹn tham chiếu) và ô Cascade Update Related Fields (cập nhật lan truyền các trường liên quan). Sau đó kích nút Create (Hình 7.19).
Hình 7.19. Hộp thoại Edit Relationships.
a. Việc áp đặt tính ràng buộc tham chiếu đảm bảo rằng chỉ những mã tài khoản tiền mặt hợp lý – tức các mã đã tồn tại trong tblCashAccount – mới có thể được dùng khi nhập dữ liệu vào tblCashBisbursement.
b. Ngoài ra, nếu Pipefitters Supply Company quyết định thay đổi CashAccountID cho một hay nhiều tài khoản ngân hàng (có lẽ ai đó đã sai sót khi nhập một tài khoản ngân hàng mới), việc chọn Cascade Update Related Fields sẽ tự động cập nhật mọi bản ghi liên quan. Tuy nhiên, Pipefitters cần kiểm soát sao cho chỉ nhân viên có quyền mới có thể thay đổi khóa chính vì một thay đổi như vậy sẽ xóa mất giá trị ban đầu của khóa chính.
c. Đừng bao giờ chọn Cascade Delete Related Records (xóa lan truyền các bản ghi liên quan) vì điều đó cho phép bạn xóa bản ghi gốc (phía “1” của quan hệ) thậm chí nếu nó tham gia vào một hay nhiều quan hệ. Hơn nữa, tùy chọn này sẽ xóa mọi bản ghi liên quan trong các bảng khác. Ai đó có thể tình cờ hay cố ý xóa nhiều bản ghi chỉ bằng một lệnh xóa. Chẳng hạn, việc xóa một nhân viên khỏi cơ sở dữ liệu sẽ xóa toàn bộ giao dịch liên quan đến nhân viên đó.
5. Hãy lặp lại bước 4 cho tất cả các khóa ngoại và bảng-quan-hệ ở Hình 7.10. Kết quả cần giống với cửa sổ quan hệ ở Hình 7.20.
Hình 7.20. Các bảng cơ sở dữ liệu với khóa ngoại, bảng-quan-hệ, và quan hệ.
Không có nhận xét nào:
Đăng nhận xét