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 | Código de la clase, si no es abstracta será el nombre de la tabla. |
2 | Descripcion | Descripcion | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | REQ,VIS,INS,UPD | prxclases | Descripción de la clase. |
3 | Ancestro | Ancestro | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | VIS,INS | prxclases | Si la clase deriva de otra aquí hay que indicar de que clase deriva, si no deriva de ninguna clase hay que dejar el campo vacío. |
4 | Abstracta | Abstracta | BIT | Campo lógico, admite 1, 0 y NULL | VIS,INS | prxclases | Las clases abstractas permiten la definición normal de todos sus atributos pero no se crean físicamente en la base de datos. Sirven como ancestro para ser derivadas por nuevas clases. |
5 | TipoClase | TipoClase | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | REQ,VIS,INS,UPD | prxclases | Define el tipo de clase. Los tipos habilitados son Catálogo,Configuración,Maestros,Movimientos,Parámetros,Preferencias,Seguridad Y Utilidades. El campo no tiene ningún efecto en el sistema y probablemente sea eliminado eventualmente. |
6 | DetalleCodigo | DetalleCodigo | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | VIS,INS | prxclases | Si la clase es detalle de otra este campo debe indicar de qué clase es detalle. |
7 | DetalleVisual | DetalleVisual | PRXCLASES_RELACIONVISUAL | prxclases, relación visual con master | VIS,INS,UPD | prxclases | Indica como se muestra si es detalle de otra clase. NA: no se muestra como detalle, detail: se muestra como un detalle normal y detail x menu se muestra como detalle por menú. |
8 | RestriccionCascada | RestriccionCascada | BIT | Campo lógico, admite 1, 0 y NULL | VIS,INS | prxclases | Marcar para que la clase actualice y elimine en cascada con el maestro. |
9 | Catalogo | Catalogo | pCATALOGO | Catálogos | REQ, | prxclases | Catálogo al que pertenece la clase. |
10 | CatalogoKey | CatalogoKey | VARCHAR(256) | Caracteres de longitud variable hasta 256 caracter/es | INS,UPD | prxclases | Ubicación de la clase dentro del menú del catálogo (no tiene que ver con los menús de usuario). Este esquema de menús será eventualmente reemplazado por el siguiente campo. |
11 | CatalogoMenu | CatalogoMenu | pCATALOGO_TAG | Catálogos, etiquetas de menú | VIS,INS,UPD | prxclases | Código de etiqueta seleccionado de las etiquetas del catálogo. Este será el nuevo esquema de armado de menús. |
12 | TS | TS | prxtimestamp | Marca de tiempo. | REQ, | prxclases | TIMESTAMP del momento de creado de la clase. |