4D v16.3

Propiedades de las tablas

Inicio

 
4D v16.3
Propiedades de las tablas

Propiedades de las tablas  


 

 

Puede configurar varias propiedades para las tablas utilizando el Inspector o para algunas, utilizando el menú contextual de las tablas.

Un trigger es un método que se ejecuta automáticamente cuando ocurren ciertos eventos relacionados con la tabla. Estos eventos son:

  • al guardar un registro nuevo,
  • al guardar un registro existente,
  • al borrar un registro.

Los eventos triggers pueden configurarse en el Inspector o vía el menú contextual asociado a la tabla (clic derecho en el área de título de la tabla):

Marque cada evento para el cual quiera activar el trigger.

Puede acceder directamente al trigger de una tabla desde la ventana de estructura haciendo clic en el botón Editar... del Inspector o seleccionando Editar método... en el submenú contextual. Para mayor información sobre triggers, consulte la sección Tipos de métodos.

Notas:

  • También puede crear y visualizar los triggers desde la Página Métodos del Explorador.
  • La barra de información del Editor de estructura indica los triggers activados para cada tabla.

El trigger que introduzca en el editor de métodos sólo se ejecutará cuando los eventos seleccionados se detecten.

Puede definir diferentes atributos para configurar la apariencia y el comportamiento general de la tabla. 

Esta opción permite hacer una tabla invisible en el modo Aplicación y para los plug-ins. Puede activar esta opción para las tablas utilitarias o para las tablas que no están siendo utilizadas temporalmente.

Hacer una tabla invisible le permite limitar las operaciones que un usuario puede realizar sobre la tabla. Una vez invisible, una tabla no aparece más en los editores ni en la mayoría de cajas de diálogo que aparecen en el entorno Aplicación. De igual forma no pueden ser utilizados por los plug-ins. 

Los editores y cajas de diálogo concernientes en el entorno Aplicación incluyen:

En cada uno de estos editores, el usuario no puede ver o elegir la tabla o uno de sus campos. Por ejemplo, el usuario no puede incluir campos de una tabla invisible en un informe o en una etiqueta.

Nota: cuando utilizan estos editores, los usuarios tienen la opción de guardar en el disco las características de búsquedas y ordenaciones, previamente creadas. En este caso, las tablas declaradas invisibles pueden utilizarse posteriormente. Además, los usuarios pueden escribir los nombres de las tablas invisibles en el .

Las tablas invisibles y sus campos se muestran en itálicas en la ventana del editor de estructura.

Puede asignar un color a cada tabla. El uso de colores ayuda a organizar la estructura de una base con muchas tablas. Por ejemplo, puede utilizar un color para todas las tablas relacionadas con los clientes y otro color para las tablas relacionadas con el inventario.

Nota: también es posible atribuir un color a cada campo (ver el párrafo ) y a cada relación (ver el párrafo Definición).

Para definir el color de una o varias tablas, efectúe su selección y elija un color utilizando:

  • El botón Color de la barra de herramientas del editor,
  • El comando Color del menú contextual de las tablas,,
  • La opción Color del Inspector.

La opción Automática permite aplicar el color estándar de origen a la tabla.

Esta opción permite optimizar la eliminación de una selección de registros realizada con la ayuda del comando DELETE SELECTION.

Cuando 4D borra una selección, los marcadores de los registros también se borran. Un marcador de registro es un encabezado asociado al registro que contiene información relativa a este registro. La eliminación de los marcadores y de los registros es más lenta que la eliminación de los recursos. En algunos casos, puede ser conveniente no borrar automáticamente los marcadores de los registros.

Esta opción permite definir el tipo de eliminación que quiere utilizar. Para acelerar la eliminación de una gran selección utilizando el comando DELETE SELECTION, deseleccione la opción Registros borrados definitivamente. Los marcadores de registros no se borrarán entonces. Esta opción no puede definirse por programación.

Cuando esta opción está seleccionada, 4D genera, durante la utilización de la tabla, la información necesaria para la replicación de los registros de la tabla (basada particularmente en la llave primaria de la tabla). La función de replicación de los registros permite sincronizar los datos de dos bases 4D para mayor seguridad.

Una vez la opción esté activa, los mecanismos de replicación deben implementarse utilizando los comandos específicos del lenguaje SQL de 4D o vía el protocolo HTTP. Para mayor información sobre esta opción y sobre los mecanismos de replicación de los registros vía SQL, consulte la sección Replicación vía SQL.
Para mayor información sobre la replicación vía HTTP, consulte el párrafo URL 4DSYNC/.

Por defecto, esta opción no está seleccionada. Para que esta opción esté disponible, debe especificar una llave primaria para la tabla a replicar. De lo contrario, la opción está en gris. 4D le permite definir la llave primaria de una tabla en el editor de estructura (ver a continuación).

