Hướng dẫn dành cho quan hệ bảng

Hướng dẫn dành cho quan hệ bảng

Lưu ý: Chúng tôi muốn cung cấp cho bạn nội dung trợ giúp mới nhất ở chính ngôn ngữ của bạn, nhanh nhất có thể. Trang này được dịch tự động nên có thể chứa các lỗi về ngữ pháp hoặc nội dung không chính xác. Mục đích của chúng tôi là khiến nội dung này trở nên hữu ích với bạn. Vui lòng cho chúng tôi biết ở cuối trang này rằng thông tin có hữu ích với bạn không? Dưới đây là bài viết bằng Tiếng Anh để bạn tham khảo dễ hơn.

Một trong các mục tiêu của việc thiết kế cơ sở dữ liệu tốt là phải loại bỏ được dữ liệu thừa (dữ liệu trùng lặp). Để đạt được mục tiêu này, bạn hãy chia dữ liệu thành nhiều bảng theo chủ đề để mỗi sự kiện chỉ được thể hiện một lần. Sau đó bạn cung cấp cách thức để Access tổng hợp các thông tin đã chia lại với nhau  — bạn thực hiện thao tác này bằng cách đặt các trường chung vào trong các bảng liên quan. Tuy vậy, để thực hiện đúng bước này, bạn phải hiểu các mối quan hệ giữa các bảng, rồi sau đó xác định các mối quan hệ này trong cơ sở dữ liệu của bạn.

Trong bài viết này

Giới thiệu

Loại mối quan hệ bảng

Tại sao phải tạo mối quan hệ bảng?

Hiểu tính toàn vẹn tham chiếu

Xem mối quan hệ bảng

Tạo mối quan hệ bảng

Xóa bỏ mối quan hệ bảng

Thay đổi mối quan hệ bảng

Thực thi tính toàn vẹn tham chiếu

Giới thiệu

Sau khi bạn đã tạo xong một bảng cho từng chủ đề trong cơ sở dữ liệu của bạn, bạn phải đưa ra cách để Access tổng hợp các thông tin đó lại khi cần thiết. Bạn thực hiện điều này bằng cách đặt các trường chung vào các có liên quan và bằng cách xác định các mối quan hệ giữa các bảng. Sau đó bạn có thể tạo các truy vấn, biểu mẫu và báo cáo sẽ cùng hiển thị thông tin từ một số bảng. Ví dụ: biểu mẫu hiện ở đây bao gồm các thông tin được lấy từ một vài bảng:

Biểu mẫu Đơn hàng hiển thị đồng thời thông tin liên quan từ năm bảng

1. Các thông tin trong biểu mẫu này được lấy từ bảng Khách hàng...

2. ...bảng Đơn hàng...

3. ...bảng Sản phẩm...

4. ...và bảng Chi tiết Đơn hàng.

Tên khách hàng trong hộp Hóa đơn tới được truy xuất từ bảng Khách hàng, ID Đơn hàng và các giá trị Ngày Đơn hàng được lấy từ bảng Đơn hàng, tên Sản phẩm được lấy từ bảng Sản phẩm và các giá trị Giá Đơn vị và Số lượng được lấy từ bảng Chi tiết Đơn hàng. Các bảng này được nối kết với nhau theo nhiều cách để thu thập các thông tin từ mỗi bảng vào trong biểu mẫu.

Trong ví dụ trước, các trường trong các bảng phải được phối hợp để thể hiện các thông tin về cùng một đơn hàng. Thực hiện việc phối hợp này bằng cách dùng các mối quan hệ bảng. Mối quan hệ bảng hoạt động bằng cách khớp dữ liệu trong các trường khóa — thường là một trường có cùng tên trong cả hai bảng. Trong hầu hết các trường hợp, các trường khớp này đều là khóa chính từ một bảng, bảng này sẽ cung cấp một mã định danh duy nhất cho từng bản ghi và khóa ngoại trong bảng khác. Ví dụ: nhân viên có thể được kết hợp với các đơn hàng mà họ chịu trách nhiệm qua việc tạo ra một mối quan hệ bảng giữa các trường IDNhân viên trong các bảng Nhân viên và Đơn hàng.

ID_Nhân_viên được sử dụng dưới dạng khóa chính trong bảng Nhân viên và khóa ngoại trong bảng Đơn hàng.

1. IDNhân viên xuất hiện ở cả hai bảng — ở dạng khóa chính...

2. ... và ở dạng khóa ngoại.

Đầu Trang

Các kiểu quan hệ bảng

