Mối quan hệ bảng Microsoft Dataverse

Mối quan hệ bảng trong Microsoft Dataverse xác định cách liên kết các hàng trong bảng với các hàng từ các bảng khác hoặc cùng một bảng. Có hai loại mối quan hệ bảng:

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

Trong mối quan hệ bảng một-nhiều, nhiều hàng bảng tham chiếu (liên quan) có thể được liên kết với một hàng bảng được tham chiếu (chính). Hàng bảng được tham chiếu đôi khi được gọi là "cha" và các hàng của bảng tham chiếu được gọi là "con". Một mối quan hệ nhiều đối một chỉ là quan điểm trẻ em của một mối quan hệ một-nhiều.

Ví dụ, trong kịch bản trường học, nhiều khóa học có thể được phân phát trong một lớp học duy nhất, vì vậy bảng lớp học sẽ có mối quan hệ một đối nhiều với bảng khóa học.

Mối quan hệ nhiều-nhiều

Trong mối quan hệ bảng-nhiều, nhiều hàng bảng có thể được liên kết với nhiều hàng bảng khác. Các hàng có liên quan bằng cách sử dụng mối quan hệ nhiều-nhiều có thể được coi là ngang hàng và mối quan hệ có đi có lại.

Ví dụ: trong cùng một kịch bản trường học đã đề cập trước đó, một học sinh có thể đăng ký nhiều khóa học và mỗi khóa học có thể có nhiều học sinh. Loại mối quan hệ này cho phép liên kết dữ liệu phức tạp hơn và được quản lý bằng Power Apps trong Dataverse.

Cách hoạt động của các mối quan hệ trong Dataverse

Mối quan hệ bảng xác định cách các hàng bảng có thể liên quan với nhau trong Dataverse. Ở cấp độ đơn giản nhất, việc thêm cột tra cứu vào bảng sẽ tạo mối quan hệ 1:N (một-nhiều) mới giữa hai bảng và cho phép bạn đặt cột tra cứu đó trên biểu mẫu. Với cột tra cứu, người dùng có thể liên kết nhiều hàng con của bảng đó với một hàng bảng mẹ duy nhất.

Quan trọng

Khi cột tra cứu có một tập giá trị, Dataverse trả về thông tin sau đây trong bảng có chứa tra cứu:

  • ID của bản ghi liên quan.
  • Giá trị chuỗi trong cột tên chính của bản ghi liên quan.

Bất kỳ ai có thể truy nhập vào bản ghi chứa cột tra cứu đều có thể xem giá trị tên chính, ngay cả khi họ không có quyền xem bản ghi liên quan. Không lưu trữ thông tin nhạy cảm trong cột tên chính.

Ngoài việc chỉ đơn giản xác định cách các hàng có thể liên quan đến các hàng khác, mối quan hệ bảng 1:N còn cung cấp dữ liệu để giải quyết các câu hỏi sau:

  • Khi tôi xóa một hàng, có nên xóa bất kỳ hàng nào liên quan đến hàng đó không?
  • Khi tôi gán một hàng, tôi có cần gán tất cả các hàng liên quan đến hàng đó cho chủ sở hữu mới không?
  • Làm cách nào để hợp lý hóa quy trình nhập dữ liệu khi tôi tạo một hàng liên quan mới trong ngữ cảnh của một hàng hiện có?
  • Làm thế nào để mọi người xem một hàng có thể xem các hàng được liên kết?

Các bảng cũng có thể tham gia vào mối quan hệ N:N (nhiều-nhiều) trong đó bất kỳ số lượng hàng nào cho hai bảng có thể được liên kết với nhau.

Quyết định xem có nên sử dụng mối quan hệ bảng hay kết nối

Mối quan hệ bảng là siêu dữ liệu thực hiện các thay đổi trong Dataverse. Các mối quan hệ này cho phép truy vấn truy xuất dữ liệu liên quan một cách hiệu quả. Sử dụng mối quan hệ bảng để xác định mối quan hệ chính thức xác định bảng hoặc hầu hết các hàng có thể sử dụng. Ví dụ, một cơ hội không có khách hàng tiềm năng sẽ không hữu ích. Bảng cơ hội trong Dynamics 365 for Sales cũng có mối quan hệ N:N với bảng đối thủ cạnh tranh, cũng có sẵn với Dynamics 365 for Sales. Điều này cho phép thêm nhiều đối thủ cạnh tranh vào cơ hội. Bạn có thể muốn thu thập dữ liệu này và tạo báo cáo hiển thị các đối thủ cạnh tranh.

