Compartir a través de


Uso de relaciones complejas con Microsoft Dataverse

Microsoft Dataverse es una plataforma de datos empresarial en Power Platform que permite a las organizaciones crear aplicaciones empresariales. Estas aplicaciones pueden implicar el seguimiento de información sobre los procesos empresariales que incluyen relaciones complejas entre datos. Dataverse admite las relaciones de datos comunes mediante los tipos integrados de relación uno a varios, varios a uno y varios a varios. También puede implementar relaciones más avanzadas de varios a varios cuando necesite realizar un seguimiento de los datos relacionados sobre la relación. Esta flexibilidad es beneficiosa para aplicaciones como una aplicación de administración de eventos, donde el seguimiento de los detalles de asistencia requiere más que asociaciones simples.

Sugerencia

En este artículo se proporciona un escenario de ejemplo y una representación visual de cómo modelar relaciones de datos complejas en Microsoft Dataverse. Esta solución es una arquitectura de escenario de ejemplo generalizada, que se puede usar para muchos escenarios y sectores diferentes.

Diagrama de arquitectura

Diagrama de arquitectura que muestra cómo se conectan las tablas Event, Contact y Event Attendee para realizar un seguimiento de quién asiste a eventos y datos relacionados sobre cada asistente.

Flujo de trabajo

Una aplicación de lienzo de Power Apps utiliza Dataverse para gestionar datos en una aplicación para la gestión de eventos. La aplicación permite al usuario realizar un seguimiento de quién asistió al evento (o eventos) hospedado por el equipo de ventas de la organización.

  • Contacto: la tabla Contact realiza un seguimiento de las personas que el equipo de ventas invita a eventos.
  • Evento: la tabla Event realiza un seguimiento de la información del evento, como el nombre, la fecha y la ubicación de cada evento.
  • Asistente de eventos: la tabla Asistente de eventos realiza un seguimiento de quién asiste a cada evento y sus datos de asistencia. Esta tabla tiene una relación de varios a varios entre Contacto y Evento. Se crea con una relación de varios a uno con la tabla Contacto y una relación de varios a uno con la tabla Evento. Esta estructura permite que esta tabla de muchos a muchos incluya datos sobre los asistentes de un evento, como su estado de confirmación, el estado de asistencia y si han pagado una tarifa.

Caso de uso

El propósito principal de la aplicación de administración de eventos es realizar un seguimiento de la asistencia a eventos e información relacionada. Los requisitos son:

  • La aplicación debe registrar quién asistió a cada evento y detalles sobre su asistencia.
  • Una persona puede asistir a varios eventos.

Relación de varios a varios integrada

A medida que el equipo que desarrolla la aplicación evaluaba opciones para el modelado de datos, consideraron el soporte integrado de Dataverse de varios a varios. Este enfoque permite que un contacto asista a varios eventos. En segundo plano, Dataverse crea una tabla de intersección interna que realiza un seguimiento de las conexiones entre el contacto y una o varias filas de eventos. Esta tabla interna no es modificable: no se pueden agregar columnas adicionales para realizar un seguimiento de los datos sobre la relación entre las dos tablas. Aunque este enfoque satisface parte de los requisitos de la aplicación, no admite la necesidad de realizar un seguimiento de la información sobre cada evento al que asiste el contacto, como el estado de RSVP.

Relación de varios a varios manual

Para realizar un seguimiento de información adicional sobre cada evento al que asiste un contacto, considere el patrón de relación "varios a varios manual". Este patrón implica crear una tabla personalizada para representar la tabla de intersección y, a continuación, establecer dos relaciones de varios a uno en las dos tablas que definen la relación. Con este enfoque, creará una tabla personalizada, Asistente a evento, para representar la intersección entre Contacto y Evento. La tabla Asistente a evento incluye relaciones de varios a uno con las tablas Contacto y Evento, lo que le permite almacenar otros campos, como el estado de confirmación de asistencia, el estado de asistencia y la información de pago.

Aunque este patrón proporciona más flexibilidad que la relación integrada de varios a varios, úsela solo cuando necesite almacenar datos adicionales sobre la relación.

Cuándo usar cada enfoque

Enfoque integrado de varios a varios: Mejor si solo necesita saber qué contactos están vinculados a qué eventos, no se requiere información adicional. Automatiza la administración de la intersección entre las tablas y las filas. Ofrece una experiencia más fluida para vincular varios registros a la vez, especialmente en aplicaciones controladas por modelos, que están optimizadas para el enfoque integrado.