Có ba kiểu quan hệ bảng trong Access.

  • Mối quan hệ một đối nhiều

    Chúng ta hãy dùng cơ sở dữ liệu theo dõi đơn hàng chẳng hạn như bao gồm một bảng Khách hàng và một bảng Đơn hàng. Một khách hàng có thể đặt bất kỳ số lượng đơn hàng nào. Vì vậy, đối với mọi khách hàng được thể hiện trong bảng Khách hàng, có thể có nhiều đơn hàng được thể hiện trong bảng Đơn hàng. Mối quan hệ giữa bảng Khách hàng và bảng Đơn hàng là mối quan hệ một đối nhiều.

    Để thể hiện mối quan hệ một đối nhiều trong thiết kế cơ sở dữ liệu của bạn, lấy khóa chính ở phía "một" của mối quan hệ và thêm nó ở dạng một trường hay nhiều trường bổ sung vào bảng ở phía nhiều của mối quan hệ. Ví dụ: trong trường hợp này, bạn thêm vào một trường mới — trường ID từ bảng Khách hàng — vào bảng Đơn hàng và đặt tên nó là ID Khách hàng.Sau đó Access có thể dùng số ID khách hàng trong bảng Đơn hàng để định vị đúng khách hàng đối với từng đơn hàng.

  • Mối quan hệ nhiều đối nhiều

    Bây giờ chúng ta hãy xem mối quan hệ giữa bảng Sản phẩm và bảng Đơn hàng. Mỗi một đơn hàng có thể bao gồm nhiều hơn một sản phẩm. Mặt khác, mỗi một sản phẩm có thể xuất hiện trên nhiều đơn hàng. Vì vậy, đối với mỗi bản ghi trong bảng Đơn hàng, có thể có nhiều bản ghi trong bảng Sản phẩm. Thêm vào đó, đối với mỗi bản ghi trong bảng Sản phẩm, có thể có nhiều bản ghi trong bảng Đơn hàng. Mối quan hệ này được gọi là mối quan hệ nhiều đối nhiều. Lưu ý là để tìm ra các mối quan hệ nhiều đối nhiều đã có sẵn giữa các bảng của bạn, điều quan trọng là bạn hãy cân nhắc cả hai phía của mối quan hệ.

    Để thể hiện một mối quan hệ nhiều đối nhiều, bạn phải tạo ra một bảng thứ ba, bảng này sẽ tách mối quan hệ nhiều đối nhiều thành hai mối quan hệ một đối nhiều. Bạn hãy chèn khóa chính từ mỗi bảng trong hai bảng vào bảng thứ ba. Kết quả là bảng thứ ba sẽ ghi lại từng lần xuất hiện hay từng phiên bản của mối quan hệ. Ví dụ: bảng Đơn hàng và bảng Sản phẩm có mối quan hệ nhiều đối nhiều vốn được xác định bằng cách tạo ra hai mối quan hệ một đối nhiều đối với bảng Chi tiết Đơn hàng. Một đơn hàng có thể có nhiều sản phẩm và mỗi sản phẩm có thể xuất hiện trên nhiều đơn hàng.

  • Mối quan hệ một đối một

    Trong quan hệ một đối một, mỗi bản ghi trong bảng thứ nhất có thể chỉ có một bản ghi khớp với bảng thứ hai và mỗi bản ghi trong bảng thứ hai có thể chỉ có một bản ghi khớp với bản ghi thứ nhất. Mối quan hệ là không bình thường, vì phổ biến nhất đó là thông tin có liên quan theo cách này phải được lưu trong cùng một bảng. Bạn có thể dùng quan hệ một đối một để chia một bảng có nhiều trường, để tách một phần của bảng do các lý do bảo mật hoặc để lưu các thông tin chỉ áp dụng đối với một tập hợp con trong bảng chính. Khi bạn thực sự xác định được một mối quan hệ, thì cả hai bảng phải có một trường chung.

Đầu Trang

Tại sao phải tạo mối quan hệ bảng?

Bạn có thể tạo các mối quan hệ bảng một cách rõ ràng bằng cách dùng cửa sổ Mối quan hệ hoặc bằng cách kéo một trường từ ngăn Danh sách Trường. Access sẽ dùng mối quan hệ bảng để xác định cách nối các bảng khi bạn cần dùng chúng trong một đối tượng cơ sở dữ liệu. Có một số nguyên nhân giải thích tại sao bạn phải tạo các mối quan hệ bảng trước khi bạn tạo ra các đối tượng cơ sở dữ liệu khác như biểu mẫu, truy vấn và báo cáo.

  • Mối quan hệ bảng truyền dữ liệu cho các thiết kế truy vấn của bạn

    Để làm việc với các bản ghi có nhiều bảng, bạn thường phải tạo một truy vấn để nối các bảng. Truy vấn hoạt động bằng cách khớp các giá trị trong trường khóa chính trong bảng đầu với một trường khóa ngoạị ở bảng thứ hai. Ví dụ: để trả về các hàng theo đó sẽ liệt kê tất cả các đơn hàng cho từng khách hàng, bạn hãy dựng một truy vấn để nối bảng Khách hàng với bảng Đơn hàng dựa vào trường ID Khách hàng. Trong cửa sổ Mối quan hệ, bạn có thể xác định trường để nối một cách thủ công. Nhưng nếu bạn đã có một mối quan hệ đã xác định giữa các bảng, Access phải cung cấp đường nối mặc định, dựa trên mối quan hệ bảng đã có sẵn. Ngoài ra, nếu bạn dùng một trong số các trình hướng dẫn truy vấn, Access phải dùng thông tin nó thu thập được từ các mối quan hệ bảng bạn đã xác định để cung cấp các lựa chọn thông tin cập nhật cho bạn và để nhập trước thiết đặt thuộc tính cùng với các giá trị mặc định thích hợp.

  • Mối quan hệ bảng truyền dữ liệu cho các thiết kế biểu mẫu và báo cáo của bạn

    Khi bạn thiết kế một biểu mẫu hay một báo cáo, Access dùng thông tin nó thu thập được từ các mối quan hệ bảng bạn đã xác định để cung cấp các lựa chọn thông tin cập nhật cho bạn và để nhập trước thiết đặt thuộc tính cùng với các giá trị mặc định thích hợp.

  • Mối quan hệ bảng là nền tảng theo đó bạn có thể bắt buộc tính toàn vẹn tham chiếu để giúp ngăn các bản ghi mồ côi trong cơ sở dữ liệu của bạn. Bản ghi mồ côi là một bản ghi có tham chiếu tới một bản ghi không tồn tại — ví dụ: một bản ghi đơn hàng tham chiếu tới một bản ghi khách hàng không tồn tại.

    Khi bạn thiết kế một cơ sở dữ liệu, bạn hãy chia thông tin thành các bảng, mỗi bảng có một khóa chính. Sau đó bạn thêm các khóa ngoạị vào các bảng liên quan sẽ tham chiếu tới các khóa chính đó. Cặp khóa ngoại-khóa chính này sẽ tạo nền tảng cho các mối quan hệ bảng và các truy vấn đa bảng. Điều quan trọng là các tham chiếu của khóa ngoại-khóa chính này vẫn phải được đồng bộ hóa. Tính toàn vẹn tham chiếu, phụ thuộc vào các mối quan hệ bảng, sẽ giúp bảo đảm là các tham chiếu tiếp tục được đồng bộ hóa.

Đầu Trang

Hiểu tính toàn vẹn tham chiếu