Có những loại mối quan hệ khác ít chính thức hơn giữa các hàng được gọi là kết nối. Ví dụ: có thể hữu ích khi biết liệu hai người liên hệ đã kết hôn hay không, hoặc có thể họ là bạn bè bên ngoài công việc hoặc có thể là một người liên hệ từng làm việc cho một tài khoản khác. Hầu hết các doanh nghiệp sẽ không tạo báo cáo bằng cách sử dụng loại thông tin này hoặc yêu cầu nhập báo cáo, vì vậy có lẽ không đáng để tạo mối quan hệ bảng. Thông tin thêm: Đặt cấu hình vai trò kết nối

Các loại mối quan hệ bảng

Khi bạn xem các mối quan hệ trong Power Apps, bạn có thể nghĩ rằng có ba loại mối quan hệ bảng. Thực sự có là chỉ có hai loại như thể hiện trong bảng sau.

Loại Mối quan hệ Mô tả
1:N (Một-nhiều) Mối quan hệ bảng trong đó một hàng bảng cho bảng Chính có thể được liên kết với nhiều hàng bảng Liên quan khác do cột tra cứu trên bảng liên quan.

Khi xem một hàng bảng chính, bạn có thể thấy danh sách các hàng bảng có liên quan được liên kết với hàng đó.

Trong cổng thông tin Power Apps, bảng Hiện tại đại diện cho bảng chính.
N:N (Nhiều-nhiều) Mối quan hệ bảng phụ thuộc vào một bảng Mối quan hệ đặc biệt, đôi khi được gọi là bảng Giao nhau, do đó nhiều hàng của một bảng có thể liên quan đến nhiều hàng của bảng khác.

Khi xem các hàng của một trong hai bảng trong mối quan hệ N:N, bạn có thể thấy danh sách bất kỳ hàng nào của bảng khác có liên quan đến bảng đó.

Loại mối quan hệ N:1 (nhiều-một) tồn tại trong giao diện người dùng vì công cụ thiết kế hiển thị cho bạn dạng xem được nhóm theo bảng. Mối quan hệ 1:N thực sự tồn tại giữa các bảng và tham chiếu đến mỗi bảng dưới dạng bảng Chính/Hiện tại hoặc Bảng Liên quan. Bảng liên quan, đôi khi được gọi là bảng con , có một cột tra cứu cho phép lưu trữ tham chiếu đến một hàng từ bảng chính, đôi khi được gọi là bảng mẹ . Mối quan hệ N:1 chỉ là mối quan hệ 1:N được xem từ bảng liên quan.

Hành vi mối quan hệ bảng

Hành vi cho các bảng liên quan rất quan trọng vì chúng giúp đảm bảo tính toàn vẹn của dữ liệu và có thể tự động hóa các quy trình kinh doanh cho bạn.

Duy trì tính toàn vẹn của dữ liệu

Một số bảng tồn tại để hỗ trợ các bảng khác. Bản thân chúng không có ý nghĩa. Họ thường sẽ có một cột tra cứu bắt buộc để liên kết đến bảng chính mà họ hỗ trợ. Điều gì sẽ xảy ra khi một hàng chính bị xóa?

Bạn có thể sử dụng hành vi mối quan hệ để xác định điều gì sẽ xảy ra với các hàng liên quan theo quy tắc dành cho doanh nghiệp của bạn. Thông tin thêm: Thêm hành vi quan hệ nâng cao

Tự động hóa quy trình kinh doanh

Giả sử bạn có một nhân viên bán hàng mới và bạn muốn gán cho họ một số tài khoản hiện có hiện được gán cho một nhân viên bán hàng khác. Mỗi hàng tài khoản có thể có một số hoạt động nhiệm vụ được liên kết với nó. Bạn có thể dễ dàng xác định vị trí các tài khoản đang hoạt động mà bạn muốn chỉ định lại và chỉ định chúng cho nhân viên bán hàng mới. Nhưng điều gì sẽ xảy ra đối với bất kỳ hoạt động nhiệm vụ nào được liên kết với các tài khoản? Bạn có muốn mở từng nhiệm vụ và quyết định xem chúng có nên được chỉ định cho nhân viên bán hàng mới không? Có thể không. Thay vào đó, bạn có thể để cho mối quan hệ áp dụng một số quy tắc tiêu chuẩn cho bạn một cách tự động, Các quy tắc này chỉ áp dụng cho các hàng nhiệm vụ được liên kết với các tài khoản bạn đang chỉ định lại. Các tùy chọn của bạn là:

  • Chỉ định lại tất cả các nhiệm vụ đang hoạt động.
  • Chỉ định lại tất cả các nhiệm vụ.
  • Không chỉ định lại nhiệm vụ nào.
  • Chỉ định lại tất cả các nhiệm vụ hiện được giao cho chủ sở hữu cũ của tài khoản.

Mối quan hệ có thể kiểm soát cách các hành động được thực hiện trên một hàng cho hàng bảng chính xếp tầng xuống bất kỳ hàng bảng nào có liên quan.

Hành vi

