Tablas
La definición de tabla describe los metadatos que necesita la aplicación para trabajar con una tabla o vista de la base de datos y acceder a ella.
-
La descripción de la tabla en la aplicación.
-
La lista de campos definidos en la tabla y las restricciones de clave externa que establecen con otras tablas.
-
La clave primaria de la tabla y cómo se genera.
-
Si la tabla incluye datos administrativos, maestros o de transacciones.
-
Si la tabla se publica o no con filas de datos del sistema propiedad del producto.
-
El rol de la tabla en el proceso de conversión.
-
El modo de actualización del contenido de la tabla.
-
etcétera.
En las secciones siguientes se describen con mayor detalle los conceptos y directrices relacionados con la definición de tablas.
Tablas del sistema
Las tablas que se publican con filas que pertenecen al producto base se denominan tablas del sistema. Incluyen un campo Propietario (OWNER_FLG) para capturar el responsable de cada fila.
Para obtener más información sobre las convenciones de nomenclatura y los estándares relacionados con la propiedad del registro de filas, consulte Datos de sistema.
La configuración Actualizar del registro de la definición de la tabla controla los procesos de las filas de una tabla cuando el sistema se actualiza a una nueva versión. La configuración más común permite fusionar las filas propiedad del cliente con las que pertenecen al producto base. Otros valores de configuración permiten conservar el contenido de la tabla tal y como está, es decir, que no se vea afectada por la actualización, además de permitir actualizar por completo el contenido de la tabla con las filas del producto base.
Algunos campos de determinadas tablas propiedad del sistema se han marcado de forma explícita para permitir la personalización. Esto implica que la implantación puede cambiar estos campos específicos en un registro que pertenece a la base. Los cambios que realicen, en una implantación, en el valor de campo de uno de estos tipos de campos se mantendrán al actualizar a una nueva versión del producto.
Roles de tablas designadas
-
Tablas de claves
-
Una tabla de claves incluye exclusivamente una copia de la clave primaria y solo es aplicable a las tablas con claves generadas por el sistema.
-
Las tablas con claves generadas por el sistema hacen referencia a la tabla de claves como parte del registro de definición de tabla.
-
Los registros de la tabla de claves permanecen en el sistema incluso cuando se ha archivado la entidad relacionada, impidiendo así que se asigne la misma clave a un nuevo registro. Al conservar la clave, el sistema puede mantener la integridad de todas las referencias que pueden seguir existiendo en la entidad archivada.
-
-
Tablas de idioma
-
Para soportar las implantaciones multilingües, todas las etiquetas y descripciones que puede ver el usuario se conservan en una tabla de idiomas designada, donde existe una fila para cada idioma activado.
-
El producto se publica con el contenido en inglés incluido en las distintas tablas de idiomas. En estas tablas, se añadirá una fila adicional para cada idioma activado, junto con el contenido traducido a dicho idioma. Para obtener más información, consulte Soporte para distintos idiomas.
-
Las tablas asociadas con campos sensibles al idioma tomarán como referencia sus respectivas tablas de idiomas como parte del registro de definición de la tabla.
-
-
Tablas de características
-
Muchas entidades del sistema soportan una o más tablas de características, que se utilizan con el fin de capturar aquellos campos adicionales para el objeto que no se hayan soportado ya mediante los atributos incluidos en la entidad.
-
Una tabla de características está diseñada para capturar las características aplicables solo a una entidad específica. En el registro de definición de la tabla se hace referencia a la entidad asociada a la tabla de características.
-
Para obtener más información, consulte Configuración de tipos de características y sus valores.
-
-
Tablas de log de entidad
-
Muchas entidades del sistema soportan la posibilidad de capturar el ciclo de vida útil y otros eventos de negocio importantes en una tabla de log designada.
-
Una tabla de log captura los detalles del evento en forma de un mensaje de aplicación y almacena los parámetros para el mensaje en una tabla de parámetros de log secundaria. Todas las tablas de log y de parámetros de log siguen una estructura predefinida que les permite mantener una implantación coherente y eficaz.
-
Por lo general, las tablas de log no participan en el proceso de conversión.
-
Restricciones de tabla
Las relaciones de clave externa entre tablas no se aplican en el nivel de base de datos, sino en el de aplicación, lo que aporta a la aplicación mayor flexibilidad en cuanto a la manipulación de datos e integridad referencial.
-
Clave primaria representa el campo o el juego de campos que establecen el identificador único de un registro almacenado en una tabla.
-
Clave lógica representa un identificador único alternativo de un registro basado en un juego de campos distinto de la clave primaria.
-
Clave externa representa un campo o un juego de campos que especifican las relaciones de identificación y las relaciones no identificativas con otras tablas de la aplicación. Una restricción de clave externa hace referencia a la restricción de clave primaria de otra tabla.
-
Clave externa condicional representa las relaciones poco frecuentes entre tablas, donde un solo campo (o un juego de campos) puede hacer referencia a varias restricciones de clave primaria de otras tablas dentro de la aplicación como una clave externa.
El sistema aprovecha la información de restricciones de clave externa de la tabla para realizar la validación de integridad referencial cuando se suprimen las filas de la tabla. Estas validaciones se pueden desactivar marcando el campo Activar integridad referencial en el registro de definición de la tabla.
índices de tabla
Los índices incluidos en el producto base para una determinada tabla están visibles en los metadatos de índices. Además, la información de índices de tabla se puede definir como parte del soporte de servicios en la nube para la generación de tablas personalizadas en determinados casos de uso. Consulte la sección Generación de tablas personalizadas más adelante para obtener más información.
Tipo de clave primaria
La clave primaria de una tabla puede ser de los tipos siguientes:
-
Definido por el usuario significa que el usuario especifica la clave cuando se añade un registro. Este tipo de clave se utiliza, por lo general, en la configuración y en tablas administrativas.
-
Generado por el sistema implica que un programa genera una clave numérica aleatoria para el registro cuando este se añade.
-
Por lo general, este tipo de tabla se asocia a una tabla de claves. Para obtener más información, consulte Roles de tablas designadas.
-
Las claves generadas por el sistema pueden ser totalmente aleatorias o heredarse parcialmente de una clave de la tabla principal por motivos de rendimiento. Para obtener más información, consulte Claves generadas por el sistema.
-
-
Secuencial significa que se aumenta un número consecutivo cuando se añade un registro a la tabla. El número de texto de la secuencia determina el valor de la clave.
-
Clave secuencial nativa de base de datos indica que se asigna un número único mediante un objeto de secuencia de base de datos.
-
Otro indica que otra regla de negocio asigna la clave primaria de la tabla o bien que dicha clave primaria está formada por varias partes.
Claves generadas por el sistema
Por lo general, las claves numéricas del sistema generadas de forma aleatoria se utilizan para intentar distribuir de manera uniforme los registros entre un rango completo de posibles identificadores. Normalmente, los programas por lotes que utilizan varios threads los dividirán utilizando rangos de identificadores; las claves distribuidas de manera uniforme ayudarán a repartir el trabajo entre los threads.
Si una tabla que utiliza una clave generada por el sistema forma parte como secundaria de otra tabla, la clave de la tabla secundaria podría heredar parte del número aleatorio de la clave de la tabla principal. La herencia de claves para registros secundarios incrementa el beneficio en cuanto a rendimiento. Al considerar el uso de particiones, la recomendación para los administradores de bases de datos es dividir los datos de la partición en función de la clave primaria, de forma que distintos threads por lotes operen en distintas particiones, lo que reduce la contención para los bloques activos. Lo ideal sería que el número de threads por lotes fuese un múltiplo exacto del número de particiones. Los programas por lotes que insertan los datos secundarios (por ejemplo, la creación de facturación por lotes) también se beneficiarían de este diseño, en especial si se realiza la partición de las tablas secundarias de la misma forma. Con frecuencia, la tabla principal controla el proceso por lotes. Si incluye varios threads, cada uno de ellos procesará un juego de registros principales de un rango de ID determinado y todos los registros secundarios se insertarán en el mismo rango de ID.
La mayor parte de las entidades con claves generadas por el sistema utilizan claves totalmente aleatorias o parcialmente heredadas de una clave principal única; sin embargo, puede haber entidades diseñadas para implantar reglas de generación de claves más específicas.
-
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 de campo de clave principal desde el que se hereda la clave. Esta información se indica solo para visualización y documentación y únicamente se incluye cuando la regla de herencia implantada por la entidad permite este tipo de documentación. Por lo general, el valor de clave secundaria se hereda de una única clave principal, pero en algunos casos la regla de herencia puede ser más compleja. Así, por ejemplo, distintos tipos de registros de la misma tabla secundaria podrían heredar la clave de distintos campos de clave principales. En tal caso, se enumerarían varios nombres de campos principales para describir las distintas opciones de herencia. Si la regla resulta demasiado compleja, podría no indicarse esta información en el registro de definición de tabla.
Opciones de conversión
El proceso de conversión gestiona el proceso mediante el que los datos heredados maestros y de transacción, cargados en un esquema temporal, se validan y reciben la asignación de nuevas claves generadas por el sistema antes de copiarse en el esquema de producción. Para obtener más información, consulte Descripción del proceso de conversión.
-
Tablas administrativas. Solo existen en el esquema de producción. En lugar de la tabla, en el esquema temporal existirá una vista de la tabla de producción. Estas vistas son necesarias para aplicar referencias de clave externa al validar los datos en el esquema temporal.
-
Tablas convertibles que conservan las claves primarias. Se soporta la conversión de datos para estas tablas y los valores de clave primaria permanecen sin cambios.
-
Tablas convertibles que necesitan la asignación de una nueva clave generada por el sistema. Se soporta la conversión de datos para estas tablas; el sistema reasigna la clave primaria durante la conversión.
-
Tablas no convertibles. La asignación de nuevas claves generadas por el sistema para un registro, así como la sustitución de todas las referencias de clave externa que pueda tener con la nueva clave, puede ser un proceso complicado que no todas las tablas soportan.
El valor Rol de conversión de datos del registro de definición de la tabla controla si el proceso de conversión utiliza la tabla y, en caso afirmativo, cómo lo hace.
Configuración de fecha/hora
Los campos que capturan la información de fecha/hora se pueden diseñar para almacenar datos en la hora oficial o en la hora estándar local. La hora oficial local se captura en el momento en que se introduce y se muestra según se captura en la base de datos. También se asume que la información de fecha/hora hace referencia a la zona horaria definida en las opciones de instalación. Para obtener más información, consulte Hora estándar/oficial.
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 de tabla para tablas personalizadas y la generación de DDL relacionados para esos metadatos de la base de datos. Para estas tablas personalizadas hay un estado de generación visible en los metadatos de tabla que identifica dónde se encuentra la tabla en el ciclo de vida para esta función soportada. Además, la pestaña de índices del portal de tablas se usa para definir índices personalizados que se incluyen en el DDL como parte de esta función. Si es un cliente en la nube y desea obtener más información, consulte la guía de implantación de los servicios en la nube.