Relaciones entre tablas

Completado

Al trabajar con Microsoft Dataverse, es recomendable guardar la información sobre diferentes conjuntos de datos en tablas separadas. Esto se conoce como normalización de datos. Las relaciones entre tablas definen las distintas maneras que hay para asociar las filas de una tabla con las filas de otras tablas.

En este módulo, ya hemos visto que una tabla de base de datos tiene una clave principal para filas de referencia única en la tabla. En Dataverse, una relación entre dos tablas hace referencia, o busca, la clave principal.

Tipos de relaciones

Las relaciones entre tablas definen las formas en que las filas de tablas se pueden asociar con las filas de la misma tabla o de otras. Solo hay dos tipos de relaciones de tablas:

  • 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 referenciada (principal). La fila de tabla a la que se hace referencia a veces se denomina "principal" y las filas de la tabla de referencia se denominan "secundarias". Una relación de varios a uno es la perspectiva de elemento secundario de una relación de uno a varios

  • 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 de tabla distintas. Las filas relacionadas mediante el uso de relaciones de varios a varios pueden considerarse iguales y la relación es recíproca.

Varios a uno y uno a varios

La relación de varios a uno (N:1) no es fundamentalmente diferente de la de uno a varios, es solo un punto de vista diferente. El tipo de relación varios a uno existe en la interfaz de usuario porque el diseñador le permite ver y crear relaciones desde cualquiera de las tablas implicadas en una relación. Si tiene una relación de uno a varios entre la tabla A y la tabla B, puede ver una relación de uno a varios en la Tabla A, en Power Apps Maker Portal, y una relación de varios a uno en la tabla B. Una relación de varios a uno no es más que una relación de uno a varios desde el punto de vista de la tabla relacionada. No es un tipo diferente de relación, es simplemente una perspectiva diferente.

Columnas de búsqueda

Una forma fácil de crear una relación entre tablas es crear una columna de tipo de datos Búsqueda en otra tabla. Al crear una columna de búsqueda, se crea una relación varios a uno.

Captura de pantalla de una columna de búsqueda

Todas las relaciones tienen la misma funcionalidad, con independencia de si se han creado con el formato uno a varios, varios a uno o columna de búsqueda.

Crear relaciones entre tablas manualmente

Cuando crea una nueva tabla, como aprendimos anteriormente en este módulo de aprendizaje, tiene muchas opciones y unos pocos clics del ratón para que Dataverse haga el trabajo por usted. En la pantalla Tablas, hay un vínculo a Relaciones en el panel Esquema.

Captura de pantalla del diseñador de tablas con Relaciones destacado

Si selecciona este vínculo, accederá a una tabla que muestra todas las relaciones de su tabla. Algunas las diseña el sistema y otras las crea usted. Puede ver con qué tablas está relacionada su tabla actual y qué tipo de relación tienen con esas otras tablas.

Además, tenga en cuenta que, en la parte superior de la barra de comandos, puede crear una Nueva relación. Esto le da la flexibilidad de crear manualmente una relación entre sus tablas.

Captura de pantalla de una lista de relaciones de tabla en esta vista con Nueva relación resaltada

Tiene la capacidad de decidir qué tipo de relación quiere crear. En el siguiente ejemplo, crearemos una relación de uno a varios con una tabla llamada Veterinario. Si bien cada mascota puede ver a cualquier médico, queremos que cada mascota vea a un médico habitual. Observe cómo crear una relación de esta manera crea una columna Búsqueda en la tabla relacionada.

Captura de pantalla del cuadro de diálogo Uno a varios que muestra Mascotas vinculadas a Veterinario y una columna de búsqueda denominada Mascota asignada a la columna Veterinario

Una vez que crea esta relación, puede ir a la tabla asociada y descubrir la columna de búsqueda creada.

Relaciones de varios a varios

Antes de continuar, analicemos brevemente el concepto de crear relaciones de varios a varios entre tablas en Dataverse.

Recuerde que las relaciones de uno a varios tienen una jerarquía entre las filas de la relación entre tablas. Las filas que se relacionan mediante relaciones varios a varios se consideran del mismo nivel.

Nota

Las bases de datos relacionales no admiten el uso de relaciones varios a varios, y Dataverse crea una tabla Intersección oculta para vincular las filas de la tabla. Esta tabla Intersección no tiene un formulario, y no es posible editar sus propiedades ni agregarle columnas.

Puede crear manualmente una relación varios a varios al elegir las 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. Desafortunadamente, no hay tabla en Dataverse que muestre esto, simplemente una relación. En un formulario, puede insertar una subcuadrícula que muestre los elementos de la tabla relacionada y, con el filtrado, mostrar los elementos de la tabla relacionada correspondientes a su elemento. Sin embargo, eso escapa al ámbito de esta unidad.

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