Có một số loại hành vi có thể được áp dụng khi một số hành động nhất định xảy ra.

Tính chất Mô tả
Cascade hoạt động Thực hiện hành động trên tất cả các hàng bảng liên quan đang hoạt động.
Thác tất cả Thực hiện hành động trên tất cả các hàng bảng có liên quan.
Thác nước Không có Không phải làm gì.
Xóa liên kết Loại bỏ giá trị tra cứu cho tất cả các hàng liên quan.
Hạn chế Ngăn hàng bảng chính bị xóa khi tồn tại các hàng bảng liên quan.
Người dùng sở hữu Cascade Thực hiện hành động trên tất cả các hàng bảng liên quan thuộc sở hữu của cùng một người dùng với hàng bảng chính.

Hoạt động

Đây là những hành động có thể kích hoạt một số hành vi nhất định:

Column Mô tả số đếm
Giao phó Điều gì sẽ xảy ra khi hàng bảng chính được gán cho người khác? Xếp tầng tất cả
Xếp tầng hiện hoạt
Cascade do người dùng sở hữu
Không phân tầng
Cha mẹ mới Điều gì sẽ xảy ra khi giá trị tra cứu của bảng liên quan trong mối quan hệ cha mẹ bị thay đổi?
Thông tin thêm: Mối quan hệ bảng cha mẹ
Xếp tầng tất cả
Xếp tầng hiện hoạt
Cascade do người dùng sở hữu
Không phân tầng
Chia sẻ Điều gì sẽ xảy ra khi hàng bảng chính được chia sẻ? Xếp tầng tất cả
Xếp tầng hiện hoạt
Cascade do người dùng sở hữu
Không phân tầng
Xóa Điều gì sẽ xảy ra khi hàng bảng chính bị xóa? Xếp tầng tất cả
Xóa liên kết
Hạn chế
Bỏ chia sẻ Điều gì sẽ xảy ra khi một hàng bảng chính không được chia sẻ? Xếp tầng tất cả
Xếp tầng hiện hoạt
Cascade do người dùng sở hữu
Không phân tầng
Merge Điều gì sẽ xảy ra khi một hàng bảng chính được hợp nhất? Xếp tầng tất cả
Không phân tầng
Chế độ xem tổng hợp Hành vi mong muốn của dạng xem tổng số được liên kết với mối quan hệ này là gì? Xếp tầng tất cả
Xếp tầng hiện hoạt
Cascade do người dùng sở hữu
Không phân tầng

Lưu ý

Các hành động Gán, Xóa, Hợp nhất và Thay đổi cha mẹ không thực thi trong các trường hợp sau:

  • Nếu hàng gốc và hành động được yêu cầu chứa các giá trị giống nhau. Ví dụ: Cố gắng kích hoạt Chỉ định và chọn một người liên hệ đã là chủ sở hữu của hàng.
  • Cố gắng thực hiện một hành động trên một hàng cha đã chạy một hành động xếp tầng.

Khi thực hiện một nhiệm vụ, mọi quy trình làm việc hoặc quy tắc công việc hiện đang hoạt động trên các hàng sẽ tự động bị vô hiệu hóa khi quá trình gán lại xảy ra. Chủ sở hữu mới của hàng phải kích hoạt lại quy trình làm việc hoặc quy tắc công việc nếu họ muốn tiếp tục sử dụng nó.

Mối quan hệ bảng phụ huynh

Mỗi cặp bảng đủ điều kiện để có mối quan hệ 1:N có thể có nhiều mối quan hệ 1:N giữa chúng. Tuy nhiên, thông thường chỉ một trong những mối quan hệ đó có thể được coi là mối quan hệ bàn cha mẹ.

Mối quan hệ bảng mẹ là bất kỳ mối quan hệ bảng 1:N nào trong đó một trong các tùy chọn xếp tầng trong cột Cha mẹ của bảng sau là đúng.

Hành động Cha mẹ Không phải là cha mẹ
Giao phó Xếp tầng tất cả
Cascade do người dùng sở hữu
Xếp tầng hiện hoạt
Không phân tầng
Xóa Xếp tầng tất cả Xóa liên kết
Hạn chế
Cha mẹ mới Xếp tầng tất cả
Cascade do người dùng sở hữu
Xếp tầng hiện hoạt
Không phân tầng
Chia sẻ Xếp tầng tất cả
Cascade do người dùng sở hữu
Xếp tầng hiện hoạt
Không phân tầng
Bỏ chia sẻ Xếp tầng tất cả
Cascade do người dùng sở hữu
Xếp tầng hiện hoạt
Không phân tầng

