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 xuất xắc 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, quý khách hãy phân tách 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 đọc tin đã phân tách lại với nhau — người mua hàng thực hiện thao tác này bằng cách để các trường tầm thường vào vào các bảng liên quan. Tuy vậy, để thực hiện đúng bước này, người tiêu dùng 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 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 kiểu quan hệ nam nữ bảng

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

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

Xem quan hệ bảng

Giới thiệu

Sau Khi người mua hàng đã tạo chấm dứt một bảng cho từng chủ đề vào cơ sở dữ liệu của quý khách hàng, bạn phải đưa ra cách để Access hầu hết các biết 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 tầm thường vào các có tương quan và bằng cách xác định các mối quan hệ giữa các bảng. Sau đó người dùng có thể tạo các truy vấn, biểu mẫu và báo cáo sẽ cùng hiển thị đọc tin từ một số bảng. Ví dụ: biểu mẫu hiện ở đây bao quát các công bố được lấy từ một vài bảng:

*

1. Các biết tin vào 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 người mua hàng vào hộpGửi hóa đơn đếnđược tầm nã xuất từ bảng Khách hàng, ID Đơn hàng và các quý giá Ngày Đơn hàng được rước từ bảng Đơn hàng, thương hiệu Sản phẩm được đem từ bảng Sản phẩm và các giá trị Giá Đơn vị và Số lượng được đem 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ụ trcầu, các trường trong các bảng phải được phối hợp để thể hiện các đọc 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 tiền 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 vào cả nhị bảng. Trong tổng hợp 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ấp dưới 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 làm ra một mối quan lại 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 vẻ bên ngoài quan hệ tình dục bảng

Có ba mẫu mã tình dục bảng vào Access.

Mối dục tình một - nhiều

Chúng ta hãy dùng cơ sở dữ liệu theo dõi đối chọi hàng chẳng hạn nhỏng bao hàm một bảng Khách hàng và một bảng Đơn hàng. Một người tiêu dùng có thể đặt bất kỳ số lượng 1-1 hàng nào. Vì vậy, đối với mọi người tiêu dù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 liêu hệ giữa bảng Khách hàng và bảng Đơn hàng là mối quan lại hệ một đối nhiều.

Để thể hiện mối quan lại hệ một-những trong thiết kế cơ sở dữ liệu của bạn, hãy đem khóa chủ yếu ở bên "một" của mối quan lại hệ rồi thêm khóa kia dưới dạng một ngôi trường xuất xắc các trường bổ sung vào bảng ở bên "nhiều" của mối quan lại hệ. Chẳng hạn như vào ngôi trường vừa lòng này, bạn thêm một ngôi trường mới— ngôi trường ID từ bỏ bảng Khách_hàng— vào bảng Đơn_sản phẩm, rồi đánh tên cho ngôi trường sẽ là ID_khách_sản phẩm. Sau đó, Access rất có thể sử dụng số ID quý khách trong bảng Đơn_hàng để xác định người tiêu dùng phù hợp cho từng deals.

Mối quan hệ tình dục 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ể tổng quan nhiều rộng một phẩm vật. Mặt khác, mỗi một sản phđộ ẩm có thể mở ra trên các giao dịch. 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 vào bảng Sản phẩm, có thể có nhiều bản ghi vào bảng Đơn hàng. Mối quan hệ nam nữ này được đọc là mối quan hệ nhiều đối những. Lưu ý là để tìm được các mối quan tiền hệ nhiều đối nhiều đã có sẵn giữa các bảng của người dùng, điều quan trọng là người dùng hãy cân nhắc cả nhị phía của mối quan liêu hệ.

Để thể hiện một mối quan liêu hệ nhiều đối nhiều, bạn phải làm ra một bảng thứ tía, bảng này sẽ tách mối quan liêu hệ nhiều đối nhiều thành nhị 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 vào 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 hay 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 hệ nhiều đối nhiều vốn được xác định bằng cách mang lại nhì mối quan lại 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 mặt hàng và mỗi mặt hàng có thể xuất hiện bên trên nhiều đơn hàng.

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

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

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

