Tablas

Una definición de Tabla describe los metadatos que necesita la aplicación para trabajar con una visualización o tabla de base de datos y acceder a ellas.

La definición incluye los siguientes detalles clave:
  • La descripción de la tabla en la aplicación.

  • La lista de campos definidos en la tabla y las restricciones de claves foráneas que establezcan con otras tablas.

  • La clave primaria de la tabla y cómo se genera.

  • Si la tabla contiene datos administrativos, principales o de transacción.

  • Si la tabla se presenta o no con las filas de datos del sistema del producto.

  • El rol de la tabla en el proceso de conversión.

  • Cómo se debe actualizar el contenido de la tabla.

  • Otros servicios de aplicación.

En las siguientes secciones, se analizan con mayor detalle los conceptos y las pautas relacionados con la definición de tablas.

Tablas del Sistema

Las tablas presentadas con filas del producto base se denominan tablas del sistema. Estas tablas incluyen el campo Propietario (OWNER_​FLG) para capturar el propietario de cada fila.

Consulte Datos del Sistema para obtener más información sobre las convenciones de nombramiento y los standards relacionados con la propiedad de registros de filas.

La configuración Actualizar en el registro de definición de tabla controla lo que sucede con las filas de una tabla cuando el sistema se actualiza a una nueva versión. La configuración más común permite que las filas del cliente se fusionen con las filas del producto base. Con otras configuraciones, se puede mantener el contenido de la tabla tal como está (es decir, las filas no se ven afectadas por la actualización) o se puede actualizar completamente el contenido de la tabla con las filas del producto base.

Algunos campos de determinadas tablas del sistema están marcados explícitamente para permitir la personalización. Esto significa que la implementación puede cambiar estos campos específicos para un registro del producto base. Los cambios que realiza una implementación en el valor de campo de uno de estos tipos de campos se mantienen cuando se actualiza a una nueva versión del producto.

Roles de Tabla Designados

Algunas tablas están diseñadas para soportar los siguientes roles de la aplicación:
  • Tablas de Claves
    • Una tabla de claves contiene únicamente una copia de la clave primaria de una tabla y solo se aplica a tablas con claves generadas por el sistema.

    • Las tablas con claves generadas por el sistema hacen referencia a la Tabla de Claves como parte de su registro de definición de Tabla.

    • Los registros de la tabla de claves permanecen en el sistema incluso cuando se archiva la entidad relacionada, lo que evita que la misma clave se asigne a un nuevo registro. Al conservar la clave, el sistema puede mantener la integridad de las referencias que aún pueden existir respecto de la entidad archivada.

  • Tablas de Idioma
    • Para soportar implementaciones en varios idiomas, todas las etiquetas y descripciones que se presentan a un usuario se mantienen en una tabla de idioma designada donde existe una fila para cada idioma activado.

    • El producto se presenta con contenido en idioma inglés en las distintas tablas de idiomas. Se agrega una fila adicional a estas tablas para cada idioma activado junto con el contenido traducido para ese idioma. Consulte Soporte de Distintos Idiomas para obtener más información.

    • Las tablas asociadas con campos sensibles al idioma hacen referencia a la Tabla de Idioma correspondiente como parte del registro de definición de Tabla.

  • Tablas de Características
    • Muchas entidades del sistema soportan una o más tablas de Características, que se utilizan para capturar campos adicionales para el objeto que aún no están soportados por los atributos proporcionados por la entidad.

    • Una tabla de Características está diseñada para capturar las características aplicables únicamente a su entidad específica. La entidad asociada con una tabla de Características se menciona en el registro de definición de la Tabla.

    • Consulte Configuración de Tipos de Característica y Valores para obtener más información.

  • Tablas de Registro de Entidades
    • Muchas entidades del sistema soportan la capacidad de capturar el ciclo de vida y otros eventos de negocios importantes en una tabla de registro designada.

    • Una tabla de registro captura los detalles del evento en forma de un mensaje de aplicación y almacena los parámetros del mensaje en una tabla de parámetros de registro secundaria. Todas las tablas de registro y parámetros de registro siguen una estructura predefinida que permite implementarlas de manera consistente y eficaz.

    • Generalmente, las tablas de registro no participan en el proceso de conversión.