Khi bạn thiết kế một cơ sở dữ liệu, bạn hãy chia thông tin cơ sở dữ liệu thành nhiều bảng theo chủ đề để giảm thiểu việc dư thừa dữ liệu. Sau đó bạn hãy đưa ra cách để Access hợp dữ liệu lại bằng cách đặt các trường chung vào các bảng liên quan. Ví dụ: để thể hiện quan hệ một đối nhiều bạn hãy lấy một khóa chính từ bảng "một" và thêm nó ở dạng một trường bổ sung vào bảng "nhiều". Để hợp dữ liệu lại với nhau, Access sẽ lấy giá trị trong bảng "nhiều" và tra cứu giá trị tương ứng trong bảng "một". Bằng cách này các giá trị trong bảng "nhiều" sẽ tham chiếu các giá trị tương ứng trong bảng "một".

Giả sử bạn có quan hệ một đối nhiều giữa bảng Công ty Vận tải Hàng hải và Đơn hàng và bạn muốn xóa bỏ một Công ty Vận tải Hàng hải. Nếu công ty vận tải hàng hải bạn muốn xóa bỏ có các đơn hàng trong bảng Đơn hàng, thì các đơn hàng đó sẽ trở thành "mồ côi" khi bạn xóa bỏ bản ghi của Công ty Vận tải Hàng hải đó. Các đơn hàng vẫn sẽ chứa ID của công ty vận tải hàng hải, nhưng ID đó sẽ không còn hợp lệ, vì bảng ghi nó tham chiếu tới không còn tồn tại nữa.

Mục đích của tính toàn vẹn tham chiếu là phải ngăn được các dòng mồ côi và giữ các tham chiếu trong tình trạng đồng bộ hóa để tình huống giả định này không xảy ra.

Bạn hãy bắt buộc tính toàn vẹn tham chiếu bằng cách tạo ra cho nó một mối quan hệ bảng (xem Bắt buộc tính toàn vẹn tham chiếu để được hướng dẫn từng bước). Khi đã bắt buộc tính toàn vẹn tham chiếu, Access sẽ từ chối bất cứ thao tác nào vi phạm tính toàn vẹn tham chiếu đối với mối quan hệ bảng đó. Điều này có nghĩa là Access sẽ từ chối cả cập nhật làm thay đổi đích của tham chiếu lẫn những xóa bỏ nhằm loại bỏ đích của tham chiếu. Có thể là bạn có một nhu cầu hoàn toàn hợp lý để thay đổi khóa chính đối với một công ty vận tải hàng hải có các đơn hàng trong bảng Đơn hàng. Trong trường hợp này, những gì bạn cần là để cho Access tự động cập nhật tất cả các hàng bị ảnh hưởng như là một phần của từng thao tác. Bằng cách đó, Access sẽ bảo đảm là cập nhật được hoàn thành đầy đủ để cơ sở dữ liệu của bạn không bị rơi vào trạng thái không nhất quán, với một số hàng thì được cập nhật và một số thì không. Vì lý do này Access sẽ hỗ trợ cho tùy chọn Cập nhật Xếp tầng Trường Liên quan. Khi bạn bắt buộc tính toàn vẹn tham chiếu và chọn tùy chọn Cập nhật Xếp tầng Trường Liên quan và sau đó cập nhật một khóa chính, Access sẽ tự động cập nhật tất cả các trường tham chiếu khóa chính.

Có thể bạn có một nhu cầu hợp lý để xóa bỏ một hàng và tất cả bản ghi liên quan — ví dụ, một bản ghi Công ty Vận tải Hàng hải và tất cả các đơn hàng liên quan cho công ty vận tải hàng hải đó. Vì lý do này, Access hỗ trợ tùy chọn Xóa Xếp tầng Bản ghi Liên quan. Khi bạn buộc tính toàn vẹn tham chiếu và chọn tùy chọn Xóa Xếp tầng Bản ghi Liên quan và sau đó xóa bỏ một bản ghi ở phía khóa chính của mối quan hệ, Access sẽ tự động xóa bỏ tất cả các bản ghi tham chiếu khóa chính.

Đầu Trang

Xem mối quan hệ bảng

Để xem mối quan hệ bảng, hãy bấm Mối quan hệ trên tab Công cụ Cơ sở dữ liệu. Cửa sổ Mối quan hệ sẽ mở và hiển thị mọi mối quan hệ có sẵn. Nếu chưa có mối quan hệ bảng nào được xác định và bạn đang mở cửa sổ Mối quan hệ lần đầu tiên, Access sẽ nhắc bạn thêm bảng hoặc truy vấn vào cửa sổ này.

Mở cửa sổ Mối quan hệ

  1. Bấm Tệp, rồi bấm Mở.

  2. Chọn và mở cơ sở dữ liệu.

  3. Trên tab Công cụ Cơ sở dữ liệu, trong nhóm Mối quan hệ, bấm Mối quan hệ.

    Nếu cơ sở dữ liệu có chứa các mối quan hệ, thì cửa sổ Mối quan hệ sẽ xuất hiện. Nếu cơ sở dữ liệu không chứa bất kỳ mối quan hệ nào và bạn đang mở cửa sổ Mối quan hệ lần đầu, thì hộp thoại Hiện Bảng sẽ xuất hiện. Bấm Đóng để đóng hộp thoại.

  4. Trên tab Thiết kế, trong nhóm Mối quan hệ, hãy bấm Tất cả Quan hệ.

    Thao tác này sẽ hiển thị tất cả các mối quan hệ đã xác định trong cơ sở dữ liệu của bạn. Xin lưu ý là các bảng ẩn (bảng có hộp kiểm Ẩn trong hộp thoại Thuộc tính của bảng được chọn) và các mối quan hệ của chúng sẽ không được thể hiện trừ khi bạn chọn hộp kiểm Hiện Đối tượng Ẩn trong hộp thoại Tùy chọn Dẫn hướng.

