4D v16.3

Relaciones

Inicio

 
4D v16.3
Relaciones

Relaciones  


 

 

Los comandos de este tema, en particular RELATE ONE y RELATE MANY, establecen y administran las relaciones entre las tablas, tanto las relaciones automáticas como las relaciones manuales. Antes de utilizar los comandos de este tema, por favor consulte el Manual de Diseño de 4D para información sobre la creación de relaciones entre tablas.

Dos tablas pueden estar relacionadas por una relación automática. En general, cuando se crea una relación automática, los registros relacionados son cargados y seleccionados en la tabla relacionada. Muchas operaciones hacen que la relación se establezca.

Estas operaciones incluyen:

  • Entrada de datos
  • Lista de registros en la pantalla en un formulario de salida
  • Informes
  • Operaciones en una selección de registros como las búsquedas, las ordenaciones y las fórmulas.

Para mejorar el rendimiento, cuando 4D activa las relaciones automáticas, sólo un registro se convierte en el registro actual para la tabla. Para cada una de las operaciones enumeradas anteriormente, el registro relacionado se carga de acuerdo a los siguientes principios:

  • Si una relación selecciona un solo registro de la tabla relacionada, el registro se carga del disco.
  • Si una relación selecciona más de un registro de una tabla relacionada, una nueva selección de registros se crea para esa tabla, y la el primer registro en esa selección se carga del disco.

Por ejemplo, en la estructura que se muestra a continuación, si un registro para la tabla [Empleados] se carga y muestra para la entrada de datos, el registro relacionado en la tabla [Empresas] se selecciona y se carga. Igualmente, si un registro para la tabla [Empresas] se carga y muestra para la entrada de datos, los registros relacionados con la tabla [Empleados] son seleccionados.

En esta estructura, la tabla [Empleados] es la Tabla muchos, y la tabla [Empresas] es la Tabla uno. Para recordar este concepto, piense en que “hay muchos empleados relacionados con una empresa” y “cada empresa tiene muchos empleados.”

De manera similar, el campo Empresa de la tabla [Empleados] es el Campo muchos, y el campo Nombre en la tabla [Empresas] es el Campo uno.

No siempre es posible que el campo relacionado sea único. Por ejemplo, el campo [Empresas]Nombre puede tener varios registros de nombres de empresas iguales. En esta situación la no unicidad puede manejarse fácilmente creando una relación, la cual siempre será única, u otro campo en la tabla relacionada. Este campo puede ser un número de identificación de la empresa.

La siguiente tabla lista los comandos que utilizan las relaciones automáticas para cargar los registros relacionados durante su ejecución. Todos estos comandos utilizan relaciones automáticas de Muchos a Uno. Sólo los comandos señalados con un Sí activan las relaciones automáticas de Uno a Muchos.

ComandoRelación Uno a Muchos
ADD RECORD
ADD SUBRECORD No
APPLY TO SELECTION No
DISPLAY SELECTION No
EXPORT DIF No
EXPORT SYLK No
EXPORT TEXT No
EXPORT DATA No
MODIFY RECORD Yes
MODIFY SUBRECORD No
MODIFY SELECTION Sí (en entrada de datos)
ORDER BY No
ORDER BY FORMULA No
QUERY BY FORMULA
QUERY SELECTION
QUERY
PRINT LABEL No
PRINT SELECTION
QR REPORT No
SELECTION TO Array No
SELECTION RANGE TO Array No

Que las relaciones sean automáticas no significa que los registros relacionados o los registros para una tabla sean seleccionados simplemente porque un comando carga un registro. En algunos casos, después de ejecutar un comando que carga un registro, en ciertos casos usted debe llamar explícitamente los registros relacionados utilizando RELATE ONE o RELATE MANY si necesita acceder a los datos relacionados.

Algunos de los comandos listados en la tabla anterior (tal como los comandos de búsqueda) cargan el registro actual una vez se termina la tarea. En este caso, el registro cargado no selecciona automáticamente los registros relacionados a él. Nuevamente, si necesita acceder a los datos relacionados, debe seleccionar explícitamente los registros seleccionados utilizando RELATE ONE o RELATE MANY.



Ver también 

CREATE RELATED ONE
GET AUTOMATIC RELATIONS
GET FIELD RELATION
OLD RELATED MANY
OLD RELATED ONE
RELATE MANY
RELATE MANY SELECTION
RELATE ONE
RELATE ONE SELECTION
SAVE RELATED ONE
SET AUTOMATIC RELATIONS
SET FIELD RELATION

 
PROPIEDADES 

Producto: 4D
Tema: Relaciones

 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)