Các mối quan hệ trong cơ sở dữ liệu

-
Access cho gioitre10x.com 365 Access 2021 Access 2019 Access năm 2016 Access 2013 Access 2010 Access 2007 coi thêm...Ít 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 phân 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. Mặc dù 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.

Bạn đang xem: Các mối quan hệ trong cơ sở dữ liệu

Trong nội dung bài viết này

Giới thiệu

Sau khi bạn đã tạo ngừng một bảng mang lại từng chủ đề vào cơ sở dữ liệu của bạn, bạn phải chỉ dẫn cách để Access tổng hợp các tin tức đó lại lúc 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 lại hệ giữa các bảng. Sau đó bạn có thể tạo các tầm nã vấn, biểu mẫu và báo cáo sẽ cùng hiển thị tin tức từ một số bảng. Ví dụ: biểu mẫu hiện ở phía trên bao gồm các tin tức được lấy từ một vài 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 bỏ ra tiết Đơn hàng.

Tên khách hàng trong hộp Hóa 1-1 tới được truy vấn 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 đưa ra 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 tin tức từ mỗi bảng vào vào biểu mẫu.

Trong ví dụ trước, các trường vào các bảng phải được phối hợp để thể hiện các tin tức về cùng một solo 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 liêu hệ bảng. Mối quan hệ bảng hoạt động bằng cách khớp dữ liệu vào các trường khóa — thường là một trường có cùng thương hiệu trong cả nhị bảng. Vào 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 đối kháng hàng mà họ chịu trách nhiệm qua việc tạo ra một mối quan liêu 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.

*

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

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

Đầu Trang

Các hình trạng quan hệ bảng

Có bố kiểu dục tình bảng trong Access.

Mối quan hệ nam nữ một đối nhiều

Chúng ta hãy dùng cơ sở dữ liệu theo dõi đối kháng 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 1-1 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 1-1 hàng được thể hiện vào bảng Đơn hàng. Mối quan liêu 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 lại hệ một-nhiều vào thiết kế cơ sở dữ liệu của bạn, hãy lấy khóa chủ yếu ở bên "một" của mối quan liêu hệ rồi thêm khóa đó dưới dạng một trường hay những trường bổ sung vào bảng ở bên "nhiều" của mối quan lại hệ. Ví dụ như trong trường hòa hợp này, bạn thêm một ngôi trường mới — ngôi trường ID tự bảng Khách_hàng — vào bảng Đơn_hàng, rồi để tên đến trường chính là ID_khách_hàng. Sau đó, Access có thể sử dụng số ID khách hàng trong bảng Đơn_hàng để xác định khách hàng phù hợp cho từng 1-1 hàng.

Mối dục tình nhiều đối nhiều

Bây giờ chúng ta hãy coi mối quan tiền 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 rộng một sản phẩm. Phương diện khác, mỗi một sản phẩm có thể mở ra trên nhiều đối kháng 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 vào bảng Đơn hàng. Quan hệ này được gọi là mối quan liêu hệ nhiều đối nhiều. Lưu ý là để tìm ra các mối quan liêu hệ nhiều đối nhiều đã có sẵn giữa các bảng của bạn, điều quan liêu trọng là bạn hãy cân nặng nhắc cả hai phía của mối quan hệ.

Để thể hiện một mối quan lại 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 liêu hệ nhiều đối nhiều thành nhì 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 nhì bảng vào bảng thứ ba. Kết quả là bảng thứ bố sẽ ghi lại từng lần xuất hiện xuất xắc từng phiên bản của mối quan lại hệ. Ví dụ: bảng Đơn hàng và bảng Sản phẩm có mối quan liêu hệ nhiều đối nhiều vốn được xác định bằng cách tạo ra nhị mối quan tiền hệ một đối nhiều đối với bảng đưa ra tiết Đơn hàng. Một solo 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 1-1 hàng.

Mối quan hệ nam nữ một đối một

Trong quan hệ nam nữ 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ứ nhì và mỗi bản ghi trong bảng thứ nhị 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à tin tức có liên quan theo cách này phải được lưu lại trong cùng một bảng. Bạn có thể dùng quan lại 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 bởi vì các lý vị bảo mật hoặc để lưu lại các tin tức 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ả nhì bảng phải có một trường chung.

Đầu Trang

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

Bạn có thể tạo các mối quan tiền hệ bảng một cách rõ ràng bằng cách dùng cửa sổ Mối quan liêu hệ hoặc bằng cách kéo một trường từ chống 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 lúc bạn cần dùng chúng trong một đối tượng cơ sở dữ liệu. Có một số tại sao giải thích tại sao bạn phải tạo các mối quan hệ bảng trước lúc bạn tạo ra các đối tượng cơ sở dữ liệu khác như biểu mẫu, truy hỏi vấn và báo cáo.

Mối quan liêu 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 nã vấn để nối các bảng. Truy vấn vấn hoạt động bằng cách khớp các giá trị trong trường khóa chính vào 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 solo hàng cho từng khách hàng, bạn hãy dựng một truy hỏi 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 hành lang 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. Dẫu vậy 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 lại 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 tin tức cập nhật mang đến 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 tiền hệ bảng truyền dữ liệu mang đến 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 giỏi một báo cáo, Access dùng thông tin nó thu thập được từ các mối quan tiền hệ bảng bạn đã xác định để cung cấp các lựa chọn thông tin cập nhật mang đến 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.

Xem thêm: Sinh Năm 88 Là Tuổi Gì - Tuổi Mậu Thìn Hợp Tuổi Nào, Màu Gì, Hướng Nào