Bạn có thể tạo các mối quan liêu 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 hệ bảng để xác định cách nối các bảng lúc người dùng cần dùng chúng trong một đối tượng cơ sở dữ liệu. Có một số ngulặng nhân giải thích tại sao người mua phải tạo các mối quan liêu hệ bảng trmong Khi khách hàng tạo ra các đối tượng cơ sở dữ liệu khác nlỗi 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 cho 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 tróc nã vấn để nối các bảng. Truy vấn hoạt động bằng cách khớp các quý giá 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ê khái quát các 1-1 hàng mang lại từng bạn, quý khách hàng 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ệ nam nữ, người mua hàng có thể xác định trường để nối một cách thủ công. Nhưng nếu người tiêu dùng đã 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 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 gợi ý truy vấn vấn, Access phải dùng báo cáo nó thu thập được từ các mối quan lại hệ bảng khách hàng đã xác định để cung cấp các lựa chọn thông báo cập nhật mang đến người tiêu dùng và để nhập trước thiết để thuộc tính cùng với các cực hiếm mặc định thích hợp.

Mối quan lại 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 khách hàng thiết kế một biểu mẫu tuyệt một báo cáo, Access dùng thông tin nó thu thập được từ các mối quan lại hệ bảng người tiêu dùng đã xác định để cung cấp các lựa chọn thông báo cập nhật đến khách hàng và để nhập trcầu thiết để thuộc tính cùng với các quý giá mặc định thích hợp.

Xem thêm: Mua Ổ Cứng Tốt Nhất Hiện Nay ? Top 6 Ổ Cứng Di Động Tốt Nhất Hiện Nay 2021

Mối quan liêu hệ bảng là nền tảng theo đó người mua hàng có thể bắt buộc tính toàn diện tđắm say chiếu để giúp ngăn các bản ghi vô định trong cơ sở dữ liệu của người mua. Bản ghi vô định là một bản ghi có tmê man chiếu tới một bản ghi ko tồn tại— ví dụ: một bản ghi 1-1 hàng tmê man chiếu tới một bản ghi người tiêu dùng ko mãi mãi.

Khi bạn thiết kế một cơ sở dữ liệu, quý khách hãy chia lên tiếng thành các bảng, mỗi bảng có một khóa chính. Sau đó khách hàng thêm các khóa ngoạị vào các bảng liên quan sẽ tmê say 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 liêu hệ bảng và các tróc nã vấn đa bảng. Điều quan liêu trọng là các tđê mê 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 tđam mê 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 tsi chiếu tiếp tục được đồng bộ hóa.

Hiểu tính toàn diện tham chiếu

Khi quý khách thiết kế một cơ sở dữ liệu, người mua hàng hãy phân chia công bố cơ sở dữ liệu thành nhiều bảng theo chủ đề để giảm tphát âm việc dư thừa dữ liệu. Sau đó người mua 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 bình thường vào các bảng tương quan. Ví dụ: để thể hiện quan liêu hệ một đối nhiều quý khách hãy rước 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 cực hiếm 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ị vào bảng "nhiều" sẽ tsay đắm chiếu các quý hiếm tương ứng trong bảng "một".

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

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

Bạn tiến hành tính toàn diện tmê man chiếu bằng cách kích hoạt tính toàn vẹn vào quan hệ bảng. khi đang bắt buộc tính toàn vẹn tđắm say chiếu, Access đang lắc đầu bất cứ làm việc như thế nào vi phạm tính trọn vẹn tđắm say chiếu so với quan hệ bảng đó. Điều này tức là Access đang lắc đầu cả update làm biến hóa đích của tmê man chiếu lẫn hồ hết xóa khỏi nhằm loại trừ đích của tmê man chiếu. Có thể là bạn có một nhu cầu toàn bộ hợp lý để gắng đổi khóa chính đối với một cửa hàng vận tải hàng hải có các 1-1 hàng trong bảng Đơn hàng. Trong trường thích hợp này, những gì bạn cần là để mang đến Access auto update toàn bộ các hàng bị ảnh hưởng như thể một phần của từng thao tác. Bằng từ thời điểm cách đó, Access sẽ bảo đảm là update được chấm dứt đầy đủ nhằm các đại lý tài liệu của công ty không xẩy ra lâm vào cảnh trạng thái ko đồng bộ, cùng với một số hàng thì được cập nhật và một số thì ko. Vì lý bởi này Access sẽ hỗ trợ mang lại tùy chọnCascade Update Related Fields. Khi các bạn buộc phải tính toàn diện tđê mê chiếu với chọn tùy chọnCascade Update Related Fields và kế tiếp cập nhật một khóa bao gồm, Access vẫn tự động cập nhật toàn bộ các trường tsi chiếu khóa chính.

