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

Một vào 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 đã phân tách 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 tiền hệ giữa các bảng, rồi sau đó xác định các mối quan tiền hệ này vào 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

Các thứ hạng quan hệ bảng

Tại sao phải khởi tạo mối dục tình bảng?

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

Xem quan hệ bảng

Giới thiệu

Sau khi bạn đã tạo ngừng một bảng cho từng chủ đề vào cơ sở dữ liệu của bạn, bạn phải đưa ra 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 truy hỏi 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 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 chi tiết Đơn hàng.

Tên khách hàng trong hộpGửi hóa đơn đếnđược tróc 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 bỏ 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 thông tin 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 thông tin về cùng một đối chọi 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 lại hệ bảng. Mối quan lại 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 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 - primary keytừ một bảng, bảng này sẽ cung cấp một mã định danh duy nhất mang lại từng bản ghi vàkhóa ngoại- foreign keytrong bảng khác. Ví dụ: nhân viên có thể được kết hợp với các đối chọi hàng mà họ chịu trách nhiệm qua việc tạo ra một mối quan tiền 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.

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

Có cha kiểu quan hệ giới tính bảng vào Access.

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

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

Mối quan hệ nam nữ 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 solo hàng có thể bao gồm nhiều rộng một sản phẩm. Khía cạnh khác, mỗi một sản phẩm có thể lộ diện trên nhiều đơn hàng. Vì vậy, đối với mỗi bản ghi vào bảng Đơn hàng, có thể có nhiều bản ghi vào 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. 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 tiền hệ nhiều đối nhiều đã có sẵn giữa các bảng của bạn, điều quan tiền 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 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ứ tía 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 liêu 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 lại hệ một đối nhiều đối với bảng bỏ ra tiết Đơn hàng. Một đối kháng hàng có thể có nhiều sản phẩm và mỗi sản phẩm có thể xuất hiện bên trên nhiều đơn hàng.

Mối dục tình một đối một

Trong tình dục 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 vào 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ó tương quan theo cách này phải được lưu giữ 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 vị các lý vày bảo mật hoặc để lưu giữ các tin tức chỉ áp dụng đối với một tập hợp bé trong bảng chính. Lúc bạn thực sự xác định được một mối quan tiền hệ, thì cả nhị bảng phải có một trường chung.

Tại sao phải tạo mối quan lại 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ổ Relationships hoặc bằng cách kéo một trường từ ngănField List. Access sẽ dùng mối quan tiền hệ bảng để xác định cách nối các bảng khi bạn cần dùng chúng vào một đối tượng cơ sở dữ liệu. Có một số vì sao giải thích tại sao bạn phải tạo các mối quan tiền 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, tróc nã vấn và báo cáo.

Mối quan lại hệ bảng truyền dữ liệu đến các thiết kế truy nã 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 vấn để nối các bảng. Tróc nã vấn hoạt động bằng cách khớp các giá trị vào 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 1-1 hàng mang đến từng khách hàng, bạn hãy dựng một tróc nã 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 tiền hệ, bạn có thể xác định trường để nối một cách thủ công. Mà lại 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 bên trên mối quan lại hệ bảng đã có sẵn. Ngoài ra, nếu bạn dùng một vào số các trình hướng dẫn truy hỏi vấn, Access phải dùng tin tức 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 lại 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 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 tin tức 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 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 lại 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 chống các bản ghi vô định trong cơ sở dữ liệu của bạn. Bản ghi vô định 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 1-1 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 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 mang đến các mối quan liêu hệ bảng và các truy vấn đa bảng. Điều quan tiền 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 lại hệ bảng, sẽ giúp bảo đảm là các tham chiếu tiếp tục được đồng bộ hóa.

Hiểu tính trọn vẹn tham chiếu

Khi bạn thiết kế một cơ sở dữ liệu, bạn hãy chia tin tức 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 bình thường vào các bảng liên quan. Ví dụ: để thể hiện quan tiền 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ị vào bảng "nhiều" và tra cứu giá trị tương ứng vào 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 lại 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 doanh nghiệp vận tải hàng hải bạn muốn xóa bỏ có các đối chọi hàng vào bảng Đơn hàng, thì các đối chọi hàng đó sẽ trở thành "mồ côi" lúc bạn xóa bỏ bản ghi của công ty Vận tải Hàng hải đó. Các đối chọi hàng vẫn sẽ chứa ID của công ty vận tải hàng hải, nhưng mà ID đó sẽ ko 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 trọ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 thực thi 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 đang từ chối bất cứ thao tác nào vi phạm tính toàn vẹn tham chiếu so với mối quan hệ bảng đó. Điều này có nghĩa là Access sẽ từ chối cả update làm thay đổi đích của tham chiếu lẫn những xóa khỏi nhằm đào thải đích của tham chiếu. Có thể là bạn có một nhu cầu hoàn toàn hợp lý để nắ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 1-1 hàng vào bảng Đơn hàng. Vào trường hòa hợp này, những gì bạn phải là để cho Access tự động hóa cập nhật tất cả các mặt hàng bị tác động như là một trong những phần của từng thao tác. Bằng phương pháp đó, Access sẽ bảo đảm là cập nhật được xong xuôi đầy đầy đủ để cửa hàng dữ liệu của người sử dụng không bị rơi vào tình thế trạng thái không độc nhất quán, với một số sản phẩm thì được cập nhật và một số thì không. Vì lý vị này Access sẽ hỗ trợ cho tùy chọnCascade Update Related Fields. Khi bạn bắt buộc tính toàn diện tham chiếu và lựa chọn tùy chọnCascade Update Related Fields 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ả phiên bản ghi liên quan— ví dụ, một phiên 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 lại cho doanh nghiệp vận tải hàng hải đó. Vì tại sao này, Access cung cấp tùy chọnCascade Delete Related Records. Khi bạn buộc tính trọn vẹn tham chiếu và chọn tùy chọnCascade Delete Related Recordsvà tiếp nối xóa bỏ một bản ghi ở phía khóa chủ yếu của mối quan hệ, Access sẽ auto xóa bỏ tất cả các bản ghi tham chiếu khóa chính.

