SIU-Guarani/Version3.21.0/personalizaciones/extender tablas
Extensión de tablas
Situación
En un formulario se necesita recolectar algún dato no provisto en la versión entregada por el SIU.
Caso de ejemplo
Se necesita registrar la hora del evento de colación en la operación Egresados » Actualizaciones » Colaciones
Solución
Deben seguirse los siguientes pasos:
- Verificar si existe un esquema de negocio propio en la base de Guaraní
- Creación de una nueva tabla en la base de datos que extienda a la original
- Este paso implica crear una nueva tabla, cuyo ID referencie al de la tabla que deseamos extender mediante una foreign key.
- Los campos de la nueva tabla no deben tener el mismo nombre que campos de la tabla de la cual extiende.
- -- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- PERSONALIZACIÓN
-- SIU-GUARANI 3 - Sistema de Gestión Académica
-- Versión 3.X.Y
-- PERSONALIZACIÓN Tabla: sga_colaciones_ext
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SET SEARCH_PATH = 'negocio_pers';
CREATE TABLE sga_colaciones_ext
(
id_colacion INTEGER NOT NULL,
hora TIME
);
-- PRIMARY KEY
ALTER TABLE sga_colaciones_ext ADD CONSTRAINT pk_sga_colaciones_ext PRIMARY KEY (id_colacion);
-- FOREIGN KEY
CREATE INDEX ifk_sga_colaciones_ext_sga_colaciones ON sga_colaciones_ext (id_colacion);
ALTER TABLE sga_colaciones_ext
ADD CONSTRAINT fk_sga_colaciones_ext_sga_colaciones FOREIGN KEY (id_colacion)
REFERENCES negocio.sga_colaciones (colacion) on update restrict on delete restrict;
-- +++++++++++++++++ Fin tabla sga_colaciones_ext ++++++++++++++++++++++++++++++++++
- Este paso implica crear una nueva tabla, cuyo ID referencie al de la tabla que deseamos extender mediante una foreign key.
- Extensión del datos tabla correspondiente
- En la solapa "Datos" del Editor Toba, sección "Tablas", debe localizarse la tabla a extender y abrirla para edición. Luego, en las propiedades básicas, configurar:
- Tipo de persistencia: DB – Multitabla
- Esquema Tabla Ext.: el esquema donde se tiene la extensión de la tabla; en el ejemplo, negocio_pers
- Tabla de extensión: la tabla; en el ejemplo, sga_colaciones_ext
- Inclusión del nuevo campo en el formulario :
Anexo
En el caso de que el datos tabla anteriormente modificado además forme parte de un datos relación seguir los siguiente pasos:
- Encontrar el/los datos relación de los cuales forma parte el datos tabla en cuestión, esto se puede verificar en la solapa propiedades básicas, tal como indica la imagen.
- Verificar si las relaciones entre los datos tabla están correctamente asignados (1), si no hay ninguna fila en el multilínea significa que la relación debe volver a ser definida agregando una nueva linea (2) y seleccionando las columnas por la cual se relacionan las tablas (3), finalmente guardar para persistir los cambios (4).
- Realizar el mismo procedimiento por cada una de las filas de la solapa relaciones.