Một quan hệ bảng được thể hiện bởi một đường quan hệ nối giữa hai bảng trong cửa sổ Quan hệ. Một mối quan hệ không buộc tính toàn vẹn tham chiếu sẽ xuất hiện ở dạng một đường mảnh giữa các trường chung để hỗ trợ cho mối quan hệ. Khi bạn chọn mối quan hệ bằng cách bấm vào đường quan hệ, thì đường này sẽ dày lên để biểu thị là nó được chọn. Nếu bạn bắt buộc tính toàn vẹn tham chiếu cho mối quan hệ này, thì đường này sẽ hiện dày hơn ở mỗi đầu. Ngoài ra, số 1 sẽ xuất hiện trên phần dày của đường ở một phía của mối quan hệ và biểu tượng vô cực () sẽ xuất hiện ở phần dày của đường ở phía kia.

Khi cửa sổ Mối quan hệ được kích hoạt, bạn có thể chọn các lệnh sau đây trên ruy-băng:

Trên tab Thiết kế, trong nhóm Công cụ:

  • Sửa Mối quan hệ    Mở hộp thoại Sửa Mối quan hệ. Khi bạn chọn một đường quan hệ, bạn có thể bấm Sửa Mối quan hệ để thay đổi quan hệ bảng. Bạn cũng có thể bấm đúp vào đường quan hệ.

  • Xóa Bố trí    Loại bỏ sự hiển thị của tất cả các bảng và mối quan hệ trong cửa sổ Mối quan hệ. Lưu ý là lệnh này chỉ ẩn được các bảng và các mối quan hệ — nó không xóa bỏ được chúng.

  • Báo cáo Mối quan hệ    Tạo ra một báo cáo mà sẽ hiển thị các bảng và các mối quan hệ trong cơ sở dữ liệu của bạn. Báo cáo sẽ chỉ hiện các bảng và các quan hệ không bị ẩn trong cửa sổ Mối quan hệ.

Trên tab Thiết kế, trong nhóm Mối quan hệ:

  • Hiển thị Bảng    Mở hộp thoại Hiển thị Bảng để bạn có thể chọn các bảng và các truy vấn để xem trong cửa sổ Quan hệ.

  • Ẩn Bảng    Ẩn các bảng đã chọn trong cửa sổ Mối quan hệ.

  • Quan hệ Trực tiếp    Hiển thị tất cả các quan hệ và các bảng liên quan đối với bảng đã chọn trong cửa sổ Quan hệ, nếu chúng chưa được hiển thị.

  • Tất cả các Quan hệ    Hiển thị tất cả các mối quan hệ và bảng liên quan trong cơ sở dữ liệu trong cửa sổ Mối quan hệ. Lưu ý là sẽ không hiện được các bảng ẩn (các bảng có hộp kiểm Ẩn được chọn ở trong hộp thoại Thuộc tính của bảng) cũng như mối quan hệ của chúng trừ khi bạn chọn Hiện Đối tượng Ẩn trong hộp thoại Tùy chọn Dẫn hướng.

  • Đóng    Đóng cửa sổ Mối quan hệ. Nếu bạn đã thực hiện bất kỳ thay đổi nào đối với bố trí của cửa sổ Mối quan hệ, thì bạn sẽ được yêu cầu là bạn có muốn lưu các thay đổi đó hay không.

Đầu Trang

Tạo mối quan hệ bảng

Bạn có thể tạo các mối quan hệ bảng bằng cách dùng cửa sổ Mối quan hệ hoặc bằng cách kéo một trường từ ngăn Danh sách Trường lên một biểu dữ liệu. Khi bạn tạo mối quan hệ giữa các bảng, trường chung không bắt buộc phải có tên giống nhau mặc dù bình thường vẫn yêu cầu như vậy. Đúng hơn là, các trường đó phải có cùng kiểu dữ liệu. Tuy nhiên, nếu trường khóa chính là một trường Tự động Đánh số, trường khóa ngoại cũng có thể là một trường Số nếu thuộc tính Kích cỡ Trường của cả hai trường giống nhau. Ví dụ: Bạn có thể khớp trường Tự động Đánh số và một trường Số nếu thuộc tính Kích thước Trường của cả hai trường là Số nguyên Dài. Khi cả hai trường chung đều là trường Số, chúng phải có cùng một thiết đặt thuộc tính Kích thước Trường.

