Lần đầu mở Microsoft Access 2010 và nhìn thấy cả đống bảng (table), mình đã từng nghĩ: “Ừ thì nhập dữ liệu thôi mà, cần gì phức tạp.” Nhưng rồi đến lúc phải truy vấn, lọc dữ liệu, in báo cáo… mọi thứ bắt đầu lộn xộn. Trùng lặp. Sai lệch. Khó kiểm soát.

Lúc đó mới hiểu một điều: nếu không tạo mối quan hệ (Relationships) giữa các bảng ngay từ đầu, thì về sau sửa mệt lắm.

Access không giống Excel. Excel cho bạn nhập thoải mái. Access thì khác. Nó cần cấu trúc. Và “Relationships” chính là phần xương sống của hệ thống dữ liệu.

Nghe hơi to tát đúng không? Nhưng thật ra làm không khó đâu.

Mối quan hệ trong Access là gì?

Hiểu đơn giản, Relationship là cách bạn liên kết các bảng với nhau thông qua các trường chung.

Ví dụ:
Bạn có bảng KhachHang và bảng DonHang.

  • Bảng KhachHang có trường: MaKhachHang (Primary Key)

  • Bảng DonHang cũng có trường: MaKhachHang

Khi bạn tạo relationship giữa hai bảng dựa trên MaKhachHang, bạn đang nói với Access rằng: mỗi đơn hàng phải thuộc về một khách hàng.

Nghe hợp lý quá còn gì.

Không có relationship, Access không biết hai bảng này có liên quan. Và bạn thì phải tự xử lý bằng tay. Khá mệt.

Cách Tạo Mối Quan Hệ (Relationships) Trong Access 2010 4

Các loại mối quan hệ phổ biến

Trong Access 2010, thường gặp nhất là:

  1. One-to-Many (Một – Nhiều)

  2. One-to-One (Một – Một)

  3. Many-to-Many (Nhiều – Nhiều, cần bảng trung gian)

Ví dụ One-to-Many là phổ biến nhất. Một khách hàng có thể có nhiều đơn hàng. Nhưng một đơn hàng chỉ thuộc về một khách hàng.

Đó chính là logic cơ bản của database quan hệ.

Nếu bạn từng thấy sơ đồ có các đường nối giữa bảng với ký hiệu “1” và “∞”, thì đó chính là biểu diễn của relationship.

Cách tạo Relationship trong Access 2010

Giờ vào phần thực hành nhé.

Bước 1: Chuẩn bị Primary Key

Trước khi tạo relationship, mỗi bảng nên có Primary Key. Đây là trường duy nhất, không trùng lặp.

Ví dụ:

  • KhachHang → MaKhachHang (Primary Key)

  • DonHang → MaDonHang (Primary Key)

Trường MaKhachHang trong bảng DonHang sẽ đóng vai trò Foreign Key.

Nếu chưa có Primary Key, bạn cần vào Design View của bảng và thiết lập trước.

Đừng bỏ qua bước này. Nếu không, tạo relationship sẽ lỗi đấy.

Cách Tạo Mối Quan Hệ (Relationships) Trong Access 2010 5

Bước 2: Mở cửa sổ Relationships

  1. Mở database trong Access 2010

  2. Vào tab “Database Tools”

  3. Nhấn “Relationships”

Một cửa sổ mới hiện ra. Nếu chưa có bảng nào, bạn chọn “Show Table” và thêm các bảng cần liên kết.

Nhìn sơ đồ này ban đầu hơi rối. Nhưng quen rồi sẽ thấy khá trực quan.

Bước 3: Kéo – Thả để tạo liên kết

Đây là phần thú vị nhất.

  • Nhấp chuột vào trường Primary Key ở bảng chính

  • Kéo sang trường tương ứng ở bảng phụ

  • Thả chuột

Hộp thoại “Edit Relationships” sẽ xuất hiện.

Tại đây, bạn nên tick chọn:

  • Enforce Referential Integrity

  • Cascade Update Related Fields (nếu cần)

  • Cascade Delete Related Records (cân nhắc kỹ)

Rồi nhấn Create.

Vậy là xong.

Một đường nối xuất hiện giữa hai bảng. Có ký hiệu 1 và ∞. Nhìn khá đã mắt.

Cách Tạo Mối Quan Hệ (Relationships) Trong Access 2010 6

Enforce Referential Integrity là gì?

Đây là phần quan trọng mà nhiều người bỏ qua.

Khi bạn chọn Enforce Referential Integrity, bạn đang yêu cầu Access đảm bảo rằng:

  • Không thể tạo đơn hàng nếu MaKhachHang không tồn tại

  • Không thể xóa khách hàng nếu còn đơn hàng liên quan (trừ khi bật Cascade Delete)

Nói cách khác, nó giúp dữ liệu không bị “mồ côi”.

Nếu không bật tính năng này, bạn có thể vô tình tạo ra dữ liệu sai lệch mà không biết.

Khi nào nên dùng Cascade Update và Cascade Delete?

  • Cascade Update: Nếu thay đổi mã khách hàng ở bảng chính, Access sẽ tự cập nhật ở bảng phụ.

  • Cascade Delete: Nếu xóa khách hàng, tất cả đơn hàng liên quan cũng bị xóa theo.

Cascade Delete nghe tiện, nhưng cần cẩn thận. Xóa nhầm là mất dữ liệu hàng loạt.

Tốt nhất chỉ dùng khi bạn hiểu rõ cấu trúc hệ thống.

Relationship giúp ích gì trong thực tế?

Rất nhiều.

  • Truy vấn (Query) dễ hơn

  • Báo cáo (Report) chính xác hơn

  • Tránh trùng lặp dữ liệu

  • Giảm lỗi nhập liệu

Ví dụ khi tạo Query kết hợp KhachHang và DonHang, Access sẽ tự hiểu cách nối bảng dựa trên relationship đã tạo. Bạn không cần viết điều kiện Join phức tạp.

Tiết kiệm thời gian đáng kể.

Một vài lỗi thường gặp

  1. Không đặt Primary Key trước khi tạo relationship.

  2. Nối sai kiểu dữ liệu (Text với Number).

  3. Không bật Referential Integrity.

  4. Tạo relationship vòng lặp phức tạp.

Nếu thấy Access báo lỗi khi tạo liên kết, hãy kiểm tra:

  • Hai trường có cùng kiểu dữ liệu không?

  • Có dữ liệu trùng hoặc sai không?

Chỉ cần chỉnh lại là ổn.

Rate this post