Các Mối Quan Hệ Trong Cơ Sở Dữ Liệu

     

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 đã 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 vào 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 liêu hệ giữa các bảng, rồi sau đó xác định các mối quan lại 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 vẻ bên ngoài quan hệ bảng

Tại sao phải lập mối quan hệ bảng?

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

Xem quan hệ bảng

Giới thiệu

Sau khi bạn đã tạo dứt một bảng đến 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 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 bình thường 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 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:

*

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 đối kháng đếnđược truy hỏi 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, thương hiệu 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 thông tin từ mỗi bảng vào trong 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 đơ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 tiền 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 thương hiệu trong cả hai 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 đến 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 kháng hàng mà họ chịu trách nhiệm qua việc tạo ra một mối quan lại hệ bảng giữa các trường IDNhân viên vào các bảng nhân viên cấp dưới và Đơ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.

Các phong cách quan hệ bảng

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

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

Chúng ta hãy dùng cơ sở dữ liệu theo dõi solo 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 vào bảng Khách hàng, có thể có nhiều solo 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 tiền hệ một đối nhiều.

Để thể hiện tại mối quan hệ một-nhiều vào thiết kế cơ sở dữ liệu của bạn, hãy mang khóa chủ yếu ở mặt "một" của mối quan hệ rồi thêm khóa đó dưới dạng một ngôi trường hay nhiều trường bổ sung vào bảng ở mặt "nhiều" của mối quan hệ. Chẳng hạn như trong trường vừa lòng này, bạn thêm một trường mớ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 đến trường đó là ID_khách_hàng. Sau đó, Access hoàn toàn 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 dục tình nhiều đối nhiều

Bây giờ chúng ta hãy xem mối quan lại hệ giữa bảng Sản phẩm và bảng Đơn hàng. Mỗi một đối chọi hàng có thể bao gồm nhiều rộng một sản phẩm. Mặt khác, mỗi một sản phẩm có thể mở ra 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 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 tiền hệ nhiều đối nhiều. Giữ ý 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 nặng nhắc cả nhị 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 liêu 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ứ cha sẽ ghi lại từng lần xuất hiện tuyệt từng phiên bản của mối quan tiền 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 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 1-1 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 tình dục một đối một

Trong tình dục một đối một, mỗi bản ghi vào 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 vào 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 lại hệ là ko 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 trong cùng một bảng. Bạn có thể dùng quan hệ một đối một để phân tách một bảng có nhiều trường, để tách một phần của bảng vày các lý vì 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. Lúc bạn thực sự xác định được một mối quan lại 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 lại 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 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 lại 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 hỏi vấn và báo cáo.

Mối quan lại hệ bảng truyền dữ liệu mang lại các thiết kế truy tìm 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 nã 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 mang lại 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 tiền hệ, bạn có thể xác định trường để nối một cách thủ công. Cơ mà nếu bạn đã có một mối quan liêu 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 tiền 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 tróc nã 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 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 liêu 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 tin tức 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 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: Biet Doi Sieu Anh Hung - Biệt Đội Siêu Anh Hùng Marvel