Tạo một mối quan hệ bảng bằng cách dùng cửa sổ Quan hệ

  1. Bấm Tệp, rồi bấm Mở.

  2. Chọn và mở cơ sở dữ liệu.

  3. Trên tab Công cụ Cơ sở dữ liệu, trong nhóm Quan hệ, bấm Quan hệ.

  4. Nếu bạn vẫn chưa xác định được mối quan hệ nào, hộp thoại Hiện Bảng sẽ tự động xuất hiện. Nếu hộp thoại không xuất hiện, trên tab Thiết kế, trong nhóm Quan hệ, hãy bấm Hiện Bảng.

    Hộp thoại Hiện Bảng hiển thị tất cả bảng và truy vấn trong cơ sở dữ liệu. Để chỉ xem bảng, hãy bấm Bảng. Để chỉ xem truy vấn, hãy bấm Truy vấn. Để xem cả bảng lẫn truy vấn, hãy bấm Cả hai.

  5. Chọn một hoặc nhiều bảng hoặc truy vấn rồi bấm Thêm. Khi kết thúc việc thêm bảng và truy vấn vào cửa sổ Mối quan hệ, bạn hãy bấm Đóng.

  6. Kéo một trường (thường là khóa chính) từ một bảng sang trường chung (khóa ngoại) trong bảng khác. Để kéo nhiều trường, hãy nhấn phím CTRL, bấm vào mỗi trường rồi kéo chúng.

    Hộp thoại Sửa Quan hệ xuất hiện.

  7. Xác nhận rằng tên trường đã hiện là trường chung cho mối quan hệ. Nếu có một tên trường không chính xác, hãy bấm vào tên trường và chọn một trường mới từ danh sách.

    Để bắt buộc tính toàn vẹn tham chiếu cho mối quan hệ này, hãy chọn hộp kiểm Bắt buộc Tính toàn vẹn Tham chiếu. Để biết thêm thông tin về tính toàn vẹn tham chiếu, vui lòng xem phần Tìm hiểu Tính toàn vẹn tham chiếu và Bắt buộc Tính toàn vẹn tham chiếu.

  8. Bấm Tạo.

    Đường quan hệ được kẻ giữa hai bảng. Nếu bạn đã chọn hộp kiểm Bắt buộc Tính toàn vẹn Tham chiếu, thì đường quan hệ đó sẽ xuất hiện đậm hơn ở mỗi đầu. Ngoài ra, khi bạn đã chọn hộp kiểm Bắt buộc Tính toàn vẹn tham chiếu, thì số 1 sẽ xuất hiện trở lại trên phần đậm của đường ở một phía của mối quan hệ và biểu tượng vô cực () sẽ xuất hiện ở phần đậm của đường ở bên kia.

    Lưu ý: 

    • Để tạo một mối quan hệ một đối một    Cả hai trường chung (thường là trường khóa chính và khóa ngoại) phải có một chỉ mục duy nhất. Điều này có nghĩa là thuộc tính Đã lập chỉ mục cho những trường này phải được đặt là Có (Không Mục trùng nhau). Nếu cả hai trường đều có một chỉ mục duy nhất, Access sẽ tạo ra mối quan hệ một đối một.

    • Để tạo mối quan hệ một-nhiều    Trường ở phía "một" (thường là khóa chính) của mối quan hệ phải có một chỉ mục duy nhất. Điều này có nghĩa là thuộc tính Đã lập chỉ mục cho trường này phải đươc đặt là Có (Không Mục trùng lặp). Trường ở phía "nhiều" không cần phải có một chỉ mục duy nhất. Trường ở phía "nhiều" có thể có một chỉ mục, nhưng nó phải cho phép mục trùng lặp. Điều này có nghĩa là thuộc tính Đã lập chỉ mục cho trường này nên được đặt là Không hoặc là Có (Được phép Trùng nhau). Khi một trường có một chỉ mục duy nhất mà trường khác không có, Access sẽ tạo ra mối quan hệ một đối nhiều.

Tạo ra một quan hệ bảng bằng cách dùng ngăn Danh sách Trường

Bạn có thể thêm trường vào bảng hiện có đang mở trong dạng xem Biểu dữ liệu bằng cách kéo nó từ ngăn Danh sách Trường . Ngăn Danh sách Trường sẽ hiện trường sẵn dùng trong bảng có liên quan và cả trường sẵn dùng trong các bảng khác. Khi bạn kéo một trường từ một bảng (không liên quan) "khác" rồi hoàn thành Trình hướng dẫn Tra cứu, một mối quan hệ một-nhiều mới sẽ tự động được tạo ra giữa bảng trong ngăn Danh sách Trường và bảng mà từ đó bạn đã kéo trường. Theo mặc định, mối quan hệ này do Access tạo ra, không buộc tính toàn vẹn tham chiếu. Để bắt buộc tính toàn vẹn tham chiếu, bạn phải sửa mối quan hệ. Hãy xem phần Thay đổi mối quan hệ bảng để biết thêm thông tin.

Mở bảng trong dạng xem Biểu dữ liệu

  1. Trên tab Tệp, hãy bấm Mở.

  2. Trong hộp thoại Mở, hãy chọn rồi mở cơ sở dữ liệu.

  3. Trong Ngăn Dẫn hướng, hãy bấm chuột phải vào bảng bạn muốn thêm trường và tạo mối quan hệ, rồi bấm Mở.

Mở ngăn Danh sách Trường

  • Nhấn phím ALT+F8.

    Ngăn Danh sách Trường sẽ xuất hiện

Ngăn Danh sách Trường hiện tất cả các bảng khác trong cơ sở dữ liệu của bạn, được nhóm thành các thể loại. Khi bạn làm việc với một bảng ở dạng xem Biểu dữ liệu, Access sẽ hiển thị các trường ở một trong hai thể loại trong ngăn Danh sách Trường: Trường sẵn dùng trong bảng liên quanTrường sẵn dùng trong bảng khác. Thể loại đầu tiên sẽ liệt kê tất cả các bảng có mối quan hệ với bảng mà hiện tại bạn đang dùng. Thể loại thứ hai liệt kê tất cả các bảng mà bảng của bạn không có quan hệ.

Trong ngăn Danh sách Trường, khi ban bấm vào dấu cộng (+) bên cạnh tên bảng, bạn sẽ nhìn thấy danh sách của tất cả các trường sẵn dùng trong bảng đó. Để thêm trường vào bảng của bạn, hãy kéo trường mà bạn muốn từ ngăn Danh sách Trường sang bảng trong dạng xem Biểu dữ liệu.

Thêm trường và tạo mối quan hệ từ ngăn Danh sách Trường

  1. Trong ngăn Danh sách Trường, bên dưới Trường sẵn dùng trong các bảng khác, hãy bấm dấu cộng (+) gần tên bảng để hiển thị danh sách các trường trong bảng đó.

  2. Kéo trường mà bạn muốn từ ngăn Danh sách Trường tới bảng đang mở trong dạng xem Biểu dữ liệu.

  3. Khi đường chèn xuất hiện, hãy thả trường vào vị trí.

    Trình hướng dẫn Tra cứu khởi động.

  4. Làm theo hướng dẫn để hoàn thành Trình hướng dẫn Tra cứu.

    Trường xuất hiện trong bảng ở dạng xem Biểu dữ liệu.

Khi bạn kéo một trường từ một bảng (không liên quan) "khác" rồi hoàn thành Trình hướng dẫn Tra cứu, một mối quan hệ một-nhiều mới sẽ tự động được tạo ra giữa các bảng trong Danh sách Trường và bảng mà từ đó bạn đã kéo trường. Theo mặc định, mối quan hệ này do Access tạo ra, không buộc tính toàn vẹn tham chiếu. Để bắt buộc tính toàn vẹn tham chiếu, bạn phải sửa mối quan hệ. Hãy xem phần Thay đổi mối quan hệ bảng để biết thêm thông tin.