Restricciones de Tabla

Las relaciones de clave foránea entre tablas no se aplican en el nivel de la base de datos, sino en el nivel de la aplicación, lo que ofrece a la aplicación una mayor flexibilidad en cuanto a la manipulación de datos y la integridad referencial.

En el registro de definición de la Tabla, se pueden definir los siguientes tipos de restricciones:
  • Clave Primaria representa el campo o juego de campos que representa el identificador único de un registro almacenado en una tabla.

  • Clave Lógica representa un identificador único alterno de un registro basado en un juego de campos distinto a la clave Primaria.

  • Clave Foránea representa un campo o juego de campos que especifica relaciones con y sin identificación en otras tablas de la aplicación. Una restricción de clave foránea hace referencia a la restricción de clave primaria de otra tabla.

  • Clave Foránea Condicional representa relaciones poco frecuentes entre tablas en las que un solo campo (o un juego de campos) puede hacer referencia a múltiples restricciones de clave primaria de otras tablas dentro de la aplicación como una clave foránea.

El sistema aprovecha la información de restricciones de clave foránea de una tabla para realizar una validación de integridad referencial cuando se suprimen las filas de esta tabla. Para desactivar estas validaciones, se puede marcar el campo Activar Integridad Referencial en el registro de definición de Tabla.

Índices de Tabla

Los índices entregados con el producto base para una tabla determinada son visibles en los metadatos del índice. Además, la información del índice de tabla se puede definir como parte del soporte de los servicios en la nube para la generación de tablas personalizadas en determinados casos de uso. Para obtener más información, consulte la sección Generación de Tablas Personalizadas a continuación.

Tipo de Clave Primaria

La clave primaria de una tabla puede ser de los siguientes tipos:

  • Definida por el usuario significa que el usuario especifica la clave cuando se agrega un registro. Este tipo de clave se utiliza generalmente para tablas de configuración y administrativas.

  • Generada por el sistema significa que un programa genera una clave numérica aleatoria para el registro cuando se agrega.
    • Este tipo de tabla suele estar asociado con una tabla de claves. Consulte la sección Roles de Tabla Designados para obtener más información.

    • Las claves generadas por el sistema pueden ser totalmente aleatorias o heredarse parcialmente de la clave de una tabla principal por motivos de performance. Consulte Claves Generadas por el Sistema para obtener más información.

  • Secuencial significa que se incrementa un número de secuencia cada vez que se agrega un registro a la tabla. El número siguiente en la secuencia determina el valor de la clave.

  • Clave Secuencial Nativa de Base de Datos significa que se asigna un número único mediante un objeto de secuencia de base de datos.

  • Otro significa que alguna otra regla de negocio asigna la clave primaria de la tabla o que la clave primaria está compuesta por varias partes.

Claves Generadas por el Sistema

En general, se utilizan claves numéricas generadas aleatoriamente por el sistema para intentar distribuir uniformemente los registros en un rango completo de posibles IDs. Los programas de lote que utilizan múltiples subprocesos generalmente dividirán los subprocesos utilizando rangos de IDs y las claves distribuidas uniformemente ayudarán a propagar el trabajo a lo largo de estos subprocesos.

Si una tabla que utiliza una clave generada por el sistema es un elemento secundario de otra tabla, la clave de la tabla secundaria puede heredar una parte del número aleatorio de la clave de la tabla principal. La herencia de claves para registros secundarios amplía aún más el beneficio de performance. Al considerar el particionamiento, la recomendación para los Administradores de Base de Dato es dividir los datos de partición en función de la clave primaria, de modo que diferentes subprocesos funcionen en diferentes particiones, lo que reduce la contención de los bloques activos. Lo ideal es que el número de subprocesos de lote sea un múltiplo exacto de la cantidad de particiones. Los programas de lote que insertan datos secundarios (por ejemplo, la creación de Facturación de lote) también se benefician de este diseño, especialmente cuando las tablas secundarias se particionan de la misma manera. El elemento principal a menudo es el driver del proceso de lote. Si esto tiene varios subprocesos, cada subproceso procesará un juego de registros principales en un rango de ID determinado y todos los registros secundarios se insertarán en el mismo rango de ID.

