Cardinalidad de las relaciones

Se ha comentado que una clave primaria identifica de forma unívoca a cada registro de la tabla, mientras que una clave externa no, pues tiene como único objetivo definir la relación entre las dos tablas. Es decir, si consideramos las dos tablas involucradas en una relación (por ejemplo, nuestras tablas de ventas y clientes):

Relationship

a una fila de la tabla de clientes le podrá corresponder un número indefinido de filas en la tabla de ventas (un cliente puede realizar muchas compras), pero a una fila en la tabla de ventas le va a corresponder una y solo una fila en la tabla de clientes (pues, en nuestro escenario, una venta tiene asociado un único cliente). Esto es lo que define la cardinalidad de la relación, y se suele expresar diciendo que es de tipo “uno” (en la tabla de clientes) a “varios” (en la tabla de ventas).

En Power BI la cardinalidad de las relaciones se muestra en el modelo de datos añadiendo esta información en el extremo de la línea que define cada relación: el lado “uno” se indica con un “1”. El lado “varios” se indica con un asterisco (“*”):

Relationship cardinality

Si, por ejemplo, quisiéramos mostrar esta información en el modelo de datos normalizado al que hemos llegado en el ejemplo con el que estamos practicando en esta sección, el resultado sería el siguiente:

Relationship cardinality

El tipo de relación más frecuente es de uno a varios (o de varios a uno), pero también hay relaciones de uno a uno y de varios a varios (relaciones denominadas “débiles”).

Por ejemplo, aquí tenemos nuevamente el modelo de datos con el que vamos a trabajar en este curso:

Data model and relationships cardinality

En él se ve que todas las relaciones son de tipo uno a varios (o viceversa).