DEV CLASES
Descripción

La tabla prxclases (Clases) define las clases del sistema (o tablas).
Las tablas (ver Tablas) guardan los datos de los usuarios y tienen un formato similar a una planilla de cálculo con columnas (que son los 'campos') y filas (que son los 'registros').
Por ejemplo, en una tabla que contiene los datos de los empleados de una compañía puede haber una fila para cada empleado y distintas columnas en las que figuren detalles de los mismos, como el número de empleado, el nombre, la dirección, el puesto que ocupa y su número de teléfono particular.
Las tablas creadas usando el catálogo pueden ser editadas dentro de la aplicación desarrollada en Delphi para este sistema.
Las tablas existentes en la base de datos, pero no definidas en el catálogo, no pueden editarse dentro de la aplicación.
Programación orientada a objetos
La funcionalidad de las tablas admite la programación orientada a objetos a través de la cual:
- Podemos crear tablas que contienen datos (los campos de su estructura) y comportamiento (a través de triggers).
- Esas tablas pueden ser 'derivadas' (crear una nueva tabla en base a otras) para crear nuevas tablas en las que solo tenemos que agregar campos complementarios sin repetir lo ya definido.
Esta opción permite aprovechar código preexistente además de habilitar a la modificación de las tablas de base propagando esa funcionalidad a todas las derivadas.
También podemos crear clases 'abstractas', que no se crean físicamente en la base de datos, definiendo una estructura y comportamiento, y cuya finalidad es ser derivadas en nuevas clases (éstas nuevas clases heredan toda la funcionalidad de las clases de base).
Estructura
Detalle de campos
- Los campos de la tabla se definen en Clases, campos (prxcampos).
Triggers
Los triggers (ver Triggers) permiten agregar comportamiento a las operaciones de inserción, actualización o eliminación de datos de una tabla. Para ello se usan:
- Clases, triggers (prxtriggers) define la cabecera del trigger indicando el nombre y ante qué operaciones se ejecuta.
- Clases, detalle de triggers (prxtriggersd) define los comandos SQL que conforman el trigger.
Índices
Los índices (ver Índices) son estructuras de datos que mejoran la velocidad de las operaciones, permitiendo un rápido acceso a los registros de una tabla en una base de datos. Al aumentar drásticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hacen frecuentes búsquedas.
La única tabla que se usa actualmente para definir índices es:
- (ok) Clases, índices (pCLASE_INDICE) define el índice y los campos que lo conforman.
Las siguientes dos tablas pertenecen al viejo esquema de definición de índices y se encuentran obsoletas, se documentan en el estado en que se encuentran:
- Clases, índices adicionales (prxclases_indice) cabecera del viejo esquema de definición de índices.
- Clases, índices adicionales, campos (prxclases_indiceC) lista de campos del viejo esquema de definición de índices.
Otras utilidades
La siguiente clase permite renombrar un campo de una tabla:
- Campos, campos renombrados (pCAMPO_RENAME) permite renombrar el campo de una clase ocupándose de todos los detalles involucrados.
Los valores predeterminados o valores por defecto (Ver Valores predeterminados) permiten asignar un valor a campos de tablas si al momento de insertar su registro no se le da un valor específico. Esto se puede definir usando:
- Clases, agrega un valor default a una columna (pCAMPO_DEFAULT) permite asociar un valor por defecto a un campo de una tabla.
Identidad
- Tabla: prxclases
- Tipo: TABLA
- Define atributo Codigo
- Catálogo: SYS OBJETOS
Lista de campos
Columna | Campo físico | Campo lógico | Atributo | Descripción | Etiquetas | Definición | Observaciones |
---|---|---|---|---|---|---|---|
1 | Codigo | Codigo | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | KEY,REQ,VIS,INS | prxclases | Campo clave. |
2 | Descripcion | Descripcion | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | REQ,VIS,INS,UPD | prxclases | |
3 | Ancestro | Ancestro | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | VIS,INS | prxclases | |
4 | Abstracta | Abstracta | BIT | Campo lógico, admite 1, 0 y NULL | VIS,INS | prxclases | |
5 | TipoClase | TipoClase | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | REQ,VIS,INS,UPD | prxclases | |
6 | DetalleCodigo | DetalleCodigo | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | VIS,INS | prxclases | |
7 | DetalleVisual | DetalleVisual | PRXCLASES_RELACIONVISUAL | prxclases, relación visual con master | VIS,INS,UPD | prxclases | |
8 | RestriccionCascada | RestriccionCascada | BIT | Campo lógico, admite 1, 0 y NULL | VIS,INS | prxclases | Marcar si actualiza y elimina en cascada con el maestro |
9 | Catalogo | Catalogo | pCATALOGO | Catálogos | REQ, | prxclases | |
10 | CatalogoKey | CatalogoKey | VARCHAR(256) | Caracteres de longitud variable hasta 256 caracter/es | INS,UPD | prxclases | |
11 | CatalogoMenu | CatalogoMenu | pCATALOGO_TAG | Catálogos, etiquetas de menú | VIS,INS,UPD | prxclases | |
12 | TS | TS | prxtimestamp | Marca de tiempo. | REQ, | prxclases |