Si bien la mayoría de las entidades con claves generadas por el sistema utilizan claves totalmente aleatorias o claves parcialmente heredadas de un solo elemento principal, las entidades pueden diseñarse para implementar reglas de generación de claves más específicas.

Cuando se utiliza la herencia de claves, la definición de la tabla secundaria determina la siguiente información:
  • El número de dígitos más significativos de la clave primaria del registro principal que se utilizarán como prefijo para el valor de clave del registro secundario.

  • El nombre del campo de clave principal del cual se heredará la clave. Esta información se brinda solo con fines de despliegue y documentación, y se proporciona únicamente cuando la regla de herencia implementada por la entidad puede documentarse de esta manera. Por lo general, el valor de la clave secundaria se hereda de una clave principal única; pero, en algunos casos, la regla de herencia puede ser más compleja. Por ejemplo, diferentes tipos de registros en la misma tabla secundaria pueden heredar su clave de diferentes campos de clave principal. En este caso, se pueden listar varios nombres de campos principales para describir las distintas opciones de herencia. Cuando la regla es demasiado compleja, es posible que esta información no se proporcione en el registro de definición de tabla.

Opciones de Conversión

El proceso de conversión administra el proceso mediante el cual se validan los datos tradicionales de transacciones y principales (cargados en un esquema de validación) y se les asignan nuevas claves generadas por el sistema antes de que se copien al esquema de producción. Consulte Descripción del Proceso de Conversión para obtener más información.

La herramienta clasifica las tablas en los siguientes roles:
  • Tablas administrativas. Estas solo existen en el esquema de producción. En lugar de una tabla, existe una visualización de la tabla de producción en el esquema de validación. Estas visualizaciones son necesarias para aplicar referencias de clave foránea cuando se validan los datos en el esquema de validación.

  • Tablas convertibles que conservan sus claves primarias. Se soporta la conversión de datos para estas tablas y sus valores de clave primaria permanecen sin cambios.

  • Tablas convertibles que requieren la asignación de una nueva clave generada por el sistema. Se soporta la conversión de datos para estas tablas y el sistema reasigna su clave primaria durante la conversión.

  • Tablas no convertibles. La asignación de nuevas claves generadas por el sistema para un registro y el reemplazo de todas las referencias de clave foránea que pueda tener con la nueva clave es un proceso complicado que podría no ser soportado en todas las tablas.

. La configuración de Rol de Conversión de Datos en el registro de definición de tabla controla si la tabla es utilizada por el procesamiento de conversión y de qué manera.

Configuración de Fecha/Hora

Los campos que capturan la información de fecha/hora pueden estar diseñados para almacenar datos en hora oficial local o en hora standard local. La hora oficial local se captura tal como se ingresa y se despliega de la manera capturada en la base de datos. También se asume que la información de fecha/hora se refiere a la zona horaria definida en las opciones de instalación. Consulte Standard contra Oficial para obtener más información.

Generación de Tablas Personalizadas

Para los clientes en la nube y para ciertos casos de uso, el producto soporta la definición de metadatos para tablas personalizadas y la generación de DDLs relacionados para esos metadatos en la base de datos. Para esas tablas personalizadas, hay un Estado de Generación visible en los metadatos de la Tabla que identifica dónde se encuentra la Tabla en el ciclo de vida para esta función soportada. Además, el separador de índice en el portal de la tabla se utiliza para definir índices personalizados que se incluyen en el DDL como parte de esta función. Si usted es un cliente en la nube y desea obtener más información, consulte la Guía de Implementación de Servicios en la Nube.