Relaciones locales
Cuando las tablas de BD no tienen relaciones entre sí, puede crear relaciones de clave primaria y foránea entre columnas de distintas tablas directamente en MapForce (relaciones locales). Como claves primarias y foráneas se puede usar cualquier columna de la base de datos. Además, se pueden crear relaciones nuevas además de las que ya existen en la base de datos. Las relaciones definidas a nivel local desde MapForce se guardan con la asignación.
La siguiente tabla enumera todos los campos posibles entre los que puede definir relaciones locales. Es posible crear relaciones mixtas (p.ej., asignar los resultados de un procedimiento almacenado a una columna de BD). Los tipos de datos de los campos que forman parte de la relación deben ser iguales o compatibles.
Clave principal/única | Clave foránea |
---|---|
•Columna de una tabla o vista de BD •Parámetro de salida o valor de retorno de un procedimiento almacenado (consulte también Procedimientos almacenados) •Columna de conjunto de registros devuelta por procedimiento almacenado. Se aplica si se llama al procedimiento almacenado como fuente de datos (sin parámetros) o como función (con parámetros de entrada y salida). Para que el conjunto de registros esté disponible y se pueda seleccionar debe ejecutar el procedimiento almacenado una vez para obtener ese conjunto de registros. •Columna de una instrucción SELECT definida por el usuario (consulte también Instrucciones SQL SELECT como tablas virtuales). | •Columna de una tabla o vista de BD •Parámetro de entrada de un procedimiento almacenado •Parámetro de entrada de una instrucción SELECT definida por el usuario |
Ejemplo
La tabla de datos BookCatalogNoRelation.sqlite tiene dos tablas: Authors y Books (ver imagen siguiente). En este momento todavía no existe ninguna relación de clave foránea entre las tablas.
Componente de BD sin relaciones
El componente de BD se muestra de la siguiente manera al insertarlo en la asignación:
Definición de relaciones locales
En este ejemplo el objetivo es hacer referencia a la tabla Authors en la tabla Books. Para ello siga estos pasos:
1.Haga clic con el botón derecho en el componente de BD y seleccione Agregar/Editar/Quitar objetos de BD en el menú contextual.
2.Haga clic en el botón Agregar/Editar relaciones en el cuadro de diálogo Agregar/Editar/Quitar objetos de la base de datos.
3.Haga clic en Agregar relación en el cuadro de diálogo Agregar/Editar relaciones (imagen siguiente).
4.Haga clic en [seleccionar objeto] en la columna Objeto de clave primaria/única y seleccione Authors. Ahora seleccione AuthorID en la lista desplegable [seleccionar columna].
5.Haga clic en [seleccionar objeto] en la columna Objeto de clave foránea y seleccione Books. Ahora seleccione AuthorID en la lista desplegable [seleccionar columna].
6.Haga clic en Aceptar para terminar de crear la definición de relación local.
Componente de BD con relaciones
Una vez haya terminado de definir las relaciones locales, el componente de BD se habilita en el área de asignación (ver imagen siguiente). El componente muestra dos posibles estructuras de BD. En cada una de ellas la tabla raíz es distinta. Por ejemplo, en la estructura ampliada de más abajo, Authors es la tabla raíz. En función de lo que necesite, puede asignar datos desde y a cualquiera de las estructuras del componente. También puede combinar tablas de distintas estructuras en el componente. Para más información sobre estos escenarios, consulte el apartado Relaciones de BD.