Esta opción controla si la tabla se encuentra expuesta en el contexto de las solicitudes 4D Mobile enviadas a la base 4D. Por defecto, todas las tablas se exponen en 4D Mobile.
Por razones de seguridad, es posible que desee solamente exponer ciertas tablas de su base  a las llamadas 4D Mobile. Por ejemplo, si ha creado una  tabla [Usuarios] que almacena los nombres de usuario y contraseñas, sería mejor no exponerla.

Si no desea exponer una tabla (ni ninguno de los campos que contiene), desactive la opción Exponer con el servicio 4D Mobile para la tabla.

Nota: también puede establecer esta opción en el nivel de cada campo de la tabla, ver Almacenado en registro, archivo de datos o fuera del archivo de datos.

Esta opción se puede utilizar en el contexto de la funcionalidad "4D Mobile". Para obtener más información, consulte el manual 4D Mobile.

Por defecto, esta opción está seleccionada para todas las nuevas tablas creadas en 4D v14 y para todas las tablas en bases de datos convertidas.
Marque esta opción para que las operaciones realizadas en los datos de la tabla se incluyan en el archivo de registro de la base de datos

Marque esta opción para que las operaciones realizadas en los datos de la tabla se incluyan en el archivo de registro de la base de datos (cuando se genera). Esta opción generalmente debe ser seleccionada para la mayoría de las tablas. Sin embargo, por razones de optimización, puede deseleccionarla, por ejemplo para tablas temporales o tablas utilizadas para la importación de datos.

Nota: esta opción se pone gris cuando la tabla no tiene llave primaria.

Es importante tener en cuenta que esta opción sólo indica que los datos de la tabla deben registrarse en el historial si la database usa un archivo de historial, no activa el procedimiento de historial a nivel de la base de datos (ver Gestión del archivo de historial).

4D muestra un icono de advertencia a la derecha de la opción Incluir en archivo de historial cuando las condiciones necesarias se cumplen.

Mientras este icono se muestre, el historial no se activa. Puede colocar el puntero del ratón sobre el icono para ver el motivo de la alerta:

Pueden aparecer los siguientes mensajes:

MensajeCausaCorreción necesaria
Esperando para crear una llave primariaImposible registrar operaciones en el historial si la tabla no tiene una llave primaria (nueva regla en 4D v14)Crear una llave primaria en la tabla utilizando SQL o el menú contextual de la tabla
Esperando que los valores de la llave primaria se fijenLos valores de la llave primaria han sido verificados e incluyen anomalíasRetire todo duplicado o valores nulos en los registros para el campo (o utilice otra llave primaria)
Esperando para activar la opción usar archivo de historialLa opción global para activación del historial no está seleccionadaCompruebe la opción " Uso del archivo de historial' en la página Backup/Configuración de la configuración de la base de datos

El área Comentarios del Inspector le permite almacenar información adicional sobre la tabla. Estos comentarios están disponibles para todos los desarrolladores.
Note que cada campo y cada relación tienen su propia área de comentarios.

SQL  

El área SQL del Inspector incluye el menú “Schemas” y un área de información.

  • El menú “Schemas” lista todos los esquemas SQL definidos en la base. Puede utilizar este menú para definir el esquema al cual pertenece la tabla (también es posible modificar esta propiedad vía los comandos SQL). Cada base tiene al menos un esquema, llamado DEFAULT_SCHEMA. Por defecto, todas las tablas pertenecen a este esquema. Para mayor información sobre los esquemas SQL, consulte el párrafo Esquemas en la Guía de referencia SQL de 4D.
  • El área de información indica si el nombre de la tabla respeta las reglas de nomenclatura SQL (por ejemplo, a diferencia de 4D, SQL no permite que un nombre de campo contenga espacios).

En 4D, puede administrar la llave primaria de una tabla directamente en el editor de la estructura.

En SQL, una llave primaria identifica la(s) columna(s) (campos) utilizado(s) para especificar de forma única los registros (líneas) de una tabla. La definición de una llave primaria es necesaria para la función de replicación de los registros de una tabla de 4D. En SQL, la clave primaria se define utilizando la cláusula PRIMARY KEY seguida de la lista de columnas (ver el párrafo Llave primaria en la Guía de referencia SQL de 4D).

Puede crear y eliminar las llaves primarias directamente utilizando el menú contextual del editor de la estructura.

Para crear una llave primaria:

  1. Seleccione el o los campo(s) que componen la llave primaria de la tabla.
  2. Haga clic derecho y seleccione Crear la llave primaria en el menú contextual:

    Los campos incluidos en la llave primaria aparecen subrayados en el editor y su descripción SQL muestra la palabra clave PRIMARY KEY.

El o los campo(s) que pertenece(n) a la llave primaria no deben contener valores duplicados. Si los valores duplicados ya existen en los registros de tabla, aparece una caja de diálogo de advertencia para indicar que no es posible crear la llave por esto.

Nota: la o las columna(s) que pertenece(n) a la llave primaria no aceptan valores NULL.

