Relaciones#
Una relación dice cómo se une una tabla de hechos con otra: las facturas con sus líneas, los clientes con sus facturas, los productos con las líneas. Con las relaciones, un usuario combina en un mismo cubo métricas y dimensiones de varias tablas sin saber cómo se unen, y los universos de una tabla llegan a las que dependen de ella. Se diseñan en la pestaña Relaciones del editor, en un diagrama o en una lista.
Antes de empezar#
- Necesita Administración del Metadata.
- Las dos tablas tienen que ser tablas de hechos de la conexión. Las tablas auxiliares no se relacionan aquí: se enlazan desde cada dimensión.
Qué define una relación#
| Parte | Qué es |
|---|---|
| Tabla maestra | La del lado «uno»: un cliente, una factura. |
| Tabla de detalle | La del lado «varios», o la otra en una relación uno a uno: las facturas del cliente, las líneas de la factura. |
| Tipo de relación | «Una fila de «Facturas» con varias de «Líneas»» (una con varias) o «Una fila de «…» con una de «…»» (una con una). |
| Tipo de combinación | Interna: solo las filas de las dos tablas que se unen. Externa: todas las filas de la maestra, tengan o no filas en el detalle. La externa solo vale recorriendo la relación de la maestra al detalle; en sentido contrario se une como interna. |
| Columnas combinadas | Uno o varios pares de columnas que se unen por igualdad (NUM_FACTURA = NUM_FACTURA). Si el catálogo da tipos distintos a las dos columnas de un par, se avisa; un número entero y uno decimal se unen sin problema. |
| Descripción | Opcional, hasta 75 caracteres. |
| Preferida | Para decidir entre varios caminos igual de cortos (abajo). |
Cómo se usan en las consultas#
- Para unir tablas. Una consulta parte de la tabla de la primera métrica y une las demás tablas que necesita por el camino más corto de relaciones. Si no hay camino, la consulta no se puede hacer y lo dice.
- Entre caminos igual de cortos, se usa el que pasa por más relaciones preferidas. Si aun así empatan, el primero, y «Mostrar SQL» lo avisa. Dos relaciones entre las mismas dos tablas son dos caminos: el diálogo lo avisa al crear la segunda («Ya hay una relación entre estas tablas: serán dos caminos y la preferida decide»).
- Para propagar los universos. Un universo de una tabla maestra limita también las filas de sus tablas de detalle (los universos de los clientes llegan a sus facturas y, por ellas, a sus líneas). Lo mismo pasa entre dos tablas con una relación uno a uno.
- Para no repetir registros. Si una segmentación pone una condición sobre una tabla de detalle de la consulta (los clientes con alguna línea de tornillos, en un cubo de clientes), esa tabla no se une: la condición va en una subconsulta, para que cada cliente cuente una vez.
Por eso la cardinalidad importa: una relación marcada «una con una» que en realidad es «una con varias» repite filas y suma de más. Revise las cifras con un cubo de prueba después de crear o cambiar relaciones.
El diagrama#
La pestaña se abre en Diagrama. Cada tabla de hechos es un recuadro con sus columnas, y cada relación una línea con su etiqueta. Las relaciones con problemas (una columna que ya no está en el catálogo, tipos distintos) llevan la marca Revisar, y las preferidas, Preferida.


