Lập mô hình dữ liệu: Thiết kế cấu trúc dữ liệu của bạn

Khi bạn lưu trữ hoặc xem dữ liệu bằng ứng dụng của mình, một phần quan trọng của thiết kế là cấu trúc dữ liệu. Đừng chỉ cân nhắc cách thức sử dụng dữ liệu trong một ứng dụng hoặc màn hình cụ thể, mà hãy nghĩ đến cả cách thức người khác sẽ sử dụng dữ liệu nữa. Khi tham khảo lại các vị trí, nhiệm vụ, quy trình công việc và mục tiêu của mình, bạn sẽ xác định được dữ liệu nào cần lưu trữ và cách cấu trúc dữ liệu đó.

Mẹo

Mặc dù bài viết này được soạn cho cơ sở dữ liệu Access, nhưng đây là một bài viết về kiến thức thiết kế dữ liệu cơ bản và chứa thông tin thảo luận chung khá hay về các nguyên tắc lập mô hình dữ liệu: Kiến thức cơ bản về thiết kế dữ liệu.

Ta hãy lấy báo cáo chi phí sau đây làm ví dụ.

Ví dụ về báo cáo chi phí.

Bạn thấy phần chính của báo cáo chi phí có chứa tên nhân viên và thông tin chi tiết về bộ phận. Bên dưới phần chính, bạn thấy nhiều hàng mô tả cho mỗi mục đã mua. Ta hãy gọi chúng là các mục mô tả. Các mục mô tả có cấu trúc khác với phần chính của báo cáo chi phí. Vậy, ta có thể nói rằng mỗi báo cáo chi phí đều có nhiều mục mô tả.

Để lưu trữ loại dữ liệu này vào cơ sở dữ liệu, ta cần lập mô hình cấu trúc dữ liệu trong thiết kế cơ sở dữ liệu.

Cấu trúc dữ liệu một đến nhiều (1:N)

Đây là loại cấu trúc dữ liệu được mô tả trong ví dụ trước. Phần chính của báo cáo chi phí được liên kết với nhiều mục mô tả. (Bạn cũng có thể nhìn mối quan hệ này từ góc độ của mục mô tả: nhiều mục mô tả đến một báo cáo chi phí (N:1).)

Cấu trúc dữ liệu nhiều đến nhiều (N:N)

Cấu trúc dữ liệu nhiều đến nhiều là một loại đặc biệt. Loại này là dành cho các trường hợp nhiều bản ghi có thể được liên kết với nhiều bộ bản ghi khác. Một ví dụ điển hình là mạng lưới đối tác kinh doanh của bạn. Bạn làm việc với nhiều đối tác kinh doanh (khách hàng và nhà cung cấp) và những đối tác kinh doanh đó cũng làm việc với nhiều đồng nghiệp của bạn.

Nhiều người được kết nối bằng các đường.

Ví dụ về lập mô hình dữ liệu

Có nhiều dạng lập mô hình có thể xuất hiện trong một hệ thống. Ta hãy xem xét một số ví dụ.

Ví dụ 1: Yêu cầu phê duyệt thời gian nghỉ

Ví dụ về cấu trúc dữ liệu của yêu cầu phê duyệt thời gian nghỉ.

Trong ví dụ đơn giản này, có hai bộ dữ liệu. Một bộ là dữ liệu nhân viên, bộ kia là dữ liệu yêu cầu thời gian nghỉ. Vì mỗi nhân viên sẽ gửi nhiều yêu cầu, nên mối quan hệ ở đây là một đến nhiều, trong đó, "một" là nhân viên và "nhiều" là các yêu cầu. Dữ liệu nhân viên và dữ liệu yêu cầu thời gian nghỉ có liên quan với nhau bằng cách lấy số hiệu nhân viên làm trường chung (còn được gọi là khóa).

Ví dụ 2: Phê duyệt mua hàng

Ví dụ về cấu trúc dữ liệu của yêu cầu phê duyệt mua hàng.

Ở đây, cấu trúc dữ liệu trông khá phực tạp nhưng rất giống với ví dụ về báo cáo chi phí đã được thảo luận ở đầu bài viết này. Mỗi nhà cung cấp hoặc bên cung ứng được liên kết với nhiều đơn đặt hàng. Mỗi nhân viên phụ trách nhiều đơn đặt hàng. Do đó, cả hai bộ dữ liệu này đều có cấu trúc dữ liệu một đến nhiều.

Bởi vì không phải lúc nào các nhân viên cũng sử dụng cùng một nhà cung cấp hoặc bên cung ứng, nên một nhà cung cấp có thể làm việc với nhiều nhân viên và mỗi nhân viên có thể làm việc với nhiều nhà cung cấp. Do đó, mối quan hệ giữa nhân viên và nhà cung cấp là nhiều đến nhiều.

Ví dụ 3: Báo cáo chi phí

Ví dụ về cấu trúc dữ liệu báo cáo chi phí.

Lưu ý

Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)

Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).