Para borrar la llave primaria de una tabla:

  1. Haga clic derecho sobre la tabla que contiene la llave primaria y elija Suprimir la llave primaria en el menú contextual:

Aparece una caja de diálogo de confirmación. Haga clic en Aceptar para eliminar la llave primaria.

Los valores de los campos llaves primarias deben manejarse con cuidado para garantizar la integridad de los datos en todo momento. En particular, los campos llaves primarias deben respetar las siguientes reglas:

  • no debe estar vacío,
  • debe ser único,
  • una vez creado, debería (en principio) nunca modificarse, especialmente si:
    • las funciones de replicación o de sincronización de 4D están habilitadas
    • la funcionalidad 4D Mobile (o similar) está habilitada
    • la función de registro de la base está habilitada (copia de seguridad o espejo lógico utilizando el archivo de historial)
    • las llaves primarias se utilizan para fines de comunicación o sincronización con sistemas externos.

No se recomienda modificar los campos llave primaria, incluso si 4D lo permite para casos de uso específicos. Si debe absolutamente modificar su valor de llave primaria (por ejemplo, utilizó un campo de número de seguridad social como llave primaria y se introdujeron valores incorrectos), es preferible desactivar (eliminar) la llave primaria actual y añadir un nuevo campo utilizado como llave primaria con asignación automática.   

Los campos llave primaria pueden ser de tipo entero largo o formato UUID (tipo alfa). En la mayoría de los casos, recomendamos el formato UUID con la opción Auto UUID activada. Aunque el tipo entero largo ocupa menos espacio en disco, los UUID tienen muchas ventajas, por ejemplo, facilitar la fusión de bases independientes, la importación/exportación de datos, la implementación de estrategias elaboradas espejo/replicación o sincronización con sistemas externos.

Para crear una llave primaria desde el editor de estructura:

  1. Seleccione el o los campo(s) que componen la llave primaria de la tabla.
  2. Haga clic derecho y seleccione Crear la llave primaria en el menú contextual (este comando sólo se muestra para los campos cuyo tipo es elegible para llaves primarias):

    No puede tener más de una llave primaria para cada tabla. Si ya se ha especificado una llave primaria, aparecerá un caja de diálogo de alerta indicando que se desactivará la llave primaria existente.

Se crea la llave primaria de inmediato. Los campos incluidos en la llave primaria se subrayan en el editor y su descripción SQL muestra la palabra clave PRIMARY KEY.

Al crear una llave primaria en una tabla que ya contiene registros (utilizando un campo existente o añadiendo uno nuevo), 4D verifica la conformidad de todos los valores presentes o automáticamente realiza operaciones de actualización:

  • El o los campo(s) que pertenece a la llave primaria no puede contener valores duplicados. Si ya existen valores duplicados en los registros de la tabla, un caja de diálogo de alerta aparece para indicar que no es posible crear la llave por esto.
  • Si los valores duplicados son valores en blanco o nulos (caso de un campo llave añadido), se puede seleccionar la opción de generación automática correspondiente ( para campos Alfa en o para campos Entero largo). En este caso, 4D examina todos los registros de la tabla y automáticamente asigna un valor calculado para cada llave primaria. Tenga en cuenta que este proceso es secuencial y puede requerir una cantidad significativa de tiempo si hay un número considerable de registros.

Nota: las columnas que pertenecen a la llave primaria no aceptan valores NULL.

Para eliminar una llave primaria de una tabla:

  1. Haga clic derecho sobre la tabla que contiene la llave primaria y seleccione Suprimir la llave primaria en el menú contextual:
Aparecerá una caja de diálogo de confirmación. Haga clic en Aceptar para eliminar la llave primaria.

En 4D v14, cada nueva tabla creada en la base de datos contiene una llave primaria por defecto:

Este campo, llamado "ID" por defecto, es de tipo Entero largo, y tiene los siguientes atributos:

  • Único,
  • Rechazar la escritura del valor NULL,
  • Incremento automático,
  • Índice automático

Nota: en Página Estructura de las Preferencias  de la aplicación 4D, puede modificar el nombre y el tipo de las llaves primarias por defecto.

Puede utilizar este campo como está, o cambiar su nombre y/o sus propiedades, si así lo prefiere (por ejemplo, es posible que desee utilizar un campo UUID). También puede eliminarlo si desea utilizar otro campo(s) como llave(s) primarias

Sin embargo, se recomienda conservar al menos una llave primaria en cada tabla 4D.

Nota: por defecto las llaves primarias no se agregan a tablas creadas utilizando el comando SQL CREATE TABLE, o tablas que se importan en la base de datos.



Ver también 

Propiedades de los campos

 
PROPIEDADES 

Producto: 4D
Tema: Definir la estructura de la base de datos

 
HISTORIA 

 
PALABRAS CLAVES 

primary key, replication

 
ARTICLE USAGE

Manual de Diseño ( 4D v16)
Manual de Diseño ( 4D v16.1)
Manual de Diseño ( 4D v16.3)