| Herramienta | Qué hace |
|---|---|
| Buscar tabla | Lleva a una tabla del diagrama y la elige. |
| Añadir tablas al diagrama… | Añade tablas de hechos que no se ven. Las relaciones aparecen con sus tablas. |
| Quitar del diagrama | Quita la tabla elegida del diagrama, sin tocar sus relaciones. |
| Plegar y Desplegar | Enseña solo la cabecera de la tabla elegida, o todas sus columnas. |
| Solo las relacionadas con la elegida | Deja a la vista la tabla elegida y las que se relacionan con ella. |
| Ordenar automáticamente | Recoloca las tablas. |
| Ver › Mostrar todas las columnas | Enseña todas las columnas, no solo las que unen. |
| Ver › Mostrar el nombre físico | Rotula las tablas con su nombre en la base de datos en lugar del alias. |
| Ver › Rejilla de ajuste de 10 px | Alinea las tablas al moverlas. |
| Acercar, Alejar, Ajustar a la vista y Minimapa | El zoom y un plano pequeño del diagrama. |
Con el diagrama:
- Arrastre una columna de una tabla a la columna de otra para crear una relación: se abre Nueva relación con el par ya puesto.
- Pulse la etiqueta de una relación para abrir sus propiedades.
- Arrastre las tablas para colocarlas. La disposición se guarda sola, para todos los administradores de la conexión. Si otro la cambia a la vez, una franja lo dice con Recargar.
- Con el teclado, las flechas llevan a la tabla o la relación de al lado, Alt con las flechas mueve la tabla, Intro en una tabla abre la lista filtrada por ella e Intro en una relación la abre. La lista hace lo mismo que el diagrama con el teclado.
Con más de 150 tablas a la vista, el diagrama va lento y se ofrece Buscar tabla, Ver las … tablas igualmente o Ver la lista.
La lista#
Lista enseña las relaciones en una tabla, con un filtro por Tabla:
| Columna | Qué dice |
|---|---|
| Maestra y Detalle | Las dos tablas. |
| Tipo | Una con varias o Una con una. |
| Combinación | Interna o Externa. |
| Columnas | Los pares de columnas. |
| Descripción | La descripción, si tiene. |
| Preferida | Preferida o No. |
| Estado | Correcta, Nueva (creada en esta sesión), Sin comprobar (no se conocen todavía las columnas de sus tablas) o Revisar, con el problema. |
El menú ⋯ de cada fila tiene Propiedades…, ¿Por dónde se unen?, Ver en el diagrama, ¿Quién la usa? y Eliminar….
Crear una relación#
- Pulse Nueva relación… (o arrastre una columna a otra en el diagrama).
- Elija la Tabla maestra y la Tabla de detalle. El botón de las flechas las intercambia.
- Elija el Tipo de relación y el Tipo de combinación.
- En Columnas combinadas, elija cada par: una columna de la maestra y otra del detalle. Con Añadir un par de columnas se añaden más.
- Escriba la Descripción, si quiere, y marque Preferida si es el camino que deben usar las consultas.
- Pulse Crear relación.
Para cambiarla, ábrala desde el diagrama o la lista, cambie lo que necesite en Propiedades de la relación y pulse Guardar cambios. Si el cambio afecta a documentos, se enseña antes el impacto.


En la demostración, Facturas → Incidencias es una relación definida a mano, Externa, porque no hay clave foránea entre ellas en la base de datos.
Proponer desde las claves foráneas#
Proponer desde las claves foráneas… lista las claves foráneas de la base de datos entre tablas de hechos que todavía no tienen relación, con la frase de cada una. Marque las que quiera y pulse Crear 7 relaciones (o las que sean). Se crean con combinación interna; después se cambian en sus propiedades.
Si no hay ninguna, el diálogo lo dice: las que hay en el catálogo ya son relaciones, o no unen tablas de hechos. Si ha cambiado la base de datos, refresque antes el catálogo. En la demostración se proponen 7; la clave foránea de VENDEDORES.JEFE hacia la propia tabla no se propone.
¿Por dónde se unen?#
¿Por dónde se unen? abre un panel lateral para comprobar cómo une ECenter dos tablas de hechos:
- Elija la tabla Desde y la tabla Hasta.
- El panel busca los caminos de relaciones igual de cortos entre ellas y pide a la base de datos el plan de cada uno, sin ejecutarlo.
- Cada Camino dice sus relaciones (con la marca Preferida en las que lo son), la unión que escribiría una consulta (con Copiar), lo que estima la base de datos (El plan de la base de datos) y, si es el que usan hoy las consultas, Lo usa hoy.
- En uno que no se usa, Preferir este camino marca como preferidas sus relaciones, después de enseñar qué documentos cambian de camino.
Úselo cuando una cifra no cuadre, antes de añadir una relación que crea otro camino y para ver si una unión tiene un plan razonable en la base de datos.
Eliminar una relación#
Elija la relación y pulse Eliminar… (o Supr en su etiqueta o en la lista). ECenter enseña antes lo que cambia: los documentos que dejan de poder unir sus tablas y los universos que dejan de propagarse. En la demostración, eliminar Facturas → Líneas haría que las líneas dejaran de heredar los universos de zona de las facturas.