Đầu Trang

Xóa bỏ mối quan hệ bảng

Để loại bỏ mối quan hệ bảng, bạn phải xóa bỏ đường quan hệ trong cửa sổ Quan hệ. Cẩn thận định vị con trỏ sao cho nó trỏ đến đường quan hệ và sau đó bấm vào đường. Đường quan hệ sẽ trông dày hơn khi được chọn. Với đường quan hệ đã chọn, hãy bấm phím XÓA BỎ. Lưu ý là Khi bạn loại bỏ mối quan hệ, bạn cũng loại bỏ hỗ trợ tính toàn vẹn tham chiếu cho mối quan hệ đó nếu nó được bật. Kết quả là, Access sẽ không còn tự động ngăn được việc tạo ra các bản ghi mồ côi ở phía "nhiều" của mối quan hệ.

  1. Trên tab Công cụ Cơ sở dữ liệu, trong nhóm Mối quan hệ, hãy bấm Mối quan hệ.

    Cửa sổ Mối quan hệ sẽ xuất hiện. Nếu bạn chưa xác định được mối quan hệ nào và đây là lần đầu tiên bạn mở cửa sổ Quan hệ, hộp thoại Hiện Bảng sẽ xuất hiện. Nếu hộp thoại xuất hiện, bấm Đóng.

  2. Trên tab Thiết kế, trong nhóm Mối quan hệ, hãy bấm Tất cả Quan hệ.

    Tất cả các bảng có các mối quan hệ sẽ được hiển thị, hiện ra các đường quan hệ.

  3. Bấm vào đường quan hệ của mối quan hệ mà bạn muốn xóa bỏ. Đường quan hệ sẽ trông dày hơn khi được chọn.

  4. Nhấn phím XÓA BỎ.

    –hoặc–

Bấm chuột phải rồi sau đó bấm Xóa bỏ.

  • Access có thể hiện thị thông báo Bạn có chắc muốn xóa hẳn quan hệ đã chọn khỏi cơ sở dữ liệu không?. Nếu thông báo xác nhận này xuất hiện, hãy bấm Có.

Lưu ý: Nếu một trong hai bảng đang được dùng trong mối quan hệ bảng, có thể do một người khác hoặc tiến trình khác dùng hoặc trong một đối tượng cơ sở dữ liệu mở (chẳng hạn một biểu mẫu), bạn sẽ không thể xóa bỏ mối quan hệ đó. Trước tiên bạn phải đóng bất cứ đối tượng mở nào dùng những bảng này trước khi bạn có thể loại bỏ mối quan hệ.

Đầu Trang

Thay đổi mối quan hệ bảng

Bạn hãy thay đổi mối quan hệ bảng bằng cách chọn nó trong cửa sổ Quan hệ rồi sửa. Cẩn thận đặt vị trí con trỏ sao cho nó trỏ đến đường quan hệ và sau đó bấm vào đường này để chọn nó. Đường quan hệ sẽ trông dày hơn khi được chọn. Với đường quan hệ được chọn, hãy bấm đúp chuột hoặc bấm Sửa Mối quan hệ trong nhóm Công cụ trên tab Thiết kế. Hộp thoại Sửa Quan hệ xuất hiện.

Hãy thực hiện các thay đổi của bạn trong hộp thoại Sửa Quan hệ

  1. Trên tab Công cụ Cơ sở dữ liệu, trong nhóm Mối quan hệ, hãy bấm Mối quan hệ.

    Cửa sổ Mối quan hệ sẽ xuất hiện. Nếu bạn chưa xác định được mối quan hệ nào và đây là lần đầu tiên bạn mở cửa sổ Quan hệ, hộp thoại Hiện Bảng sẽ xuất hiện. Nếu hộp thoại xuất hiện, bấm Đóng.

  2. Trên tab Thiết kế, trong nhóm Mối quan hệ, hãy bấm Tất cả Quan hệ.

    Tất cả các bảng có các mối quan hệ sẽ được hiển thị, hiện ra các đường quan hệ.

  3. Bấm vào đường quan hệ của mối quan hệ bạn muốn thay đổi. Đường quan hệ sẽ trông dày hơn khi được chọn.

  4. Bấm đúp vào đường quan hệ.

  5. Thực hiện thay đổi rồi bấm OK.

    Hộp thoại Sửa Quan hệ cho phép bạn thay đổi mối quan hệ bảng. Cụ thể là, bạn có thể thay đổi bảng hoặc truy vấn ở cả hai bên của mối quan hệ hoặc thay đổi trường ở cả hai bên. Bạn cũng có thể đặt kiểu nối hoặc bắt buộc tính toàn vẹn tham chiếu và chọn một tùy chọn xếp tầng. Để biết thêm thông tin về kiểu nối và cách đặt kiểu này, hãy xem phần Đặt kiểu nối. Để biết thêm thông tin về cách bắt buộc tính toàn vẹn tham chiếu và chọn một tùy chọn xếp tầng, hãy xem phần Bắt buộc tính toàn vẹn tham chiếu.

Đặt kiểu nối

Khi bạn xác định một mối quan hệ bảng, thông tin về mối quan hệ thông báo thiết kế truy vấn của bạn. Ví dụ: Nếu bạn xác định một mối quan hệ giữa hai bảng và sau đó tạo ra một truy vấn dùng các bảng đó, thì Access sẽ tự động chọn các trường khớp nhau mặc định dựa trên các trường đã xác định trong mối quan hệ. Bạn có thể ghi đè những giá trị mặc định ban đầu này trong truy vấn của bạn nhưng những giá trị do mối quan hệ cung cấp thường chứng tỏ chúng là giá trị đúng. Vì việc khớp và gắn kết các dữ liệu lại với nhau từ nhiều bảng là việc bạn sẽ làm thường xuyên nhất trong tất cả các cơ sở dữ liệu ngoại trừ cơ sở dữ liệu đơn giản nhất, nên việc đặt mặc định bằng cách tạo các mối quan hệ có thể có lợi và tiết kiệm được thời gian.