Có thể quý khách hàng có một nhu mong hợp lý để xóa bỏ một sản phẩm cùng toàn bộ bạn dạng ghi liên quan— ví dụ, một bản ghi shop Vận tải Hàng hải cùng toàn bộ những giao dịch tương quan cho công ty vận tải hàng hải đó. Vì nguyên do này, Access cung cấp tùy chọnCascade Delete Related Records. lúc chúng ta buộc tính trọn vẹn tsi chiếu cùng lựa chọn tùy chọnCascade Delete Related Recordsvà sau đó xóa bỏ một bản ghi ở phía khóa thiết yếu của mối quan hệ, Access đang tự động xóa bỏ toàn bộ các bản ghi tsay đắm chiếu khóa bao gồm.

Xem quan hệ bảng

Để xem mối quan liêu hệ bảng, hãy bấmRelationshipsbên trên tabDatabase Tools. Cửa sổ Relationships sẽ mở và hiển thị mọi mối quan liêu hệ có sẵn. Nếu không có mối quan lại hệ bảng nào được xác định và bạn đã mở 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ấn vào cửa sổ này.

Mnghỉ ngơi 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 hệ, thì cửa sổ Mối quan hệ giới tính 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 đã mở cửa sổ Mối quan hệ giới tính 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ị toàn bộ các mối quan liêu hệ đã xác định vào cơ sở dữ liệu của khách hàng. Xin lưu giữ ý là các 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ệ nam nữ của bọn chúng sẽ không được thể hiện trừ khi quý khách hàng chọn hộp kiểmShow Hidden Objectstrong vỏ hộp thoạiNavigation Options.

Một quan hệ tình dục bảng được thể hiện bởi một đường quan lại hệ nối giữa hai bảng vào cửa sổ Quan hệ. Một mối quan tiền hệ ko buộc tính toàn vẹn tđê mê chiếu sẽ xuất hiện ở dạng một đường mhình họa giữa các trường chung để hỗ trợ mang lại mối quan hệ. khi bạn chọn mối quan lại 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 các bạn bắt buộc tính toàn diện tyêu thích chiếu đến mối quan liêu hệ này, thì đường này sẽ hiện tại dày dặn hơn ở từng đầu. Ngoài ra, số1sẽ xuất hiện trên phần dày của đường ở một phía của mối quan tiền hệ và biểu tượng vô cực () sẽ xuất hiện ở phần dày của đường ở phía cơ.

Lúc hành lang cửa số Relationships được kích hoạt, người mua có thể chọn các lệnh sau đây:

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

Edit RelationshipsMngơi nghỉ hộp thoạiEdit Relationships. Lúc người tiêu dùng chọn một đường quan lại hệ, người tiêu dùng có thể bấmEdit Relationshipsđể thế đổi quan tiền hệ bảng. quý khách cũng rất có thể bnóng lưu ban vào đường quan liêu hệ.Clear Layout Loại bỏ sự hiển thị của toàn bộ các bảng và mối quan hệ vào hành lang cửa số Relationships. Lưu ý 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 lại hệ vào cơ sở dữ liệu của người mua. Báo cáo sẽ chỉ hiện các bảng và các quan hệ ko bị ẩn trong cửa sổ Relationships.

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

Show TableMở hộp thoạiShow Tableđể chúng ta có thể lựa chọn các bảng và các truy vấn vấn để coi trong cửa sổ Relationships.Hide TableẨn các bảng đã chọn trong hành lang cửa số Relationships.All Relationships Hiển thị vớ cả những dục tình và những bảng liên quan so với bảng vẫn chọn trong cửa sổ Relationships, giả dụ bọn chúng không được hiển thị.All Relationships Hiển thị tổng số các mối quan lại hệ và bảng tương quan trong cơ sở dữ liệu vào hành lang cửa số Relationships. Lưu ý là sẽ không hiện tại được những bảng ẩn (những bảng gồm vỏ hộp kiểmHiddenđược chọn sinh hoạt trong vỏ hộp thoạiProperties của bảng) tương tự như mối quan hệ của chúng trừ Lúc người mua lựa chọn Show Hidden Objects trong vỏ hộp thoại Navigation Options.CloseĐóng cửa sổ Relationships. Nếu quý khách hàng đã thực hiện bất kỳ gắng đổi nào đối với bố trí của hành lang cửa số Relationships, thì người mua sẽ được yêu ước là người tiêu dùng có muốn giữ các núm đổi đó hay không.


Chuyên mục: Domain Hosting