Relaciones entre tablas

Completado

Al trabajar con Microsoft Dataverse, organice la información en diferentes conjuntos de datos y en tablas independientes, a fin de contribuir a la estandarización de los datos. Las relaciones entre tablas definen las posibles asociaciones entre filas de distintas tablas.

En este módulo, ya hemos visto que una tabla de base de datos tiene una clave principal para hacer referencia a filas de la tabla de un modo inequívoco. En Dataverse, una relación entre dos tablas hace referencia a la clave principal mediante una columna de búsqueda.

Tipos de relaciones

Las relaciones entre tablas definen la asociación entre filas de tablas distintas, o incluso entre filas de la misma tabla. Hay dos tipos de relaciones de tabla.

  • Relaciones uno a varios: en una relación de tablas de uno a varios (1:N), varias filas de tabla de referencia (relacionadas) se pueden asociar a una sola fila de tabla a la que se hace referencia (principal). La fila a la que se hace referencia se suele denominar elemento primario, mientras que las filas de la tabla de referencia son los elementos secundarios. Una relación de varios a uno es la misma estructura vista desde la tabla secundaria.

  • Relaciones varios a varios: en una relación entre tablas de varios a varios (N:N), varias filas de tabla se pueden asociar a varias filas. Estas filas se consideran iguales y la relación es recíproca.

Comparación entre la relación varios a uno y uno a varios

La relación de varios a uno (N:1) no es, básicamente, distinta de la de uno a varios. Representa la misma relación vista desde la tabla opuesta. Por ejemplo, si la Tabla A tiene una relación de uno a varios con la Tabla B, verá:

  • una relación de uno a varios en la Tabla A en Power Apps Maker Portal;
  • una relación varios a uno en la Tabla B.

La diferencia reside en la perspectiva de la interfaz, no en que se trate de un tipo de relación independiente.

Columnas de búsqueda

Una forma común de crear una relación entre tablas consiste en añadir una columna con el tipo de datos Búsqueda. Esto crea automáticamente una relación de varios a uno.

Tanto si la relación se define como uno a varios, varios a uno o mediante una columna de búsqueda, la estructura subyacente es la misma.

Crear relaciones entre tablas manualmente

Cuando crea una nueva tabla, como se explicó anteriormente en este módulo, Dataverse proporciona varias formas de configurar las relaciones entre tablas. En la pantalla Tablas, el panel Esquema incluye un vínculo de Relaciones.

Al seleccionar este vínculo, se abre una vista que muestra todas las relaciones de la tabla. Algunos están definidos por el sistema; otros son creados por el usuario. Puede revisar qué tablas están relacionadas y los tipos de relación.

En la parte superior de esta vista, puede seleccionar Nueva relación desde la barra de comandos para definir manualmente una nueva relación.

Al crear una relación, usted elige el tipo. En el siguiente ejemplo, crearemos una relación de uno a varios con una tabla llamada Veterinario. Aunque una mascota puede ser tratada por cualquier veterinario, esta relación define un médico habitual para cada mascota. Al crear esta relación, también se añade una columna Búsqueda en la tabla relacionada.

Una vez creada la relación, aparece una columna de búsqueda correspondiente en la tabla asociada.

Relaciones de varios a varios

Las relaciones de varios a varios permiten que las filas de datos actúen como elementos del mismo nivel, sin jerarquía principal-secundario.

Nota

Las bases de datos relacionales no admiten directamente relaciones de varios a varios. Dataverse utiliza una tabla de intersección oculta para administrar estas relaciones. Esta tabla de intersección no es editable por el usuario y no admite formularios o columnas personalizados.

Puede crear manualmente una relación varios a varios seleccionando las dos tablas relacionadas. Por ejemplo, si tuviera una tabla de Peluqueros de mascotas y otra de Mascotas, cada mascota podría tener varios peluqueros y cada peluquero podría tener varias mascotas.

Aunque esta relación está definida en Dataverse, no hay ninguna tabla de intersección visible. Sin embargo, puede mostrar registros relacionados en un formulario utilizando una subcuadrícula. Con el filtrado, puede mostrar elementos relacionados de forma dinámica, aunque no abarcaremos este concepto en esta unidad.

Para obtener más información, consulte Información general sobre la creación de relaciones varios a varios entre tablas.