Diferencia entre revisiones de «DEV CLASES»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Sin resumen de edición
Línea 1: Línea 1:
=Descripción=
[[Archivo:20250318 1550 prxclases.png|miniaturadeimagen|izquierda|Diagrama de clases.]]
[[Archivo:20250318 1550 prxclases.png|miniaturadeimagen|izquierda|Diagrama de clases.]]
Esta categoría explica lo necesario para crear clases (o tablas) en el sistema, y toda la funcionalidad asociada con éstas como los triggers e índices adicionales.  
La tabla '''prxclases''' (Clases) define las clases del sistema (o tablas).  


Las tablas (ver [https://learn.microsoft.com/es-es/sql/relational-databases/tables/tables?view=sql-server-ver16 Tablas]) guardan los datos de los usuarios. Las tablas tienen un formato similar a una planilla de cálculo con columnas (que son los 'campos') y filas (que son los 'registros').
Las tablas (ver [https://learn.microsoft.com/es-es/sql/relational-databases/tables/tables?view=sql-server-ver16 Tablas]) guardan los datos de los usuarios. Las tablas tienen un formato similar a una planilla de cálculo con columnas (que son los 'campos') y filas (que son los 'registros').
Línea 16: Línea 17:
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.
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.


=Estructura=
[[Category:MANUAL/DESARROLLADOR]]
[[Category:DEV CLASES]]


===Detalle de campos===
*Los campos de la tabla se definen en [[DEV CLASES/CAMPOS|Clases, campos (prxcampos)]].


===Triggers===
Los triggers (ver [https://learn.microsoft.com/es-es/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-ver16 Triggers]) permiten agregar comportamiento a las operaciones de inserción, actualización o eliminación de datos de una tabla. Para ello se usan:
*[[DEV CLASES/TRIGGERS|Clases, triggers (prxtriggers)]] define la cabecera del trigger indicando el nombre y ante qué operaciones se ejecuta.
*[[DEV CLASES/TRIGGERS DETALLE|Clases, detalle de triggers (prxtriggersd)]] define los comandos SQL que conforman el trigger.


===Índices===
Los índices (ver [https://learn.microsoft.com/es-es/sql/relational-databases/indexes/indexes?view=sql-server-ver16 Í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:
*[[DEV CLASES/INDICES|(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:
*[[DEV CLASES/INDICES OBSOLETO|Clases, índices adicionales (prxclases_indice)]] cabecera del viejo esquema de definición de índices.
*[[DEV CLASES/CAMPOS INDICES OBSOLETO|Clases, índices adicionales, campos (prxclases_indiceC)]] lista de campos del viejo esquema de definición de índices.


=Descripción=
===Otras utilidades===
La tabla '''prxclases''' (Clases) define las clases del sistema (o tablas). Se denominan clases porque permiten definir datos (mediante sus campos) y comportamiento (a través de los triggers).  
La siguiente clase permite renombrar un campo de una tabla:
*[[DEV CLASES/RENOMBRAR CAMPOS|Campos, campos renombrados (pCAMPO_RENAME)]] permite renombrar el campo de una clase ocupándose de todos los detalles involucrados.


A su vez, las clases definidas pueden ser '''abstractas''' indicando que no existen físicamente en la base de datos ya que se definen únicamente para ser derivadas.
Los valores predeterminados o valores por defecto (Ver [https://learn.microsoft.com/es-es/sql/relational-databases/tables/specify-default-values-for-columns?view=sql-server-ver16 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:
*[[DEV CLASES/VALORES DEFECTO|Clases, agrega un valor default a una columna (pCAMPO_DEFAULT)]] permite asociar un valor por defecto a un campo de una tabla.


Al derivar de una clase se hereda la estructura de la tabla, y además los triggers asociados. Esta es una gran ayuda para extender clases aprovechando el código existente.
=Estructura=
[[Category:MANUAL/DESARROLLADOR]]
[[Category:DEV CLASES]]
=[[QUEESESTO/IDENTIDAD|Identidad]]=
=[[QUEESESTO/IDENTIDAD|Identidad]]=
* Tabla: '''prxclases'''
* Tabla: '''prxclases'''

Revisión del 16:18 21 mar 2025

Descripción

Diagrama de clases.

La tabla prxclases (Clases) define las clases del sistema (o tablas).

Las tablas (ver Tablas) guardan los datos de los usuarios. Las tablas 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.

Estructura

Detalle de campos

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:

Í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:

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:

Otras utilidades

La siguiente clase permite renombrar un campo de una tabla:

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:

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

Observaciones adicionales sobre los campos

Relaciones

Triggers