Creación de tablas personalizadas y descolgadas
La infraestructura de base de datos le facilita ampliar la base de datos de aplicación creando tablas personalizadas o descolgadas.
Una tabla personalizada es una tabla independiente y no se puede modelar como una extensión de una tabla de base de datos de la aplicación estándar.
Una tabla descolgada es una tabla con una relación de muchos a uno con una tabla estándar de la base de datos de la aplicación.
Crear una entidad personalizada o descolgada le permite:
- Crear una relación entre una tabla estándar y una tabla descolgada.
- Inicie las API ampliables que almacenan y recuperan datos de tablas descolgadas.
- Inicie dbverify para generar scripts SQL adecuados para crear o modificar tablas para entidades personalizadas o descolgadas.
- Auditar tablas de elemento y de organización.
- Puede determinar si una entidad sólo está habilitada para el descolgado haciendo referencia al diagrama de relaciones de entidad (ERD) asociado que se encuentra en el directorio <runtime_sandbox>/xapidocs/ERD .
- Basándose en el archivo Extensions.xml , la aplicación no crea una restricción de clave foránea en EFrame_TableChanges.sql, pero se aplica la relación de clave foránea.
- Actualmente, sólo las tablas de pedido, línea de pedido, orden de trabajo, envío, artículo y organización se marcan como habilitadas para el descolgado.
- La tabla descolgada se puede crear hasta niveles "n" para tablas OOB y tablas personalizadas. Sin embargo, la creación de una cadena de tablas Hang-off puede afectar al rendimiento del sistema a medida que se realizan más llamadas SQL.
- Los nombres de las tablas personalizadas y descolgadas no deben
empezar por
Y. - Una tabla hijo personalizada o descolgada debe incluir el atributo LockingEntity y su valor debe coincidir con el valor del
atributo Name de su tabla padre. La sincronización de datos en modalidad Delta no exporta entidades a menos que estén asociadas con una LockingEntitypadre. Por ejemplo, los siguientes valores de atributo ilustran que YFS_CARRIER_SERVICE_DOW está bloqueado por su YFS_CARRIER_SERVICE padre.En la definición de la entidad YFS_CARRIER_SERVICE, el atributo Name se establece en "Carrier_Service":
<Entity AuditRequired="Y" Cacheable="true" ConfigurableByOrgOrNode="Y" Description="Services provided by a carrier." EntityType="CONFIGURATION" Extensible="Y" Module="ysc" Name="Carrier_Service" Prefix="YFS_" TableName="YFS_CARRIER_SERVICE" TableType="CONFIGURATION" XMLName="CarrierService">En la definición de la entidad YFS_CARRIER_SERVICE_DOW, el atributo LockingEntity debe incluirse y establecerse en "Carrier_Service" para que coincida con el valor del atributo Name de su tabla padre.<Entity AuditRequired="Y" Cacheable="true" ConfigurableByOrgOrNode="Y" Description="Defines a carrier service's schedule for days that can be delivered and are available for transit." EntityType="CONFIGURATION" Extensible="N" Module="ysc" Name="Carrier_Service_Dow" Prefix="YFS_" TableName="YFS_CARRIER_SERVICE_DOW" TableType="CONFIGURATION" XMLName="CarrierServiceSchedule" LockingEntity="Carrier_Service"> - La parte "Extn" se recorta del nombre XML de las tablas personalizadas y descolgadas.
- El nombre de la clave primaria no debe empezar por
Y. - La clave primaria puede ser de tipo de datos numéricos.
- Los nombres de entidad deben empezar por el prefijo que se proporciona en la definición de entidad.
- La interfaz YIFApi no amplía las API para tablas personalizadas o descolgadas. Por lo tanto, las API para estas tablas deben configurarse como servicios.
- Javadoc no se crea para las API creadas por la infraestructura para dar soporte a tablas personalizadas y descolgadas.
- La generación y validación de XSD no se lleva a cabo para las tablas personalizadas y descolgadas.
- Los atributos XMLName y Name son obligatorios cuando se utiliza un juego de caracteres no ASCII.
- Todas las entidades personalizadas o descolgadas deben tener una
clave primaria.
Nombre de columna
Tipo de datos
Valor predeterminado
Clave-Columna
Clave o cualquier tipo de datos numéricos
' ' (espacio)
- Una entidad personalizada o descolgada debe tener las columnas siguientes que se describen en la tabla siguiente:
Nombre de columna
Tipo de datos
Valor predeterminado
CREATETS
TimeStamp
sysdate
MODIFYTS
TimeStamp
sysdate
CREAR ID DE USUARIO
UserId
' ' (espacio)
MODIFYUSERID
UserId
' ' (espacio)
- (Opcional) Una entidad personalizada o descolgada puede tener las columnas siguientes que se describen en la tabla siguiente:
Nombre de columna
Tipo de datos
Valor predeterminado
CREATEPROGID
ProgramID
' ' (espacio)
MODIFYPROGID
ProgramID
' ' (espacio)
LOCKID
Lockid
0 (cero)
Debe revisar las validaciones en LOB y columnas grandes antes de añadir cualquier nuevo LOB personalizado y columnas grandes. Para obtener más información, consulte Validaciones en columnas extendidas grandes y LOB.
Nota: En la base de datos DB2® , el tipo de datos Fecha se genera como TIMESTAMP.