Xem mối quan hệ bảng

Để coi mối quan tiền hệ bảng, hãy bấmRelationshipstrên tabDatabase Tools. Hành lang cửa số Relationships 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 đã mở hành lang 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ở cửa sổ Relationships

BấmFile, rồi bấmOpen.Chọn và mở cơ sở dữ liệu.Trên tabDatabase Tools, trong nhómRelationships, bấmRelationships.Nếu cơ sở dữ liệu có chứa các mối quan liêu hệ, thì cửa sổ Mối tình dục sẽ xuất hiện. Nếu cơ sở dữ liệu không chứa bất kỳ mối quan liêu hệ nào và bạn đã mở cửa sổ Mối quan hệ tình dục lần đầu, thì hộp thoạiShow Tablesẽ xuất hiện. BấmCloseđể đóng hộp thoại.Trên tabDesign, trong nhómRelationships, hãy bấmAll Relationships.Thao tác này sẽ hiển thị tất cả các mối quan lại hệ đã xác định trong cơ sở dữ liệu của bạn. Xin giữ ý là những bảng ẩn (bảng có hộp kiểmHiddentrong hộp thoạiProperties của bảng được chọn) và các mối quan hệ của chúng sẽ ko được thể hiện trừ khi bạn chọn hộp kiểmShow Hidden Objectstrong vỏ hộp thoạiNavigation Options.

Một quan hệ bảng được thể hiện bởi một đường quan tiền hệ nối giữa nhì bảng trong hành lang cửa số Quan hệ. Một mối quan hệ ko buộc tính trọn vẹn tham chiếu sẽ xuất hiện ở dạng một đường mảnh giữa các trường tầm thường để hỗ trợ đến mối quan liêu hệ. Lúc 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 toàn vẹn tham chiếu mang lại mối quan tiền hệ này, thì đường này sẽ hiện trong dày hơn ở từng đầu. Ngoài ra, số1sẽ xuất hiện bê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 hành lang cửa số Relationships được kích hoạt, bạn có thể chọn các lệnh sau đây:

Trên tabDesign, vào nhómTools:

Edit RelationshipsMở vỏ hộp thoạiEdit Relationships. Lúc bạn chọn một đường quan liêu hệ, bạn có thể bấmEdit Relationshipsđể nạm đổi quan liêu hệ bảng. Bạn cũng có thể bấm đúp vào đường quan hệ.Clear Layout Loại bỏ sự hiển thị của tất cả các bảng và mối quan liêu hệ trong cửa sổ Relationships. Lưu lại ý là lệnh này chỉ ẩn được các bảng và các mối quan lại hệ— nó ko xóa bỏ được chúng.Relationships Report Tạo ra một báo cáo mà sẽ hiển thị các bảng và các mối quan tiền 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 tiền hệ không bị ẩn trong hành lang cửa số Relationships.

Trên tabDesign, vào nhómRelationships:

Show TableMở hộp thoạiShow Tableđể bạn có thể chọn các bảng và những truy vấn để xem trong cửa sổ Relationships.Hide TableẨn các bảng đã chọn trong cửa sổ Relationships.All Relationships Hiển thị vớ cả các quan hệ và các bảng liên quan so với bảng đã lựa chọn trong hành lang cửa số Relationships, ví như chúng không được hiển thị.All Relationships Hiển thị tất cả các mối quan hệ và bảng tương quan trong cơ sở dữ liệu trong hành lang cửa số Relationships. Lưu lại ý là sẽ không còn hiện được những bảng ẩn (các bảng tất cả hộp kiểmHiddenđược lựa chọn ở trong vỏ hộp thoạiProperties của bảng) cũng giống như mối quan hệ nam nữ của bọn chúng trừ khi bạn lựa chọn Show Hidden Objects trong hộp thoại Navigation Options.

Xem thêm: Hướng Dẫn Sửa Lỗi Không Mở Được File Exe Trong Windows 10, Lỗi Không Chạy Được File *

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