Truy vấn nhiều bảng kết hợp thông tin từ nhiều bảng bằng cách khớp các giá trị trong những trường chung. Thao tác khớp và kết hợp được gọi là một kết nối. Ví dụ: Giả sử bạn muốn hiển thị đơn hàng của khách hàng. Bạn tạo ra một truy vấn nối bảng Khách hàng và bảng Đơn hàng trên trường ID của Khách hàng. Kết quả truy vấn chứa thông tin của khách hàng và thông tin về đơn hàng chỉ đối với những hàng tìm thấy sự trùng khớp tương ứng.

Một trong những giá trị bạn có thể xác định cho mỗi mối quan hệ là kiểu nối. Kiểu nối sẽ cho Access biết bản ghi nào sẽ được đưa vào trong kết quả truy vấn. Ví dụ: hãy xem xét lại một truy vấn nối bảng Khách hàng và bảng Đơn hàng trên các trường chung thể hiện ID Khách hàng. Dùng kiểu nối mặc định (được gọi là nối bên trong), truy vấn chỉ trả về các hàng Khách hàng và hàng Đơn hàng có trường chung (cũng được gọi là trường đã nối) bằng nhau.

Tuy nhiên, giả sử bạn muốn bao gồm tất cả Khách hàng — ngay cả những người chưa đặt bất kỳ đơn hàng nào. Để thực hiện việc này, bạn phải thay đổi kiểu nối từ nối trong thành nối ngoài bên trái. Kiểu nối ngoài bên trái sẽ trả về tất cả các hàng từ bảng ở phía trái của mối quan hệ và chỉ những hàng khớp từ bảng ở phía phải. Nối ngoài bên phải trả về tất cả các hàng bên phải và chỉ những hàng trùng khớp bên trái.

Lưu ý: Trong trường hợp này, "trái" và "phải" tham chiếu đến vị trí của bảng trong hộp thoại Sửa Quan hệ chứ không phải cửa sổ Quan hệ.

Bạn nên suy nghĩ về kết quả bạn thường muốn có nhất từ một truy vấn nối các bảng trong mối quan hệ này rồi đặt kiểu nối cho phù hợp.

Đặt kiểu nối

  1. Trong hộp thoại Sửa Quan hệ , hãy bấm Kiểu Nối.

    Hộp thoại Thuộc tính Nối sẽ xuất hiện.

  2. Bấm vào lựa chọn của bạn rồi bấm OK.

Bảng sau đây (dùng bảng Khách hàng và Đơn hàng) sẽ hiện ba lựa chọn được hiển thị trong hộp thoại Thuộc tính Nối, kiểu nối được sử dụng và liệu tất cả các hàng hoặc hàng khớp nhau có được đưa vào cho từng bảng hay không.

Lựa chọn

Nối quan hệ

Bảng bên trái

Bảng bên phải

1. Chỉ bao gồm các hàng nơi có các trường đã nối từ cả hai bảng bằng nhau.

Nối trong

Các hàng khớp nhau

Các hàng khớp nhau

2. Bao gồm TẤT CẢ các bản ghi từ 'Khách hàng' và chỉ những bản ghi từ 'Đơn hàng' nơi có trường đã nối bằng nhau.

Nối ngoài bên trái

Tất cả các hàng

Các hàng khớp nhau

3. Bao gồm TẤT CẢ các bản ghi từ 'Đơn hàng' và chỉ những bản ghi từ 'Khách hàng' có trường đã nối bằng nhau.

Nối ngoài bên phải

Các hàng khớp nhau

Tất cả các hàng

Khi bạn chọn tùy chọn 2 hoặc tùy chọn 3, mũi tên sẽ xuất hiện trên đường quan hệ. Mũi tên này chỉ về phía mối quan hệ chỉ hiện hàng khớp nhau.

Thực hiện thay đổi trong hộp thoại Thuộc tính Nối

  1. Trên tab Công cụ Cơ sở dữ liệu, trong nhóm Mối quan hệ, hãy bấm Mối quan hệ.

    Cửa sổ Mối quan hệ sẽ xuất hiện. Nếu bạn chưa xác định được mối quan hệ nào và đây là lần đầu tiên bạn mở cửa sổ Quan hệ, hộp thoại Hiện Bảng sẽ xuất hiện. Nếu hộp thoại xuất hiện, bấm Đóng.

  2. Trên tab Thiết kế, trong nhóm Quan hệ, bấm vào mục Tất cả các Quan hệ.

    Tất cả bảng có mối quan hệ được hiển thị, đang hiện các đường quan hệ

  3. Bấm vào đường quan hệ của mối quan hệ bạn muốn thay đổi. Đường quan hệ sẽ trông dày hơn khi được chọn.

  4. Bấm đúp vào đường quan hệ.

    Hộp thoại Sửa Quan hệ xuất hiện.

  5. Bấm Kiểu Nối.

  6. Trong hộp thoại Thuộc tính Nối, hãy bấm vào một tùy chọn rồi sau đó bấm OK.

  7. Tạo thay đổi bổ sung đối với quan hệ rồi bấm OK.

Đầu Trang

Thực thi tính toàn vẹn tham chiếu

Mục đích của việc dùng tính toàn vẹn tham chiếu là để ngăn chặn các bản ghi mồ côi và để giữ cho các tham chiếu tiếp tục được đồng bộ hóa để bạn không có bất kỳ bản ghi nào tham chiếu tới các bản ghi không còn tồn tại. Bạn bắt buộc tính toàn vẹn tham chiếu bằng cách bật nó cho mối quan hệ bảng. Khi đã bắt buộc, Access sẽ từ chối bất cứ thao tác nào vi phạm tính toàn vẹn tham chiếu đối với mối quan hệ bảng đó. Access sẽ từ chối cả cập nhật làm thay đổi đích của tham chiếu lẫn những xóa bỏ nhằm loại bỏ đích của tham chiếu. Để khiến Access truyền đi các xóa bỏ và cập nhật tham chiếu để tất cả các hàng có liên quan được thay đổi cho phù hợp, hãy xem phần Đặt tùy chọn xếp tầng.