Ví dụ: nếu bạn tạo một bảng tùy chỉnh mới và thêm mối quan hệ bảng 1:N với bảng tài khoản trong đó bảng tùy chỉnh của bạn là bảng liên quan, bạn có thể đặt cấu hình các hành động cho mối quan hệ bảng đó để sử dụng các tùy chọn trong cột Cha mẹ . Nếu sau đó bạn thêm một mối quan hệ bảng 1:N khác với bảng tùy chỉnh của mình làm bảng tham chiếu, bạn chỉ có thể đặt cấu hình các hành động để sử dụng các tùy chọn trong cột Không phải là cha mẹ .

Thông thường, điều này có nghĩa là đối với mỗi cặp bàn chỉ có một mối quan hệ cha mẹ. Có một số trường hợp tra cứu trên bảng liên quan có thể cho phép mối quan hệ với nhiều loại bảng.

Ví dụ: nếu một bảng có tra cứu khách hàng có thể tham chiếu đến bảng liên hệ hoặc tài khoản. Có hai mối quan hệ bảng 1:N riêng biệt của cha mẹ.

Bất kỳ bảng hoạt động nào cũng có một tập hợp các mối quan hệ bảng mẹ tương tự cho các bảng có thể được liên kết bằng cách sử dụng cột tra cứu liên quan.

Hạn chế về hành vi mà bạn có thể thiết lập

Vì mối quan hệ của cha mẹ nên có một số hạn chế, bạn nên ghi nhớ khi xác định mối quan hệ bảng.

  • Bảng tùy chỉnh không thể là bảng chính trong mối quan hệ với bảng hệ thống liên quan xếp tầng. Điều này có nghĩa là bạn không thể có mối quan hệ với bất kỳ hành động nào được đặt thành Tất cả xếp tầng, Hoạt động theo tầng hoặc Thuộc sở hữu của người dùng giữa bảng tùy chỉnh chính và bảng hệ thống có liên quan.
  • Không có mối quan hệ mới nào có thể có bất kỳ hành động nào được đặt thành Cascade All, Cascade Active hoặc Cascade User-Owned nếu bảng liên quan trong mối quan hệ đó đã tồn tại dưới dạng bảng liên quan trong mối quan hệ khác có bất kỳ hành động nào được đặt thành Cascade All, Cascade Active hoặc Cascade User-Owned. Điều này ngăn mối quan hệ mà tạo ra một mối quan hệ gồm nhiều mục chính.

Dọn dẹp quyền truy cập kế thừa

Sử dụng hành vi xếp tầng Xóa lại và Chia sẻ rất hữu ích khi bạn muốn cung cấp quyền truy cập vào các hàng trên các bảng liên quan. Nhưng có thể có một sự thay đổi trong quy trình hoặc thiết kế đòi hỏi phải thay đổi cài đặt hành vi xếp tầng.

Khi mối quan hệ bảng sử dụng Reparent hoặc Share và hành vi xếp tầng được thay đổi thành Không xếp tầng, mối quan hệ bảng sẽ ngăn mọi thay đổi quyền mới xếp tầng sang các bảng con có liên quan. Ngoài ra, các quyền kế thừa đã được cấp trong khi hành vi xếp tầng đang hoạt động phải bị thu hồi.

Dọn dẹp quyền truy cập kế thừa là một công việc hệ thống dọn dẹp các quyền truy cập kế thừa vẫn còn sau khi hành vi xếp tầng được thay đổi thành Không có tầng. Việc dọn dẹp này không ảnh hưởng đến bất kỳ người dùng nào được cấp quyền truy cập trực tiếp vào bảng, nhưng chỉ loại bỏ quyền truy cập từ bất kỳ ai đã nhận được quyền truy cập thông qua kế thừa.

Đây là cách hoạt động của tính năng dọn dẹp quyền truy cập kế thừa:

  1. Xác định và thu thập tất cả các bảng có mối quan hệ xếp tầng với bảng mẹ được cập nhật.
  2. Xác định và thu thập những người dùng đã được cấp quyền truy cập vào các bảng liên quan thông qua quyền truy cập kế thừa.
  3. Kiểm tra những người dùng được cấp quyền truy cập trực tiếp vào bảng liên quan và xóa họ khỏi bộ sưu tập.
  4. Loại bỏ quyền truy cập kế thừa cho người dùng được thu thập trên các bảng được thu thập.

Sau khi dọn dẹp chạy, người dùng chỉ có thể truy cập các bảng liên quan nhờ tính năng xếp tầng không thể truy cập các hàng nữa, đảm bảo bảo mật cao hơn. Có những trường hợp việc dọn dẹp có thể không thành công. Tìm hiểu thêm về cách dọn dẹp quyền truy cập kế thừa

Xem thêm

Giám sát công việc hệ thống
Tạo và chỉnh sửa mối quan hệ 1:N (một-nhiều) hoặc N:1 (nhiều-một)
Tạo mối quan hệ bảng Nhiều-nhiều (N:N)