Mối quan tiền 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 phò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 đối kháng 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 tin tức 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 cho các mối quan hệ bảng và các truy tìm vấn đa bảng. Điều quan liêu 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 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 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 giới thiệu cách để Access hợp dữ liệu lại bằng cách đặt các trường thông thường 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ị vào 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 tiền 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 doanh nghiệp 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 vào bảng Đơn hàng, thì các solo hàng đó sẽ trở thành "mồ côi" khi bạn xóa bỏ bản ghi của doanh nghiệp Vận tải Hàng hải đó. Các solo hàng vẫn sẽ chứa ID của doanh nghiệp vận tải hàng hải, nhưng lại ID đó sẽ không 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 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 tiến hành tính toàn vẹn tham chiếu bằng cách kích hoạt tính toàn diện trong mối quan hệ bảng. Khi đã bắt buộc tính toàn vẹn tham chiếu, Access đã từ chối bất kể thao tác nào vi phạm luật tính toàn vẹn tham chiếu đối với mối quan hệ nam nữ bảng đó. Điều này tức là Access sẽ lắc đầu cả update làm biến đổi đích của tham chiếu lẫn những xóa khỏi 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ý để nuốm đổi khóa chính đối với một doanh nghiệp vận tải hàng hải có các đối chọi hàng trong bảng Đơn hàng. Vào trường hòa hợp này, những gì bạn cần là để mang lại Access auto 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 cách đó, Access sẽ bảo đảm là update được xong xuôi đầy đầy đủ để các đại lý dữ liệu của người tiêu dùng không bị lâm vào trạng thái không độc nhất quán, cùng với một số sản phẩm 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ọnCascade Update Related Fields. Khi chúng ta bắt buộc tính trọn vẹn tham chiếu và chọn tùy chọnCascade Update Related Fields và sau đó update một khóa chính, Access sẽ tự động cập nhật toàn bộ các ngôi 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 cùng tất cả bạn dạng ghi liên quan— ví dụ, một bạn dạng ghi doanh nghiệp Vận tải Hàng hải và tất cả các deals liên quan tiền cho doanh nghiệp vận tải hàng hải đó. Vì tại sao này, Access cung ứng tùy chọnCascade Delete Related Records. Khi bạn buộc tính toà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ính của mối quan liêu hệ, Access sẽ tự động 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

Để xem mối quan liêu 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 hệ có sẵn. Nếu chưa có mối quan lại hệ bảng nào được xác định và bạn vẫn mở hành lang cửa số Mối quan hệ giới 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ác đại lý dữ liệu.Trên tabDatabase Tools, vào nhómRelationships, bấmRelationships.Nếu cơ sở dữ liệu có chứa các mối quan lại hệ, thì cửa sổ Mối quan hệ tình dục sẽ xuất hiện. Nếu cơ sở dữ liệu ko chứa bất kỳ mối quan liêu hệ nào và bạn đã mở cửa sổ Mối 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, vào nhómRelationships, hãy bấmAll Relationships.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 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ẽ không được thể hiện trừ lúc bạn lựa chọn hộp kiểmShow Hidden Objectstrong hộp thoạiNavigation Options.

Một dục tình 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 diện tham chiếu sẽ xuất hiện ở dạng một đường mảnh giữa các trường thông thường để hỗ trợ mang lại mối quan hệ. Lúc bạn chọn mối quan liêu 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ư khách hàng bắt buộc tính trọn vẹn tham chiếu đến mối quan hệ này, thì đường này sẽ hiện dày dặn 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 lại 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, trong nhómTools:

Edit RelationshipsMở hộp thoạiEdit Relationships. Khi bạn chọn một đường quan liêu hệ, bạn có thể bấmEdit Relationshipsđể cố gắng đổi quan liêu hệ bảng. Chúng ta có thể bấm đúp vào đường quan tiền hệ.Clear Layout 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ổ Relationships. Lưu ý là lệnh này chỉ ẩn được các bảng và các mối quan liêu hệ— nó không 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 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 lại hệ ko bị ẩn trong cửa sổ Relationships.

Trên tabDesign, trong nhómRelationships:

Show TableMở hộp thoạiShow Tableđể chúng ta có thể chọn những bảng và các truy vấn để coi trong cửa sổ Relationships.Hide TableẨn các bảng đã chọn trong cửa sổ Relationships.All Relationships Hiển thị tất cả các quan hệ và những bảng liên quan đối với bảng đã lựa chọn trong hành lang cửa số Relationships, nếu 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 liên quan trong cơ sở dữ liệu trong cửa sổ Relationships. Giữ ý là sẽ không hiện được những bảng ẩn (các bảng tất cả hộp kiểmHiddenđược chọn ở trong hộp thoạiProperties 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 lựa chọn Show Hidden Objects trong hộp thoại Navigation Options.

Xem thêm: Tổng Hợp Từ Điện Tiếng Anh Lớp 2 Theo Chủ Đề Giúp Bé Tự Học Ở Nhà

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