Bật hoặc tắt tính toàn vẹn tham chiếu

  1. Trong cửa sổ Mối quan hệ, hãy bấm đường quan hệ của mối quan hệ bạn muốn thay đổi. Đường quan hệ sẽ trông dày hơn khi được chọn.

  2. Bấm đúp vào đường quan hệ.

Hộp thoại Sửa Quan hệ xuất hiện.

  1. Chọn hộp kiểm Bắt buộc Tính toàn vẹn Tham chiếu.

  2. Tạo thay đổi bổ sung đối với quan hệ rồi bấm OK.

Sau khi bạn đã bắt buộc tính toàn vẹn tham chiếu, các quy tắc sau đây sẽ được áp dụng:

  • Bạn không thể nhập một giá trị trong trường khóa ngoại của một bảng có liên quan nếu giá trị đó không tồn tại trong trường khóa chính của bảng chính — làm như vậy sẽ tạo ra các bản ghi mồ côi.

  • Bạn không thể xóa bỏ một bản ghi từ bảng chính nếu các bản ghi trùng khớp tồn tại trong một bảng có liên quan. Ví dụ: bạn không thể xóa một bản ghi nhân viên từ bảng Nhân viên nếu có các đơn hàng được gán cho nhân viên đó trong bảng Đơn hàng. Tuy nhiên, bạn có thể chọn xóa một bản ghi chính tất cả các bản ghi liên quan trong một thao tác bằng cách chọn hộp kiểm Xóa Xếp tầng Bản ghi Liên quan.

  • Bạn không thể thay đổi giá trị khóa chính trong bảng chính. Nếu làm như vậy sẽ tạo ra các bản ghi mồ côi. Ví dụ: bạn không thể thay đổi số đơn hàng trong bảng Đơn hàng nếu có các mục dòng được gán cho Đơn hàng đó trong bảng Chi tiết Đơn hàng. Tuy nhiên, bạn có thể chọn để cập nhật bản ghi chính tất cả các bản ghi có liên quan trong một thao tác bằng cách chọn hộp kiểm Cập nhật Xếp tầng Trường Liên quan.

    Lưu ý: Nếu bạn gặp khó khăn khi bật tính toàn vẹn tham chiếu, xin lưu ý rằng điều kiện sau đây là cần thiết để bắt buộc tính toàn vẹn tham chiếu:

    • Trường chung từ bảng chính phải là một khóa chính hoặc có chỉ mục duy nhất.

    • Trường chung phải có kiểu dữ liệu giống nhau. Có một ngoại lệ đó là trường Tự động Đánh số có thể liên quan đến trường Số có thiết đặt thuộc tính Kích thước Trường của Số nguyên Dài.

    • Cả hai bảng phải cùng tồn tại trong một cơ sở dữ liệu Access. Không thể bắt buộc tính toàn vẹn tham chiếu trên bảng đã nối kết. Tuy nhiên, nếu các bảng nguồn thuộc định dạng Access, bạn có thể mở cơ sở dữ liệu trong đó chúng được lưu trữ và bật tính toàn vẹn tham chiếu trong cơ sở dữ liệu đó.

Đặt tùy chọn xếp tầng

Bạn có thể gặp phải tình huống khi bạn có nhu cầu hợp lệ để thay đổi giá trị ở phía "một" của mối quan hệ. Trong những trường hợp như thế, bạn cần Access để cập nhật tự động tất cả các hàng bị ảnh hưởng như một phần của thao tác đơn. Theo cách đó, cập nhật được hoàn thành đầy đủ để cơ sở dữ liệu của bạn không được để lại trong trạng thái không nhất quán — với một số hàng được cập nhật và một số hàng không được cập nhật. Access sẽ giúp bạn tránh được vấn đề này bằng cách hỗ trợ tùy chọn Cập nhật Xếp tầng Trường Liên quan. Khi bạn bắt buộc tính toàn vẹn tham chiếu và chọn tùy chọn Cập nhật Xếp tầng Trường Liên quan và sau đó cập nhật một khóa chính, Access sẽ tự động cập nhật tất cả các trường tham chiếu khóa chính.

Bạn cũng có thể cần xóa bỏ một hàng và tất cả các bản ghi có liên quan — ví dụ: một bản ghi của công ty vận tải hàng hải và tất cả các đơn hàng có liên quan của công ty vận tải hàng hải đó. Vì lý do này, Access hỗ trợ tùy chọn Xóa Xếp tầng Bản ghi Liên quan. Khi bạn bắt buộc tính toàn vẹn tham chiếu và chọn tùy chọn Xóa Xếp Tầng Bản ghi Liên quan, Access sẽ tự động xóa bỏ tất cả các bản ghi tham chiếu khóa chính khi bạn xóa bỏ bản ghi có chứa khóa chính đó.

Tắt hoặc bật cập nhật xếp tầng và/hoặc xóa bỏ xếp tầng.

  1. Trong cửa sổ Mối quan hệ, hãy bấm đường quan hệ của mối quan hệ bạn muốn thay đổi. Đường quan hệ sẽ trông dày hơn khi được chọn.

  2. Bấm đúp vào đường quan hệ.

Hộp thoại Sửa Quan hệ xuất hiện.

  1. Chọn hộp kiểm Bắt buộc Tính toàn vẹn Tham chiếu.

  2. Chọn hoặc hộp kiểm Cập nhật Xếp tầng Trường Liên quan hoặc Xóa Xếp tầng Bản ghi Liên quan hoặc chọn cả hai.

  3. Tạo thay đổi bổ sung đối với quan hệ rồi bấm OK.

Lưu ý: Nếu khóa chính là một trường Tự động Đánh số, thì việc chọn hộp kiểm Cập nhật Xếp tầng Trường Liên quan sẽ không có hiệu quả gì vì bạn không thể thay đổi giá trị trong trường Tự động Đánh số.

Đầu Trang

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×