Varios a varios manual: use esta opción cuando necesite almacenar datos adicionales sobre cada relación. Es más fácil agregar campos personalizados a través de la tabla de intersección. Proporciona control total sobre la seguridad y le permite automatizar cuándo y quién puede establecer la relación. Requiere más pasos para proporcionar información adicional para cada fila (especialmente perceptible al asociar varias filas a la vez).

Con nuestro escenario, el patrón manual podría implicar que se presente al usuario un nuevo formulario de fila, teniendo que, como mínimo, asegurarse de que se proporcionen las dos filas asociadas. En las aplicaciones de lienzo de Power Apps, los creadores pueden simplificar esta complejidad al proporcionar una experiencia de usuario que optimice la asociación. Tenga en cuenta también que, al crear una relación manual, debe configurar las opciones en cascada en las relaciones de varios a uno para asegurarse de que, si se quita cualquiera de las filas relacionadas, las opciones en cascada automatizan la eliminación de la fila de tabla personalizada que realiza un seguimiento de la relación. Si no configura correctamente las opciones en cascada para eliminar la fila de tabla de intersección personalizada, corre el riesgo de dejar filas huérfanas.

Al elegir entre la mejor opción para el modelo de datos, tenga en cuenta que no hay compatibilidad integrada para la conversión entre los dos enfoques. Una vez que elija un enfoque, no podrá cambiar entre ellos sin migrar los datos. Evalúe cuidadosamente las necesidades de cualquier relación de varios a varios para determinar si el método de tabla personalizada es necesario. Considere también si necesitará datos adicionales no solo ahora, sino también en el futuro. El patrón manual de varios a varios, a pesar de su complejidad, proporciona mayor flexibilidad.

Components

Power Apps se usa para implementar la experiencia del usuario de la solución. Los creadores desarrollan la aplicación para administrar los datos en Dataverse. Los desarrolladores deben implementar la experiencia del usuario para todas las relaciones de varios a varios que creen.

Dataverse: Dataverse controla las necesidades de datos de la aplicación. Dataverse proporciona tipos de relación de varios a uno, uno a varios y varios a varios para modelar conexiones de datos empresariales reales.

Consideraciones

Estas consideraciones implementan los pilares de Power Platform Well-Architected, un conjunto de principios rectores que mejoran la calidad de una carga de trabajo. Obtenga más información en Buena arquitectura de Microsoft Power Platform.

Reliability

Diseñar cargas de trabajo para alinearse con los objetivos empresariales y evitar una complejidad o sobrecarga innecesarias: el uso del patrón manual de varios a varios para todas las relaciones de este tipo agrega complejidad innecesaria a la creación, el mantenimiento y la experiencia del usuario de la aplicación. Asegúrese de evaluar cada relación para asegurarse de que el enfoque que elija es el mejor ajuste según sus requisitos.

Security

Diseño para proteger la confidencialidad e integridad: las relaciones entre los datos pueden ser confidenciales y afectar directamente a las operaciones empresariales. De forma predeterminada, el modelo de seguridad de Dataverse proporciona compatibilidad con la seguridad granular sobre cómo están relacionados los datos y qué operaciones puede realizar un usuario en las filas de datos. Cuando se crea una relación manual de varios a varios que tiene una tabla de intersección personalizada, se obtienen controles adicionales que se pueden usar para administrar quién puede hacer qué con los datos de la relación.

Excelencia operativa

Automatice todas las tareas que no se beneficien de la información y la adaptabilidad de la intervención humana: use la automatización en cascada en las relaciones para limpiar automáticamente filas de tablas de intersección personalizadas cuando se elimina una de las filas relacionadas.

Optimización de la experiencia

Diseño para la simplicidad y la eficiencia: elegir el tipo de relación de muchos a muchos afecta cómo el usuario establece las relaciones entre las filas de datos de la aplicación. Al usar el patrón manual, establezca una manera coherente de que los usuarios relacionan los datos y optimicen escenarios de interacción comunes de forma coherente en toda la aplicación. En el caso de las aplicaciones controladas por modelos de Power Apps, considere la posibilidad de proporcionar una experiencia de usuario más personalizada al usar el patrón manual. Por ejemplo, mediante una página de lienzo de Power Apps personalizada o un control de Power Apps Component Framework (PCF), puede proporcionar una experiencia de interacción simplificada similar a la que se tiene en una aplicación de lienzo de Power Apps.