Mối quan liêu hệ bảng là nền tảng theo đó bạn có thể bắt buộc tính trọn vẹn tham chiếu để giúp chống các bản ghi mồ côi vào 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 đối chọi hàng tham chiếu tới một bản ghi khách hàng ko 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 tương 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 đến các mối quan lại hệ bảng và các tróc nã 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 diện tham chiếu, phụ thuộc vào các mối quan liêu 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 chỉ dẫn cách để Access hợp dữ liệu lại bằng cách đặt các trường bình thường vào các bảng liên quan. Ví dụ: để thể hiện quan lại 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 vào bảng "một".

Giả sử bạn có quan liêu hệ một đối nhiều giữa bảng doanh nghiệp 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 solo hàng trong bảng Đơn hàng, thì các solo hàng đó sẽ trở thành "mồ côi" lúc bạn xóa bỏ bản ghi của doanh nghiệp Vận tải Hàng hải đó. Các đơn hàng vẫn sẽ chứa ID của doanh nghiệp vận tải hàng hải, tuy nhiên ID đó sẽ ko còn hợp lệ, vì bảng ghi nó tham chiếu tới ko 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 phòng được các dòng mồ côi và giữ các tham chiếu vào tình trạng đồng bộ hóa để tình huống giả định này không xảy ra.

Bạn xúc tiến tính toàn vẹn tham chiếu bằng phương pháp kích hoạt tính toàn vẹn trong mối quan hệ bảng. Khi vẫn 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 phạm luật tính toàn diện tham chiếu đối với mối quan hệ bảng đó. Điều này có nghĩa là Access sẽ không đồng ý cả cập nhật làm đổi khác đích của tham chiếu lẫn những xóa khỏi nhằm thải trừ đích của tham chiếu. Có thể là bạn có một nhu cầu hoàn toàn hợp lý để nuốm đổ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 vào bảng Đơn hàng. Vào trường thích hợp này, những gì bạn phải là để đến Access tự động hóa cập nhật toàn bộ các hàng bị ảnh hưởng như là 1 phần của từng thao tác. Bằng phương pháp đó, Access sẽ bảo đảm là update được ngừng đầy đủ để cửa hàng dữ liệu của người tiêu dùng không bị lâm vào hoàn cảnh trạng thái không độc nhất quán, cùng với một số hàng thì được cập nhật và một số thì không. Vì lý vày này Access sẽ hỗ trợ cho tùy chọn Cập nhật Xếp tầng ngôi trường Liên quan. Khi chúng ta bắt buộc tính toàn diện tham chiếu và chọn tùy lựa chọn Cập nhật Xếp tầng ngôi trường Liên quan cùng sau đó cập nhật một khóa chính, Access sẽ auto 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 dạng 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 liêu cho công ty vận tải hàng hải đó. Vì nguyên nhân này, Access hỗ trợ tùy lựa chọn Xóa Xếp tầng Bản ghi Liên quan. Khi chúng ta buộc tính toàn diện tham chiếu và chọn tùy chọn Xóa Xếp tầng Bản ghi Liên quan và kế tiếp xóa bỏ một bản ghi ở phía khóa thiết yếu của mối quan liêu hệ, Access sẽ auto xóa bỏ toàn bộ 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 liêu hệ bảng, hãy bấm Mối quan liêu hệ trên tab Công cụ Cơ sở dữ liệu. Hành lang cửa số Mối quan hệ nam nữ sẽ mở và hiển thị mọi mối quan tiền hệ có sẵn. Nếu chưa có mối quan hệ bảng nào được xác định và bạn vẫn mở cửa sổ Mối dục tình 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ở hành lang cửa số Mối quan lại hệ

Bấm vào tệp, bấm mở, rồi chọn và mở các đại lý dữ liệu.

Trên tab Công cụ đại lý dữ liệu, trong nhóm Mối quan tiền hệ, bấm vào Mối quan liêu hệ.

Trên tab Thiết kế, trong đội Mối quan tiền hệ, hãy bấm Tất cả quan liêu hệ.Thao tác này sẽ hiển thị tất cả các mối quan tiền hệ đã xác định vào cơ sở dữ liệu của bạn. Xin lưu ý là các bảng ẩn (bảng có vỏ 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 tình dục của bọn 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 vỏ hộp thoại Tùy chọn Dẫn hướng.

Một tình dục bảng được thể hiện bởi một đường quan tiền hệ nối giữa nhị bảng trong cửa sổ Quan hệ. Một mối quan tiền 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 bình thường để hỗ trợ mang đến mối quan lại hệ. Khi bạn chọn mối quan tiền hệ bằng cách bấm vào đường quan lại hệ, thì đường này sẽ dày lên để biểu thị là nó được chọn. Nếu như bạn bắt buộc tính trọn vẹn tham chiếu đến mối quan liêu hệ này, thì đường này sẽ hiện dày hơn ở từng đầ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 tiền hệ. Khi bạn chọn một đường quan hệ, bạn có thể bấm Sửa Mối quan hệ để cố kỉnh đổi quan hệ bảng. Chúng ta có thể bấm lưu ban vào đường quan tiền 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 lại hệ trong hành lang cửa số Mối quan tiền hệ. Lưu ý là lệnh này chỉ ẩn được các bảng và các mối quan tiền hệ — nó ko xóa bỏ được chúng.

Báo cáo Mối quan liêu 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 liêu 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 liêu hệ không bị ẩn trong hành lang cửa số Mối quan lại hệ.

Trên tab Thiết kế, trong team Mối quan liêu hệ:

Thêm bảng (hiện bảng trong Access 2013 được cho phép chọn các bảng hiển thị trong cửa sổ mối quan liêu hệ.

Ẩn Bảng Ẩn các bảng đã chọn trong hành lang cửa số Mối quan liêu hệ.

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

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

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