TESIS DE GMD0 - dspace.espol.edu.ec · posteriormente relacionarlas con los discos duros a utilizar...
Transcript of TESIS DE GMD0 - dspace.espol.edu.ec · posteriormente relacionarlas con los discos duros a utilizar...
Facultad de Ingenieria en Electricidad Y Computación
TESIS DE G M D 0
Presentado por:
Alex P&l Tapia Chichande
Luis Miguef Escobar Larenas
Guayaquil - Ecuador
2005
AGRADECIMIENTO
Agradecemos a DIOS quien con su infinita bondad, misericordia y amor nos ha permitido culminar esta tesis de graduación. . A la ESPOL en cuyas aulas se fue forjando nuestro conocimiento diario para formamos como profesionales de bien.
A nuestro Director de Tesis, Ing Fabricio Echeverría quien con su ayuda incondicional, comprensión, ejemplo de superación y exigencia diaria supo como transmitimos un gran legado intelectual, cualidades que lo han hecho un guía profesional en nuestras vidas.
A nuestros maestros por los conocimiento otorgados y a nuestros familiares y amigos por el apoyo brindado.
DEDICATORIA
A Dios pÓr haberme permitido cul- minar los estudios, con su bendición y protección en todo este tiempo de preparación.
A mi esposa por su incondicional apoyo, y confianza demostrado durante todos estos años, a mi hija por la inspiración y motivación que me entrega cada día, a mis padres, tíos, suegros y familiares que han sido un pilar fundamental en mi vida y por el respaldo brindado durante el transcurso de estos años para la consecución de esta obra.
Alex Paúl Tapia Chichande.
DEDICATORIA
CIB-ESPOL
Ahora puedo comprender las palabras de mi padre "Principio y fin de mi jornada", haciendo referencia a la razón su vida.
*
Tomando su incomparable ejemplo dedico esta obra a mis seres amados empezando por la razón de mi existencia mi incondicional esposa y mi inefable hijo, quienes me alientan día a día.
A mis padres por aquella sacrificada abnegación y guía entregada a lo largo de todos los días de mi vida.
A mis hermanos por ese espíritu de superación indomable y esa fe expresada en amor en cada instante de mi ser.
Luis Miguel Escobar Larenas
CIB-ESPOL
VOCAL PRINCIPAL
Ing. Marcelo ~ o b r VOCAL
"La responsabilidad del contenido de esta Tesis de Grado, nos corresponden
exclusivamente y el patrimonio intelectual de la misma a la ESCUELA SUPERIOR
POLITÉCNICA DEL LITORAL"
(Reglamento de Graduación de la ESPOL)
Luis Escobar Larenas
Alex Tapia Chichande
RESUMEN
Ante el inminente uso de las bases de datos, su constante evolución, integración y el
potencial económico que esta representa por el manejo de datos; y considerando el
arduo trabajo que realizan los DBA en sus diferentes labores; se implementó un
CASE denominado SYOPBASE (Sistema Optimizador de Base de Datos), el cual
permitirá realizar un enlace entre el divorcio producido por el modelo lógico y el
modelo físico del almacenamiento de los datos, contemplando sólo la optimización
basada en la ubicación física de las tablas de acuerdo a las caractarísticas físicas de
los dispositivos de almacenamiento
Para la realización de la presente tesis en primera instancia se consideró un estudio la
naturaleza de las tablas contenidas en las diferentes bases de datos, para
posteriormente relacionarlas con los discos duros a utilizar dependiendo de las
características propias de los mismos o de los tipos de RAID usados.
La siguiente fase fue implementar un Algoritmo Genético:
Algoritmo de búsqueda basado en la mecánica de la selección natural y de la genética natural. Combina la supervivencia del más apto entre estructuras de secuencias con un intercambio de información estructurado, aunque aleatorizado, para constituir así un algoritmo de búsqueda que tenga algo de las genialidades de las búsquedas humanas (Goldberg, 1989)
El cual se utilizó para determinar la mejor ubicación de cada una de las tablas en un
disco específico, optimizando de esta manera aquel trabajo que hasta la actualidad se
realizaba empíricamente, sin ninguna base científica sino basado únicamente en la
experiencia propia de la persona encargada de la base de datos.
INDICE GENERAL
.......................................................................... INDICE GENERAL 1
INDICE DE ABREVIATURAS
INDICE DE FIGURAS .............................................. 111
INDICE DE ANEXOS IV
............................................. CAPITULO 1 INTRODUCCION ............ 1
........................................................................ 1.1. DESCRIPCION DEL PROBLEMA 1 1.2. AMBIENTES DONDE SE PRODUCE EL PROBLEMA ............................................. 4 1.3. SOLUCIÓN PROPUESTA Y SU FACTIBILIDAD .................................................... 6 1.4. OBJETIVOS DE LA SOLUCIÓN .......................................................................... 7
........................................................ CAPITULO 2 FUNDAMENTOS TEORICOS 8
2.1. GENERALIDADES DE LOS SISTEMAS OPERATIVOS .................... : ..................... 8 2.2 GENERALIDADES DE LAS BASES DE DATOS ................................................... 16 2.3. CARACTER~STICAS DEL MODELO LÓGICO .................................................... 20 2.4. CARACTER~STICAS DEL MODELO FÍSICO ...................................................... 23 2.5. CARACTER~STICAS DE LOS DISPOSITIVOS F~SICOS DE ALMACENAMIENTO ..... 25 2.6 NATURALEZA DE LAS TABLAS DE LAS BASES DE DATOS ............................... 26
CAPITULO 3 DISEÑO DEL ALGORITMO GENETICO COMO SOLUCION .................................................................................................... DEL PROBLEMA 34
3.1. DISENO DEL ALGORITMO GENÉTICO ............................................................. 34 3.2. JUSTIFICATIVO PARA EL USO DEL ALGORITMO GENÉTICO ............................. 43
................................................................................. CAPITULO 4 BENCHMARK 45
............................................................................................. 4.1. JUSTIFICACI~N 45 4.2. SERVIDOR IBM XSERIES 235 ....................................................................... 46 4.3. EQUIPO PARA ALMACENAMIENTO MASIVO (SAN) STORAGETECH .......... 47 4.4 SERVIDOR INTEL SBT2 (1) ........................................................................ 48 4.5. SERVIDOR INTEL SBT2 (2) ........................................................................ 49 4.6. SERVIDOR IBM NETFINITY 3500 ............................................................. 50 4.7. SERVIDOR HP PROLIANT DL 3 80 ................................................................ 50
4.8. TIPOS DE PRUEBAS ....................................................................................... 5 1 ................................................................................... 4 .8 .1 . CONFIGURACI~N 1 5 3 ................................................................................... 4.8.2. CONFLGURACIÓN 2 5 4 ................................................................................... 4.8.3. CONFIGIJRACI~N 3 55
.................................................................. 4.9. COMPARACIÓN DE RESULTADOS 5 6
............................................................. CAPITULO 5 IMPACTO FINANCIERO 60
.......................................................................... 5.1 . BENEFICIOS CUALITATIVOS 60 5 . 2 BENEFICIOS CUANTITATIVOS ........................................................................ 6 1
.................................................................................... 5.3. RECURSOS Y COSTOS 62 ...................................................................... 5.3.1 BENEFICIOS CUALITATIVOS 6 2
5 .3 .2 RECURSOS Y COSTOS ................................................................................ 63 5.3.3 RECURSOS ADICIONALES REQUERIDOS PARA ADMINISTRAR EL SISTEMA .. 64
............................................................................. 5.3 .4 COSTO DEL SOFTWARE 64 5.4 . ROI ............................................................................................................. 6 5
CONCLUSIONES Y RECOMANDACIONES ...................................................... 66
BIBLIOGRAFIA ....................................................................................................... 68
Abreviatura 1 Ingles Español DBA DB / BDD SYOPBASE
-- DBMS / SGBD RAID
FMS
ESYS / SOS IBM
OS / SO MS DOS
THE
CASF / Com~uter Aided Softw:
Database administrator Database
E/R DED nD1.
1 Engineering 1 Ordenador
Administrador de base de datos Base de datos Sistema optimizador de base de datos
Database Management System Redundant Array of lndependent Disks Fortran Monitor System
SHARE Operating System
lnternational Business Machines Corporation Operating System Microsoft Disk Operating System Techn ische Hogeschool
Sistema gestor de bases de datos Arreglo redundante de discos independientes Sistema monitor de Fortran (Sistema Operativo) Sistema operativo de IBM
Sistema Operativo Sistema operativo de Microsoft perteneciente a la familia DOS.
Universidad Técnica de
110 Input / output Entrada / salida -. ire Ingeniería de Software Asistida por
Eindhoven Entity-Relationship Data Element Definition Data Definition Lanciuacie
SPARC
Eindhoven Entidad relación Diagrama estructura de datos 1,engiiaie de definición de datos
GIS
ANSI
Geographic Information System American National Standards lnstitute
Scalable Processor ARChitecture
1 1 Armada
Sistemas de información Geográfica Instituto Nacional de Estándares Americanos Arquitectura escalable para
SAN DINFOR
Storage Area Network
DlGPER DIGPERGYE
procesador Red de área de almacenamiento Dirección de Informática de la
Dirección General del Personal Base de datos de personal de la DIGPER Guavaauil
Figura 1.1 Niveles de arquitectura de bases de datos ........................................ 5 Figura 2.1 Sistema operativo de estructura monolítica ......................................... 10 Figura 2.2 Sistema operativo de estructura jerárquica ......................................... 11 Figura 2.3 Sistema operativo de estructura anillos concéntricos ......................... 12 Figura 2.4 estructura de máquina virtual ............................................................... 13 Figura 2.5 Estructura de datos jerárquica ............................................................. 18 Figura 3.1 Diseño de la base de datos ..................................................................... 43
INDICE DE TABLAS
Tabla 2.1 Características principales a considerar ................................................ 24 .............................. Tabla 2.2 Tabla de resumen de análisis de las bases de datos 31
Tabla 2.3 Matriz relación Naturaleza de tabla vs . características de dispositivo32 Tabla 3.1 Matriz disco .............................................................................................. 35 Tabla 3.2. Matriz tabla ........................................................................................ 35
. Tabla 3.3. Matriz pesos tablas vs disco ................................................................. 36 . Tabla 3.4. Matriz tabla vs disco convertida ........................................................... 37
Tabla 3.5. Matriz tabla vs . disco depurada ............................................................ 38 Tabla 3.6. Matriz sumatoria tabla vs . disco ............................................................ 39 Tabla 3.7. Matriz de tablas pares ............................................................................ 39
....................................................................... Tabla 4.1 Servidor IBM x Series 235 46 .............................................................. Tabla 4.2 Equipo SAN STORAGETECH 47
....................................................................................... Tabla 4.3 INTEL SBT2 (1) 49 Tabla 4.4 INTEL SBT2 (2) ....................................................................................... 50
............................................................. Tabla 4.5 Tipos de pruebas DIGPERGYE 52 Tabla 4.6 Características Base Sueldos ................................................................. 53 Tabla 4.7 Configuración No . 1 ....................................... ...................................... 53 . . . ................................................................................. Tabla 4.8 Configuracion No 2 54 . . Tabla 4.9 Configuracion No . 3 ................................................................................. 55 Tabla 4.10 Comparación de resultados ................................................................... 56 Tabla 4.1 1 Resumen de resultados ........................................................................ 57 Tabla 5.1 Recursos y costos ...................................................................................... 62
................................................. Tabla 5.2 Recursos utilizados en implementación 63 Tabla 5.3 Recursos mínimos necesarios ............................................................. 63
................................................................................ Tabla 5.4 Recursos adicionales 64 Tabla 5.5 Costo del CASE ....................................................................................... 64
ANEXO A ANEXO B ANEXO C ANEXO D ANEXO E ANEXO F ANEXO C; -- ANEXO H ANEXO J ANEXO K ANEXO 1, -- ANEXO M ANEXO N ANEXO O --
ANEXO P ANEXO Z
ÍNDICE DE ANEXOS
(No. registros y columnas DIGPERGYE) (Promedios escritura DIGPERGYE) (Promedios lectura DIGPERGY E) (No. registros y columnas SUELDOS) (Promedios escritura SUELDOS) (Promedios lectura SUELDOS) (Codigo de case implementado) (Matriz posibles cruzamientos de tablas) (Cotizacion empresa MAGNANI) (Cotizacion Empresa TECNOPLUS) (Cotizacion Empresa MC System) (Cotizacion Empresa ORCOIN S.A.) (Cotizacion Empresa TECMOCOMP) (Cotizacion FACTURA MC SYSTEM) (Trigger de la tabla PERSONA)
CAPITULO 1 INTRODUCCION
1 1.L)escripción del prohlemu
Como es bien conocido las bases de datos "... no son simplemente un con-junto de
archivos, en vez de ellos. una base de datos es una fuente central de datos que está
pensada para que sea compartida por muchos usuarios con una diversidad de
aplicaciones."") Cuyos datos se encuentran organizados y almacenados en diferentes
dispositivos, la cual puede ser manipulada por medio de programas que nos permiten
un acceso directo a los mismos, para de esta forma obtener: la información requerida
en mucho menos tiempo, mane-jo de mayor cantidad de datos, mane-jo de varios
usuarios simultáneamente (concurrentes), la independencia de su uso, coherencia de
resultados y el hecho de evitar la redundancia entre muchas otras virtudes
"' Kendal & Kendal, ANALlSlS Y DISEI?IO DE SISTEMAS. tercera edición, México. 1997. Pág 588.
Es así como surgen las bases de datos a mediados de los años sesenta sin embargo no
fue sino hasta 1970 en que ~ o d d ( ~ ) propone el modelo relaciona1 en donde los datos
se estructuran lógicamente formando relaciones entre las tablas que lo componen, su
objetivo primordial era el de mantener la independencia de su estructura lógica con su
modo de almacenamiento. Es el nacimiento de los sistemas de gestión de datos
conocidos como SGBD o sus siglas en inglés DBMS (DataBase Management
System).
Muchos autores consideran la existencia de dos niveles en las bases de datos para el
tratamiento de las entidades o de los objetos los cuales son: nivel lógico y el nivel
físico; el primero (conocido muchas veces como conceptual) se refiere a las
características de identificación de las entidades junto con su descripción y el lugar
que ocupa en la organización; en cambio el nivel físico se refiere a la forma, modo,
tipo, lugar de almacenamiento o repositorio físico en donde se almacenan los datos.
De la misma manera existen otros autores que consideran a un tercer nivel conocido
como el nombre de Nivel Visión, el cual es parte del conceptual, el cual es el
("Edgar F. "Ted" Codd (Agosto 23. 1923 -abril 18. 2003). científico británico que contribuyó con la teoría relacional de bases de datos.
encargado de dividir a la base de datos en pequeñas parcelas útiles para los usuarios,
un ejemplo clásico ha mencionar es el hecho de que un empleado que no debe tener
acceso al sueldo de sus compañeros o superiores; este hecho esta relacionado con un
Esquema de Visión.
Como se hace mención en los párrafos anteriores generalmente el nivel físico es
facilitado por los SGBD, lo que quiere decir que el usuario esta en capacidad de
decidir el lugar en donde se realizará la operación de almacenamiento; sin embargo
esta operación se realiza sobre la base de la experiencia propia del DBA, lo cual
ocasiona una operación poco eficiente con los recursos propios, e ineficaz puesto que
se basa únicamente en las observaciones anteriores realizada por el mismo. El
problema se ve agravado por el hecho que existe la posibilidad que el DBA no tenga
la experiencia suficiente para determinar el lugar mas adecuado para el
almacenamiento.
En este punto se considera la existencia de un divorcio entre el conocimiento de los
datos a ser almacenados (con las características propias de cada uno de ellos) y el
lugar establecido como repositorio de datos en donde serán almacenados. Para hacer
esta elección de lugar no se ha tomado en cuenta ninguna de las características
propias ni de las bases, ni de los datos, ni del software por una parte y por otra no se
ha considerado características de los discos, tipo de RAID a ser utilizado, velocidades
de operación, almacenamiento o algún tipo de degradación.
Es el momento en el cual la interrogante para resolver este problema mediante la
creación de un CASE capaz de guiar al DBA, a realizar un traba-jo eficaz y eficiente
en la administración de las mismas considerando factores que hasta el momento se los
había considerado empíricamente o tal vez no se los había considerado.
La reunión de ciertas condiciones tales como excesiva cantidad de tablas, denlasiados
datos, utilización de diversos tipos de arreglos de discos para el alinacenainiento, tipo
de operación a realizar con las mencionadas tablas y datos. crecimiento
indiscriminado de datos a ser guardados, hacen un ambiente propicio y adecuado para
dificultar la toma de decisiones. Por lo cual pensamos que los ambientes más
propensos a este problema son los sistenias bancarios, sistemas de simulación,
sistemas creadores de modelos (tales como el GIS(^)) entre otros.
Específicamente el problema surge en los dos niveles inferiores, entre el nivel interno
y el nivel conceptual, adicionalmente se considera como un problema netamente del
DBA, pues este será la persona encargada de tomar decisiones sobre los posibles
lugares de almacenamiento de las diferentes tablas de las bases de datos.
Las bases de datos en general tienen una arquitectura de tres niveles (definida por el
grupo ANSI")/SPARC"'), la cual puede apreciarse en la figura l . 1 :
. .
Nivel Externo
CIB-ESPOL
Figura 1 . 1 Niveles de arquitectura de bases de datos
"' GIS: (Cieographical Inforniation System) Sistema de InforinaciOn (ieogrática.- lis una mctodolopia para adquirir, alinucenar. gestionar. cditar y mostrar datos relacionados con mapas '; planos geográficos. '4' ANSI: (Anieriean Natioiial Standard's Institute) Organización americana para definir estándares. '" SPARC: Estandar RlSC desarrollado por Sun Microsysteins.
l._?.,Wzrción propuesta y szr fuctihilidud CIEESPOL
Una solución para el problema en mención y basados en la aplicación de un algoritmo
genético, el cual toma la naturaleza de las tablas, las propiedades de los arreglos, las
características técnicas de los discos, para de esta manera indicar los repositorios
adecuados para los datos por medio de una selección natural basada en genética.
Este algoritmo esta en capacidad de crear un conjunto de soluciones óptimas las
cuales se almacenan en una base de datos que se considera como el conjunto de
soluciones universo, de este universo y aplicando nuevamente el algoritmo se obtiene
una población de soluciones las cuales son por selecciVn natural mejores respecto a
las anteriores y así sucesivamente. de esta manera va evolucionando cada vez nirís, se
logra conseguir individuos óptimos, los cuales han sido el producto de la selección
del universo de las mejores poblaciones y los mejores individuos.
El hecho de poder abstraer todas las características n~encionadas y luego plasinarlas
en código ha permitido optiinizar las acciones realizadas por los DBA en cuanto se
refiere a la toma de decisión del lugar más adecuado para su alinacenainiento.
Adicionalmente se puede mencionar que en el mercado actual existen pocos
CIEESPOL
programas capaces de realizar las acciones antes mencionadas para automatizar estas
funciones tales como el RSS'~) (Research Storage System), el R S I ' ~ ' (Research
Storage Interface).
Cabe mencionar que el sistema implementado consideró las velocidades estándares de
los de los discos (no las optimizadas por el RAID), de igual manera no se consideró el
almacenamiento de los índices de las bases de datos.
1.4. Objetivos de la solzrción
1. Optimizar la capacidad de almacenamiento de los discos utilizados en los
arreglos de discos.
2. Optimizar la velocidad de los procesos realizados en las diferentes
transacciones ordinarias de las bases de datos.
3 . Disponer de varias alternativas óptimas para elección de almacenamiento.
4. Crear modelos basados en una base de datos.
'6' RSS es el subsistema de almacenamiento de system R, este es el responsable de mantener el almacenamiento físico de las relaciones, de los caminos de acceso a ellas, bloqueos (en un ambiente multiusuario), y de las capacidades de registro de transacciones y recuperación. (" RSI (Research Storage Interface) es la interfaz orientada a la tupla que system R presenta al usuario final.
CAPITULO 2 FUNDAMENTOS
TEORICOS
2. l . Gener~didades de los Sisternas Operutivos
A partir de los años 50 surge la necesidad imperiosa del'uso de la computadora, y sus
primeras versiones eran simplemente tableros con capacidad de ser conectados
(primera generación), posteriormente apareció la segunda generación iinplementando
el trabajo en lotes (sistemas coino FMS@) o el TBSYS(~) ). Con el surgimiento de las
computadoras de la tercera generación aparecen los sistemas operativos OS1360 de
IBM("), es importante destacar que en este período también aparece el concepto de
(" FMS (Fortran Monitor System) Sue el sistema concebido específicamente pasa trabajar en el lengua.je de programación FORTRAN y así algunos llevar al máximo su potencial. '9' IBSYS es un sistenia operativo creado por IBM en los años 60 para el 7094. ''O' IBM (International Bussiniies Machines) es una de las compañías más grandes de coinputadoi-as en el mundo. IBM empezó en 191 1 como L I ~ productor de nilíquinas para tabular fichas perforadas. En 1953, introdu.jo su primera computadora, el 701. Durante el 60's y 70's, IBM vino a dominar el campo nuevo de central y las minicomputadoras. En 198 l . IBM lanzó su primera computadora personal.
ni~Itiprograinación aunque en general se los considera de lote. El avance de la
electrónica a gran escala provocó que en la cuarta generación se hable de
computadoras personales y estaciones de traba.jo con interfases amigables por lo que
se hacen populares el MS-DOS'"' 4 UNIX''*' en las nlencionadas computadoras.
Se da un brinco gigantesco cuando en los años 80 comienza el auge de las redes de
coinputadoras y por ende la necesidad de sistenlas operativos capaces de administrar
redes y sisteinas distribuidos. El crecimiento indiscriminado en todo el inundo de la
Internet hace posible el acceso a personas e instituciones a toda la información
disponible en sus computadoras personales, claro esta que para la época existía una
divei.sidad cle sistemas operativos por lo cual se busca una solución para hacer
traba-jar a estos sistemas operativos diferentes. Sin embargo no fije sino hasta la
década de los 90, época en la cual se crean las aplicaciones para ser ejecutadas en una
plataforma y los resultados pueden ser observados en otra diferente por lo que se
verifica que el nivel de interacción cada vez se hace mis profi~ndo.
IIII MS DOS (MicroSoSt-Disk Opcrating Syslem) es el sistema operativo creadu paro Ilis I'c de Microsoft. cuyo funcionamiento es muy parecido a la versión del lBk1 para sus coinputadoras personales. la peculiaridad de llainarlos por DOS se debe :i que anteriormente los sistemas operativos cibligatoriainei~te arranc;ibaii desde el disco.
112) Iliiir: es tino de los iiirís popiilnrc.~ sisleinas «perati\;os multi~isuario y inultitarea desarrollado por Labs Bell cii los tiiios 70 con las coii\idci.ncioncs que sea li\,iaii». tlc\ihlc. barato y dc LISO csclusi\'o clc los Jeslirrolllidoi-cs. Fue cl priiiier SO desarrollado cii C. lo que sigiiiticn cluc puede scr iiistalxio pricticaiiicntc eii c~i~ilquier I'c.
Algunos autores consideran que los sistemas operativos se basan en tres
clasificaciones las cuales se mencionan a continuación: sistemas operativos según su
estructura, sistemas operativos de acuerdo a los servicios que ofrecen y finalmente
sistemas operativos de servicios para los usuarios.
Los sistemas operativos de acuerdo a su estructura cumpleii con dos req~iisitos que
son: fácil de usar de aprender; pero en cuanto a la parte técnica coiisidera:
mantenimiento, forma de operación, restricciones de uso, eficiencia. tolerancia a
errores y flexibilidad. Tomando en cuenta su estructura podemos mencionar:
a. Estructura monolítica.- cuentan con un solo programa entrelazados por un
conjunto de rutinas, de tal manera que se puedan llamar entre sí. Su
constr~~cción final son niódulos compilados por separado.
niódulo b módulo e
1 módulo c E y módulo I 1
Fig~ira 2.1 Sistema operativo de estructura monolítica.
b. Estructura jerárq~1ica.- se dividió al sistema operativo en peq~ieñas partes las
cuales tenían uiia interface con el resto de elenientos, adicionalmente su
organización era por niveles. Esa fue la razón para denominarla estructura
jerárquica o de niveles; el primero creado fiie denominado THE'"'
(Technische Hogeschool Eindhoven), perteneciente a ~ i j k s t r a " ~ ) . Otros
autores los consideran de multicapas. Su estructura es la base para la actual
estructura de muchos sistemas operativos.
Capa 5 - Usuario Capa 4 - Archivos Capa 3 - Ent~;ida/Salida Capa 2 - Coniunicaciones Capa 1 - M emoria Capa Q - Cestiún CPU Capa 1 - H ardware
Figura 2.2 Sistema operativo de estructura jerárquica.
Otra forma de denominación es la de estructura de anillos concéntricos o rings.
(11) . SflL ( I'echnische IJni\ersiteit Gindhoven o TLIIE) es una uni\-ersidad técnica locali~ada en Eindho\#cn. (Holanda). Fue fundada el 15 de iunio de 1956 por el gobierno holandés. Era la segunda institución dc s ~ i clase c i ~ los países bqjos. s81o ha sido pieccdida por la Ui-iiversidad Tecnológica de Delft. Originalmente. se llamó el Eindhoven (EL) de Technische tlogeschool.
"" Edsgci. Wqbc Dijlístia fue uno de los niien~bros mis inlluyentes de la generacih Sundadora dc la ciencia intoi-inática. Sus contribucioi~es cientíticas más importantes son los Icnguqjes de programacih de diseiio del algoritmo. sistemas operatiws de diseño distribuidos procesando el diseño formal dc la especiticaci6n y coinprobaci6n de argumentos inatcmáticos ademis. Di,jkstra se interesó intcnsaiiiente en la enseñanxa. 4 en las relaciones lo académico, la ciencia 4 la industria de soti\\-are. Durantc sus cuarenta anos como científico. logro posicionarse como L I ~ de los m e i ~ r e s e11 cI campo de la informática, así mismo cn la industria y por sus contribuciones le otorgaron muchos pi.emi»s inclusi\>c el honor iiiks alto dc la ciencia. el Premio de ACM Tui-ing.
Figura 2.3 Sistema operativo de estructura anillos coiicéntricos.
En cada uno de los anillos se pueden apreciar puertas de acceso o trampas (traps), que
sirven de ingreso para las partes inferiores esta es la manera para proteger las partes
internas de accesos no deseados.
c. Estructura de maquina virtiial.- en este tipo de sistema operativo cada
proceso presenta una interface la cual es idéntica a la maquina real, en este
tipo de estructura se separan la iiiultiprograiiiación y la máquina extendida, la
idea principal es la de dar la sensación de disponer de varias máquinas
diferentes las cuales pueden ejecutar sistemas operativos diferentes como se
puede apreciar en la figura 2.4.
CIB-ESPOL
Figura 2.4 estructura de niáquina virtual
d. Estriictura cliente servidor.- son de propósito general 4 sirve para toda clase
de aplicaciones; puede ser e-jecutado en la mayoría de las computadoras. Lo
mas destacado es que los procesos pueden ser tanto en clientes como en
servidores.
De la misma manera podemos diferenciar a los sistemas operativos por el tipo de
servicios para lo cual los hemos dividido de la siguiente manera:
r División por el nútnero de iisuarios
a. Monousuarios.- son aquellos SO que soportan únicainente a un usuario sin
tomar en cuenta al número de procesadores que disponga la computadora o
número de tareas o procesos que tenga que realizar en 1111 instante de tiempo.
b. Multius~~arios.- estos sistemas operativos permiten dar servicio a más de u n
usuario a la vez, por medio de accesos remotos o la utilización de varias
terminales conectadas a la computadora mediante el uso de una red.
División por el nútnero de tareas
a. Monotarea.- la característica principal de estos SO es que permiten la
realización de una tarea a la vez por usuario, es importante mencionar que se
permite la combinación de multiusuario monotarea, es decir muchos ~is~iarios
realizando una sola tarea.
b. Multitarea.- permite al usuario realizar muchas labores al mismo tietnpo,
como ejenlplo se puede editar el código fuente mientras se compila otro
programa y al mismo tiempo recibir un mensaje electrónico. lo cual aumenta
División por el número de procesos CI&ESPOL
a. Uniproceso.- este SO es capaz de mane-jar únicamente u n procesador en la
computadora.
b. Multiproceso.- se refiere al trabajo específico de varios procesadores del
sistema de tal manera que se p~iede distribuir la carga del proceso; se los
considera de dos formas de trabajo: simétrica si todos los procesos o parte de
ellos conocidos como (threads), son ejecutados indistintamente en
cualesquiera de los procesadores disponibles por medio de un algoritmo de
mejor distribución y de manera asimétrica en el cual uno de los procesadores
será considerado como principal y los demás como esclavos para la
ejecución de los mencionados procesos.
La siguiente división de los sistemas operativos es dependiente de los servicios que
ofrecen (es decir es una visión desde el punto de vista del usuario) la que se puede
apreciar mediante la siguiente división:
a. SO de red.- son aquellos que nos permiten interactuar con los SO de otras
computadoras por algún medio de transmisión con el afán de realizar un sin
número de actividades entre sí, tales como transferencia de archivos, accesos
remotos, instalar utilitarios, tener acceso a bases de datos etc., es decir lo más
importante es disponer del recurso y poderlo compartir
b. SO distribuidos.- en realidad no se ha desarrollado un SO distribuido a
plenitud pues la idea principal es la de abarcar todos los servicios de red
integrando los recursos en una sola máquina virtual a la cual se puede
acceder de manera transparente, necesitando conocer únicamente el nombre
y de esta manera los recursos como si fuesen locales. El grave problema
resulta de la complejidad de distribuir los procesos en varias unidades de
procesamiento, reintegrar los resultados al mismo tiempo de resolver
problemas de concurrencia 1 paralelismo. Las ventajas principales que se
puede mencionar son: velocidad, capacidad de crecimiento. confiabilidad y
costos. En cambio las desventajas se basan el aspecto de concurrencia 1
paralelismo. Puesto que debido a la concurrencia se debe implantar
mecanismos para tratar de evitar la competencia entre procesos, evitar una
postergación indefinida, evitar condiciones circulares y el hecho de ocupar
recursos en espera de otro. En realidad todos estos problenias presentan la
mayoría de los sistemas operativos multiusuarios y multitareas; claro está
que para los sistemas operativos distribuidos el probleina es aún más
complejo, razón por la que se necesitará algoritmos mejor desarrollados.
Debido al paralelismo el solo hecho de encontrar las secciones de algún
código paralelizable es un trabajo intenso, sin embargo es necesario dividir a
un proceso en varios sub-procesos y redirigirlos a diferentes unidades de
procesamiento para su distribución
2.2 Geriert~lidude~s de lus ba.scs de datos CHB- ESPOL
Ampliando aquellos conceptos que se p~idieron apreciar en la Descripción del
problema perteneciente al Capitulo l. en donde se hace inención brevemente a las
bases de datos, considerainos que es iinportante mencionar que las bases de datos
deben cumplir con algunos objetivos tales como::
1 . Todos los iisuarios compartan la base.
2. Controlar la veracidad y consistencia de los datos.
3. Disponibilidad de los datos.
4. Considerar la evolución y crecimiento de la base de datos.
5 . Todo el proceso sea transparente para el usuario.
Un punto eltreinadainente importante es como giiardar los datos, es así como se
coiisidera que existen dos inaneras para realizar esta labor. la primera es crear
arcliivos independientes e individuales 4 la segunda y más desarrollada en la
actualidad es la creación de una base de datos que pueda ser compartida por una
infinidad de usuarios y una gran cantidad de aplicaciones, lo cual resulta muy útil
pues se facilita la captura de datos, alinacenamiento y actiialización por una sola vet,
para lo cual es necesario conocer tres conceptos claramente: el inundo real. los datos
y los metadatos.
El mundo real representa todas aqiiellas entidades, objetos o eventos de los cuales
deseamos recolectar y almacenar datos relevantes. sus atributos S O I ~ las características
de estas entidades. En cambio los datos son los valores que pueden ser orga11izado.s en
registros los cuales serán accesados por medio de claves o llaves. Finalmente los
metadatos describen a los datos de acuerdo a las restricciones impuestas a estos.
De esta manera consideramos que las bases de datos pueden tener tres tipos de
estructuras que son:
1 . Eslruct~iras de datos jerárquicos- conocidas también como árboles, implican
que una entidad no puede tener más de una entidad que la posea. Es decir se
la considera como una estructura compuesta de muchas asociaciones 1 :M o
1:l; otros tipos de asociaciones tales como M: 1 o M:N no son permitidas.
Gráficamente se la puede apreciar de la siguiente manera:
1 Entidad 1
Figura 2.5 Estructura de datos jerárquica
Algunos autores la consideran como ramificaciones donde una entidad puede tener
ramificaciones subordinadas semejantes a las ramas de un árbol
2. Estructura de datos en red.- este tipo de estructura permite tener entidades
con cualquier cantidad de subordinados o superiores las cuales se encuentran
vinculadas por medio de enlaces que representan a conceptos de datos
comunes a ambas entidades conectadas. Es una estructura mucho más
compleja que su predecesora. SLI principal ventaja es que el mismo dato
Entidad Eiitidad tiitidad
puede ser utilizado por varias entidades, la desventaja por el contrario es que
fácilmente podría existir redundancia de datos. en la figura a continuación
hemos representado al mundo real como registros lógicos que se relacionan
entre sí por medio de flechas hacia los respectivos datos comunes.
Figura 2.6 Estructura de datos en red
Entidad
3,Estructura de datos re1acional.- representan una o varias tablas
bidimensionales (conocidas como relaciones), los renglones de las tablas
contienen registros mientras que las columnas representan a sus atributos.
Podemos llamar relaciona1 a la base de datos construida por relaciones entre
Entidad
dos tablas o más, las cuales disponen de ventajas coino eficiencia en las
consultas y factibilidad de crecimiento en la base de datos.
v Enlace --+ Enlace -+ Enlace 7. Enlace A
v v v , Entidad Entidad
2.3.Caracteristica.s del Modelo Lógico
Considerando que cualquier cambio en la estructura física o lógica de los datos
afectaba a las aplicaciones directamente, ANSl publicó la definición de una
arquitectura de tres niveles la cual se debe seguir para el diseño de la base de datos en
donde hace énfasis a la independencia entre las referencias externas a los datos y la
forma física de almacenamiento, considera también la organización estos niveles de la
siguiente manera:
1 . Nivel Externo.- este es únicamente de interacción con el usuario en donde se
representa una visión parcial de los datos respecto al iisiiario, muestra
únicamente la parte que le interesa al usuario.
2. Nivel Conceptual.- este en realidad representa el esquema lógico de los datos
en donde se visualiza su estructura y sus relaciones, sin embargo no
considera especificaciones físicas. En este punto se excluyen datos
innecesarios y se define que alternativa de modelo se va a utilizar.
3 . Nivel físico.- este debe ser transparente para el usuario y va a depender de la
estructura de los datos, hardware, software, así como el modo de
almacenamiento de los datos, sistemas operativos utilizados, SGBD etc.. . .
El modelo conceptual es u n inodelo abstracto que pertenece al nivel externo que
permite al lector tener una visión general del asunto a tratar, es decir mn todos los
procesos del caso en estudio pero con una visión global de la situación que permitirá
obtener una imagen amplia de todo el proceso; sin pensar en las lin~itaciones físicas,
ni lógicas, ni estructura alguna. adicionalmente no considera al tipo de base de datos.
ni tampoco al SGBD. El modelo entidad relación es un modelo conceptual, (fue
propuesto inicialmente por CHEN'") para posteriormente dar lugar al modelo E/R
extendido); es decir se puede expresar que el iiiodelo conceptual toma a las relaciones
establecida:, entre las entidades participantes en el tema a solucionar.
Los coinporientes del modelo E /R ' '~ ) son los siguientes: entidades. relación, grados de
relación, cardinalidad, atributos. Adicionalinente se pueden mencionar conceptos
CI?%ESPOL
Una vez establecido correctamente el inodelo coiicept~ial, se considera pertinente
continuar con el inodelo lógico perteneciente al nivel conceptual, deiiominado por
("' Dr. Peter P. Chen es el cicntítico creador del modelo entidad relacicin. su labor se la considera como la piedra angular de dolacicin I6gica. SLI trabajo de invesligacilín y nielodologias cstruct~iradas han hecho un impacto significativo en la mayoría de las herramientas tipo C'iISE.
"6'Llamado también un inodelo de la cntity relationship. cs una represcntaciún gráfica de las eiiiidadcs y sus relaciones uno al otro. iípicanicnte utilizado cn los sistemas de bascs de dalos. Una entidad es un grupo de datos. un objcto es el conccpti, genérico de los datos que se alniacciinii. Ilnu sclacicín es ctinio los datos se comparten entre entidades.
algunos autores como Esquema de Base de Datos (Database ';cherna), J como se
verificará posteriormente será el punto de partida para realizar el modelo físico. En
este modelo lógico transfbrinamos las entidades obtenidas y relaciones aceptadas en
el modelo anterior a tablas, para lo cual ~itilizainos las reglas de norinali~ación.
Cada entidad del modelo conceptual será transformada en una tabla y los atribiitos de
dicha en~idad serán los atributos de dicha tabla, las relaciones de inuclios a muchos se
transforman en tablas en donde la clase estará formada por la clave primaria de las
entidades relacionadas; en cambio las relaciones de ~ i n o a muchos se propaga la clave
principal de la entidad cuya cardinalidad es I a la de cardinalidad M. Poderno5
valernos de los Diagranias de Estructura de Datos (DED).
Es importante determinar que este tipo de esquema permite relaciones entre dos
entidades; bajo la salvedad de modelar relaciones de dos o más entidades se deberan
redefinir todas a relaciones binarias.
Existe una correspondencia entre los diagranias EIR y lo\ DED, permitiendo el paso
de uno a otro y viceversa.
Los problemas más importantes que se pueden evidenciar son: redundancia de datos J
ambigüedades entre datos; de esta manera surgen las soluciones a los inisinos como
las reglas de norinalización, para lo cual considerainos los conceptos de: superclave,
clave primaria. clave candidata; dependencia fiincional, transitiva 1 completa.
Las principales forinas de norinalización son las sigiiientes:
1 . Primera Forma Normal ( 1 FN).
2. Segunda Forma Normal (2FN).
3. 'Tercera Forinn Norinal (3FN).
4. Forina Normal de Bojce ~ o d d ' " )
5 . Cuarta Forina Norinal (4FN).
6. Quinta Forina Normal (5FN).
Una vez que hemos finalizado con los dos pasos anteriores el lector del presente
estará en capacidad de diferenciar el modelo de las tablas (más siis derivadas de las
"" Edgai. F. Cood cieiitítico que conir ibuy notableiiientc cii el cstudio del inodclo entidad rclaci6ii ) ~1
quien se le atribule uiia de las forinas iiorni;ilcs J c las bases J c datos.
relaciones), lo que representa una metáfora de la conversión de esta tabla en un
mapeo físico para lo cual sc debe considerar el coilocimiento de características tale,
como se presenta en tabla 2.1 :
í 3 Tipos dc dalos
c. Oidcii de los iitribiiios
d. Iiitc'griiliid ri-fc'reiicial
1 1)~1101111:111/nc1011
Tabla 2.1 Características principales a considerar
2.5. C'uracteríslictrs de los ~1'isposilivosfisico.r de ahi~accnanziento
Como es bien conocido los datos contenidos en las tablas será almacenada en discos
duros los cuales disponen de ciertas características propias de cada uno de ellos, las
principales características se las mencionan a continuación:
1 . Capacidad de almacenamiento.- Es una característica propia del disco que
limita la cantidad de informaci6n que puede ser almacenada.
2. Reridi1niento.- Es la suma de factores que implican la capacidad de los discos
para efectuar operaciones de 110. es importante mencionar que los discos
dependerán de dos factores importantísirnos, factores mecánicos y factores
electrónicos.
3 Velucidad.-Es la característica que nos indica las revoluciones por minuto
del dispositivo en mención
4. Facilidad de manejo.- Es la habilidad que brinda al operador a fin de realizar
las tareas de lectura, escritura, alinacenainiento y borrado.
5. Costos.- Es el valor econóinico que implica la utilización de los mencionados
dispositivos.
6. Escalabi1idad.- Es la capacidad que tienen los dispositivos que le permiten
aumentar en cantidades y seguir trabajando manteniendo o inqjorando SLI
rendiin iento
7. Tipos de RAID.- Es el con.junto de discos redundantes e independientes
usados a fin de preservar la integridad de los datos, mejorar rendimiento J
mejorar la tolerancia a errores.
Consnderain 1s que las tablas que componen las bases de datos, tienen propiedades
ientri: la> cuales ine~icionanios a:
l . l'ropiedad de acceso- son todas aquellas tablas a las cuales se las utiliza en
las bases de datos.
2. Propiedad de Iect~ira- son todas aquellas tablas las cuales han sido leidas para
la obtención de deferentes datos.
3. Propiedad de modificación- son todas aq~iellas tablas las cuales han sido
cambiadas o alteradas de alguna manera.
4. Propiedad de consulta- son aq~iellas tablas las cuales se han utilizado para
realizar las diferentes consultas de los procesos realizados.
Para el traba.jo en inenciiiii heiiios dividido a las iablas de la base de daios de
DIGPEKGYE en dos cuyas caracteristicas son:
1 . Propiedad concurrente de eseritiii-a.- son aquellas que han sido alteradas 4
iiiievainenie yabadas 4. las hemos dividido en:
u. .Altamente concurriclas de cscritiira.- heitios considerado valores proiiiedio
dc 143.59 operaciones diarias, aunque el rango \,a desdc 100 hasta 720.13
operaciones diarias. (ycr !\1ics(21$)
b. hlediaiiaiiiente conciirridas de escritiirn.- son aqiicllas qiic tienen
iiiteraccioiies entre 15 100 (diariaiiientc). con 1111 promedio de 67.65
operaciones diarias. ( ~ ~ : ~ ~ \ ~ i c x c ) ~ B )
c. Bajamente concurridas de escritiira.- son aqiiellas que tienen iiitcraccioiies
eiiire O 1 15 (diariamente), con un promedio de 2.38 operaciones diarias.
(j es . A ~ i c ~ o 13).
7 . Propiedad concurrente de lectiira.- so11 aqiiellas qiie no Iiaii sido alkradas
sino que iinicaiiiente han sido accesadas como consi~lta y las hemos dividido
cn:
a. Altaiiieiitc coiicurridas de lectiira.- soii aqiiellas tablas q i ~ e Iiaii sido
consiiliridas iiias de 50 vcceh diarias. el promedio i.efereiicial t imado es de
258.76 consultas diarias. (1-cr Anexo-).
b. Medianamente concurridas de lectura.- son aqliellas que han sido
consultadas entre 15 y 50 veces al día, con un promedio de consulta de
38 O 1 coilcultac diarias (\/ei.Ai71= ( ).
c. Bajaniente concurridas de lectura.- son aqiiellac que tienen menos de 15
coiisultas al día. con un promedio de 2.39 consultas al día. (vci- ilncxo C)
Adicioiialin~:iite se t r ah jó en la base de datos de SUELDOS cuyas características se
inenc ionan ,i continiiación:
1 . Propiedad concurrente de cccritura.-
a. Altamente concurridas de escriliira.- el valor promcdio es 80.7
operaciones diarias, aunque el rango va desde 50 hasta 142.4 operaciones
diarias. ( \ cr ~ 2 i i e u ) t)
b. Medianamente concurridas de escritura.- son acl~icllas qiie ticnen
interacciones entre 15 J 50 (diariamente). con Lin proinedio de 25.3
operaciones diarias. (ver ,Ine\;o k,)
c. B-jamente concurridas de escrit~ira.- son aquellas que tienen interxcione\
entre 0 1 15 (diariainente). con LIII promedio de 1.6 operacioiie4 diarias.
( \c r Aiic\o 1 1.
a. Altamente concurridas de lectura.- son aquellas tablas que han sido
consultadas mas de 15 veces diarias, el promedio referencia1 tomado es de
28.9 consultas diarias, (ver Anexo F).
b. Medianamente concurridas de lectura.- son aquellas que han sido
consultadas entre 5 y 15 veces al día, con un promedio de consulta de 5.9
consultas diarias. (ver Anexo P).
c. Bajamente concurridas de lectura.- son aquellas que tienen menos 5
consultas al día, con un promedio de 1.5 cons~iltas diarias. (4er Aiicxol).
Los valores mencionados fueron tomados como parán-ietros gracias al sigiiiente
procedimiento:
l. Se determinó el número de tablas de la base de datos en donde se aplicará el
algoritmo genético, (para nuestro caso especitico fueron: DIGPERGYE 6 14
tablas, sueldos 124 tablas)
2. Se determinó el número de registros y el número de columnas en cada una de
las tablas mediante la aplicación de las siguientes líneas de código (los
resultados se pueden apreciar en el anexo A y aiieuo 1)):
select TRA - PER - ID, fec-mod
from transaccion
where TRA - TABLA = '-----nombre u'c lrr ttrblu-----'
group by TRA-PER-ID. fec-mod
5. La tabla de valores obtenidos se la promedio para el número de días que la
base de datos ha sido utilizada arrojando los valores expuestos en el anexo 13
y anexo C. (para el caso de la base de datos DIGPERGYE), los valores
referenciales de dias de uso datan desde el 11-ENE-2000 al 04-ABR-2005
(aproximadamente 1365 días). Igual procedimiento se realizo para la base de
datos de sueldos con resultados expuestos en el ancuci E y ;inc\o r, el
periodo referencia1 es de 60 días.
El resumen de anexos de análisis se los puede apreciar en la siguiente tabla:
1 Tabla de resumen de Análisis 1 Base de datos
Promedios de escritura diaria: t
Tabla 2.2 Tabla de resumen de análisis de las bases de datos
Total tablas: Promedios de lectura diaria: Total tablas:
135 258.8
127 Base de datos SUELDOS
237 38.9
29
Promedios de escritura diaria: Total tablas: Promedios de lectura diaria: Total tablas:
42 1 2.4 T5
80.7 3 1
28.9 24
25.3 17
5.9 23
1.6 8
1 .5 21
Tomando las características de los items 2.5 y 2.6 hemos creado la matriz relación
naturaleza de tabla vs. características de dispositivo, la cual presentamos en la tabla
Naturaleza de tabla
/ Altamente Acccsada
I Medianamente accesada
I poco acceso
Característica del dispositivo
Rápido Mediananiente rápido O Lento l
Tabla 2.3 Matriz relación Naturaleza de tabla vs. características de dispositivo
En la matriz anteriormente indicada hemos calificado como optimas a las relaciones:
Rápido vs. Altamente accesada (ideal)
Medianamente rápido vs. medianamente accesada (ideal)
Lento vs. poco acceso (ideal)
De la misma manera se Iia calificado como regulares a las siguientes relaciones:
Medianamente rápido vs. altamente accesada (con un disco iiiedianamente
rápido podría ser aceptable un acceso a datos elevado, aunque este no sea el
ideal)
Rápido vs. medianamente accesada (con un disco rápido podría ser aceptable
un acceso mediano, aunque exista desperdicio de recursos)
Medianamente rápido vs. poco acceso (con un disco de velocidad inedia
podría ser aceptable tener tablas de poco acceso, aunque existe desperdicio de
recursos)
De igual forma los autores del presente han calificado como relaciones no deseadas a:
Lento vs. altamente accesada (al disponer de un disco lento la peor condición
que pueda suceder es tener una tabla altamente accesada)
Lento vs. medianamente accesada (sí el disco es lento una de las peores
condiciones es que disponga de tablas inedianamente accesadas)
Rápida vs. poco accesado (si el disco en mención es rápido una de las peores
condiciones seria que tenga tablas de muy poco acceso, puesto que estaríamos
desperdiciando recursos)
CAPITULO 3 DISEÑO DEL
ALGORITMO GENETICO COMO
SOLUCION DEL PROBLEMA
3.l.Disefio del ulgoritnzo getiético
El algoritmo genético es un método repetitibo de búsqueda basado en la mecánica de
la celección natural J de genética, mediante una secuencia moditlcada de
iristrucciones generadas de manera recursiva, de tal manera que "conibina la
supervivencia del más apto entre estructuras de secuencias con un intercambio de
información estructurado. aunque a~eatorio""~)
Consideramos la creación de un algoritmo genético basada en una simple
parainctrización de matrices optiinizando el I~igar de alinacenaniiento en una base de
datos.
ll'll (ioldbcrg. (ilosurio de C~irlos Voii Dcr Rccke.
Utilizando las matrices de la tabla 3.1 y 3.2, posteriormente la combinación de las
mismas basados en la tabla 2.2 obtenemos la matriz inicial del algoritmo expuesta en
la tabla 3.3:
Tabla 3.1 Matriz disco
- Matriz Disco
Matriz Tabla
Altaineiitc Accesada a DI
Rápido
D 3
Lento
I
'1.2
1
, T5 1 I'oco acceso
D3
Rápido
Altamente Accesada
T3 I
w-1 Mrdiaiinilieiite accesada
Poco acceso
T4
~p
D4
Mediananientc
Rápido
Altamente Accesada
-
D5
Medianaineiite
Rápido
l
T7 1
Mediaiiainciitc accesada
1 X
T9
Tabla 3.2. Matriz tabla
Altamente Accesadn
Poco acceso
1 l TI0 Altamente Accesada
De la combinación de estas dos matrices se obtiene:
Tabla 3.3. Matriz pesos tablas vs. disco
El algoritmo diseñado llena una matriz randóinicamente con O y 1 , para
posteriorniente convertirlas en las posibilidades ideales ( 10) en 1. a las regiilares ( 5 )
en I con la opción de poder cambiarla a O, o mantenerse como tal y finalineiite a las
posibilidades no deseadas las convierte en O. de esta manera la inatriz convertida
quedaría como se muestra a continuación:
Tabla 3.4. Matriz tabla vs. disco convertida
Ce clasificó inicialinente la distribución de tabla5 en los discos,
obsenainoh que para las tablas: TI , T?, T4, T8 y TI0 las posiciones
que se guarden en los discos: D1 o D3. recomendable en los discos
sin embargo
ideales serian
D4 o D5 y no
deseado en el disco D2, de esta manera si empezamos a colocar todas las tablas cn los
priiiieros discos saturaremos en poco tiempo los niismos mientras cliie los sig~iientes
estarían poco utilizados siendo e5to ineficiente.
El algoritmo genético trab-ja con una t'uiición conocida como fitiies~""'. (la cual se la
puede evidenciar en el nnc'o-G), la niisnia que compara el croinowina a c t d con uno
proiiiedio > d t ser iii<jor lo aprueba, recalculando el nucvo promedio o dcsecha al
l!iil FuiiciOn dcl alg«sitnio gcni'tico que compara al croiiiosoina aciu;il con un psomcdio cslahlccido anteriorincntc.
inicial, para de esta manera evaluar todas las posibilidades de los cromosomas y
determinar cuales serían las mejores posiciones para las diferentes tablas; es así como
escoge en segunda instancia a la matriz indicada en la tabla 3.5:
MATRIZ TABLA VS DlSCO DEPURADA POR UNA CORRlDA DE
ALGORITMO GENETICO
Tabla 3.5. Matriz tabla vs. disco depurada
En la tabla anterior podemos observar claramente como el problema de distribución
se ha resuelto puesto que las tablas: TI , T4, T8 han sido colocadas en el disco DI, y
que a su vez este disco era el ideal para las mismas. De la misma manera para las
tablas T2 y TI 0 se encuentran ubicadas en el disco D3 y este disco a su vez es lino de
los ideales para las inisinas. La misma situación ocurre para el resto de tablas las
cuales han sido colocadas en los lugares ideales para su almacenamiento.
Sin embargo el sistema ahora es poco eficaz puesto que no existe ninguna tabla que
haya sido guardada en el disco D5, (es decir los recursos Iian sido mal utilizados). por
lo cual el sistema no ha sido explotado en su mayor capacidad, razón por la cual se ha
creado la siguiente matriz, la cual nos ha servido para fijarnos en este error:
M A 1 KIZ SUMATORIA TABLA VS DISC'O 1
Tabla 3.6. Matriz suinatoria tabla vs. disco
Entonces al rilgoritmo genético inicia un proceso de cruzainiento (croos over). el cual
consisie en tomar los 2 predecesores anteriores y de esta manera realizar un proceso
de cruzamiento de genes en los inisinos. los cuales se vercín reikjados en un nuevo
croinosoina, de características diferentes respecto a los dos anteriores. para \sisualizar
con un ejemplo disponemos de:
~~~~~
Toriindo de Matriz Tabla vs. disco convertida
1 1 1 l 1
Toiiiado de Matl-IZ vs d ~ s c o depurada por una corrida de algoritmo geiiCtico
Tabla 3.7. Matriz de tablas pares
De los cuales se ha obtenido la siguiente tabla de conibinaciones en las cuales se
aprecia los posibles croinosoiims válidos. a los cuales se les aplica niievaiilcnte a cada
unos de ellos la fiinción tit i~ess ciel vlgoritino genético, ver a i i<gf l .
Coino se piicde apreciai. iiiiiclios de los cromosomas se repiten. esa cs la ra/.óii para lo
tldiciciiial~ne~ite calciilar la probabilidad de cru/amiento.
(iI:NLS lIF.;PETII)OS No. DI- REPI ' I ' IC'ION
Tabla 3.9 Mairiz posibles genes repetidos
En caso de e\i\iir 1111 criirainienio no aceptable. es decir. que iio cumpla c o n 13
función iitness. el algoritmo esta en capaciciad de devolver aleatcircainenie iin
descendiente.
Una vez realirado el cru7ainiento el algoritmo esta diseñado para realizar iin proceso
conocido como iniitacióii el cual arbitrarianiente altera tino o más genes de un
cromosoiiia seleccionado: para de esta inaiiera cubrir con posibilidades que no ha11
sido consideradas por el cruzamiento, coino lo apreciamos eii el sig~iientc cuadro:
Tabla 3.10 Matriz antcs de iniitaciOii
Tabla 3.1 1 Matriz posibilidades de iii~itacióii
De esta manera se puede apreciar como existen posibilidades que no han sido
consideradas hasta el momento para su aplicación, de la misma manera al igual que
en el caso anterior se calcula la probabilidad de mutación y la creación de nuevos
cromosomas a los cuales nuevamente se los vuelve a aplicar la función fitness, para
determinar si estos son ideales, regulares o no deseados.
Al algoritmo genético trabaja con una aproximación igual a 1, y una vez obtenida esta
la conkierte en posibilidades de almacenamiento binario los cuales se puede apreciar
conlo una Matriz de Tabla vs. Disco, indicando con el número 1 como al ideal y al
nuniero 0 como el no deseado. Adicionalmente nos indica el número de transacciones
que realizó para llegar a este resultado, el cual después de varias pruebas realizadas
lo estimamos en 650000 instancias (se debe considerar que mientras mayores sean las
ocasiones de aplicación más preciso será el resultado). Como es obvio suponer no
existe una respuesta única ideal y de la misma manera al realizar varias ejecuciones
sobre un mismo problema los resultados serán diferentes, los mismos que han sido
guardados en una base de datos cuyo esquema se pone de manifiesto a continuación:
Figiira 3.1 Diseño de la base de datos
Sus inicios datan a partir de los años sesenta en donde surgieron IIILI) primitivamente
5 hasta la actlialidad se han ido desarrollando gracias al creciniiento de la tecnologiri.
e~olución de la natiiraleza de los prograinas. técnicas de prograiiiación entre otros.
Los algoi-itinos genéticos han sido des:irrollados basados en el principio de la
evolución es decir. el de ine.jor estado o coiidición es el qiie se impone sobre los
demás j sobre la b'ise de él se gcnera el resto de SLI especie. Es a5í coiiio
aprovechando técnica, dc prugraniación babado5 en esto5 mencionados algoritmos los
cuales son aplicados sobre todo en la resolución de problemas de optimización,
optimización de funciones lineales y no lineales, problemas del via-jero (la ruta mas
corta), problen~as de itinerarios, partición y control; han sido utilizados cada día mas
en diferentes áreas cada día.
Basándonos en las necesidades evidenciadas por parte de los DBA, creemos que
existe la necesidad de crear un programa capaz de decidir cual es el lugar más
adecuado para los respaldos realizados en las bases de datos razón por la cual era
necesario la construcción de un CASE capaz de brindar asesoría para la mencionada
labor.
El hecho se ser CASE, ha permitido que sea de fácil instalación y uso, para lo cual se
recomienda al lector familiarizarse con el mismo mediante la lectura del manual de
usuario en el anexo Z.
CIB-ESPOL
CAPITULO 4 BENCHMARK
Los autores del presente Iieinos trabajado en la Dirección General del Personal de la
Armada (DIGPER). en donde nos encontramos con los siguientes equipos J
configiiraciones:
Los servidores cpe posee DiGPER son los siguientes:
I servidor IBM sSeries 235.
1 equipo para aliiiacenaniiento masivo (iiiarca STOR,/\GF.TECI 1).
I ser\,idor HP Proliant recientcnientc adquirido
CIR-ESPOL
La base de datos que utilizan todos es SOL 7.0, con las licencias de DINFOR
(Dirección de Informática de la Armada). Se dispone dc estas coiifig~iraciones:
Este servidor tiene 6 HD Hot Swap, 5 discos de 73.4 GB de capacidad y 10K rpm, el
HD último tiene una capacidad de 36.4 GB.
velocidad
10 KRPM
Numero de discos
1
2
1 73.4 Gb 1 O KRPM l
Capacidad
73.4 Gb
3
73.4 Gb
Tabla 4.1 Servidor IBM x Series 235
10 KRPM
73.4 Gb
5
6
Los 5 HD están configurados en RAID 5 con un disco como Hot Spare, por si uno de
ellos falla este disco lo reemplaza sin tener problemas de funcionamiento. La
capacidad total del arreglo es de 205 GB. El HD de 36.4 GB esta configurado con
RAID O. en el cual se encuentra instalado el sistema operativo. Estos discos se
instalaron el mes de Octubre del 2004 y no se han tenido ningún tipo de problemas.
10 KRPM
CIB-ESPOL
73.4 Gb 1 10 KRPM
36.4 Gb 10 KRPM
4.3. Equipo para almacenamiento masivo SAN)'^') STORAGETECH
Este equipo tiene instalados 6 HD de 73 GB Hot Swap para fibra óptica de 10K rpm.
Los discos están configurados en RAID 5 con un disco como Hot Spare. La
capacidad total de los 6 discos es de 273 GB.
Conectividad
1
Velocidad Numero de discos
1
1 2
Capacidad
73 Gb
73 Gb
73 Gb
4
10 KRPM
10 KRPM
5
Tabla 4.2 Equipo SAN STORAGETECH
Fibra óptica
10 KRPM
Fibra óptica
73 Gb
( 2 ' ) SAN (Storage Area Network) es una red o subred compartida de media o alta velocidad compuesta por dispositivos de almacenamiento.
Fibra óptica
73 Gb 1
10 KRPM
10 KRPM 6
Fibra óptica
10 KRPM
Fibra óptica 73 Gb
Fibra óptica
Adicional, DIGPER adquirió 2 HD de iguales características de los 6 anteriores,
únicamente con diferencia en el firinware. Uno de estos discos está instalado en el
SAN debido a una falla que presentó uno de los originales.
Problemas. Este equipo ha presentado 4 fallas desde su instalación que fue realizada
el mes de Mayo del 2003.
1. La primera se dio a fines del mes de Octubre del 2003 en la cual falló uno de
los discos.
2. Un mes después otro disco falló (sin motivo aparente).
3. La tercera falla se produjo en el mes de Julio del 2004, por problemas de la
controladora; esto fue solucionado el mes de Febrero del 2005, es decir el
SAN no funcionó alrededor de seis meses.
4. La última falla, se produjo en uno de los distos, a los 2 días de entrar
nuevamente en funcionamiento el equipo.
4.4 Servidor INTEL SBT2 (1)
El servidor que actualmente tiene la BDD y la aplicación de Personal, tiene 4 HD, 3
Discos tienen 16.94 GB de capacidad y un HD tiene 34.18 GB de capacidad. El
servidor no tiene una tarjeta RAID para poder crear un arreglo de discos.
l 1 116.94Gb 1 IOKRPM 1
Numero de
16.94 Gb 10 KRPM 1- l 1
4 / 34.18Gb / IOKRPM
Capacidad
Tabla 3.3 INTEL SBT2 ( 1)
Velocidad
4.5. ,Yervidor INTEL SBT2 (2)
El servidor que actualmente tiene la BDD y la aplicación de Sueldos, tiene 5 HD, 2
Discos tienen 17.10 GB de capacidad y 3 HD tiene 16.94 GB de capacidad. El
servidor no tiene una tarjeta RAID para poder crear un arreglo de discos.
Numero de
discos
Capacidad
17.10 Gb
17.10 Gb
16.94 Gb
Velocidad
10 KRPM
10 KRPM
10 KRPM
10 KRPM
10 KRPM
Tabla 4.4 INTEL SBT2 (2)
-l. 6.Servidor IBM NETFINITY 3500
Este servidor tiene un disco de 12 GB SCSI, no es Hot Swap. Este servidor
actualmente se lo utiliza para el servicio de Internet e ICQ. No se lo utilizó para las
pruebas
Este servidor dispone de 2 HD Hot Swap de 36.4 GB de capacidad y 15K rpin.
Desgraciadamente no se obtuvo autorización para la manipulación de servidor para
las pruebas.
Es importante mencionar que el CASE desarrollado considera que el DBA tiene un
conocii~~iento previo de la base de datos, en vista de que este deberá conocer
características específicas de la misma, es decir, cualquier persona o iin DBA que se
encuentre pobremente relacionado con la base de datos no podrá conseguir el
provecho esperado del CASE. Para las pruebas, utilizainos las bases de datos que se
detallan a continuación:
l . D1GPERGYE.- es la base que almacena datos de todo el personal activo y
pasivo de la Armada del Ec~iador, el equivaleiite a 10985 personas activas, j,
es el equivalente a 30 generaciones (promociones), aproximadamente desde el
año 1969. El número de usuarios es de 68 internos y 43 desde puntos remotos.
La mencionada base de datos dispone de 614 tablas, las cuales desp~iés de un
análisis evidenciado en los aneios A, B y C muestra los siguientes resultados:
Tipo de tabla Numero de tabla
Altamente concurridas de escritura 135
Medianamente concurridas de escritura 236
Bajamente concurridas de escritura 42
1
Altamente concurridas de lectura
Medianamente concurridas de lectura
1 Total de tablas
127
29
Bajamente concurridas de lectura 45
Tabla 4.5 Tipos de pruebas DIGPERGYE
Numero de usuarios internos
Numero de usuarios remotos
Tamaño
CIB-ESPOL
6 8
43
2.636.330 Mb
2. SUELDOS.- es la base de datos que maneja los pagos de salarios de todo el
personal de la Armada del Ecuador, su uso es por 22 personas calificadas para
ello, y el estudio de las tablas emitió el siguiente resultado:
Tipo de tabla Numero de tabla
Altamente concurridas de escritura
Medianamente concurridas de escritura
Bajamente concurridas de escritura 8
Altamente concurridas de lectura 24
Medianamente concurridas de lectura 2 3
Bajamente concurridas de lectura 2 1
Total de tablas 124
numero de usuarios 22
Tamaño
Tabla 4.6 Características Base Sueldos
Se utilizaron las siguientes configuraciones dando estos resultados:
SUELDOS
Servidor
STORAGETECH
l las tablas realizar
Problemas
Tabla 4.7 Configuración No. 1
Integridad de No fue posible de
Durante la realización de las pruebas se presentaron innumerables incidentes tales
como: pérdida de datos, pérdida de integridad de las tablas, pérdida de relaciones de
las tablas, en conclusión los parámetros ingresados en las tablas que debían ser
ordenadas no sirvieron de ayuda, por el contrario el respaldo de los mismos tuvo una
duración mayor a la esperada puesto que las mencionadas bases tomaban menos
tiempo en sus servidores originales. Al buscar explicación mencionamos que se
mantiene un criterio de falla posiblemente en esta configuración por el tipo de
servidor y los problemas presentados últimamente.
SUELDOS
Ser~idor
Servidor IBM x SERIES 235 96 minutos 52 minutos
/ nlrncionar 1 mencionar l l
Tabla 4.8 Configuración No. 2
Nada a Problemas I
Nada a
Durante la realización de estas pruebas en este servidor se evidenció una mejora
significativa respecto al anterior y cierta mejora respecto a los servidores originales
de las bases de datos.
4.8.3. Configuración 3
Realizamos respaldos en los servidores originales pero con la nueva deposición de
orden de las tablas recomendadas por el CASE implementado, obteniéndose los
siguientes resultados en promedio. Se debe considerar que los servidores originales
no disponen de tarjeta RAID.
Servidor
INTEL SBT2 ( 1 )
Tabla 4.9 Configuración No. 3
INTEL SBT2 (2) No aplicable 52 minutos
4.9. Conlparación de resultados
Base de datos DIPERGYE SUELDOS
I Servidor 4313 Mb I
Servidores de prueba
I Intel SBT2 (2) No aplicable 52minutos
STORAGETECH
l I
Servidor IBM x SERIES 235
Tabla 4.10 Comparación de resultados
145 minutos
I I
Todos los valores mencionados aquí fueron tomados después de varias pruebas y de
esta manera obtuvimos un promedio, tanto en los servidores de prueba como en los
originales.
6 intentos
96 minutos
CIB-ESPOL
52 minutos
60 minutos Intel SBT2 (2) No aplicable
i
Servidor 5117Mb 4313 Mb Base de datos l DIPERGYE
Servidor IBM x SERIES 235
SUELDOS
Intel SBT2 (2) I No l 60
lntel SBT2 (2)
SERIES 235
No aplicable 5 5
beneficios en tiempo de respuesta Intel
SBTZ (1).
beneficios en tiempo de respuesta Intel
Configuración
No 1
SBT2 (2)
Configuración
No 2
I
Configuración 71
91.80%
Tabla 4.1 1 Resumen de resultados
No aplicable
Analizando el cuadro anterior concluimos que:
No aplicable
9 1.66%
1 . Se obtienen muy ii~alos resultados con el servidor STORAGETECH
(Configuración No l) , dando una disminución de rendimiento equivalente al
l8.85%, siendo la posible causa los problemas mencionados en la descripción
del equipo, la degradación del mismo o la incompatibilidad de hardware y
software.
2. En el mencionado servidor se produjo excesiva cantidad de errores por lo cual
creemos que en versiones posteriores de este CASE se debería considerar la
posibilidad de tomar en cuenta el uso y degradación de los discos, para de esta
manera tratar de colocar un parámetro más de medición y lograr corregir
situaciones como esta.
3. Se tiene buenos resultados con el servidor IBM x SERIES 235 (Configuración
No.2), dando una mejora en rendimiento medido en tiempo a un equivalente
de 21.31% (para la base de datos DIGPERGYE) y del 13.33% (para la base de
datos de SUELDOS). Sin embargo se debe considerar que los servidores
disponen de RAID, lo cual no permite verificar la eficiencia auténtica del
CASE, en vista de que los servidores originales no disponen de RAID.
4. Con el mencionado servidor no se produjo ningún tipo de conflicto.
5. En los servidores originales, con la nueva disposición de las tablas
\Configurac'ion No.31, se obtuvieron mejoras del 8.196% (para la base de
datos DIGPERGYE) y del 8.33% (para la base de datos de SUELDOS)
6. Para la utilización del CASE se considera la velocidad standard de los discos,
la cual viene como característica propia dada por el fabricante, en ningún
momento se considera la velocidad optimizada del RAID.
7. En el CASE elaborado se ha considerado únicamente las tablas en las cuales
se guardan datos, motivo por la cual no se ha manipulado ninguna tabla
perteneciente al sistema. Esta es la razón por la que los índices se han
guardado de acuerdo a la disposición recomendada por el SGBD.
CAPITULO 5 IMPACTO FINANCIERO
5. l . Beneficios cualiratii~os
CIB-ESPOL
Los beneficios cualitativos que se pueden mencionar entre otros son:
1 . La utilización de un CASE amigable y sencillo que permita mejorar las
tareas del DBA (Ver anexo 1, Manual de Usuario).
2. La utilización correcta de los dispositivos de almacenamiento.
3. El mejoramiento de los históricos de las bases de datos.
4. Aprovechamiento de mejor manera de las características tanto de las bases
de datos como de los dispositivos utilizados en las operaciones de las
mismas.
5 . Creación de un control de rendimiento de equipos y su utilización de base de
datos.
6. Detección de posibles fallas en dispositivos utilizados por medio de
comparación de parametros guardados en los históricos.
7. Detección de incompatibilidad entre software y hardware.
8. Detección de degradación de equipos por medio de comparaciones de los
históricos de grabación.
5.2 Beneficios cuantitativos
Los beneficios cuantitativos más relevantes son:
1. Existe una mejora de los tiempos empleados para las operaciones de
mantenimiento de las bases de datos.
2. El algoritmo permite mejorar los procedimientos de respaldo de las bases de
datos, logrando de esta manera optimizar este proceso.
3. Al momento disponemos de varias opciones de almacenamiento óptimas, las
cuales pueden ser almacenadas en una base de datos, lo que nos permite
llevar un histórico de las actividades realizadas en la base de datos.
4. Las disposiciones de almacenamiento recomendadas han sido obtenidas por
medio de la aplicación de métodos y técnicas mediante la aplicación de
conocimientos establecidos que no son empíricos.
5. Al disminuir el tiempo en una de sus actividades, el DBA, podrá dedicar
mayor cantidad de tiempo a otras labores igualmente importantes; como el
mantenimiento de la base de datos, la seguridad de la red, la implementación
de otros case de optimización, etc.
5.3. Recztrmv y costos
Recursos Costos 1 Justificación
Servidores para pruebas
IBM x SERIES 235 $ 45000,OO
realizaron las pruebas. En realidad fueron l
l l
Bases de datos
Se ha considerado los valores referenciales
que costaron los serlidores en los que se
STORAGETECH
Intel SBT2 ( 1 )
1
$ 36000,OO
$ 35000.00 usados únicamente para la elaboración dc las
Intel SBT2 (2) 1 $42000.00
I 1 Armada del Ecuador con datos desde 1969
P ~ U " ~ S
DIGPERGYE No aplicable
Documentos
Tabla 5.1 Recursos y costos
Puesto que se encuentra el histórico de toda la
I I
5.3.1 Benejlcios cztalitativos
No aplicable
Sucldos
Recursos
Tiene valor solo para la Armada del Ecuador
Java
No aplicable
PC (para la creación del case)
Tiene valor solo para la Armada del Ecuador
Costos
No aplicable
CIB-ESPOL Justificación
La herrarnicnta que los autores han escogido
debido a que es un 1engua.je universal y libre,
que se encuentra al alcance de todos de fácil
aprendizaje y orientado a objetos.
Hemos considerado que una Pc Pentium 111 de
800 MHz con 128 Mb en RAM, tarjeta de
video de 8 Mb. espacio libre en el disco de
100 Mb, con teclado, ratón, monitor de 15".
CdRoni y tarjeta fax MODEM o de red
Banda ancha 128 Kbps
Impresora
$ 80.00 De esta manera evitamos el gasto excesi\o en
$ 80,OO Lexmark
I mensuales 1 teléfono. 1 1
Tabla 5.2 Recursos utilizados en implementación
Regulador de volta,je
Cables cruzados
Software SQL 7.0
5.3.2 Recz~rsos y costos
$20.00 /
PC (para la utilización del case)
$650,00
Pc Pentium IV de 2800 MHz
512 Mb en RAM
Tarjeta de video de 8 Mb, Espacio libre en
el disco de 100 Mb
Teclado
Ratón
Monitor de 15"
Cd Rom
Construcción casera
La licencia para cada clientc.
Tabla 5.3 Recursos mínimos necesarios
Recursos adicionales requeridos para administrar el sistema
Administración del case
Costo del softwure
Base de datos SQL 7.0 o Access
?A.
Kecursos
Java
Desarrollo 1500 por autor
lava
PC (para la creación del case), una por autor
Impresora anexo .I, anexo K
Banda ancha 128 KPSS ($80 mensuales por 12
meses)
Regulador de voltaje
Cables cruzados
Software SQL 7.0, anexo L, anexo M, anexo N,
anexo O
Total
ostos 7 No aplicable
$ 800,OO ver ancso J ,
ver anexo K
$ 80,OO
$ 960,OO
C~onstrucción casera 1
Tabla 5.5 Costo del CASE
Lastimosamente los autores del presente no tienen valores económicos para
compararlos con los beneficios obtenidos sobre la inversión puesto que las pruebas
realizadas fiieron hechas en entidades estatales que no producen dinero sino por el
contrario el ente DIGPER. es un organisnlo netaniente consuinidor de recursos del
estado. Los beneficios obtenidos Iian sido parametrizados en cuestión de tiempo y
ventajas respecto a los ~isuarios del mismo, DBA.
CONCLUSIONES
1. Se optimizó la capacidad de almacenamiento en los discos utilizados, tanto en
los sistemas originales como en los que disponen de RAID.
2. Se mejoró la velocidad en los procesos de respaldo realizado en las diferentes
transacciones ordinarias en las bases de datos.
CIB-ESPOL 3. Actualmente se dispone de varias alternativas óptimas para la elección del
sitio de almacenamiento de las diferentes tablas de las bases de datos, y no
simplemente estar a la disposición de lo que nos indica la base de datos.
4. Se puede crear un modelo de comportamiento, Histórico del CASE, basados
en las acciones realizadas sobre la misma; una vez que se obtenga la suficiente
cantidad de datos.
RECOMENDACIONES
1 . Para versiones futuras se podrá considerar el uso y la degradación de los
discos duros y dispositivos, para de esta manera obtener un parámetro más a
ser medido y me-jorar los valores obtenidos para equipos con problemas.
2. Creación de históricos de bases de datos ya utilizadas.
3. Creación de modelos aplicables a situaciones parecidas de diferentes bases de
datos.
4. Creación de índices con la ubicación y manipulación física de estos
BIBLIOGRAFIA l.ZBIGNIEW, Michalewicz, "GENETIC ALGORITHMS + DATA
STRUCTURES = EVOLUTION PROGRAMS", third extended revised edition, Springer Verlag heidenberg New York, 1999.
2. KENDAL & KENDAL, "ANALISIS Y DISEÑO DE SISTEMAS", tercera edición, México, 1997.
3. GILL &RAO, DATA WARE HOUSING, edición en español, Prentice Hall, Hispanoamericana, Naucaplan de Juárez, Edo. México, México, 1996.
4. FLANAGAN, David, "JAVA EN POCAS PALABRAS", Mc Graw Hill, segunda Edición, 1998.
5. NAUGHTON y SCHILDT "JAVA MANUAL DE REFERENCIAS" Mc Graw Hill, 1999.
6. LATHROP, WEBSTER, TEMPLE, "ARIADNE: PATTERN DIRECTED INFERENCE AND HIERARCHICAL ABSTRACTION IN STRUCTURE RECOGNITION", paper, Joumal ACM, Massachusetts, USA, 1997.
7. GRIMSON, Eric, "THE COMBINATORICS OF LOCAL CONSTRAINTS IN MODEL BASED", paper, Joumal ACM, California, USA, 2003.
8. LIBERATORE, Paolo, "COMPABILITY AND COMPACT REPRESENTATION OF REVISION OF HORN KNOWLEDGE BASES", paper, Journal New York, USA, 2000.
9. AGUILAR, Luis, "FUNDAMENTOS DE PROGRAMACION: ALGORITMOS Y ESTRUCTURAS DE DATOS", segunda edición, Mc Graw Hill, Madrid, España, 1996.
10.http://cc~.servidores.net/~enetico.html COSTA, Carlos, "Algoritmos Genéticos". 2003
1 1 . http://~eocities.com/CapeCanaveral/9802/'id5ca000.htm Larraña, "Algoritmos Genéticos", Departamento de Ciencias de Computación e inteligencia artificial, Universidad del país vasco, 2003.
12. http://www.ianet.com/users/icontre/genetic CONTRERAS, J, "Tutorial sobre algoritmos genéticos ", Maracaibo, 2003.
13. http://redcientifica.com/doc/doc 1 999042600 1 1 .htinl COELLO, Carlos, "Introducción a los algoritmos genéticos" , 2003.
N l i M E R O DE REGISTROS Y N U M E R O DE C O L U M N A S OBTENIDOS EN L .4 BASE DE DATOS PERSONAL (DIGPERG) E)
No I N O M B R E T A B L A 1 # REGIS'I'ROS # DE C O L U M N A S
5 6 7 AUTORIDAD-REPOKTES
I 1 A DISPOSICION
ASCENSO-CI\'IL2 ASCENSOS-NAVALES ASCENSOS-SALIDAS-.-\NIlALE,S
13 14 15
396
I 9 [ B A N C O ~ P E K S O N A
9 1
1 1060 53928
634 12
~ I A U T O R I Z A - \ C ~ I ~ N MATRIMONIO
auuiliar3 bach-coiide ofi BACkIlP C O Y D ~ H l C T ~ O F 1 ~ 0 i 2 0 0 3
41 32 43
7.3
24 ;7 1 O
10283
.í2 5; 53
35 17
1 07376 17 7 9
14 ~ O ~ B A S E CODES
CARGO CATEGORIA CAIJS.A~A~DISPC)SICION
1 ;
7 4 5 $ 5
CAllSA_I.SAhlEh CAUSA~FINALIZAClOh CAUSA-INGRESO
6064
1 O 16 4
38
CPB-ESPO¿ 6 8 7
S 7 3 9
7
7 - 7
63 64 65
CAIISA-SLIBSISTE CEDIJL,\ C'EDULAS
I (I 7 I
68 69 70
CLASE-CURSO
~ ~ ~ C ' L A S E - SANCION
6 1222 469
-
('ENSI'R,4SPA5('ENSO CEN'I KO-SALIJD ci urueba
I S
77 78 79 80 81 X? 83 81 85 86
7 1 1
146 20
2639
1 7 3 1 ~ ' ~ ~ s ~ GRADO
26
90 91 92 93 94 95 96 97
16 ~ ~ ~ C L ~ S I F I C - ~ C ~ O ~ ESPECI4LIDAD
C O D I G O ~ E M B A R Q U E COLOR-CABELLO COLOR-O10 COLOR-PIEL 'OhlANDO OPERAT'IVO Coiiipcnsacioii~Ti-i~iisiloria C O N D R E S P DI(' c o n d ~ t r i p ~ ~ ~ i i i a r r o 3 0 0 3 CONDEC condec eiiici
98 99
100 101 103
1 0
CYONDEc-INDIV-GRUPO2 C'OhDEC INDIV GRI.iPO.3 coiidec-niarz-?003 C'ONDEC - ORDEN-GENERAL CONDEC-PROY CONDEC. PKOY-WAYi condec-l)i-~ieha CONDEC - REC-TIE-SERVICIO
103 105 106
I
2 4
0 7 5 5
133 22 1 52 75 9
? I
CONDE( 'SERV-ANT coiidecoi-acioiies ccindecoracioiies e i i ic is C'ONDECORACIONES-F.llcIS3 coiidecoi-acioiies-historico
117 I 1; I 14
I
1 I I 1 I I
I X 45 4 5
1
3 12 290 56
3171 1006 180 133
1387
103 1coiidecoi-acioiies imn eccion coiidecc~saciones-i-esp:~Iciii» CONDIC'ION-TRABA10 coiis
I ~ ~ I C S T O
201 3 0 1 5 19 4 5 4 S 45
4 728 269 l .54 033 131
COPIA-SUBJIJDICI 3 3 - 0 2 - 7 0 0 1 COPIA-UNI.\L>hl cp-23juii03
4 4 5 30 33 4 5
O 6 2
7 6
2 16
4 5 1 5
7 13
171 3727
9 1 >
I lblcuadro condecoi-acioiies
2 3 1- 3 3
I
O 13
! 21iOJl \ 1 ' 1 1111 \ ( 1 \ 1 \13( )1< \1
2:- C,Rl 1'0 \l l DI( ( 1 4 2 2 8 (,l<l 1 1 ( ) l ) t [<\O\ \ o 2) (1111[>0\ ~ ~ l l ~ ~ l l \ J - 0850 2 7 ) lil o ::1 I I I IO 27700 2:2 I I I I O ~ 1)ll l RI \ l l \ \ l \ l ) l i l \ 1 ;
- - ,- - - I 11p \ l l l l ~ l 3 < \ 4
r 2;-1 1 1 1 1 0 ~ \ 1 \ ( ( ) I ) I ~ I O 1 \ \ 1 \ - <>O I , 2:: l l I lO\ \ l \ ( ) I ) l ( ,O l \ \ l \ [ ) l l S
':o 1 1 1 1 0 ~ \ 1 \ ( i ) I ) I ( iO I \ \ I \ 1 1 < 1 1 ' __C
S l h
~~- l l l ¡ ( O \ l I ~ \ l O 1'
'07 L -
1 208
209
210
211 -- 7 1 - 1 -
1 2 I : 4 Y .
2 I J, Y7
X7 1 -_ 1 1 1 -- -
1 \ l 1 \ \ \ \ ( lo \ l \ l 1 \ - < \ \ ( lO \ \ O \ 1 1 ) \ [ ) l \
l \ l l \¡
lLlll'l\ ~ l < l d O
l l( 1 1 \ l'\l)l\ l l ) t \ l - ----
Ii)llll.l -- -
li~ii i i i l l , i l !< l \ \ IJ ---- l O I l 1 ) l \ I -- l O I ~ ~ ~ l 1 1 \ l 1 \ -- i l l c ' l <l ill + l l l l L t , LCIllpoI JI (iOl1li \
277080 2 \ 7 2
4 2 o o
2040 4 u ; S?
' 0 2 I OS
:O
o 3 0
-
1 ) -- ' i l o
-- - --
'i
21s (lOI<l< \ l 210 ( 1 1 1 \ [ )O
1 . -
1 2 2 0 011 \l)O ( 1 l i \ O
l : T I ' ( & \ [ ) O lll\c \ l ' \ ( 1 1 ) \ l ) '12 ciK \ [ ) O I1i >I< 1' \ \ I > > ; -- L I J ~ ~ \ ~ L I V ~ I I J \ L I L I ~ O \ 04
224 7 , - - -> I
2 7 7 1
;4 I S
si,iilil\ ~ L I \ O I L I ~uclilOs 0 7
SI~KIO, ~ C I \ O I I J \ u e I h O0
I o I 1
S o I I (1
--
7024
O 1 O
2 0 (IR1 1'0 l \l'l ( l \ l 10 \ [ )
I > - 7
-
I i
I --
150; 1
340 3 I 3 5 4 ) 1 \ ~ 0 ~ h l ACION-RESEKV XDA \ 28 2 \
3 4 3 ~ ~ 1 ~ 1 0 ~ 1 ~ 0 - ESPECIALIDAD 16384
355 1 ~ N F O R P \ ~ . - \ C I O N ~ ~ S U M A R ~ A
17 ~ ~ ~ I H I S T O R I C O FORMACION
~ ~ O ~ ~ S S F A _ C O N Y U G U E
88
262 363 364 365 266 367 268 369 370 37 1 273 373 274
23579
3 3 3 5 6 1 1 ~ ~ ~ ~ 1 0 PERSONA
O
17
8 26 1 1 I S S F A ESPOSA
ISSFA-HIJOS ISSFA PADRE7 ISSFA TIPO H I j 0 ISSFA-TITIILAR ito
JUZGADO JUZGADO-ANTERIOR LICENCIA-PERSONAL L,ICENCIA~IJRO1~ORAl 4 1 IC ENC IA PROFORAI -\ N O V 1 IC TNC Ic \PROTOR\ l - \ -TEMP LlCL NC 1 / 1 1 1-LlPOR-\I_ LISTA CALIFIC-\('ION
O 3 1
44 11135 7743 3 8
69;3 908
7 1
325331 4352 20 1
O O 8
7
8 8 3 7 1 7 6
3 O 3 O 3 3 30 1.1 8
-306 307 308 309 3 10 3 1 1 313 3 13 .: 14 3 15 i 16 i 17 3 18 3 I ~ I P A D R E S ISSFAp7003
P4SL I LTIMO 93S1 I :;í P,4SES-FALL,lDOSpPR0t OKhl A 27 6 i :6 oases i i i i - 3
OPCIONpSIS'IL:M:\ OPC'IONpTIPOpDO(' OPCIONESpINTEGRRCION OPERXC'ION-FORMA ORG XN I ( ~ ' ( ~ ) organico~efectivii ORG.-\NICO\'l:I I-C'TIV0p7'RIPL~ OrgaiiicoyEfccti\ oL1a11gi olros otrosids PADRE P/-\DKESpISSFAp300 I PADRES ISSFA 2001
322 1padres3
-3.3 7 7
1131 36 1 1
45 8 7
9 7 109 171 12 1 139
3463 1 12981 306
- 7
~ ~ O ~ P . - \ D R E S SIN CODlGO
1485
355 356 3.57 358 359
6 2
I 9
6 5 7
15 5 7 5
I
I 19
7 3 2 3 1 ~ ~ ~ 0 C'ONDEC
363 :63 ;6-1
1715
P E R F I L ~- A I ! T O R I Z A R P T ~ S \ ~ C PERFIL C'ONSI!LTXpllO(~'l~ SYS PI-RFIL -- CONSIILT;\p('iR.ADOpS\'S PERFIL C'ONSI1LT.A SYS PERFIL_GRIIPO SYS
3
1594
PERIODO- 4 W E N S O PERIODO-Ak'IJDANTE PERMANENC'lrZpGK -\DO
7
8 18 7 5
534 61 83
9
9
6
7 8
2 1 2 O 9 9 > 3
O
3 1 13
365 PERMANENCIA OPERATIVA
3 6 7 1 ~ ~ ~ ~ 1 ~ 0 OPCION OBJETO SYS
10618
PERSONA VACANTE ASC
ROFORMA copia me 26056 28
5 366 PERMANENCIA OPERATIVA TEMP 1 O
5026
O 1 12
372 373 774
13 24
PERSONA
PERSONAL PROFORMA CURSOS PERSONAL PROFORMA PASES nla iden
ID E PLAZA PROFORMA PASES
26413
388 389 390
41 0 PROMEDIO CAL AGUENA 373 3 41 1 PROMEDIO CAL AYUDANTE 795 5 412 PROMEDIO CAL CPNV 4 8 4
16
1650 28609
92
1049355
3 90
23 3
18
28 387 1 plaza proformagases 14ene04
plaza proformagases 67 plaza proformagases 68 PLAZA PROFORMA QUITO
22
151091 1 2 8
41 3 41 4 41 5
11013 1756
15786
392 Iplaza temporal me
4 16 4 17 4 18 419 420 421 422 423
22 22 22
promedio cal emcis PROMEDIO CAL EVALUACION PROMEDIO-CAL EVALUACION-TRIPU
424 425 426
390
promedio-cal2 PROMEDIO CALIFICAClON TRIPU PROMOCION ASCENSO PROYECCION ASC prueba embarque PRUEBA FISICA prueba seguridad] PRY VACANTES
2 8
4 3309 2464 1
PUESTO Puesto 05 0 1 2000 PUESTO OCUPADO
5 5 3
141 1 53
389 3535 580
O 33 110
5 5 3 2
13 12 7
2 1 9446 8592 llO8l
2 1 23 17
432 433 434 435 436 437 438 439 440 44 1 442 443 444
REFERENCIA-LEGAL REGlON-PLAZA REGLAMENTO-REPARTO-OPERATIVO rep-anterior reparto-operativo REPARTO-OPERATIVO-FECHA-VAL REPARTO-PADRE REPARTO-PADRE-NUEVO-ORG
447 448 449 450 45 1 452 453 454 455 456 457
repai- tos~persona~s~1eldos~O4 repartos~persona~s~ieldos-05 repartos-persona_sueldos-O6 REPORTE-PASES reportes
458 459 460
35 16 3 O 5 3
3 17 188 189
. REQUISITOS-ASCENSO REQUISITOS-CURSOS-PUESTO REQUISITOS-PUESTOS-PUESTO RESOLUCION-CONSEJO RESOLUCION-PE.RSONA RESOLUCION-PERSONA-TEMP resp-pla-org-06-06-2000 resp-pla-org-2 l 06-2000 resp-puesto-2 1_06~2000 resp-uni-adm_2 1-06-2000 respa-condec
461 ~respaldo~condecoraciones2
12 26 18 6 6 I 7 4
590 1 910 1501 348
O
respaldo-coridec-200 12003 respaldo-coridec-trip-dicm2 RESPALDO-CONDECORACIONES
463 464 465
3 3 4 4 4
544 O O
2185 5509 1895
42346 42346 8559 10509
162
101
466 467 468
1 1 6
17 8 8
19 1 1 5
2 3 2 3 12
149 5 1 44
4 5 4621 Resultados
resumen-efectivos-plazas RETMIL RPT-EVALUACION
4 6 9 1 ~ ~ ~ ~ 0 ~ - E S D E I M
29 3 5 35
RPT-VACANTES SALIDA-EXTERIOR SALTOS - DIGPER
--
2015 6 0 O
57
O
~ ~ ~ ~ S E L E C C I O N - A G R E G A D O S
3 5 45
2 1 1
598 10734
O 22
6 471 \SECTOR ASCENSO-CEREMONIA
474 475 476
8 9
16
5 4 7 0 ~ ~ ~ ~ ~ 1 0 ~ JUICIO 138 8 O
477 478 479
4
2
-
SELECCION-EMBARQUE SELECCION-EMBARQUE-OFI seleccion~enibarque ofi-ternp
482 483 484
5 ~ ~ ~ ~ S E L E C C I O N AYUDANTE
SELECCION-LLAMADA SELECCION-LLAMADA-CIVILES SELECCION-LLAMADA-MORAN
485 1 SIN-PLAZA
254 16655 2664
6
SELECCION-PLAZAS-PASES SERVICIO-ANTERIOR SEXO
19 29 17
7 198 1762 909
92 15
16 12 3 O
O 3747
3 20
4 8 6 1 ~ 1 s ~ ~ ~ ~ SYS 1 16
26 17 13
6
490 49 1 492 493 1 t0 1 ago
SUBSISTE t-persona t-reparto
4961t0 Ijiil
49
498 499 500
4927 1 0287 260
1 1
494lt0 1 ene
3 9
5 17 518 519 520 521 522 523 524 525
-
~ ~ O ~ T I P O ~ B R E V E T 8 ESPOE 2 5
1
3 6 15
>
4971 t0 1 iiiar tO l iiov tO 1 oct t0 1 sep
TEMPORAL-OFIC~ALES
5 3
t e n i p asc-civ-cal-cur TEMP-ASC CIV-PROM-1999 T E M P ~ A S C ~ C I V ~ P R O M ~ 2 0 0 3 TEMP-ASCENSOS-EMCl TEMP-CEDULA Ternp iiuniero temp-per-id-coguar-calif ternp-repai-tu-riuevoorg teinp l
- 3
2 2 2 3 3 2 5 0
959
533 ~ T ~ P O ~ C O N D E C O R A C ~ O N
>
7
3 3
2692 536 70
556 1
456985 115 189 357
24 5 3 0 1 ~ 1 ~ REP OPE
~ ~ ~ I T I P o - D I V - P O L
1 9
7 2 3 3 3 3 24
I 2 I
536
59
6 5 4 4 1 ~ 1 ~ 0 CONTRATO
1
24
6 5 4 9 1 ~ 1 ~ 0 DOC 1 45
4
6
2
TIPO FALTA
rIPO INGENIO 1 4 1 181 553 554 555
606 8 TIPO-INFORMACION 6 61
1 -
556 557 558 559 560
TIPO INSTRUCCION
561 562 563
TIPO-JUICIO TIPO JUICIO anterior TIPO RANCHO TIPO-REF LEGAL TIPO RESPONSABILIDAD
566 567 568
959
TIPO SANGRE TIPO UNI-ADM - tipoins
569 570 571 572 573
3 3 1 8 6 4
TOTAL-EMBARQUE total-marosg TRABAJO-PROFES-AY UDANTE
5741 transaccion-reporte
3 14 6 6 8
9 1 1
1844
TRANSACCION TRANSACCION-ASCENSOS TRANSACCION CONSULTA TRANSACCION-DIARIA transaccion-diaria-historico
591 592 593
6 2 8
O 186 429
6 1898
596 597 598
1 O I
\ O 1729037 2 1269 30946 14493 25895
7 575 I T R A N S A C C I O N ROLES
triptiempo-repartoMRAMlREZ TiüP TIEMPO-SEGUIDO-GYE TRIP-TIEMPO-SEGUIDO U10
599 600 601
I 1 5 12 70
6
UNl--ADM PROFORMA UNI-ADM-PROFORMA-copia-me UN[-ADM-PROFORMA-QUITO
602 603 604
797
O O O
UN1 ADM-SUBREP-SUBDES UNI-ADM-SUELDOS UNI-ADM SUINLI
605 606 607
7
2 2 1 2 1
3892 O O
UN1 ADM-TEMPORAL UN1 ADM TEMPORAL-AUX UNI-ADM-TEMPORAL-me
610 61 1 612
1 1 13 3 O
O O O
unidad-admgrueba UNIdad ADMiinistrativa TEMPORAL UNldad-ADMimistrativa-TEMPORALme
30 30 33
O O O
UNIDAD ADMINISTRATIVA2 unidades flote-escuadron verifica-pase
1 O 33 ? ? 1 J
O O O
30 30 3 3
O O O
3 4 3 3 1 1 -1 -1
61 3 I X P L A Z A PROFORMA
ANEXO B I\iIlI\.IERO DE TRANSACCIONES DE ESC'RITliRA OBTENIDOS EU LA BASE DE DATOS PERSONAL
Y PROMEDIOS (DIGPERG\'E)
1365 PRORlEDlO
ALTAS
0.0 1 12.3
0.0 0.0 0.0 0.0
123.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0
150.8 0.0
I 16.9 l 163
0.0 0.0
116.1 137.4 146.4 138.9
0.0 0.0 0.0 0.0
1 1 . 0 196.8
0.0 0.0 0.0 0.0 0.0 ---
134.2 1 14.5 124.4 102.6
0.0 138.9 145.5 137.4
0.0 1 .:6.7 151.6 193.1
0.0 0.0
115.0 115.7 117.8 116.9 1 16.3
de dias laborados:
# I'RhNSAC:C'IONES
134 153248 120563 1 15874
8969 13077
168547 95874 65873
125874
115870
205845 1 20205 159632 158735
679 102587 158412 187596 199856 189632 84596 10344
197865 268593
98520 96458 58716 65879 87540
169536 156323 169842 140029 87565
189654 198632 187542 1 09683 185969 206873 263535
65325 58759
156960 157889 154036 1 59630 158723
NO 1 2 3 4 5 6 7 8 9
10 I l 13 1.3
14 I 5 16 17 18 19 20 21 11 2.; 74 75 26 27 28 29 30 31 33 33 31 35 - 36 37 38 39 40 11 12 -13 44 15 16 47 48 19 50 51 52
1 53
( 54
Nu~nero
NOMBRE TABLA A_DISPOSICION ACCION-TOhl.\D.A anios-i-ep especitico ANO ASC'ENSO-CIVIL ASCENSOS-NAVALES .4SCENSOS_SALIDAS_.4NLIALES 4UTORIDAD-REPORTES ,4UTORIZACION~M~\TRI~MONIO aux-cal aiix-pase-prest auxiliarl auxiliar? bacli-conde-ofi BACKllP_COND-l-llST-OFI_037003 BACI<l~P_CONDEC~~ABUlL RA.IAS-CI B.4NCO BANCO-PERSONA BASE-CODES BENEFICIO BONIFICACION~~CURSOS~EMCI BONO - ASCENSO CAB-PRESTAbIO-LVN Ca l i~ t i y~ i_R0_GO_EE CAI,IFICAClON_.-\NL~.4L CALIFIC!lCIONpAYUDANTE CALIFICACIONpDIREDU CALIFICACION~SEGLiRIDAD CALIFICACIOU-TRIPUL:\NTCS CALIFICACIONteiiip CALIFICACIONteiiip_CIC'lLES calificncioiitrjiiip-colid2 CALlFlCACIONTER4P_UNIDADES
calificnciontei7ipcivilec CANDIDATOS--CURSOS-ESP CANDIUATOS~_EWI'_~~LAB CANDIDATOS-PREP - ACAD CXNDIDA'TOS-TRASBORDOS CAPREhlCl C.4RGO CATEGOR1.4 CALISA-A DISPOSICION CAUSA - AUIC'IONAL CAUSA-ASCENSO CAUSACESANTIA CALlSA_CONCESION-PERMISO CAUSA _CONFIDENCIA CAUSA-CUOTA CAUSA ~- DISPOhlBILID.AD CAUSA-EGRESO CAGSA-EXAMEN CAlJSAFINhLIZACION CAUSA_lNGRESO
DE hlEDlAS
0.0 0.0
88.3 84.9 0.0 0.0 0.0
70.2 48.3
0.0 92.2
0.0 84.9 0.0 0.0
88.1 0.0 0.0 0.0
75.3 0.0 0.0 0.0 0.0
62.0 0.0 0.0 0.0 0.0 0.0
72.2 70.7 43.0 48.3 64.1
0 .O 0.0 0.0 0.0
64.2 0.0 0.0 0.0
80.4 0.0 0.0 0.0
47.9 43 .O
0.0 0.0 0.0 0.0 0.0
ESCRITURA B~\.I:\S
0. I 0.0 0.0 O 0 6.6
1 O.; 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.5 0.0 0.0 0.0 0.0 0.0 0 .O 7.6 0.0 0 .O O 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 - 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 O .O 0.0 0.0 0.0 0 .O 0.0 0.0 0.0
67 S i 64 65 60
67 68 69 70
X ~ ~ C O N D E C ~ I N D I V 1468751 107.6 1 0.01 89/condec iiidiv mino 1387501 101.61 0.01
71 77 73 74
CAUS,4PSIJBSIDI0 C'Al~SAPSUi3SISI'E CEDl ILA CEDLILAS CI:DL:I~.;ISOKDI:NA DO CENSURA A Y U D A N T E ('ENSl~K!IS_.-\S('ENSO CENTRO- SALL LID ci nr~ieha CIRCULO CLASE-CLIRSC) CLASE-GRADO CL.-\SEPSANC'ION
90 01 92 93 94 O5 96 97 98 99
100 101 101 103 104 105 106 107 108 109
1 110 1 I I I 11
142563 145252 157303 87596 63963
15620 1 158745 164520 15203 1
113 I 14 115 116
143002 187014
87560
C'ONDEC INDIV--GRLlPO7 C'ONDEC~_INDIVPC~R~1'03 coiidec_iiiarz~~2003 C'ONDECPORDENPGENEK AL C'ONDEC PROY CONDECPPROYP11'.AY7 condec-prueba CONDEC-REC-TIE SERVICIO CONDEC~-SERL'PANT coiidecoracioiies coiidecoracio~ics~eiiicis CONDECORtZC'IONES-Ib1CIS2 coiidecc~racioiies~liistorico coiidecoi-acioiiesPl~ro> cccioii coiidecoraci«iiesPrespiilciifii~
CONDICIOY TKAB;\JO coiis CONSEJO ('ON)'-_SINPCODIGOPISSF/\ C'ONYUGUE copia-pla~app~enei.09 ciipiaPpppPeiier«9 COPIA SLlBJLiíll('E 73P03P700 1
104.4 106.4 1 I I O
0.0 0.0
1 14.4 1 16.3 170.5 1 1 1.4
C'OPIA LINI AIIM cp-~73.~uii03 CSTO cuadro - coiidecoracioiies
104.8 1 3 7 .O
0.0 0.0
152330
14470 1 58787 95875 56852
187563 209083 306835
87562 98547 6532 1
196338
205874
1 1290 126902
78563
O. 0 0.0
0.0
04.3 46.9
0.0 0.0 0.0 0.0
58730
86524
O O 0.0 O O 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0
64.7 0 .O
1 1 1 .O
0.0 I Oh.O
0.0 O . 0
0.0 0.0
137.4 1 í 3 . 8 151.5
0.0 0 .0 0.0 0 .O 0.0
143.8 0 .0
150.8 0 .0 0.0 0.0 0.0 0 .0
0.0 0.0 O. O
U .O
0 .0 0.0 0.0 O .O
0.0 0.0 0.0
33. l 70.2 41.6
0.0 0.0 0.0 0.0 0.0
64.1 77.7 47.9
0.0 0.0 0.0 0.0 0.0 0 . 0
03 .O 0 .0
57.6
0 .O 0.0 0 .0 0.0 0 .0 0.0 0.0 0 .0 0.0 0.0. O . O 0.0 0.0 0.0 0.0 O .O 0.0 0 .O 0.0 8.; 0 .O 0.0 0.0
43.0 0.0
0.3 .4 0.0
0.0 0.0 0 .O
0.0
! 1 !2 !3 !4 !3 ! ~ ~ ( ' ~ ! R S O - M A N D O S I ~ I ~ M
0.0 0.0 0.0 0.0 0.0
2069871 151 61 0 01 0 O
18 19 3 0 3 l 33 33 -34 35 36
-
CUR-PROF CURSO CURSO-ASCENSO-AGREGADOS C'LIRSO-CPN\J curso-especay~idants
44 145 146 147 148 1-19 150 I F I 152 153 151 155 1-56 157 158 159
0 .O 0.0
84.9 94.3
0.0
3448 655
1 15876 128753
!71Cl IRSO PCRSON 4 -
CURSOS-AGREGADOS C'I!RSOS-ESPECli-\LES CURSOS-FALL,IDOI PROFORMA CURSOS-REALIZADOS D-OPERACION_-FORMA-S\'S D-PERFIL~_OPE S Y S D.4TOS~FECHA~C.4blUIADOS DECLARACION DECLARACION REPORTE
16 l 163 163 161 165 166 167
2.5 0.5 0.0 0.0 0.0
1 O 01 0 01 O 0
decapare__? desapare_28022002 desapare-real DESAPARECIDO DESICNA_A\irUD.4NTE D E T P R E S I ' A M O L V N DETALLE-RECON-PROCESO DEVENGAR-ESTUDIO DIPLOMADO DIREC'C DISCAPACIDAD DISPONIBILIDAD DIV-POL-ECUA DOCLrhlENTOS-VlD.4_NAVc\L dtproperties EMB.4R EFECTIVO
168 169 170
einbaiq~ie-3 eiiibarque-boiiif eiiibarq~ie-candiofi eiiibarque-cond eiiibarquy~coiid trip eiiibarque~condh66 enibarclue-~oiid666_tripu
' 174 175 176
203654 2 15860
982 1 0 85742
98650 58745
528 20674 1
56841 58965 49850
1 156987 169874
153986 78335 59874
3855 95820
153103
95873
(I~~[EMCIS~C'.~LI~IC'AC'ION~B.~JA 987201 0.01 72.31
0.0 0.0
71.9 62.8
0.0 73.3 43.0
0.0 0.0
149.2 158.1
0.0 0.0 0.0 0.0 0.0 0.0
151.5
85624 8475 1 58426 64875
eiiibarq~ie-detalle 1 e i i iba r -q~ ie -de ta l l~ r ip~ i
einbarq~ie2-copia siiibarqiie3 EI\4BARQLlL:,3 C O P I A
¡ 1 7 8 1 ~ ~ ~ 1 ~ I'ROM ASCENSOS
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.4 0.0
0.0 0.0 0.0 0.0
I 15.0 134.4
0.0 1 12.8
0.0 0.0 11.0 0.0 0.0
1 12.2 0.0 0.0
0.0 0.0 0.0 EMBARQUE-IM
l 058321 0.01 77.51
0.0 0.0 0.0 0.0 0.0 0.0 0.0
84597
98562 102587 56987
11.6 43.2 36.5
0.0 0.0 0.0 0.0 0.0
57.1 4.3.9
0.0 0.0
70.7 0.0 0.0
70.7
0.0 0.0
63.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 3 . 8 ~ 0.0 0.0 0.0 0.0
0.0 63.7 62.1 42.8 47.5
0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0
73.2 75.2 41.7
0.0 0.0 0.0
271 GR:\DO-POR-P.4SE 0.0 0.0 0.0 273 prados - pci-sona_~siieldos~04 0.0 0.0 0 .O 2 4 gi.ados_pers~~iia~s11eIi1i~s~05 0.0 0.0 0.0
: l O ! l l
;!;S hist-coiidec_otj eiie 2003 328367 167.3 0.0 0.0' I39 HISTORICO-_C.4 L,pTRI 6 0 .0 0 0 0.0 12.10 HISTORIC'O~CONDEC'OR,\CIONES 142587 104.5 O . 0 - 0.0
faltas-grado FlCt l,4plND1VlDbA1J 658725
0.01 0.0/ 0.0 482.0I 0 .0) 0.0
!4; !U !45 146 147 248
HISTORICO~FORhl/\CIOh HISTORl('0-PERF HISTORICO PERSONAL
249 250 151
HISTORICO-SUBJUDICE HISTORICO~TRANSACCION HOSPITALIZACION
257 1 5 3 154 255 256 257 258 259 260 761 262 263
483 113
109658
IDS INDIV-COND-EMCI INDIV7
261 265 266
109256 115873 106985
INDIV3 INFORMACION~,4DICIONAL INFORMACION-RESERVADA INFORMACION-SUMARIA INGENIO_PERSON A INSTITUTOS-MILITARES INSTRlJCClON~ClVlL interes-curso ISSFA-CONY LIGUE ISSFA ESPOSA ISSFA-HIJOS ISSFA-PADRES
267 268 269 270 171 272 273 274 275 276 277 278
O O O O 0 0
12 1983 137698
ISSFA-TIPO-HIJO ISSFA-TITIJ1,AR ito
279 280 281 287 283 284 285 286 287 288 - 289 290 291 292 193 294 295 296 297 298 199 300 101 307
0.0 0.0 0.0
135874
1302
3905
168747 165873 162753 156630
JUZGADO JUZGADO-ANTERIOR LICENCIA-PERSONAL LICENCIA-PROFORhlA LICENCIA~PROFORhlA_NOV LICENCIA-PROFORMA-TEMP LICENCIA-TEMPORAL LISTA-CALIFICACION h~l.ATERIC\~A\'L~DANTlA MAXFEC MEDIDAS MERITO AYUDANTE
O O O 0
80 ?
0.0 0.0 0.0
13962 1
MERITO-TEMP-AY LIDANTE MERITOS-ASCENSO MERITOS-SLIBM-TEMP MERITOS-TEMP MERITOS-TEMP_AGIJ EN A MESES MODlF-PERSONA-TIPO-DO(' moraii-7002 MORAN 1 2 0 0 2 nioran2-2002 MOT-FIN-CON movimientotenip MULTIPLES-EMBARQIJE NEW-GRADE NIVEL NIVEL-CON ESIJ P NIVEL-INST-CIVIL NIVEL-REQUI no-encuentra-pz NOMBRE NOVEDAD-ASCENSO novedad-ascenso_3~in~ NOVED.4D-ASCENSO-RESPO50 I NOVEDAD-AY U D ANTE
0 1 O 1 0 O
80.0 84.9 78.4
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
123.6 171.5 1 19.2 1 14.7
59863 59876
2826
98325 104852 135960
382 1 1
0.0 0.0 0.0
0.0 89.4 97.2
0.0 102.3
0.0
126875
99502
65821
6592 1
7452 1 69250
137895 74852
136784
63529 165785
0.0 0.0 0.0
99.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 1 .O 0.0 0.0 2.9 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
101.0 0.0 0.0 0.0
100.2 0.0 0.0
121.5
0.0 0.0 0.0
43.9 43.9
0.0 0.0
72.0 76.8 92.3
0.0 0.0 0.0
35.3 0.0
0.0 0.0 2.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 92.9
0.0 0.0 0.0 0.0
72.9 0.0 0.0 0.0
48.2 0.0
48.3 0.0
51.6 50.7
0.0 54.8
0.0 0.0 0.0 0.0
36.5 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
306 307 308 309 i 10 3 l l 312 313 3 14 3 15 3 1 O 3 17 318 319
331 324 325
OPCION~~SISTEMA OPCIONpTIPOpDOC C)PC'IONLSplNTEGR.-\CION C)PERACION~_FORMA ORGANlCO organicoyefectivo ORGANICOYEFEC'TIVOpTRIPU OrganicoyEfectivoMaugi otros otrosids PADRE PADRESpISSFAp200 I P.4DRESpISSFA-2002 P.4DRESpISSF.-\-2003
PAGO-CONDEC PAlS PAR\METRO EVAL rlYI1DAKTt'
85633
142587 85413
146987
136587
1 08652 2 153
59873 65842 8452 1
95624
0.0 0.0
104.5 0.0
107.7 0.0
1 00. 1 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0 0 0 O O 0
62.7 0.0 0.0
62.6 0.0 0.0 0.0 0.0 0.0
70.6 0.0
43.9 48.7 61.9
0 0 1 O 0 0 01 0 0
70 1 1 O O
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1.6 0.0 0.0 0.0
366 367 3bS
360 j70 37 1 3 7 1 373 374 375 .?76 ; 7 7 1 ~ ~ 4 ~ 4 O R G 1 1-MPORAL \ L l \ 1584331 110 1 1 O 0 1 O 0
379 380
-
PERXlhNENC'I;\~~I'I:R.4TIVA TEhlP P E R M I S O ~ C ) P C ' I ( ~ ) N ~ O B . I E T ~ ~ S Y S PERSOK.4 Pf'.RSON.4~V24('.4N I'l<-:\S(' P1:KSON.-\CI personal iiiteligeiici:i PERSOh:\I.~I'ROFORhI14~C'I!RSOS PERSON,ZL PROFORM;\ I'.-\SES pla-ideii pla pr«--ofi-.35 PL,i\L.4 - ORC;-TI?411'ORÍ\L
100.0 0.0
730. l 0.0
113.4 0.0 0.0 0.0 0.0 O. O
131.2
138753 56847
90 1 176
153784 65083 68035 08673 6763 1
165378
; ~ S I P L ~ Z - \ O R L I l h l P O R 4 l i i i c PL.4Z.4 ORG;\NI('A PL.4Z.4 - ORGi\NIC';-\p13 0 I
1698751 124 51 O O ( O O
381 phza-orgaiiica 72-1iNE 2 plaza~or_=ai i ica~~37~DI(I '
383 plaza~orgaiiic~~pi-11ebi1 3 4 PL.I\ZA-\PR(>FORMA
186 PL.4Z:ZPPROFORMA~Pr\SES 3Y7 plaza-pi-ofosiiia p a s e s 14eiieO-l ;SS p laza~pro fo r i i i ap~~ascs :~6 : '
3 9 plus psofosiiin~p;ises 68
391 plaza-lciiipoi-al j9? plaza~teiiipural~iiie ;9; plazxgraycccioii 391 poPteiiip-oti-act~ia l j9i po-ten~l-íi i i~ic\ .o
i:96 PREP,4RAC'I~lNP.i('.41>ChllC\ i97 PRESTi\C'ION SER\'I(~'IC)S
205 PROFORMA-PASES
410 PROhlELlIO ('AL-,4GIJEN.-\ 411 PROYIFDIO - ('AL A\r'CD.\N 1-E 412 PROh~lEDIO_C':\LpCI'KV 113 proiiiedio-cal-ciiicis 411 P R O ~ V I L : D I O - ~ , \ L I - : v , \ I , ~ ~ , ( ' I o N 415 PROMEDIO ('.4L~F.V;\121.1.4('ION 1-RII'L'
117 PROhll<I)lO C'.4LIFIC;4CIONpTRIPL'
119 PROj'E('C'ION-ASC 110 prueba-eiiibai'q~ie CI PRUEBA FISIC';\ 122 pruebasq~iritlatl I
4?I Puesto 05 1 3 0 0 0 416 PL'ESTO-OCUPA DO
0.0 3 1 . 6
0 . 0 0 .0 0.0
3S..: 50..3 0 . 3 40.5
0.0 0.0
371 128
0.0
o . 0 0 O 0.0 0 .0 O .O O. 0 0 . 0 0.0 0 .0 0.0
168759 68653 98687 69584 78459 56897
158759
O 5 6 8 5
84780 3403
1070
145 806 05873 08560 65987
139698 98603 7583 1 95857
165874 1346.7 13952 l 158733
63950 9503.7
168536 154786
156987
95628 ? , ? -3 4 -3
54875 .
65892
O O
0.0 3-45. l 1
0.0 0.0 O . 0 0.0 0.0 0.0
0 .0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0 .0 0.0 0.0
12 0.0 0.8 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0 .0 0 .0 0 . 0 0.0 0 .0 0 .0 0 .0 0.0 0.0 0.0 1
0.0.
0.0 0.3 O . 0 0.0
0.0
0.0 0.0 0.0 0.0
133.0 0.0 0.0 0.0 O O 0 . O
1 l6..3 0 .0 0.0 O O
0.0 0.0 0.0 0.0 0.0 O . O 0.0
106.0 0.0 0.0 0.0
100.7 0 .0 O . 0 0.0
131.5 108.8 103.2 l lo..:
0 .0 o. o 0.0 0.0 0.0
1 3 . 5 113.3
0.0 1 15.0
0.0 0.0 0.0 0.0 0.0
0 .0 0.0 0.0 0.0
50.3 7 3 2 51 .O 57.5 31.7
0.0 0.0
70.1 0.0 0.0 0.0
(13. 1 0 O
0 .0 O . O
O .o 0 .0
70.3 73.2 48.3
0 .0 72.3 55.0 70.2
0 .0 0.0 0.0 0.0 0.0
30.1 70. 1
O . 0 0.0 0.0 0. O 0.0 0.0 0.0
70.1 0.0
40.3 38.;
. - .
490 49 1 492 493 394
EhlPORAL OFICIALES
TIPO CONDECORACION
495 396 497
- - - - . . SUBSISTE t-persona t-reparto t0 l ago t0 l ene t0 l feb t0 IjuI t0 I mar
-,u27
5634 99363
1 02387
0.0 0.0 0.0
" . L I
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0 O
U<\>
0.0 73.9 75.2
0.0 0.0
0.0 0.0 0.0
T . ,
3.1 0.0 0.0 0.0 0.0
O l 2 3 4 5
TRANSACCION ASCENSOS TRANSACCION CONSULTA TRANSACCION DIANA
'6 7 8 9
transaccion diaria historico transaccion reporte TRANSACCION ROLES
6 7 8
2547 13 165742 1 03982
TRANSACCION SEGURIDAD SYS TRANSACCION USUARIO trip detalle embarque trip detalle embarque-22Nov04
9 O 1 2
258456
UN1 ADM PROFORMA UN1 ADM PROFORMA copia me UN1 ADM PROFORMA QUITO
186.6 121.4
0.0
265385) 194.5) O.O\
UNIDAD ADMINISTRATIVA 12 01 UNIDAD ADMINISTRATIVA2 unidades flote escuadron verifica pase
0.0 0.0
189.3
2684261
268743
119625
0.0 0.0
76.2
1 06874 254158 1 025 84 104753
0.0 0.0 0.0
0.0 0.0 0.0
196.9 0.0 0.0
0.0 0.0 0.0
0.0 0.0
196.61 0.01
0.0 186.2
0.0 0.0
0.0 0.0
0.0 0.0
87.6
0.0 0.0
0.0 0.0 0.0
78.3 0.0
75.2 76.7
0.0 0.0 0.0 0.0
Promedios de escritura diaria 141.6 66.8 Total tablas: 135 237
61 ; I \ P L - \ Z A PROFORMA O I ~ ~ \ ~ ~ N I ~ L ) M ~ P R C ) F O I < M A
265745 315871
194 71 O O 158 1 1 O O
0 O O O
57 C/lUS,4~JIJICIO-ANTERIOK 0.0 0.0 0.0 58 CALISA-RECONOCIMIE'JTO 0.0 0.0 O . (1 59 CAUSA-RETIRO 0.0 0.0 0.0 60 CAUSA-SALIDA-EXTERIOR 99256 72.7 0.0 0.0 6 1 CAUSA-SERMAN 0.0 0.0 0.0 62 CAUSA-SUBSIDIO 0.0 0.0 0.0 63 CAL'SA - SUBSISTE 0.0 0.0 0.0 64 CEDULA 0.0 0.0 0.0 65 ('EDIJLAS 0.0 0.0 0.0 66 CEDULAS-ORDENADO 0.0 0 .O 0.0 67 CENSURA-AYUDANTE 0.0 0.0 0 .0 68 CENSURAS-ASCENSO 0.0 0.0 0.0 69 CENTRO SALUD 0.0 0.0 0 . 0
71 CIRCULO
8 1 COMANDO-OPERATIVO 0.0 0.0 0 0 83 Coinpensacioii~Trai~sitoria 0.0 0.0 0.0 83 COND-RESP-DlC 6958 0.0 0.0 5 1
I 0.01 0.0) 0.0
73 74 75
~ ~ I C L A S E CURSO -
CLASE-GRADO CLASE-SANCION CLASIFlCACION~ESPECIALIDc\D
1 101 107 103 104
1 1 0 5 1 106
107 ! 108
0.01 0.01 0.0
1 0 9 I lO 11 1
I 112 113
r
111 m 115
116
458756
CONDECOKACIONES_EMClS2 condecoracioiies~_liistorico condecoracioiies~proyeccion
condecoraciones~respaldiño CONDlClON-TRABAJO coiis CONSEJO CONY SIN CODIGO ISSFA COWYUGUE copia-plazapp-eiiero9 copia-ppp-enero9 COPIA~SUBJUDICE~~73_~0233200 1 COPIA-UNI-ADM cp-23.j~in03 CSTO cuadro~coiidecoracioiies
0.0 .> .i 5 .7 ? ?
0.0
1256
152854
96850
96584
66368
75824
0.0 0.0 0 .O
0.0 0.0 0.0 0.0 0.0
112.0 0.0
71 .O
0.0 0.0 0.0
0.0 0.0
70.8 0.0 0.0 0.0 0.0
55.5
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 O 0 0.9 0.0 0.0 0 0 O 0
0.0 0.0 0.0 0.0 0.0
48.6 0.0 0.0
O O O O
0 0 0.0 0.0 O O 0.0 0.0
179 180 181
184 185 186 187 188 189 190 191
emcis-proni ascensos-antes emcis-prom - ascensos2
lemcis-temporal I ~ ~ ~ E N F E R M E D A D 1831error migra pz
error-inigra pz copia ESPECIALIDAD ESPECIALIDAD - EQUIV ESPERA-CESANTIA Estadis - Tieni-Servicio
192 193 194
ESTADO CIVIL ETAPA EVA-CIVIL-RA
195 196 197
156987 568254 195875
168532
EVAL CUA-ATRIBUTOS EVALUACION EVALUACION AGREGADOS
201 202 203
698526
EVALUACION - AGUENA EVALUACION - AY UDANTE EVALUACION CPNV
205 206 207
2201~i~ADO CURSO 1 1569871 115.01 0.01 0.01
0.0 115.0 416.3 143.5
0.0 0.0 0.0
123.5 0.0 0.0
625874 691478
EVALUACION-RES-O 1-05-00 EVALUACION-SALIDAS - EXTERIOR EVALUACION SUBM
208 209 210 21 1 212 21 3 214 215 216
0.0 0.0
511.7
0.0 0.0 0.0 -
198 199 200
EXCEPCION-REQUISITO EXPERIENCIA-LABORAL FALTA-SANCION
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
458.5 506.6
0.0
---- 0.0 0.0 0.0
EVALUACION-CURSO-AGREGADOS EVALUACION FALTAS AGREGADOS EVALUACION NOTAS-AGREGADOS
125698 548753
FALTA-SANCION NOVEDADES FALTAS faltas grado FICHA-INDIVIDUAL fonifa formulario-issfa FORMULARIO-ISSFA T FOTOGRAFIA fuera organico tenmoral
221 222 221
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
105874
224 225 226 227
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 92.1
402.0
568720 658322
125873
569320
GRADO-DlSCAPAClDAD GRADO-POR-PASE grados nersona sueldos 04
228 229 230
0.0 0.0 0.0
0.0 0.0 O .O
77.6 0.0 0.0
grados-persona sueldos-05 grados persona-sueldos-06 GRUPO ESPECIALIDAD GRUPO MEDICO
231 232 233
0.0 0.0 0.0
0.0 416.6 482.3
0.0 0.0
92.2 0.0 0.0
417.1
95687 365255 156852
GRUPO-PERSONA Grupos-Directiva HI
234 235 236
O .O 0.0 0.0
0.0 0.0 0.0
70256
13520 1
HIJO HIJOS-DIFERENTES-MADRES hijos-prueba
237 238 239 240
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
70.1 267.6 1 14.9
154235
HIJOS - SIN-CODIGO-ISSFA HIJOS SIN CODIGO-ISSFA-OFI HIJOS SIN CODlGO ISSFA-TRIP
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
51.5 0.0
99.0 0.0
0.0 0.0 0.0
HIS-CONTRATO hist-condec ofi-ene-2003 HlSTORlCO CAL TRI HISTORICO-CONDECORACIONES
0.0 0.0 0.0
113.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 O O
0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0
O .O 0.0 0.0 0.0
0 .O 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 - 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0
-
0.0 0.0 0.0 0.0
253 251 255 256 257 258
INFORMACION_ADICIONAL INFORMACION - RESERVADA INFOKMACION S U M A R I A
259 260 261
INGENIO PERSONA INSTITUTOS MILITARES INSTRIJCCION C I V I L
265 266 267
568250 958785
interes-curso ISSFA CONYUGUE ISSFA ESPOSA
268 269 270 271 272 273 274
458695 103265
ISSFA-TITULAR ito JUZGADO
275 276 177
4 16.3 702.4
n o
152304
JUZGADO - ANTERIOR LICENCIA-PERSONAL LICENCIA PROFORMA LICENCIA PROFORMANOV LICENCIA-PROFORMA-TEMP LICENCIA TEMPORAL LISTA CALlFlCAClON
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293
336.0 75.7
0.0
168523
MATERIA - AYUDANTIA MAXFEC MEDIDAS
294 295 296 297 298 299
0.0 0.0 o 0
1 1 1.6 0.0 0.0
895623
658250
MERITO--AY UDANTE MERITO-TEMP AYUDANTE MERITOS-ASCENSO MERITOS-SUBM-TEMP MERITOS-TEMP MERITOS - TEMP-AGUENA MESES MODIF PERSONA-TIPO-DOC rnoraii-2002 MORAN 1 2002 moran2 2002 MOT-FIN-CON rnoviiriientotemp MULTIPLES-EMBARQUE NEW - GRADE NIVEL
300~novedad~ascetiso~3~ina~o
0.0 0.0 n o
0.0 0.0 0.0
0.0 123.5
0.0
458785 365856
NIVEL-CONESUP NIVEL INST-CIVIL NIVEL REQL'I no encuentra-pz NOMBRE NOVEDAD-ASCENSO
586321 0.01 43.01 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0
656.1 0.0 ----- 0.0 0.0
482.2
568425 569220
158485 168523 96520
149536
56985 52658 59874 ------
69852
95863
0.0 0.0 0 0
0.0 0.0 0.0
336.1 268.0
0.0
96854 948753
301 NOVEDAD ASCENSO RESP0501
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0
416.4 417.0
0.0 116.1 123.5 70.7
109.6 0.0 0.0 0.0 0.0 0.0
5 1.2 0.0
70.2 0.0
1 0.01 0.0 1 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
71.0 695.1
0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
41.7 38.6 43.9
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 O O 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
2 3 - 324 325 326 327 328 129 130 331 332 3 3 134 335 336 337 338 339 340
PAGO-CONDEC PAlS PARAMETRO EVAL-AY UDANTE PARAMETROSEVALUACION PARAMETROS-EVALUACION_-AYUDANTE PARAMETROS-PROCESO-PASES PARTIDA-PRESUPUESTO Pasaporte--Visas PASE pase-prest-temp PASE-TEMPORAL PASE-ULTIMO PASES-FALLIDOS-PROFORMA pases-irn pases ini-otros
341 342 343
PASES-OFICIALES pases-provisionales PER-CONT-NO-PROF
347 348 349 350 35 1 352 353 354 355 356
' 357 358 359 360
569528 65856
96854
45630 56874
42587
per-id PER-ID-EFEC-CAP per-id salen-Cap
36 1 362 363 364
4875 1 56874
per-no-sale pz per-pase-especifico PER-PRO-CUR-COPIA per prof-pas-copia
per-sale-pz-gye per-sin-fec-efe PERCON PERFECCIONAMIENTO PERFIL-AUTORIZARPT-SY S PERFIL-CONSULTA DOCU-SYS PERFIL-CONSULTA-GRADOOSYS PERFIL-CONSULTA--SY S PERFIL-GRUPO SY S PERFIL-OPERACION-S\'S
4 17.2 0.0 0.0 0.0 O .O 0.0 0.0
7 1 .O 0.0 0.0 0.0 0.0 0.0 0.0 0.0
985633
PERFIL-PLAZA PERIODO-ASCENSO PERIODO-AYUDANTE PERMANENCIA-GRADO
0.0 0.0 0.0
45875 569856
598630 521785 958203
O .O 48.2
0.0 O .O 0.0 0.0 0.0 0.0 0.0
33.4 41.7
0.0 0.0 O .O
31.2
722.1 0.0 0.0
15875
658253
O .O 0.0 O .O 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
35.7 41.7
0.0
0.0 4 17.5
0.0 0.0 0.0
438.6 382.3 702.0
O .O 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
482.2
O .O O .O O .O
33.6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 O .O 0.0 0.0 0.0
O .O 0.0 0.0 0.0 0.0 0.0 0.0 0.0 O .O 0 .O 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 11.6 0.0 0.0
365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 ;80
PERMANENCIA-OPERATIVA PERMANENCIA-OPERATIVA - TEMP PERMISO-OPCION OBJETO-SYS PERSONA PERSONA-VACANTE-ASC PERSONACI personal inteligencia PERSONAL PROFORMA CURSOS PERSONAL PROFORMA-PASES pla-iden pla-pro ofi 35 PLAZA ORG TEMPORAL PLAZA ORG TEMPORAL AUX
387 388 389 390
PLAZA-ORG-TEMPORAL-nie PLAZA-ORGANICA PI,AZA ORGANICA 12 01
391 392 ;93
1589784 125874
458745
plaza proforma-pases 14ene04 plaza-proforma-pases 67 plaza profornia - pases 68 PLAZA PROFORiMA-QUITO
394 395 396 397
56985
plaza temporal plaza-temporal me plazas proyeccion
398 399 400
0.0 0.0 0.0
1 164.7 92.2
0.0 0.0 0.0 0.0 0.0
336.1 0.0 0.0
0.0 0.0 0.0 0.0
po temp - ofi - actual po temp-ofi-nuevo PREPARACION-ACADEMICA PRESTACION_SERVICIOS
401 402 403
0.0 0.0 0.0
78526
87534
PROCESO CANDIDATOS PROFES proforma
41 1 412 4 13 414 41 5 416 417 4 18 41 9
0.0 0.0 0.0 0 .O 0.0 0 .O
0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
89568 82574
PROFORMA CURSOS proforma-disponibles-emci profornia disponiblesofi
0.0
O .O 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0
0.0 0.0
41.7
0.0 0.0 0.0 0.0 -
57.5 0.0
64.1
45875
85968
PROMEDIO-CAL AYUDANTE PROMEDIO CAL-CPNV promedio-cal-enicis PROMEDIO - CAL-EVALUACION PROMEDIO CAL-EVALUACION-TRIPU promedio cal2 PROMEDIO - CALIFICACION-TRIPU PROMOCION-ASCENSO PROYECCION-ASC
0.0 0.0 0.0
65.6 60.5
0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0
63.0
P . ~ ~ & S ~ O L
85746
89784 785896
0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0
33.6 0.0 0.0
0.0 0.0 0.0
0.0 0.0
62.8 0.0 0.0
65.8 575.7
0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
489 490 491 492 493 494
SUBJUDICE SUBSISTE t persona t reparto t0 1 ago tO 1 ene
499 500 501
0 .O1 0.0\ 0 .O
0.0 0.0 0.0 O .O
495 496 197 498
0.0 0.0 0.0 0.0
502 501 504 505 506 507 508 509 510
0.0 0.0
1254 1 548
1.4 1.4 1.1 1 .O
tO l oct t0 l sep tl6dic
51 1 5 12 5 1 S
0.01 O .O 0.01 0.0
tO 1 feb t0ljul t0 l mar t0 1 nov
t l6ene t l6feb tlójun tl6inar tab-tenlp-pase TABLA EMCl TABLA-INGRESO TABLA-NAVAL TABLA1
5 18 519 520 521
0.0 0 .0 0.0
1857 1875 1485 1358 1587 1 025 1596
TABLA2 tablazl TALLA
546 547 548 549 550
1526 1524 2653 1859 1698
TEMP - ASC CIV-PROM-1999 TEMP ASC - CIV - PROM-2002 TEMP-ASCENSOS EMCI TEMP-CEDULA
0.0 0.0 0.0
0.0 0.0 0 .0
1 58752
TIPO CURSO TIPO-CURSO - EMCI TIPO DIV-POL TIPO DOC TIPO-DOCUMENTO-DIGITAL,
0.0 0.9 1 . 1
0.0 0.0 0.0 O .O 0.0 0.0 0.0 0.0 O .O
0.0 0.0 0.0 0.0
0.0 0.0 O .O
O .O 1 16.3
0.0
0.0 0.0 0 .0 0.0 0.0
1.2 0.8 1.3
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 .0
0.0 0.0 0.0 0.0
1 .1 1 . 1 1.9 1.4 1.2 0.0 0.0 0.0 O .O
O .O 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
551 552 553 554 555 556 557 558 559 560 56 1 562 563 564 565 566 567 568
TIPO-EMPLEADO TIPO-FALTA TIPO-INFORMACION TIPO-INGENIO TIPO-INSTRUCCION TIPO-JUICIO TIPO-JUICIO-anterior TIPO-RANCHO TIPO-RE-LEGAL TIPO-RESPONSABILIDAD TIPO-SANGRE TIPO - UNI-ADM tipoins TITULO tmp-ract-sin-historico
569 570 571
TOTAL-EMBARQUE total-niarosg TRABAJO-PROFES-AYUDANTE
~ ~ ~ ~ T R A N S A C C I O N - D I A R I A
168759
1 145254
56845
56874
TRANSACCION TRANSACCION-ASCENSOS TRANSACCION-CONSULTA
1 0.01 0.01 0.0
574 575 576 577 578 579 580 581 582
857485 478223
595 596 597 598 599
0.0 0.0 0.0 0.0
125.6) 0.01 0.01 0.0)
106.41 0.0 0.01 0.0 0.0 0.0 0.0
872325
573ltransaccion diaria historico - -
transaccion-reporte TRANSACCION-ROLES TRANSACCION_SEGURIDAD_SYS TRANSACC'ION-USUARIO trip-detalle-eiiibarque trip-detalle-embarque-22iuov04 trip-detalle_eiiibarque2 trip-detalle-ernbarqueMRAMlREZ trip-detalle-pasesHPEREZ
603 604 605
628.2 350.3
0.0
458721 0.01 33.61 0.0
([NI-ADM-ESPRAN-JARNAV LNI-ADM-PROFORMA UNI-ADM-PROFORMA-copia-me UN1 ADM-PROFORMA QUITO llNl ADM SUBREP SUBDES
606 607 608 609 610
O .O 0.0 0.0 0 .O 0.0) 0.01 0.01 0.01 0.01 0.01 0.01 0.0
41.6 0.0
41.7
639.1 0.0 0.0
87526
165852 152022 145852
5620 5874
UN1 - ADM-TEMPORAL-AUX UNI-ADM-TEMPORAL-me unidad-adni-prueba
0 .O\ 0 .O 0.0 0 .O 0.0 0 .O 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
O .O 0.0 0.0
56874
UNldad-ADMiniistrativa-TEMPORAL UNIdad-ADMiinistrativa-TEMPORALLnie UNIDAD_ADMINISTRATIVA UNIDAD-ADMINISTRATIVA-I 2-0 I UNIDAD-ADMINISTRATIVA2
0.0 0.0 0.0
0.0 0.0 0.0
64.1 0.0 0.0 O .O
121.5 111.4 106.9
0.0 0.0
3568 4587
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
9587 4857
0.0 0.0 0.0 0.0 0.0 O .O 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.1 4.3
0.0 0.0
41.7 0.0 0.0
O .O 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
2.6 3.4 0.0
0.0 0.0 0.0 0.0 0.0
7.0 3.6 0.0 0.0 O .O
3 4
Promedios de lectura diaria 258.8 38.9 2.4 Total tablas 127 29 45
xPLAZA PROFORMA xUNI-ADM-PROFORMA
1 0.01 0.01 0.01 0.01
ANEXO D NUMERO DE REGISTROS Y NUMERO DE COLUMNAS
OBTENIDOS EN LA BASE DE DATOS SUELDOS
1 - I I
15 1 documento 181 181
No 1 2 3 4 5 6 7 8 9 10 11 12 13 14
# REGISTROS 152 452 369
140278 6150
507 1567303
5576 877 163 253
77 13758 1 1075
NOMBRE TABLA CONTADOR-TABLAS dtproperties rolgeriodo alcance - historico BENEFICIARIO BONO - TRIP CARGA cedulas cedulastot Compensacion-Transitoria CONDECORACION CUADRO-DIFERENCIA DETALLE detalle retencion
18 19 20 2 1 22 2 3 24 2 5 26 27 2 8 29 30
# DE COLUMNAS 3 7
11 4 4
13 1 1
11 8
17 7 7
18
3 1 32 3 3 34 3 5 36 37 38 39 40 4 1 42
ESTADO-PERIODO form - SR1 form - SRI-TMP form-SRI-TMP-2004 form - SRI-TMP-2004-2 form-SRI-TMP-2004-3 form-SRI-TMP-2004-4 form - SR1 - TMP-2004-OFC form-SRI-TMP-2004-TMP form-SRI-TMP-2004-TRIP form-SRI-TMP 10 form-S RITMP2 FORMA PAGO formulario GRADO GRUPO-USUARIO HISTORICO-CONTRATOS HISTORICO-GASTOREP IDS imp - renta - 2001 imp-renta-200 1Anterior imprenta-2002 imp renta-2002Anterior imp - renta-2002Audqui imp - renta - 2002New
5 905 1 905 1
1 1 1 1
879 1
8314 1 1 6
18 18 19 18 19 18 18 2 3
6 16
1 8 8
1 3 6
7 7 12
1 256
11338 11338 11234 1 1234
152129 1 1234
8 8 9 8 8 8 8 8 8 8 8 8
V J
44 45 46 47 48 49 5 0
1 5 8 I O P C I O N SISTEMA 1 1281 6 I
I 1 - - - 1 l
1 60 IOI'F;.FL~CION FORMA 1 1 1 6 I
L l l l j ) 1 C Z l l L d L U V J - -
iiiip - renta - 2004 imp - renta - 2004-anterior iiiip - rcnta - 2004 - Bono\ imp - renta - 2004 - Coiidecorxion imp - 1-ci-ita-2004 - General imp - renta - 2 0 0 5 - C'oiidecoiacioii i i n ~ renta 2005 General
5 1 1 iiiiuucstn renta 113381 2 0
1 --)Y+
12846 12747
95 1 1 3
1642
80 8 1 82 83 8 4 8 5 86 87 8 8 8 '1 O0
0 1 9 2
I I
16 16 2 O
9
3 13 7
persona-kclias I'EKSONA - HIS I'OKICO I'FKSONAL - ASCENDIDO PLAZA I'IIOVISION IIANCTH( )
KFPARTO Results rol - diferencia ROL, - 1 IISTORIC'O rol - periodo rol - prueba KI IBRO
9 139 871691
1 102
1 4
1847 1 2000000
0 28662483
211379 87.33
3 64
1 6 16 1 6
7
-7
1 1 7 5 3 2 3 - 2 3
RUBRO - DIFERENCIA 21 14 16 RUBRO-GASTOREP 1228 13 rubro - imprenta 2298 15 rubro - imprenta1 1975 7 rubro-imprenta99 O 7 RUBRO RELACIONADO 2 2 1 O - 1 1
RUBRO VARIO 1 9891 3 1 8 1
1 102 (rubro - vario-ene 85924) 9 1
1 14 (valor - decimo 12045 ( 8 1
105 106 107 108 109 110
1 15 lvalor - diciembre 1421 8 1
TABLEl TEMPO TIPO-CONTRATO TIPO-CUENTA TIPO-RUBRO TOTALES
1 16 1 17 1 18 1 19 120
CIB-ESPOL
O 47 1
6 4 6
349
123 124
9 14 33 1 O 7
11
valor - enero VALOR-SUMATORIA VALORES-SEP VARIOHISTORICO vario octubre
VEHICULOS 1 vivfis
142 15
9397 10767632
67483
1 O 7
2 - 16 16
884 8 9
25 2
ANEXO E NUMERO DE TRANSACCIONES DE ESCRITURA Y PROMEDIOS
OBTENIDOS EN LA BASE DE
No 1 2 3 4 s 6 7 8 9 10 11 12 1: 14 15
--
16 17 18 19 20 2 1 22 23 24 25 26 27 28 29 30 3 1 32 33 34 35 36 37 38 39 40 41 42 43
SUELDOS 6 0
PROMEDIO ALTAS
0.0 0.0 0.0
59.5 52.1
0.0 97.9
0.0 0.0 0.0 0.0 0.0
78.8 1 14.6
0.0 0. 0 0.0 0.0
76.5 83.7
Ci.0 0.0 0.0 0.0
58.7 0.0
57.0 0.0 o.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
Nuniero
NOMBRE TABLA CONTADOR-TABLAS dtproperties rol - periodo alcance historico BENEFICIARIO BONO TRIP CARGA cedulas cedulas-tot Compeiisacion-Transitoria CONDECORACION CUADRO-DIFERENCIA DETALLE detalle - retencion documento EMPRESA -
ESTADO-CIVIL ESTADO-PERIODO form-SR1 form -. SR1 - TMP forrn-SRI-TMP - 2004 form - SR1 - TMP-2004-2 fori~i-SRI-TMP - 2004-2 form~-SR1 - TMP-2004 - 4 form - SR1 - TMP - 2004 - OFC form - SR1 A TMP - 2004 - TMP form-S RI_TMP_2004-_TRIP form - SRI-TMP 1 O forin-SRI-TMP2 FORMA - PAGO fori~iulario GRADO GRUPO-USUARIO HISTORICO-CONTRATOS 1-IISTORICO - GASTOREP IDS imp - renta-2001 imp - renta - 2001 - Anterior imp-renta 2002 imp-renta-2002-Anterior imp - renta - 2002-Audqui imp - renta - 2002-New imp-renta-2003
de dias laborados:
# TRANSACCIONES
236.0 - . 14 0 98.0
3568.0 3 125.0
0.0 5874.0 1587.0 953.0
0.0 0.0
1254.0 4725.0 6875.0
0.0 0.0 0.0 0.0
4587.0 5024.0
0.0 0.0 0.0 0.0
3524.0 0.0
3421 .O 0.0 0.0 0.0 0.0 0.0 0.0
1452.0 0.0
56.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
DE MEDIAS
0.0 0.0 0.0 0.0 0.0 0.0 0.0
26.5 15.9 0.0 0.0
20.9 0.0 0.0 0.0
- p~ -
0.0 0.0 0.0 0.0 0.0 0.0 0.0
- 0.0 - 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
24.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
ESCRITURA BAJAS
-3 .9 3 - . 1 I .íí 0.0 0.0 0.0 0.0 0. 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.9 0.0 0.0 0.0 0.0 0.0 0.0 0.0
44 45 46 47 48 49 50 51 52
imp-renta-2004 imp - renta - 2004 - anterior imp-renta-2004-Bonos inip renta 2004 Condecoracion
55 56 57 58 59
inip-renta-2004-General imp-renta- 2005 - Condecoracion imp - renta2005 - General impuesto-renta imp~ieslo-renta-2000
'
0.0 0.0 0.0 0.0
INSTITUCION-BENEFICIARIA LOTE nombres OPCION-SISTEMA OPCION-SISTEMA 1
6 5 66
1 72 /PERFIL GRUPO SYS 1 1489.01 0.01 24.81 0.01
0.0 0.0
3589.0 6587.0
0.0
61 62 63
67 68 69 70
0.0 0.0 0.0 0.0
0.0 4583 .O
0.0 1548.0
0.0
P A ~ ~ M E T R O - R U B R O PARAMETRO SISTEMA
0.0 0.0
59.8 109.8
0.0
OTRO-RUBRO PAGADURIA PAGO PROVISION
parametros-sep PER-ID1 PERFIL - AUTORIZARPT-SY S PERFIL COYSULTA SYS
73 74 75
0.0 0.0 0.0 0.0
0.0 76.4
0.0 0.0 0.0
2563.0 0.0
80 81 82 83
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0
PERFIL-OPERACION-SY S PERIODO-ROL PERIODOS DIFERENCIA
91 92 93
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
25.8 0.0
0.0 0.0
8 4 0.0 0.0 - 85 RANCHO 0.0 0.0 86 REPARTO PP. 0.0 0.0 87 Results 0.0 0.0 88 rol - diferencia 0.0 0.0 0.0 0.0 89 ROL - HISTORICO 3052.0 50.9 0.0 0.0
personafechas PERSONA-HISTORICO PERSONAL-ASCENDIDO PLAZA
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 1485.0
0.0
rol - prueba RUBRO RUBRO - decimo
42.7 0.0
3654.0 0.0 0.0
.- --. ,,,;c:;:: ::,G,>, 0.0
0.0 0.0 0.0
0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0
5487.0 5812.0 5902.0
0.0 0.0 0.0
0.0 0.0 0.0 0.0
60.9 0.0 0.0 0.0
0.0 24.8
0.0
91.5 96.9 98.4
0.0 0. 0 0.0
0.0 0.0 0.0 0.0
0.0 0. 0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0
1
1 95 ~RUBRO - GASTOREP 1058.01 0.01 17.61 0.01 96 97 98 99
102 103 104 105 106
rubro-imprenta rubro - imprenta1 rubro-imprenta99 RUBRO RELACIONADO
107 108
1 1 14 (valor-decimo 4850.01 80.8) 0.01 0.01
rubro - vario - ene rubro-vario-feb SISTEMA-SYS TABLEl TEMPO
110 1 1 1 1 12 113
5630.0 4589.0
0.0 0.0
TIPO - CONTRATO TIPO - CUENTA
1 -
1 121 lvehiculos I 1 I 1
1 1587.01 0.01 26.51 0.01
0.0 0.0 0.0 0.0 0.0
TOTALES TRANSACCION TRANSACCION-SEGURIDAD - C USUARIO
117 1 18 119 120
1 122 lvehiculos se^ 1 1 682.01 0.01 28.01 0.01
97 .8 76.5
0.0 0.0
6.0 0.0
L 124 Ivivfis 1854.01 0.01 -- 30.91 0.0) Promedios de escritura diaria: 80.7 25.3 1.6
0.0 0.0 0.0 0.0 0.0
5897.0 8542.0
0.0 86.0
VALOR - SUMATORIA VALORES-SEP VARIO - HISTORICO vario octubre
Total tablas: 3 1 17 8
0.0 0.0 0.0 0.0
0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
98.3 142.4
0.0 0.0
15.0 5472.0
0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0
O. 1 0.0
0.0 0.0 0.0 0.0
0.0 91.2
0.0 0.0
0.0 0.0 0.0 1.4
0.0 0.0 0.0 0.0
0.3 0.0 0.0 0.0
ANEXO F NUMERO DE TRANSACCIONES DE LECTURA Y PROMEDIOS
OBTENIDOS EN LA BASE DE SUELDOS Numero de dias laborados: 60
1 PROMEDIO DE LECTURA 1
rolqeriodo 0.0 0.0 0.0 0.0 alcance-historico 0.0 0.0 0.0 0.0 BENEFICIARIO 0.0 0.0 0.0 0.0 BONO - TRIP 1583 .O 26.4 0.0 0.0 CARGA 0.0 0.0 0.0 0.0
No 1
CONDECORACION 564.0 0.0 9.4 0.0 CUADRO-DIFERENCIA 0.0 0.0 0.0 0.0 DETALLE 0.0 0.0 0.0 0.0 detalle - retencion 0.0 0.0 0.0 0.0 documento 235.0 0.0 0.0 3.9
[ 18 IESTADO - PERIODO 1498.01 25.01 0.0) 0.01
NOMBRE TABLA CONTADOR TABLAS
# TRANSACCIONES
0.0
19 20 21 22 23
32 33 34 35 36 37 38 39 40 41 42
ALTAS 0.0
form - SR1 form-SRI-TMP form - SR1 - TMP-2004 form-SR1-TMP-2004-2 form - SRI-TMP-2004-3
GRADO GRUPO-USUARIO MISTORICO-CONTRATOS HISTORICO-GASTOREP IDS imp-renta-2001 imprenta-200 1 -Anterior imp - renta-2002 imp - renta-2002-Anterior imp-renta2002Audqui imp - renta-2002New
MEDIAS 0.0
0.0 0.0
1254.0 1568.0 1526.0
BAJAS 0.0
2685.0 b '<f%B8PBL 1552.0
0.0 845.0
0.0 352.0 345.0 296.0 145 .O 113.0 98.0
0.0 0.0
20.9 26.1 25.4
44.8 25.9
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0
14.1 0.0 5.9 5.8 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 4.9 2.4 1.9 1.6
1 43 limp - renta - 2003 256.01 u.u] V . V J - t J
[ 45 Iimp - renta - 2004 - anterior 356.01 0.01 5.91 0.01
1 49 limp - renta - 2005 - Co~idecoracion 1 1875.01 31.31 0.01 0.01
46 47 48
1 50 limp - renta - 2005 - General 0.01 0.01 0.01 0.01
imp - renta - 2004-Bonos iinprenta - 2004-Condecoracion i m ~ renta 2004 General
5 1 52 53 54
1 63 \PAGO PROVISION 1 457.01 0.01 7.61 0.01
351.0 369.0 358.0
59 60 61
iinpuesto-renta impuesto - renta-2000 iinpuestorenta 1-2000 INGRESO VARIO
72 PERFIL - GRUPO-SYS 0.0 0.0 73 PERFIL-OPERACION-SYS 458.0 0.0 -- 74 PERIODO-ROL 0.0 0.0 75 PERIODOS DIFERENCIA 1589.0 26.5 0.0
0.0 0.0 0.0
OPCION-SISTEMA1 OPERACION-FORMA OTRO RUBRO
65 66 67 68
0.0 26.0 12.0 0.0
5.9 6.2 6.0
452.0 485.0 354.0
PARAMETRO-RUBRO PARAMETRO-SISTEMA parametros-sep PER ID3
78 79 80 81 82
0.0 0.0 0.0
0.0 0.0 0.0 0.0
84 85 86 87 88 89 90 9 1 92
0.0 0.0 0.0
0.0 1872.0 358.0
5873.0
persona-bk PERSONA - BK03 19 persona-fechas PERSONA - HISTORICO PERSONAL ASCENDIDO
0.0 0.0 0.0 0.0
PROVISION RANCHO REPARTO Results rol - diferencia ROL-HISTORICO rol-periodo rol-prueba RUBRO
0.0 0.4 0.2 0.0
7.5 8.1 5.9
0.0 31.2
0.0 97.9
0.0 0.0 0.0
10256.0 568.0
0.0 0.0 0.0
1548.0 265.0
0.0 0.0
129.0 0.0 0.0 0.0 0.0
0.0 0.0 6.0 0.0
0.0 0.0 0.0
170.9 0.0
0.0 0.0 0.0 0.0
25.8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 9.5
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0
0.0 0.0
0.0 4.4 0.0 0.0 2.2 0.0 0.0 0.0 0.0
1
RUBRO - decimo 0.0) 0.01 0.01 0.01 RUBRO-DIFERENCIA 0.0 0.0 0.0 0.0 RUBRO-GASTOREP 0.0 0.0 0.0 0.0 rubro-imprenta 0.0 0.0 0.0 0.0 rubro - imprenta1 0.0 0.0 0.0 0.0 rubro - imprenta99 193.0 0.0 0.0 3.2 RUBRO RELACIONADO 92.0 0.0 0.0 1.5 - 8 1 1 1
RUBRO VARIO 0.0 1 0.01 0.01 0.01
1 102 lrubro vario - ene 84.01 0.01 0.0 1 1.41 1 03 104 105 106 1 07 108
1 119 VARIO HISTORICO 1 42.01 0.01 0.0 1 0.71
1 14 115 116
rubro-vario-feb SISTEMA-SYS TABLEl TEMPO TIPO-CONTRATO TIPO CUENTA
valor-decimo valor - diciembre valor enero
vario-octubre vehiculos
Promedios de lectura diaria: Total tablas:
62.0 753.0 23 .O
259.0 0.0
3548.0
vehiculos-sep VEHICULOS 1 vivfis
0.0 44.0 35.0
125.0 0.0
0.0 0.0 0.0 0.0 0.0
59.1
0.0 0.0 0.0
0.0 0.0 0.0
0.0 0.0
0.0 12.6 0.0 0.0 0.0 0.0
0.0 0.0 0.0
1 .O 0.0 0.4 4.3 0.0 0.0
0.0 0.0 0.0
0.0 0.0
0.0 0.7 0.6
2.1 0.0
0.0 0.0 - 0.0
0.0 0.0 0.0
ANEXO G "CODIGO DEL CASE IMPLEMENTADO"
DECLARACION DE VARIABLES * Syopbase.java * Created on 19 de febrero de 2004,01:55 PM
package SYOPBASE; public class Syopbase extends javax.swing.JFrame {
/** Creates new form Syopbase*/ public Syopbase() {
initComponents(); // setRounds(250,80,700,650); int inset = 200;
Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize(); setBounds(inset + 100, inset, screenSize.width - inset*3, screenSize.height-
inset*2); 1
private void initComponents() { //Ingreso de todos los componentes jDesktopPane 1 = new javax.swing.JDesktopPane(); iconoNew = new
javax.swing.ImageIcon("C:\\forte4j\\bin\\fo~e4j\\sampledir\\SYOPBASE\\imagenes\\ New.gif ');
iconoopen = new . javax.swing.ImageIcon("C:\\forte4j\\bin\\forte4j\\sampledir\\SYOPBASE\\imagenes\\ 0pen.gif ');
iconosave = new javax.swing.ImageIcon("C:\\forte4j\\bin\\forte4j\\sampledir\\SYOPBASE\\imagenes\\ Save.gif ');
barraMenu = new javax.swing.JMenuBar(); consulta = new javax.swing.JMenu(); nuevaItem = new javax.swing.JMenuItem("Nueva",iconoNew); separador2 = new javax.swing.JSeparator(); abrirItem = new javax.swing.JMenuItem("Abrir", iconoopen); guardarItem = new javax.swing.JMenuItem("Guardar", iconosave); separadorl = new javax.swing.JSeparator(); salirItem = new javax.swing.JMenuItem(); editar = new javax.swing.JMenu(); ayuda = new javax.swing.JMenu(); temasItem = new javax.swing.JMenuItem(); acercaItem = new javax.swing.JMenuItem(); // Se Inicializa el panel
setTitle("SYOPBASEM); setResizable(false); getContentPane().setLayout(null); addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosingCjava.awt.event.WindowEvent evt) { exitForm(evt);
1 1); //Crear Panel getContentPane().addCjDesktopPane 1); jDesktopPane 1 .setBounds(O, 0, 700,600); // Menu Principal consulta.setText("Consulta"); nuevaItem.setFont(new java.awt.Font("Dialog", 1, 10)); nuevaItem.setText("Nueva"); consulta.add(nuevaItem); consulta.add(separador2); abrirItem.setFont(new java.awt.Font("Dialog", 1, 10)); abrirItem.setText("Abrir"); consulta.add(abrirItem); guardarItem.setFont(new java.awt.Font("Dialog", 1, 10)); guardarItem.setText("Guardar"); consulta.add(guardarItem); consulta.add(separador1); salirltem .setFont(new java.awt.Font("Dialog", 1, 10)); salirItem.setText("Salir"); . consulta.add(salirItem); barraMenu.add(consu1ta); editar.setText("Edicion"); barraMenu.add(editar); ayuda.setText("Ayuda"); CIB-ESPOL temasItem.setFont(new java.awt.Font("Dialog", 1, 10)); temasItem.setText("Temas de ayuda"); ayuda.add(temasItem); acercaItem.setFont(new java.awt.Font("Dialog", 1, 10)); acercaItem.setText("Acerca"); ayuda.add(acercaItem); barraMenu.add(ayuda); nuevaItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformedCjava.awt.event.ActionEvent evt) { nuevaItemActionPerformed(evt);
1 1); abrirItem.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { abrirItemActionPerformed(evt);
1 1): guardarItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {
guardarItemActionPerformed(evt); 1
> >; salirItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {
salirItemActionPerformed(evt); 1
> >; acercaItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {
acercaItemActionPerformed(evt); 1
1 ); setJMenuBar(barraMenu); P W);
1 private void nuevaltemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event~nuevaItemActionPerformed new Base().show();
) //GEN-LAST:event~nuevaItemActionPerformed 4
private void abrirltemActionPerformed(java.awt.event.ActionEvent evt) {//GEN- F1RST:event-abrirItemActionPerformed
Paneles aPaneles = new Paneles(); jDesktopPane 1 .add(aPaneles);
aPaneles.setClosable(true); aPaneles.setVisible(true); aPaneles.setBounds(80, 50, 500,400);
) //GEN-LAST:event-abrirItemActionPerformed private void guardarItemActionPerformed(java.awt.event.ActionEvent evt) { 1 private void salirItemActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0);
1 private void acercaItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event~acercaItemActionPerformed new Acerca().show();
) //GEN-LAST:event~acercaItemActionPerformed /** Exit the Application */
private void exitFormCjava.awt.event.WindowEvent evt) {//GEN- F1RST:event-exitForm
System.exit(0); )//GEN-LAST:event-exitForm public static void main(String args[]) {
new Syopbase().show(); 1 // Variables declaration - do not modify private javax.swing.JDesktopPane jDesktopPane 1 ; private Paneles jInternalPanel; private javax.swing.JMenuBar barraMenu; private javax.swing.JSeparator separador2; private javax.swing.JSeparator separadorl; private javax.swing.JMenu consulta; private javax.swing.JMenu editar; private javax.swing.JMenu ayuda; private javax.swing.JMenuItem salirItem; private javax.swing.JMenuItem acercaItem: private javax.swing.JMenuItem nuevaItem; private javax.swing.JMenuItem abrirItem; private javax.swing.JMenuItem guardarItem; private javax.swing.JMenuItem temasltem; private javax.swing.ImageIcon iconoNew; private javax.swing.1mageIcon iconoopen; private javax.swing.Image1con iconosave; // End of variables declaration
1 INDIVIDUAL package SYOPBASE; import java.io.* ; public class Individual implements Serializable { private Chromosoma chrom; private int L; private double fitness; public Individual(int L) { chrom = new Chromosoma(L);
fitness = 0.0; ,,S-.-,: -
this.L = L; <?% 1 (yJ public void print() 1 -2LJy +&J,( { chrom.print(); +&A %
System.out.print(" "); S esp 0%
System.out.println(fitness); Cm-ESPOL 1
public int get-length() { return L; 1 public void set-fitness(doub1e fit) { fitness = fit; 1 public double get-fitness() {
return fitness; } public void set-allele(int index, byte value) { chrom.set-allele(index,value);
1 public byte get-allele(int index) {
return chrom.get-allele(index); 1 private void copy(Chromosoma source, Chromosoma destination) {
for (int i=O; i<L; i++) { destination.set~allele(i,source.get~allele(i));
1 1
PANELES * Paneles.java
. * Created on 7 de marzo de 2004, 09:48 AM package SYOPBASE; //import javax.swing.table.* ; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.event.* ; import javax.swing.*; public class Paneles extends javax.swing.JInternalFrame {
/** Creates new form Paneles */ public Paneles( ) {
initComponents(); setBounds(50, 50, 500,400);
1 private void initComponents() {//EN-BEG1N:initComponents
frame = new javax.swing.JFrame(); jTabbedPane = new javax.swing.JTabbedPane();
iconoAdd = new javax.swing.ImageIcon("C:\\forte4j\\bin\\forte4j\\sampledir\\SYOPBASE\\imagenes\\ add.gif ');
iconoDel = new javax.swing.ImageIcon("C:\\forte4j\\bin\\forte4j\\sampledir\\SYOPBASE\\imagenes\\ del.gif ');
iconoGen = new javax.swing.ImageIcon("C:\\forte4j\\bin\\forte4j\\sampledir\\SYOPBASE\\imagenes\\ gen.gifl);
iconosave = new javax.swing.ImageIcon("C:\\forte4j\\bin\\forte4j\\sampledir\\SYOPBASE\\imagenes\\ Save.gifl);
basepanel = new javax.swing.JPanel(); basescroll = new javax.swing.JScrollPane(); baseTabla = new javax.swing.JTable(); baseBotonDe1 = new javax.swing.JButton("Eliminar",iconoDel); baseBotonGen = new javax.swing.JButton("Generar",iconoGen); discopanel = new javax.swing.JPanel(); discoScrol1 = new javax.swing.JScrollPane(); discoTabla = new javax.swing.JTable0; discoBotonAdd = new javax.swing.JButton("Adicionar",iconoAdd); discoBotonDel = new javax.swing.JButton("Eliminar",iconoDel); discoBotonSave = new javax.swing.JButton("Grabar",iconoSave); tablapanel = new javax.swing.JPanel(); tablaScroll = new javax.swing.JScrollPane(); tablaTabla = new javax.swing.JTable(); . tablaBotonAdd = new javax.swing.JButton("Adicionar",iconoAdd); tablaBotonDe1 = new javax.swing.JButton("Eliminar",iconoDel); tablaBotonSave = new javax.swing.JButton("Grabar",iconoSave); basedata = new BaseTablaDatos("Select * from Base"); discodata = new DiscoTablaDatos("Select Numero, Raid, Velocidad-escritura,
Velocidad lectura, Capacidad from Disco"); tabladata = new TablaTablaDatos("Se1ect Nombre,Concurrencia~escritura,
Concurrencia-lectura, Cantidad-columnas from Tabla"); // resuldata = new ResulTablaDatos("Select Cromosomal from Resultados" getContentPane().setLayout(null); jTabbedPane.setEnabled(false); basePanel.setName("Bases"); basePanel.setLayout(null); baseTabla.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0,
0, O), 1, true)); baseTabla.setForeground(new java.awt.Color(0, 0, 0)); baseTabla.setBounds(50,50,350,160); baseTabla.setModel(basedata);
baseScroll.setViewportView(baseTabla); basePanel.add(baseScroll); baseScroll.setBounds(50,50,350,160); basePanel.add(baseBotonGen); basepanel .add(baseBotonDel); baseBotonGen.setBounds(90,250, 120, 30); baseBotonGen.setEnabled(false); baseBotonGen.addActionListener(new java.awt.event.ActionListener() {
piiblic void actionPerformed(java.awt.event.ActionEvent evt) { baseBotonGenActionPerformed(evt);
1 1); baseBotonDel.setBounds(250, 250, 120, 30); baseBotonDel.setEnabled(fa1se); baseBotonDel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { baseBotonDelActionPerformed(evt);
1 1); !/Seleccion de Base baseTabla.setSelectionMode(ListSelectionModel.SINGLE~SELECTl0N); baseLista = baseTabla.getSelectionModel(); baseLista.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) { baseFilaSel(e);
1 . 1); jTabbedPane.addTab("Basesl', basepanel); discoPanel.setName("Discos"); discoPanel.setLayout(null); discoTabla.setBorder(new javax.swing.border.LineBorder(new
java.awt.Color(0, 0, O), 1, true)); discoTabla.setForeground(new java.awt.Color(0, 0, 0)); discoTabla.setBounds(50,50,350,160); discoTabla.setModel(discodata); discoScroll.setViewportView(discoTabla); discoPanel.add(discoScroll); discoScroll.setBounds(50,50,350,160); discoPanel.add(discoBotonAdd); discoPanel.add(discoBotonDel); discoPanel.add(discoBotonSave); discoBotonAdd.setBounds(50,250, 100, 30); discoBotonAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
discoBotonAddActionPerformed(evt); >
1); discoBotonDel.setBounds(180,250, 100, 30); discoBotonDel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformedCjava.awt.event.ActionEvent evt) { discoBotonDelActionPerformed(evt);
} 1); discoBotonSave.setBounds(3 10, 250, 100, 30); discoBotonSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformedCjava.awt.event.ActionEvent evt) {
discoBotonSaveActionPerformed(evt); >
1);
//Seleccion de disco discoTabla.setSelectionMode(ListSelectionModel.SINGLE~SELECTI0N); discoLista = discoTabla.getSelectionModel(); discoLista.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) { discoFilaSel(e);
> > ); jTabbedPane.addTab("Discos", discopanel); tablaPanel.setName("Tablas "); * tablaPanel.setLayout(null); tablaTabla.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0,
, O), 1, true)); tablaTabla.setForeground(new java.awt.Color(0, 0, 0)); tablaTabla.setBounds(50, 50, 350, 160); tablaTabla.setModel(tabladata); tablaScroll.setViewportView(tablaTabla); tablaPanel.add(tablaScrol1); tablaScroll.setBounds(50,50,350,160); tablaPanel.add(tablaBotonAdd); tablaPanel.add(tablaBotonDe1); CIB-ESPOL
tablaPanel:'add(tablaBotonSave); tablaBotonAdd.setBounds(50,250, 100, 30); tablaBotonAdd.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformedCjava.awt.event.ActionEvent evt) { tablaBotonAddActionPerformed(evt);
> > );
tablaBotonDel.setBounds(l80, 250, 100, 30): tablaBotonDel.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformedíjava.awt.event.ActionEvent evt) { tablaBotonDelActionPerformed(evt);
1 1); tablaBotonSave.setBounds(3 10, 250, 100, 30); tablaBotonSave.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(iava.awt.event.ActionEvent evt) { tablaBotonSaveActionPerformed(evt);
1 1); 11 Seleccion de tabla tablaTabla.setSelectionMode(ListSelectionMode1.SINGLE~SELECTION); tablaLista = tablaTabla.getSelectionModel(); tablaLista.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) { tablaFilaSel(e);
1 1); jTabbedPane.addTab("TablasU, tablapanel); getContentPane().addíjTabbedPane); jTabbedPane.setBounds(20, 20, 450, 320); p W ) ;
1 //Metodo de Botones de Base e
private void baseBotonGenActionPerformed~ava.awt.event.ActionEvent evt) { int row = baseLista.getMinSelectionIndex(); String al = (String)baseTabla.getValueAt(row, 2); String a2 = (String)baseTabla.getValueAt(row, 3); int a3 = Integer.parseInt(a1); int a4 = Integer.parseInt(a2); algoritmo = new Exe( a3,a4 );
1 private void baseBotonDelActionPerformedíjava.awt.event.ActionEvent evt) { int row = baseLista.getMinSelectionIndex(); b = (String)baseTabla.getValueAt(row, 1); System.out.println( b ); new Query ("DELETE FROM Base WHERE Nombre ="' + b + ""'); if (basedata.delete(row)) {
baseTabla.tableChanged(new TableModelEvent(basedata, row, row, TableModelEvent.ALLTableModelEvent.ALL_COLUMNS,TableModelEvCOLUMNS,TableModelEvent.INSERT));
baseTabla.repaint(); 1
1 //Metodos de Boton Disco private void discoBotonDelActionPerformed(java.awt.event.ActionEvent evt) {
int row = discoLista.getMinSelectionIndex(); String d = (String)discoTabla.getValueAt(row, O); System.out.println( d ); new Query("De1ete from Disco where numero = " + d + " AND id-base = (Select
id-base from Base where Nombre ="' + b + "')" ); if (discodatal .delete(row)) { discoTabla.tableChanged(new TableModelEvent(discodata1, row, row,
TableModelEvent.ALL~COLUMNS,TableModelEvent.INSERT)); discoTabla.repaint(); 1
1 private void discoBotonAddActionPerformed(java.awt.event.ActionEvent evt) {
int row = discoLista.getMinSelectionIndex(); discodatal .insert(row+l); discoTabla.tableChanged(new TableModelEvent(discodata 1, row, row,
Tab1eModelEvent.ALL-COLUMNS, TableModelEvent.lNSERT)); discoTabla.repaint(); 1
private void discoBotonSaveActionPerformed(java.awt.event.ActionEvent evt) { int row = discoLista.getMinSelectionIndex(); String n = (String)discoTabla.getValueAt(row, O); String r = (String)discoTabla.getValueAt(row, 1); String e = (String)discoTabla.getValueAt(row, 2); . String 1 = (String)discoTabla.getValueAt(row, 3); String c = (String)discoTabla.getValueAt(row, 4); new Query ("Insert into Disco (Numero, Raid, Velocidad-escritura,
Velocidad - lectura, Capacidad, id-base) values (" + n + "," + r + "," + e + "," + 1 + "," + c + "," + id + ")");
JOptionPane.showMessageDialog(frame, "Disco Ingresado"); 1
// Metodo de Boton Tabla private void tablaBotonDelActionPerformed(java.awt.event.ActionEvent evt) {
int row = tablaLista.getMinSelectionIndex(); String t = (String)tablaTabla.getValueAt(row, O); System.out.println( t ); new Query("De1ete from Tabla where Nombre = "' + t + "' AND id-base =
(Select id-base from Base where Nombre ="' + b + "')" ); if (tabladata l .delete(row)) { tablaTabla.tableChanged(new TableModelEvent(tabladata1, row, row,
TableModelEvent.ALL~COLUMNS,TableModelEvent.INSERT)); tablaTabla.repaint();
1 1 private void tablaBotonAddActionPerformedCjava.awt.event.ActionEvent evt) {
int row = tablaLista.getMinSelectionIndex(); tabladata 1 .insert(row+I); tablaTabla.tableChanged(new TableModeIEvent(discodata1, row, row,
TableModelEvent.ALL-COLUMNS, TableMode1Event.lNSERT)); tablaTabla.repaint();
1 private void tablaBotonSaveActionPerformedCjava.awt.event.ActionEvent
evt) { int row = tablaLista.getMinSelectionlndex(); String n = (String)tablaTabla.getValueAt(row, 0); String r = (String)tablaTabla.getValueAt(row. 1): String e = (String)tablaTabla.getValueAt(row, 2); String 1 = (String)tablaTabla.getValueAt(row, 3); System.out.println( n + r + e -t 1 + id ); new Query ("lnsert into Tabla (Nombre, Concurrencia-escritura,
Concurrencia-lectura, Cantidad-c~lumnas,id~base) values ( "' +n+"',"+r+","+e+","+l+","+id+")"):
JOptionPane.showMessageDialog(frame, "Tabla Ingresada"); 1
//' Metodos de seleccion public void baseFilaSel(ListSelectionEvent e) { if (e.getValuelsAdjusting()) return; baseLista =(ListSelectionModel)e.getSource(); if (baseLista.isSelectionEmpty()) {
System.out.println("No rows are selected."); } else {
baseBotonGen.setEnabled(true); baseBotonDel.setEnabled(true); jTabbedPane.setEnabled(true); int selectedRow = baseLista.getMinSelectionlndex(); id = (String)baseTabla.getValueAt(selectedRow O); b = (String)baseTabla.getValueAt(selectedRow, 1 ); System.out.println( b + id ); discodatal = new DiscoTablaDatos("Select Numero, Raid, Velocidad escritura.
Velocidad-lectura, Capacidad from Disco where id-base = (Select id-base from Base where Nombre = "' + b + "') order by Numero");
tabladatal = new TablaTablaDatos("Select Nombre,Concurrencia-escritura, Concurrencia-lectura, Cantidad-columnas from Tabla where id-base = (Select id - base from Base where Nombre = "' + b + "') order by Nombre");
discoTabla.setModeI(discodata1); tablaTabla.setModel(tabladata1);
} 1 private void discoFilaSel(ListSe1ectionEvent e) { if (e.getValueIsAdjusting()) return; discoLista = (ListSelectionModel)e.getSource(); if (discoLista.isSelectionEmpty()) {
System.out.println("No rows are selected."); ) else {
int selectedRow = discoLista.getMinSelectionIndex(); String d = (String)discoTabla.getValueAt(selectedRow, O); System.out.println( b + d );
1 1 private void tablaFilaSel(ListSe1ectionEvent e) { { if (e.getValueIsAdjusting()) return; tablaLista = (ListSelectionModel)e.getSource(); if (tablaLista.isSelectionEmpty()) {
System.out.println("No rows are selected."); CIB-EGPOL ) else {
int selectedRow = tablaLista.getMinSelectionIndex(); String t = (String)tablaTabla.getValueAt(selectedRow, O); System.out.println( t );
1 > > // Variables declaration - do not modi@//EN-BEG1N:variables private javax.swing.JFrame frame; e
private javax.swing.JTabbedPane jTabbedPane; private javax.swing.JTable baseTabla; private javax.swing.JScrollPane basescroll; private javax.swing.JPane1 basepanel; private javax.swing.ListSelectionMode1 baselista; private javax.swing.JButton baseBotonDel; private javax.swing.JButton baseBotonGen; private javax.swing.JTable discoTabla; private javax.swing.JScrollPane discoScrol1; private javax.swing.JPane1 discopanel; private javax.swing.ListSe1ectionModeI discolista; private javax.swing.JButton discoBotonAdd; private javax.swing.JButton discoBotonDe1; private javax.swing.JButton discoBotonSave; private javax.swing.JTable tablaTabla; private javax.swing.JScrollPane tablascroll; private javax.swing.JPane1 tablapanel; private javax.swing.ListSelectionMode1 tablalista;
private javax.swing.JButton tablaBotonAdd; private javax.swing.JButton tablaBotonDe1; private javax.swing.JButton tablaBotonSave; private javax.swing.ImageIcon iconoAdd; private javax.swing.ImageIcon iconoDel; private javax.swing.ImageIcon iconoGen; private javax.swing.Image1con iconosave; public BaseTablaDatos basedata; public BaseTablaDatos basedatal ; private DiscoTablaDatos discodata; private TablaTablaDatos tabladata; private DiscoTablaDatos discodatal ; private TablaTablaDatos tabladatal; private String b; private String id; private Exe algoritmo; // End of variables declaration
1
PROBLEMAS BASE package SYOPBASE; public class ProblemaBase extends Problema { public double Evaluate(Individua1 Indiv) { return BASE(1ndiv);
1 private double MMM4(Individual indiv)
{ int i, j, index, len; int unitation; double v; v = 0.0; index = 0; len = CL; for(i=O; i<len; i++) { unitation = 0; for(j=O; j<3; j++) if(indiv.get-allele(index++)==l) unitation++; switch (unitation)
{ case O : v += 1.000000; break; case 1 : v += 0.000000; break; case 2 : v += 0.000000; break; case 3 : v += 0.000000; break;
1 1 indiv.set-fitness(v); return v;
1 private static int w[]={0001, 0010, 001 1, 0100, 0101, 01 10, 01 1 1 , 1000, 1001,
1010, 101 1, 1100, 1101, 11 10, 11 11); private static int C = 300500; private double SUBSET-SUM(Individua1 indiv) { int i; double fitness = 0.0; if(CL!=OO 1)
System.out.println("Length mismatch error in Subset sum function."); for( i=O; i<CL; i++ )
fitness += indiv.get-allele(i)*w[i]; if (fitness>C) { fitness = C - fitness*O. 1 ;
if(fitnesS0.0) fitness=O.O; 1 indivset-fitness(fitness); retum fitness;
1 private static int N; // longitud del cromosoma private static int P = 4; private static short peak[][]; private double BASE(Individua1 indiv) { double fitness = 0.0; int nearestgeak; int j, p, hd; if(fitness-counter== 1) { N = indiv.get-length(); peak = new short[P][N]; for(p=O;p<P;p*) { for(j=O;j<N;j*) if(r.nextDouble()<OS) peak[pl ti1 = 1 ; else peak[p]U] = 0;
1 1 nearestgeak = 0; for(p=O; p<P; p*) {
// Compute Hamming distance for(hd=Oj=O;j<N;j*) if(peak[p] u] !=indiv.get-alleleu)) hd++; if((N-hd)>nearestqeak)
nearestgeak = N-hd; 1 fitness = (doub1e)nearestgeak 1 (doub1e)N; indivset-fitness(fitness); retum fitness;
1 1
ALGORITMO package SYOPBASE; import java.util.Random; public class Algoritmo { private int chrom-length; private int gene-number; // Numero de tablas en cada chromosome private int gene-length; // Numero de discos por gene private int popsize; // Number of individuals in the population private double pc, pm; // Probability of applying crossover and mutation private Problema problema; // The problem being solved private Poblacion pop; // The population private static Random r; // Source for random values in this class private Individual aux-indiv; // Interna1 auxiliar individual being computed // CONSTRUCTOR public Algoritmo(Problema p, int popsize, int gn, int gl, double pc, double pm)
/*throws Exception*/ { this.gene-number = gn; this.gene-length = gl; this.chrom-length = gn*gl; this.popsize = popsize; this.pc = pc; this.pm = pm; CIB-ESPOL this.problema = p; this.pop = new Poblacion(popsize,chrom~length);// G-eate initial population this.r = new Random(); this.aux-indiv = new Individual(chrom-length); for(int i=O;i<popsize;i++) trY {
pop.set-fitness(i,problema.evaluateStep(pop.get-ith(i))); ) catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace();
} pop.compute-stats();
} // BINARY TOURNAMENT public Individual select-tournamento throws Exception { int p 1, p2;
Individual ahdividual = null; pl = (int)(r.nextDouble()* (doub1e)popsize + 0.5); // Round and then trunc to int
if(p 1 >popsize- 1) p l=popsize- 1 ; do { p2 = (int)(r.nextDouble()*(double)popsize + 0.5); // Round and then trunc to int if(p2>popsize- 1) p2=popsize-1;
) while (pl == p2); try {
if (pop.get-ith(p l).get-fitness()>pop.get-ith(p2).get_fitness()) alndividual = pop.get-ith(p1);
else aIndividua1 = pop.get-ith(p2);
) catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace();
1 return aIndividua1;
1 // punto de crossover - solamente es creado un hijo (randomicamente descartamos
los otros) public Individual SPX (Individual p 1, Individual p2) { int rand; rand = (int)(r.nextDouble()*(double)chrom~length - 1 + 0.5); // From O to L-1
rounded if(rand>chrom-length- 1)
rand = chrom length-1; if(r.next~ouble()>~c) // If no crossover then randomly returns one parent return r.nextDouble()>O.5?pl :p2; // Copy CHROMOSOME 1 for (int i=O; icrand; i++) { aux-indiv.set-allele(i,pl .get-allele(¡));
1 // Copy CHROMOSOME 2 for (int i=rand; i<chrom - length; i++) { aux-indiv.set-allele(i,p2.get-allele(i));
1 return aux-indiv;
1
// MUTACION BINARIA DEL CROMOSOMA public Individual mutate(Individua1 p l ) { byte alelle=O;
Random r = new Random();
aux-indiv.assign(p 1 ); for(int i=O; i<chrom-length; i++) if (r.nextDouble()<=pm) // Check mutation bit by bit ... { if(aux-indiv.get-allele(i)==l) aux~indiv.set~allele(i,(bSe)0); else aux-indiv.set-allele(i,(byte) 1 );
} return aux-indiv;
} // REMPLAZO DEL PEOR INDIVIDUO public void replace(Individua1 new-indiv) //throws Exception { try {
pop.set~ith(pop.get~worstp(),new~indiv); } catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace();
} pop.compute-stats(); // Recompute avg, best, worst, etc.
} // EVALUACION DE LA FUNCION FITNESS A UN INDIVIDUO private double evaluateStep(Individua1 indiv) . { return problema.evaluateStep(indiv);
1 public void go-one-step()// throws Exception { t1-Y {
aux-indiv.assign( SPX(se1ect-tournament(),select - tournamento) ); } catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace();
} aux~indiv.set~fitness(problema.evaluateStep(mutate(aux~indiv))); replace(aux-indiv);
1 public Individual get-solution()// throws Exception {
Individual aIndividua1 = null; try {
ahdividual = pop.get-ith(pop.get-bestp()); ) catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace();
)// The better individual is the solution return aIndividual;
1 public int get-worstp() { return pop.get-worstp(); ) public int get-bestp() { return pop.get-bestp(); ) public double get-worstf() { return pop.get-worstf(); ) public double get-avgf() { return pop.get-avgf(); ) public double get-bestf() { return pop.get-bestf(); ) public double get-BESTF() { return pop.get-BESTF(); ) public Individual get-ith(int index)// throws Exception
{ Individual ahdividual = null;
try { alndividual = pop.get-ith(index);
) catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace();
) return ahdividual;
1 public void set-ith(int index, Individual indiv)// throws Exception { . try {
pop.set-ith(index,indiv); ) catch (Exception e) {
// TODO Auto-generated catch block e.printStackTrace();
) 1
1 // END OF CLASS: Algorithm
POBLACION package SYOPBASE; public class Poblacion { // PRIVATE MEMORY private int popsize; // numero de individuos private Individual pop[]; // vector de individuos private int chrom-length; // longitud del cromosoma // STATISTICS private int bestp; // Tposiciona el mejor individuo private int worstp;// posiciona el peor individuo private double bestf; // presenta la mejor poblacion private double avgf; // el promedio de la mejor poblacion private double worstf;// el peor de la presente poblacion private double BESTF; // Te1 mejor de la presente poblacion public Poblacion(int ps, int chroml) { popsize = ps; POP = new Individual[popsize]; chrom-length = chroml; for(int i=O;i<popsize;i++) pop[i] = new Individual(chroml);
l / Initialize statistics bestp = O; worstp = 0; bestf = 0.0; avgf = 0.0; worstf = 9999999999.0; BESTF = 0.0;
1 . public int get-popsize() t return popsize;
} public int worst-pos() { return worstp;
} CIB-ESPOL public Individual get-ith (int index) throws Exception { if ((index<popsize) && (index>=O)) return pop[index]; else throw new Exception("1ndex out of range when getting a copy of an individual");
1 public void set-ith(int index, Individual indiv) throws Exception { if ((index<popsize) && (index>=O))
pop[index].assign(indiv); else throw new Exception("1ndex out of range when inserting and individual"); compute-stats();
1 public void set-fitness( int index, double fitness ) //throws Exception { pop[index] .set-fi tness(fitness);
1 public void compute-stats()
{ double f, total; // Initialize values (always needed!!!) total = 0.0; worstf = pop[O].get-fitness(); worstp = 0; bestf = pop[O].get-fitness(); bestp = 0; for(int i=O;i<popsize;i++) { f = pop[i].get-fitness(); if(f<=worstf) {worstf = f; worstp = i;} if(b=bestf) {bestf = f; bestp = i;} if(f>=BESTF) {BESTF = f; 1 total += f;
1 avgf = total/(double)popsize;
1 public int get-worstp() { return worstp; ) public int get-bestp() { return bestp; ) public double getworstf() { return worstf; ) public double get-avgf() { return avgf; ) public double get-bestf() { return bestf; ) public double get-BESTF() { return BESTF; ) /** public void print()
{ for(int i=O;i<popsize;i++) { System.out.print(i);
System.out.print(" "); for(int j=O;j<chrom-length;j++) System.out.print(pop[i].get-allele(')); System.out.print(" "); System.out.println(pop[i].get - fitnesso);
1 1
BASE package SYOPBASE; import java.sql.*; import javax.swing.*; public class Base extends javax.swing.JDialog { private static final String DRIVER =
"com.microsofi.jdbc.sqlserver.SQLServerDriver~~; private static final String URL =
'~dbc:microsofi:sqlserver://localhost: 1 433;DatabaseName=Syopbasen; public Base() {
initComponents(); setBounds( 500, 300. 300,250 );
1 /** This method is called from within the constructor to * initialize the forrn. * WARNING: Do NOT madi@ this code. The content of this method is * always regenerated by the Form Editor. */
private void initComponents() {//EN-BEG1N:initComponents frame = new javax.swing.JFrame(); jLabel 1 = new j avax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jTextField1 = new javax.swing.JTextField(); jTextField2 = new javax.swing.JTextField(); jTextField3 = new javax.swing.JTextField(); jButton1 = new javax.swing.JButton(); CIB-ESPOL getContentPane().setLayout(null); setTitle("Base de Datos"); addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosingCjava.awt.event.WindowEvent evt) { closeDialog(evt);
1 1); jLabell .setText("Nombre de la Base"); getContentPane().add(jLabel 1); jLabell .setBounds(30, 30, 1 10, 16); jLabel2.setText("Numero de Discos"); getContentPane().addCjLabel2); jLabel2.setBounds(30, 60, 1 10, 16); jLabel3.setText("Numero de Tablas"); getContentPane().addCjLabel3); jLabel3.setBounds(30, 90, 1 10, 16); getContentPane().addCjTextField 1 );
jTextField1 .requestFocus(); jTextField1 .setBounds(l60, 30, 100,20); getContentPane().add(jTextField2); jTextField2.~etBounds(160, 60, 100,20); getContentPane().add(jTextField3); jTextField3.~etBounds(l60, 90, 100, 20); jButtonl .setBackground(new java.awt.Color(l53, 153, 153)); jButtonl .setText("AceptarU); jButton 1 .addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { jButton 1 ActionPerformed(evt);
} >>; getContentPane().add(jButtonl ); jButton 1 .setBounds(100, 170, 79, 26); pack0;
} private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
F1KST:event jButton 1ActionPerformed insertaBase(); JOptionPane.showMessageDialog(frame, "Base Ingresada"); setVisible(fa1se); dispose();
// NUEVO Disco(new javax.swing.JFrame(), true).show(); )/'/GEN-LAST:event jButton 1ActionPerformed public void insertaBase (){ .
String m-query = "Insert INTO Base (Nombre, Numero-discos, Numerotablas) values("' + jTextField1 .getText()+ "'," + jTextField2.getTextO + "," + jTextField3.getTextO + ")";
try C // Class.forName("sun.jdbc.odbc.Jdbc0dbcDriver"); // Connection conn = DriverManager.getConnection( '~dbc:odbc:local");
Class.forName(DR1VER); Connection conn = DriverManager.getConnection(URL, "atapia", "atapia"); conn.setTransactionlsolation(Connection.TRANSACTION~READ~UNCOMM1TTE D);
Statement stmt = conn.createStatement(); stmt.executeUpdate(m-query); stmt.close(); conn.close();
1 catch (Exception e) { e.printStackTrace(); System.err.println("Load data error: "+e.toString());
1 1
private void closeDialog('java.awt.event.WindowEvent evt) {//GEN- F1RST:event~closeDialog
setVisible(fa1se); dispose();
)//GEN-LAST:event-closeDialog // Variables declaration - do not modiS///GEN-BEG1N:variables private javax.swing.JButton jButton1; private javax.swing.JTextFie1d jTextField3; private javax.swing.JTextFie1d jTextField2; private javax.swing.JTextFie1d jTextFieId1; private javax.s&ing.~label jLabel3; private javax.swing.JLabe1 jLabel2; private javax.swing.JLabe1 jLabell ; 11 End of variables declaration//GEN-END:variables private javax.swing.JFrame frame;
CROMOSOMA package SYOPBASE; import java.util.Random; import java.io.* ; public class Chromosoma implements Serializable { private byte alleles[]; // Allele vector private int L; // Length of the allele vector private static Random r = new RandomO; // Only the first time it is initialized // CONSTRUCTOR - FILL UP THE CONTENTS public Chromosoma(int length) { alleles = new byte[length]; L = length; for (int i=O; i<length;i++) if(r.nextDouble()>OS) // Returns values in [O.. 11 alleles[i] = 1 ; else alleles[i] = 0;
1 public void set-allele(int index, byte value) { alleles[index] = value;
1 public byte get-allele(int index) { return alleles[index];
1 public void print() { for(int i=O; i<L; i++) System.out.print(alleles[i]);
1 1 // END OF CLASS: Chromosome
PACKAGE SYOPBASE package SYOPBASE; public class Exe { public Exe(int d, int t) /*throws Exception*/ {
int numtabla = t; int numdisco = d;
// int numtabla = 80; // numero genes // int numdisco = 5; // longitud genes
int popsize = 5 12; // Population size double pc = 0.8; // Probabilidad de cruzamiento
double pm = 1 .O/(double)((double)numtabla*(double)numdisco); // probabilidad de mutacion
double tf = (double)l ; long MAX-ISTEPS = 100000; byte[] arrayOfByte = new byte[ 10001; Problema problema; problema = new ProblemaBase(); problema.set geneN(numtab1a); problema.se~gene~(numdisco); problema.set-target-fitness(tf); Algoritmo ga; ga = new Algoritmo(problema, popsize, numtabla, numdisco, pc, pm); for (int step=O; step<MAX-ISTEPS; step++) {
ga.go-one-step(); . System.out.print(step); System.out.print(" "); System.out.println(ga.get-bestf()); if((problema.tf-known()) &&
(ga.get~solution()).get~fitness()>=problema.get~target~fitness()) { System.out.print("Solucion encontrada despues de "); System.out.print(problema.get fitness-countero); System.out.println(" evaluacio~es"); break;
1 1 // Imprime la solucion
for(int i=O;i<numtabla*numdisco;i++) { arrayOfByte [i] = (ga.get-solution()).get-allele(i);
// System.out.print( (ga.get-solution()).get-allele(i) + " " ); for( int j=l;j<numtabla*numdisco;j++ ) if (i == Cj*numdisco)-1) System.out.print(" ");
CI&ESPOL
for (int x=O;x < numtabla;x++) { System.out.print("Tabla # " + x + ": " ); for (int y=O;y < numdisco;y++) {
System.out.print( arrayOfl3yte [y + (x*numdisco)] + " "); 1 System.out.print("\n");
1 1
1 11 END OF CLASS: Exe
PROBLEMA ackage SYOPBASE; import java.util.Random; public abstract class Problema // Optimizacion {
protected int GL= 1 1 ; // longitud del den en binario protected int GN=1000; // numero de gen en string protected int CL=GN*GL; // longitud del cromosoma protected long fitness-counter; // numero de evaluaciones protected double target-fitness; protected boolean tf-known; protected static Random r = new Random(); // Randomizacion del gen public Problema() {
C L, = GN*GL; fitness-counter = 0; tf-known = false; target-fitness = -999999.9;
1 public int get-genel() { return GL; } public int get-geneN() { return GN; ) public void set-geneL(int gl) { GL = gl; CL=GN*GL; ) piiblic void set-geneN(int gn) { GN = gn; CL=GN*GL; ) public long get_-fitness-counter() { return fitness-counter; ) public double get-target-fitness() { return target-fitness; } public boolean tf-known() { return tf-known; } public void set-target-fitness(doub1e tf) { .
target-fitness = tf; tf-known = true;
1 public double evaluateStep(
fitness-counter++ ; return Evaluate(1ndiv)
1
:Individual lndiv) {
public abstract double Evaluate(1ndividual Indiv) ; 1 11 END OF CLASS: Problem
CIB-ESPOL
ANEXO H
Tabla 3.8 Matriz posibles cruzamientos de tablas
:jt
M p
a.3
iisa
en
eqii
lpos
nue
vos)
1 '
1 /1
1 U
i.i:l
/SE
,~C
DT
E CW
ST
AL
REP3RT V
FX
SIL
>N 3
EO
N
VE
INTE
-
MIL
DO
SG
EN
TO
S S
ET
EN
I*
DO
S
1Ci1
00 U
? D
OLA
R-
OB
SE
RV
AC
lOh
ES
: P
rod
ucl
os
alte
rnat
ivo
s pa
ra u
so
co
n e
qu
ipo
s ex
iste
nte
s..
ANEXO K Cotización Empresa TECNOPLUS
ANEXO "D"
Son: Veinte y tiea mil doscientos sesenta y tres; 521100 Dblaros An.- nos
e-mall: [email protected] 4c:fo - Ecuador www.tecnoplus-ec.com
ANEXO L Cotización Empresa MC System
CLIENTE UIRFCCION GTNEWIL DFL PERSONAL DE LA ARMADA
ATCNCION Calm Valdemar Sanchez V
F r C l IA 30-Dlc-04
PROFORMA # 2034
CAN l lUAU ULCCHIPCION
1 3 Licencias de Wi~iduws 2(K)3 Seivei
Medio de iiidalao6ii de SQL Server 2000 (CD)
Medio de ~nstalaoión de Wtndows Server Z(M3 (CD)
i
I I Validez do la oferta 15 diai Forma de pago Contraentrega
Tiempo de entrega Licenoas Microsoft 5 diañ
@ L.icenci;as y medio de inslalaciOn do Symantoc 15 dias
Medio de instalacion de SOL Y Windows 15 dias
Atontamente. t
F' UNITARIO IOTAI.
* Subtotal
12% IVA TOTAL
Sita Carmen ~ & a Villón
Cel094640751 .
ANEXO M Cotización Empresa ORCOIN S.A.
ORCOIN S. A. nuc. oo~i;i.i~esoor
ANEXO N Cotización Empresa TECMOCOMP
I'ECMOCOMP UIRWiún El Morfan 0 1270 7 Cása Fnnk
TalaFax 213774 - 7408345
PROFORMA CIIS~U' DlGPER ~ . c h a 30 de ~ i 1 ~ m e i e d.31 L M I ~
Ai.ocldn Cilm VMemar SANGHEZ Ver. Monedi Miares
C.flP m d o r del Pemn3 de I i Amada
Cludid' rniiyi)~~ U0 pi 791.140
kg. Guslsvo Ron Toiedo Pmmm Omn.1 TECMOCOMP
ANEXO O FACTURA MC SYSTEM
FramJsw de Pedo Icaza U407 y Genemi Cbrdws, Edmb EIAKi, Plso 4, m1M 401 T~híbnos 2304 1s - 2304ü29
23~022 wg742fi72 mí-ml- N? 0 0 0 2 3 8 9 smag mcsyJIem@eRsynel nel ec Guayaqurl -Ecuador
Aulorlracl6n SR1 10959716ú3
U.C. 0992273321001
€CM: 30-DIC-04 -- WNTE: DIRECCION GtNERAL DEL PERSONAL DE LA ARMADA
~~ AV-25 DE I IJUO VIA PIJERTO MARITIMO
O968562100001 TELEFONO. (
D f S C R l P C l O N
L.iccncias de SQL Server ll0W
Licencias de windows 2Wi3 S e ~ e r .. - .. I . I
Medto de instalactón de SQL Server 2000 (CD)
Medio de instalación de windows Server 2003 (CI
Favor emitir tlieque a riombre de MC SY!
Swi: Cuatro mil seiscientos setenta y cuatro con 15/1íiOUB - TOTAl USS
- Dólares USA IVA. U%
FORMA DE PAW /.VA. 12%
TOTAL OS:
ANEXO P TRlGGER DE LA TABLA PERSONA CIEESPOL
Para actualización (escritura) ..................................................................................... 1 Para un reingreso (sobre-escritura) ........................................................................... 48 Para un campo en especial de consulta (lectura) ....................................................... 53
Estos trigger son de autoria de Escuela Politécnica Nacional, al igual que el Sistema integrado de Personal de la Armada
Para actualización (escritura)
/* Trigger para registrar los cambios en los campos realizados en sobre la tabla PERSONA
Para cada actualización realizada sobre algún campo de la tabla persona se guarda un registro en la tabla TRANSACCTON con la información del campo actualizado y el valor anterior y el actual para este campo. Además se guarda el usuario responsable de la actualización y la fecha de la misma. Fecha de modificación : 01/08/2000 * /
CREATE trigger upd-persona-ins on PERSONA for update as declare @rows int, @ANTERIOR-VALOR varchar(50), @ACTUAL - VALOR varchar(50),
@TRA 1D int, @PER-ID int, @USR-MOD varchar(lO),@TRA-TAB - ID int, @ ~ o & ~ o n e x i o n varchar(l28), @Usuario varchar(l28), @Maquina varchar(l28)
select @rows = @@rowcount if @rows = O
return
select @TRA-ID = isnull((select MAX(TRA-ID) from TRANSACCION),O)
-- Información del usuario y máquina de conexión SELECT @LoginConexion = SYSTEM-USER SELECT @Usuario = USER
SELECT @Maquina = HOST-NAME()
-- Código de Diplomado if update (DIP-COD) begin
select @ ANTERIOR-VALOR = isnul I(d.DIP-COD, "") from deleted d select @ACTUAL-VALOR = isnull(i.DIP-COD,""), @PER-ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR begin
select @TRA ID = O T R A ID + 1 iiisert into TRANSACCION (TRA-ID, TRA-TABLA, TRA PER-ID, TRA TAB-ID, TRA CAMPO,
TKA VALOR ANT, TRA-VALOR-ACT, USR - MOD, FEC-MOD, HOSTNAME, U S U ~ R I O , TRA OPERACION)
values ( ~ ~ ' T R A ID, u ~ ~ ~ ~ ~ ~ ~ H , @PER-ID, @PER-ID, H ~ ~ ~ - ~ ~ ~ M .
IL~ANTERIOR-VALOR, @ACTUAL VALOR, Itririi(@LoginConexion), @date(), ~rim((o)Maquina). Itrim(@Usuario), "M")
-- S E AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina whei-e PER - ID = @TRA-TAB-ID
end end
-- Estado Civil if update (EST-CIV-COD) begin
select @ANTERIOR-VALOR = isnull(d.EST - CIV-COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.EST-CIV - COD,""), @PER - ID = i.PER - ID.
@USR-MOD = i.PER-IJSR-MOD from inserted i if @ANTERIOR - VALOR <> @ACTUAL-VALOR begin
select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA-TABLA, TRA-PER-ID. TRA-TAB-ID, TRA CAMPO,
TRA-VALOR-ANT. TRA-VALOR-ACT, USR - MOD, FEC-MOD. HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA-ID, "PERSONA", @PER-ID, @PER-ID, "EST CIV-COD", @ANTERIOR VALOR, @ACTUAL VALOR, l t r i m ( @ ~ o ~ i n ~ o n e i i o n ) , getdateo. l t r i m ( @ ~ a ~ u i < a ) , ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = OMaquina where PER-ID =@TRA-TAB-ID
end end
-- Tipo de Sangre if update (TIP-TIP-SAN-COD) begin
select @ANTERIOR-VALOR = isnull(d.TIPTIP-SAN-COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.'TlP-TIP-SAN-COD,""), @PER-ID =
i.PER - ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select OTRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME. USUARIO, TRA-OPERACION)
values (OTRA-ID, "PERSONA", @PER-ID, @PER-ID, "TIP TIP SAN-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, 1 t r i m ~ ~ ~ ~ ~ i n ~ o n e x i o n ) l getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Código de Brevet if update (TIP2-TIP-BRE-COD) begin
select @ANTERIOR-VALOR = isnuII(d.TIP2-TIP-BRE-COD," ") CIB-ESPOL from deleted d select @ACTUAL-VALOR = ~S~U~~(~.TIP~-TIP~BRE-COD,~"'). @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select OTRA-ID = @TRA-ID + 1 insert into TRANSACCION
(TU-ID, T W T A B L A , TR&PER-ID, TRA-TAB-ID, TRA-CAMPO, TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER ID, @PER-ID, "TIP2-TIP-BRE-COD", @ANTERIOR-VALOR, @ACTUAL VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), ltrim(@uiuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER WRST-MOD = @Maquina where PER - ID =@TU-TAB-16
end end
-- Código de Tipo de Empleado if update (TIP3-TIP-EMP-COD) begin
select @ANTERIOR-VALOR = ~s~u~~(~.TIP~-TIP-EMP-COD,~~~~) from deleted d select @ACTUAL VALOR = ~S~U~~(~.TIP~-TIP-EMP-COD,~~~~), @PER - ID =
i.PER-ID, @usR-~¡OD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRATABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA VALORACT, USR-MOD,*FEC-MOD, HOSTNAME. USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, 11TIP3-TIP-EMP-COD11, @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA - TAB-ID
end end
-- Código de Perfeccionamiento if update (PER-PERF-COD) begin
select @ANTERIOR-VALOR = isnull(d.PER-PERF - COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-PERF-COD,""), @PER - ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i
if @ANTERIOR-V ALOR 0 @ACTU AL-V ALOR begin
select @TU- ID = OTRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-PERF-COD", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, l t r im(@~a~ui<a) , Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-W~T-MOD = @Maquina where PER-ID =@TRATAB-ID
end end
-- Código de Tipo de Sexo
begin select @ANTERIOR-VALOR = isnull(d.SEX-SEX-COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.SEX~SEX~COD,""), @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUALVALOR begin *
select @TU- ID = OTRA-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA-VALOR-ANS, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "SEX SEX-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, l t r i m ( @ ~ o ~ i n ~ o n e ~ i o n ) , getdateo, Itrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID
end end
-- Código de País if update (PAI-PAI-COD) begin
select @ANTERIOR-VALOR = isnull(d.PAIPAICOD,'"')
from deleted d select @ACTUAL-VALOR = isnull(i.PAI~PAI~COD,""), @PER-ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR begin
select @ T U - I D = @ T U - I D + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PAI-PAI-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRA-TAB-ID
en d end
-- Código de Condición de Trabajo i f update (CON-CON-TRA-COD) begin
select @ANTERIOR - VALOR = isnull(d.CON~CON~TRA~COD,"") from deleted d select @ACTUAL VALOR = ~s~u~~(~.CON-CON-TRA-COD,~"'), @PER-ID =
~.PER-ID, @USR-MOD = ~.PER-USRMOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @ T U - I D + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, T ~ V A L O R A C T , USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "CON-CON-TRA-COD", @ANTERIOR-VALOR, @ACTUAL VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), ltrim(@usu&io), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID
end end
-- Código de División Política Ecuador if update (DIV-DIV-COD) begin
select @ANTERIOR - VALOR = isnull(d.DIV-DIV - COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.DIV-DIV-COD,""), @PER-ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select OTRA ID = OTRA-ID + 1 insert into T ~ ~ N S A C C I O N (TRA-ID, TRATABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALORACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "DIV-DIV-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = BMaquina where PER-ID =@TRATAB-ID
-
end end
-- Código de Calificación de Seguridad if update (CAL-CAL-SEG-COD) begin
select @ANTERIOR - VALOR = isnull(d.CAL-CAL-SEG-COD," ") from deleted d select @ACTUAL-VALOR = ~S~UI~(~.CAL-CAL-SEG~COD,""), @PER - ID =
i.PER-ID, @USR-MOD = i.PER-USR - MOD from inseried i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR begin
select @TU- ID = OTRA-ID + 1 insert into TRANSACCION (TU-ID, TRATABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA-ID, "PERSONA", @PER-ID, @PER-ID, "CAL-CAL-SEG-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina
where PER - ID =@TRATAB-ID end
end
-- Identificador de Gra ... if update (PRO-PRO-GRA-IDEN) begin
select @ANTERIOR-VALOR =
isnull(convert(varchar(l28),d.PRO~PRO~GRA~IDEN),"") from deleted d select @ACTUAL-VALOR =
isnul I(convert(varchar(l28),i.PRO PRO - GRA - IDEN)," "), @PER - ID = i.PER - ID, @USR-MOD = ~.PER-USR - MOD
from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TU- ID = @TU-ID + 1 insert into TRANSACCION (TRA-ID, TRA TABLA, TRA-PER ID, TRATAB-ID, TRA CAMPO,
TRA VALOR ANS, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, u s u A ~ i o , TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PRO-PRO-GRA-IDEN", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @a/Iaquina where PER-ID =@TRATAB-ID
end end
-- Código de clasificación epecialdad if update (CLA - CLA - ESP-COD) begin
select @ANTERIOR-VALOR = isnull(d.CLA-CLA-ESP-COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.CLA-CLAESP - COD,""), @PER - ID =
i.PER-ID, @USR-MOD = i.PER - USR - MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @TRA ID + 1 insert into TRANSACCIOÑ
(TRA ID, TRA-TABLA, TRA PER-ID, TRATAB-ID, TRA-CAMPO, TRA-VALOR-ANT, TRA-VALOR-ACT, USRMOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, TLA-CLA-ESP-COD~, @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST - MOD = @Maquina where PER-ID =@TRATAB - ID
end end
-- Código de grupo de persona if update (GRU-GRU-PER-COD) begin
select @ANTERIOR-VALOR = ~~~U~I(~.GRU-GRU-PER-COD,'~") from deleted d select @ACTUAL-VALOR = ~s~u~~(~.GRU-GRU-PER~COD,""), @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select OTRA-ID = OTRA-ID + 1 insert into TRANSACCION
(TRA ID, TRA TABLA, TRA PER ID, TRA TAB-ID, TRA-CAMPO, TRA-VALORANT, TRAJALORACT, USR-MoD,-FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA ID, "PERSONA", @PER-ID, @PER-ID, ~GRU-GRU-PER-~OD", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =OTRA-TAB-ID end
end
-- Identificador de Unidad Administrativa if update (UNI-UNI-ADM-IDEN)
begin print 'unidad-administrativa' print @ANTERIORV ALOR select @ANTERIOR-VALOR =
isnull(co~vert(varchar(l28),d.UN1~~1~~~~~1~~~),"") from deleted d
select @ACTUAL-VALOR = isnull(convert(varchar(128),i.UNI~UNl~ADM~IDEN),""). @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION
(TRA ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO, TRA VALOR ANT, TRA VALOR - ACT, USR-MOD. FECMOD, HOSTNAME, USUARIO, TRA OPERACION)
values ( @ T C ID, "PERSONA", @PER-ID, @PER-ID, "UN-UNI-ADM-IDEN", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRA - TAB-ID end
end
-- Código de Tipo de Instrucción if update (TIP4-TIP-INS-COD)
begin select @ANTERIOR-VALOR = isnull(d.TIP4-TIP-INS-COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.TIP4-TIP-INS-COD,""), @PER - ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR - VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION
(TRA ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO, TRA VALOR ANT, TRA-VALORACT. USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "TIP4-TIP-INS-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRA-TAB-ID end
end
-- Código de Grupo Especialidad if update (GRU2-GRU-ESP-COD)
begin select @ANTERIOR - VALOR = ~S~UII(~.GRU~-GRU-ESP~COD,"") from deleted d select @ACTUAL-VALOR = isnull(i.GRU2-GRU-ESP-COD,"") , @PER - ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION
(TRA-ID, TRA TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO, TRA VALOR ANS, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "GRU2 GRU ESP-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@~ogin&e&n), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- Código de Nivel if update (NIVNIV-COD) e
begin CIB-ESPOL select @ANTERIOR-VALOR = isnull(d .NIVNIV-COD," ") from deleted d select @ACTUAL-VALOR = isnull(i.NIV-NIV-COD,'"'), @PER - ID =
i.PER ID, @USR-MOD = i.PER-USR - MOD frominserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION
(TRA ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO, TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, U SUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "NIV-NIV-COD", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@~a~ui;a), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina
where PER-ID =@TRATAB-ID end
end
-- Código de Categoría if update (CAT-CAT-COD)
begin select @ANTERIOR-VALOR = isnull(d.CAT-CAT - COD," ") from deleted d select @ACTUAL VALOR = isnull(i.CAT CAT-COD,""), @PER - ID =
i.PER-ID, @USR-MOD = ~.PER-USR-MOD from inserted i if @ANTERIOR - VALOR o @ACTUAL - VALOR
begin select OTRA-ID = OTRA-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA PER-ID, TRA TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOKACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA ID, "PERSONA", @PER-ID, @PER ID, "CAT-CAT-COD", @ANTERIOR VALOR, @ACTUAL-VALOR, 1trim(@Gginconexion), getdateo, l t r im(@~a~uina) , ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID
end a
end
-- Cédula de Identidad if update (PER-CED-IDE)
begin select @ANTERIOR-VALOR = isnull(d.PER-CED-IDE,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-CED-IDE,""), @PER-ID = i.PER-ID,
@USR-MOD = ~.PE%-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TU-ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER-ID, TRA-TAB ID, TRA CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, TEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA_ID, "PERSONA", @PER-ID, @PER-ID, "PER-CED-IDE", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Fecha del Ascenso Actual if update (PER-FEC-ASC-ACT)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(l28),d.PER~FEC~ASC~ACT)," ") from deleted d select @ACTUAL-VALOR =
isnull(convert(varchar(128),i.PER-FEC-ASC-ACT),""), @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR begin
select @TRA_ID = @TRA_ID + 1 insert into TRANSACCION
(TRA-ID, TRATABLA, TRA-PER-ID, TR-AB-ID, TRA-CAMPO, TRA VALOR ANT, TRA VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRAOPERACION) O
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER FEC A S C - ~ T ~ , @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@~o~<n~onexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRA-TAB-ID end
end
-- Número de Cuenta Bancaria if update (PER-NO - CUE-BCO) CIB-ESPOL
begin select @ANTERIOR-VALOR = isnull(d.PER-NO-CUE-BCO, "") from deleted d select @ACTUAL VALOR = isnull(i.PER-NO-CUE-BCO,""), @PER-ID =
i.PER-ID, @USR-GOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TRA-ID = OTRA ID + 1 insert into TRANSACCIOÑ
(TRA-ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA CAMPO, TRA VALOR ANS, TRA-VALOR-ACT, USR-MOD, FEC - MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, ''PERNO-CUE-BCOII, @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TU-TAB-ID
end end
-- Grado para Sueldos if update (PER-GRA-SUE)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER~GRA~SUE)," ") from deleted d select @ACTUAL-VALOR = isnuIl(convert(varchar(128),i.PER - GRA-SUE)," "),
@PER-ID = i.PER-ID, OUSR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin a
select @TRA ID = @TU-ID + 1 insert into T ~ N S A C C I O N (TU-ID, TRATABLA, TU-PER-ID, TRATAB-ID, TRA CAMPO,
TU VALOR ANT, TRA-VALORACT, USR-MOD, FEC-MOD HOSTNAME, USUARIO, SRA-OPERACION)
values ( @ T U ID, "PERSONA", OPER-ID, @PER-ID, "PER-GRA-SUE", @ANTERIOR VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion). getdateo, ltrim(@Maqui;a), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID end
end
-- Grado Actual if update (PER-GRAACT)
begin select @ANTERIOR-VALOR = isnull(d.PER-GUACT,"")
from deleted d select @ACTUAL-VALOR = isnull(i.PER-GRA-ACT,""), @PER - ID =
i.PER - ID, @USR-MOD = i.PER - USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @ T U - I D = @TRA-ID + 1 insert into TRANSACCION (TRAID, TRA-TABLA, TRA PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALO~ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PER-GRA-ACT", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@~a~ui;a), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where P E R I D =@TRA-TAB-ID
end end
-- Nombres if update (PER-APE)
begin CIB-ESPOL
sekct @ANTERIOR-VALOR = isnull(d.PERAPE," ") from deleted d select @ACTUAL-VALOR = isnull(i.PER-APE," "), @PER - ID = i .PER - ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @ T U - I D = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-APE", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo. Itrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Fecha de Nacimiento if update (PER-FECNAC)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER~FEC~NAC),"") from deleted d select @ACTUAL VALOR = isnull(convert(varchar(128),i.PER - FEC - NAC),""),
@PER-ID = i.PER - ID, @USR - MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALO~ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-FEC-NAC", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER WRST - MOD = @Maquina where PER-ID =@TRA-TAB-16 end
end
-- Fecha de Ingreso . if update (PER-FEC-ING)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER~FEC~ING),"") from deleted d select @ACTUAL-VALOR = isnull(convert(varchar(l28),i.PER~FEC~ING),""),
@PER-ID = i.PER-ID, @USR-MOD = i.PER-USR - MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TRA-ID = OTRA-ID + 1 insert into TRANSACCION (TRA ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-FEC-ING", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdate(), l t r im(@~a~ui;a) , ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TABID
end end
-- Número de Pasaporte i f update (PER-NRO-PAS)
begin select @ANTERIOR-VALOR = isnull(d.PERNR0-PAS,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-NRO-PAS,""), @PER-ID =
i.PER-ID, @USR-MOD = iPER - USRMOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TU-ID = @TRA ID + 1 insert into TRANSACCION (TRA-ID, TRATABLA, TRA-PER-ID, TRATAB-ID, TRA CAMPO,
TRA VALOR ANT, TRA VALORACT, USR-MOD, FEC - MOD HOSTNAME, USUARIO, TIG-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PER NRO-PAS", @ANTERIOR VALOR, @ACTUAL-VALOR, l t r i m ( @ ~ o ~ i n ~ o n e ~ o n ) , getdate(), l t r im(@~a~ui~&a), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST - MOD = @Maquina where PER-ID = @ T U - TAB - ID end
end
-- Ubicación en el Grado if update (PER-UBI-GRA)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(l28),d.PER~UBI~GRA),"") CIB-ESPOL from deleted d select @ACTUAL-VALOR = isnull(convert(varchar(l28),i.PER~UBI~GRA),'"'),
@PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @TRA ID + 1 insert into TRANSACCION
(TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA CAMPO, TRA-VALORANT, TRA-VALORACT, USRMOD, FEC-MOD HOSTNAME, USUARIO, TRA-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "PER-UBI-GRA", @ANTERIOR VALOR, @ACTUALVALOR, Itrim(@LoginConexion), getdateo, ltrim(@~a~ui;a), Itrirn(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRA-TAB-ID
end end
-- Indicador de A Disposición if update (PER-A-DIS)
begin select @ANTERIOR-VALOR = isnull(d.PER-A-DIS,'"') from deleted d select @ACTUAL VALOR = isnull(i.PER-A-DIS," "), @PER-ID = i.PER-ID,
~ U S R - M O D = ~.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TU-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOQ, FEC-MOD, HOSTNAME, USUARIO, TU-OPEUCION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "PER-A-DIS", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID end
end
-- Indicador de Baja if update (PER-IND-B AJ)
begin select @ANTERIOR-VALOR = isnull(d.PER-IND-BAJ, "") from deleted d select @ACTUAL-VALOR = isnull(i.PER-IND-BAJ,""), @PER-ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i
if @ANTERIOR-VALOR <> @ACTUAL-VALOR begin
select 9TRA- ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, T R A TABLA, TRA-PER-ID. TRA-TAB-ID. TRA-CAMPO,
TRA VALOR ANT, TRA VALOR-ACT, USR-MOD. FEC-MOD. HOSTNAME. USL~ÁRIO, TRA-OPERACION)
values ( O T R A ID, "PERSONA", @PER-ID. %PERAID, "PER IND BAJ", @ANTERIOR VA¿OR, @ACTUAL-VALOR, ltrirn(@LoginCoriex<on). &tdate(), ltriin(@klaquiG), ltrim(@Úsuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST MOD = @Maquina where PER-ID =gTRA-TAB - ID
end end
-- Fecha de Ultima Baja i f update (PER-FEC-ULT-BAJ)
begin select @ANTERIORpVALOR = CIEESPOL
isnull(convert(varchar(1 28),d.PER-FECpUI,T-BA.]),"") frorii deleted d selrcr I ~ A C T U A L - V A L O R =
isiiuII(convert(varcl~ar( 128).i.PER-FEC-ULT-BAJ)," "), @PER-ID = i.PER-ID. ((JUSR - MOD = i.PER-USR-MOD
froin inserted i if @)ANTERIOR-VALOR <> @ACTUAL-VALOR
begin select 9 T R A ID = 31'RA-ID + 1 insert into T R ~ N S A C C I O N (TRA ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO.
TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( P T R A ID, "PERSONA", 3PER-ID, @PER-ID, "PER FEC: - ULT - GJ", @ANTERIOR VALOR, I ~ A C T U A L VALOR, l t r i r i i ~ ~ o ~ i i ~ C o r i e x i o n ) , @date(), l t r i m ¿ @ ~ a ~ u i n a ) , ltrim(@Üsuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA iipdate DES1 .PERSONA set PER-WRST-_MOD = @Maqiiiiia where PER - ID =@TRATAB-ID
end
-- Fecha de Llltimo Ingreso if update (PER-FEC-UL1' -- ING)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER-FEC~ULT-ING),"") from deleted d select @ACTUAL-VALOR =
isnull(convert(varchar(1 28),i.PER-FEC-ULT-ING),""), @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA TABLA, TRA PER-ID, TRA-TAB-ID, TRA CAMPO,
TRA-VALOR-AN~ TRA-VALO-T. USR-MOD, FEC-MOD HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, l l ~ ~ ~ - ~ ~ ~ - u ~ ~ ~ ~ N ~ u , @ANTERIOR-V ALOR, @ACTL! AL-V ALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID end
end
-- Indicador de ha sido Comandante if update (PER - IND-COM) a
begin select @ANTERIOR-VALOR = isnull(d.PER-IND-COM,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-IND-COM,""), @PER-ID =
i.PER ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TRA ID = @TRA ID + 1 insert into TRANSACCIOÑ (TRA-ID, TRA-TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA-VALOR ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-IND-COM", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo. ltrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina
where PERlD =@,TRA-TABJD end
end
-- Indicador de Autorización de Matrimonio if update (PER-IND-MAT)
begin select @ANTERIOR - VALOR = isnull(d.PER-IND - MAT,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-IND-MAT,""), @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR - VALOR <> @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 inseit into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR ANT, TRA-VALORACT, USR-MOD. FEC-MOD, HOSTNAME, cSUAR10, T~A-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER IND MAT", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@login~one&n), &$date(), Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 PERSONA set PER-WRST-MOD = @MaquinayGYGCC,. where PER-ID =OTRA-TAB-ID
end e
end
-- Indicador de Numero de Ascenso if update (PER-INDNO-ASC) CIB-ESPOL
begin select @ANTERIOR-VALOR = isnulI(d.PER-IND-NO-ASC,"") from deleted d select @ACTUAL VALOR = ~S~~~~(~.PER-IND-NO-ASC,"'~), @PER-ID =
i.PER - ID, @USR - MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME. USUARIO, TRA-OPERACION)
values (OTRA ID, "PERSONA", @PER-ID, @PER-ID, "PER IND-NO-A%", @ANTERIOR-VALOR, @ACTUAL-VALOR, l t r im(@~o~in~onexion) , getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID = @ T U - TAB-ID
end end
-- Indicador de Pro ... if update (PER - IND-PRO)
begin select @ANTERIOR-VALOR = isnull(d.PER-IND-PRO,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER - IND - PRO,""), @PER-ID = i.PER - ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @ T U - I D = @TRA ID + 1 insert into TRANSACCIOÑ (TRA-ID, TRA TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR-ACT, USR - MOD, FEC - MOD, HOSTNAME, IJSUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER ID, "PER-IND-PRO", @ANTERIORVALOR, @ACTUAL-VALOR, l t r i m ( @ ~ ~ ~ i n ~ o n e x i o n ) , getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST - MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Contador de Suspensiones if update (PER-IND-SUS)
begin select @ANTERIOR-VALOR =
isnulI(convert(varchar(l28),d.PER~IND~SUS)," ") from deleted d select @ACTUAL-VALOR = isnull(convert(varchar(I28),i.PER~IND - SUS),""),
@PER-ID = ¡.PERAID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUALVALOR
begin
seIect @TU-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA TABLA, TRA-PER-ID, TRA-TAB ID, TRA-CAMPO,
TRA VALOR ANT. TRA VALORACT, USRMOD, FEC - MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER-IND-SUS", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =OTRA-TAB-ID end
end
-- Indicador de Fallecido if update (PER - IND - FAL)
begin select @ANTERIOR-VALOR = isnull(d.PER-IND-FAL,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-IND-FAL,""), @PER - ID = i.PER - ID,
@USR-MOD = ~.PER_USR-MOD from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR
begin select @TRA-ID = OTRA-ID + 1 insert into TRANSACCION . (TRA ID, TRA-TABLA, TRA PER-ID, TRA-TAB-ID, TRA CAMPO,
TRA VALOR-ANT, TRA-VALO~ACT, USR-MOD, FEC-MOO HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-IND-FAL", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@Maqui;a), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID end
end
-- Fecha de Fallecimiento if update (PER-FEC-FAL)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(l28),d.PER~FEC~FAL),") from deleted d
select @ACTUAL-VALOR = isnull(convert(varchar(128),i.PER~FEC FAL),""), @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR 0 @ACTUAL - VALOR
begin select @ T U - I D = @TU-ID + 1 insert into TRANSACCION (TU-ID, TRATABLA, TRA PER ID, TRA-TAB-ID, TRA CAMPO,
TRA VALOR ANT, TRA-VALORACT, USR-MOD, FEC-MOD HOSTNAME, USUARIO, T<A-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER FEC FAL", @ANTERIOR VALOR, @ACTUAL VALOR, l t r i m ( @ ~ o ~ i n ~ o n e x ~ o n ) . getdate(), ltrim(@hlaqui;a), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID end
end
-- Calificación Anual if update (PER-CAL-ANU)
begin select @ANTERIORVALOR =
isnull(convert(varchar(l28),d.PER~CAL~ANU),"") from deleted d select @ACTUAL VALOR = isnull(convert(varchar(l28),i.PER - CAL - ANU),""),
@PER-ID = i.PER - ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TU- ID = @TU-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRATAB-ID, TRA CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD HOSTNAME, USUARI o , TRA-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER ID, "PER CAL-ANU", @ANTERIOR-VALOR, @ACTUAL VALOR, ltrim(@Gginconex?on), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRA-TAB-ID
end end
-- Número de Partida Actual if update (PER-NO-PAR-ACT)
begin select @ANTERIOR-VALOR = isnull(d.PER-NO-PAR-ACT,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-NO-PAR-ACT,""), @PER - ID =
i.PER-ID, @USR - MOD = i.PER-USR-MOD from inserted i if @ANTERIORVALOR o @ACTUAL-VALOR
begin select @TU- ID = @TU-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALO~ACT, IISR-MOD, FECMOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "PER-NO-PAR-ACT", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID end
end
-- Número de Afiliación if update (PERNOAFIL) a
begin CIB-ESPOL
select @ANTERIOR-VALOR = isnull(d.PER-NO-AFIL,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-NO-AFIL,""), @PER-ID = i.PER - ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TU- ID = OTRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PERNO-AFIL", @ANTERIOR VALOR, @ACTUAL VALOR, Itrim(@LoginConexion), getdateo, ltrirn(@~a~ui;a), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina
where PER-ID =@TRA-TAB-ID end
end
-- Reconocimiento Anterior if update (PER-REC-ANT)
begin select @ANTERIOR VALOR =
isnull(convert(varchar(¡28),d.~~~-REC - ANT),"") from deleted d select @ACTUAL-VALOR = isnull(convert(varchar(128),i.PER - REC - ANT),""),
@PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA PER-ID, TRA-TAB ID, TRA-CAMPO,
TRA-VALOR ANT, TRA-VALOR - ACT, USR-MOD, FEC-MOD, HOSTNAME, LI SU ARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER ID, "PER REC-ANT", @ANTERIOR-VALOR, @ACTUAL-VALOR, ~ t r i m ( @ ~ ~ i n C o n e ~ o n ) , getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA iipdate DES 1 .PERSONA set PER-WRST-MOD = @Maq~iina where PER-ID =@TRA-TAB-ID
end end
-- Tiempo de servicio Personal en Baja if update (PER-TIE-SER-BAJ)
begin select @ANTERIOR-VALOR = isnulI(d.PER_TIE_SER_BAJ,"") from deleted d select @ACTUAL-VALOR = ~s~~II(~.PER-TIE-SER~BAJ,""), @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR
begin select @TRA-ID = @TRA ID + 1 insert into TRANSACCIOÑ (TRA ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA VALORACT, USR-MOD, FEC-MOD, HOSTNAME, u SUARIO, T~A-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "PER-TIE-SER-BAJ", @ANTERIOR-VALOR, @ACTUAL VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Üsuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- Tiempo de Servicio Reconocido Evaluación if update (PER-TIE-SER-REC)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER~TIE~SER~REC)," ") from deleted d select @ACTUAL-VALOR =
isnull(convert(varchar(l28),i.PER~TIE~SER~REC),), @PER - ID = i.PER - ID, @USR MOD = i.PER-USR-MOD
from Tnserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA ID = @TIZA-ID + 1 insert into T ~ N S A C C I O N (TRA ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION) o
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PERTIE-SER G c " , @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@login~o~exion), getdateo, Itrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- Esp ces ... if update (PER-ESP-CES)
begin select @ANTERIOR-VALOR = isnull(d.PER-ESP-CES,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-ESP-CES,""), @PER-ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TRA-ID = @TRA ID + 1 insert into TRANSACCIOG (TU-ID, TRATABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR - ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER-ESP-CES", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- Fecha de Graduación if update (PER-FEC-GRA)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER~FEC~GRA),"") from deleted d select @ACTUAL-VALOR = isnu1l(convert(varchar(128),i.PER~FEC~GRA),""),
@PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin .
select OTRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PERFEC-GRA", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- Gra gra . . . if update (PER-GRA-GRA)
begin select @ANTERIOR-VALOR = isnul I(d.PER-GRA-GRA," ")
from deleted d select @ACTUAL-VALOR = isnul I(i.PER-GRA-GRA," "), @PER-ID -
i.PER-ID, @USR-MOD = i.PER-USR - MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR ANT, TRA VALOR - ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-GRA-GRA", @ANTERIOR VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion). getdate(), l t r i m ( @ ~ a ~ u i k a ) , Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES I .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Fecha de pro asc ... if update (PER-FEC-PRO-ASC)
begin selecr @ANTERIOR-VALOR = CIB-ESPOL
isnulI(convert(varchar( l28),d.PER-FEC-PROASC), "") from deleted d . select @ACTUAL-VALOR =
isnull(convert(varchar(128),i.PER-FEC-PRO-ASC),""), @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER FEC PRO ASC", @ANTERIOR-VALOR, @ACTUAL-VALOR, l t r im(&~o~<n~on~xion) , getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES I .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID end
end
-- Fecha ... if update (PER-FEC-FIN)
begin select @ANTERIOR-VALOR = isnu from deleted d
i1l(convert(varchar(128),d.PER~FEC - FIN),"")
select @ACTUAL-VALOR = isnull(convert(varchar(l28),i.PER - FEC - FIN),""), @PER-ID = i.PER - ID, @USR-MOD = i.PER-USR - MOD
from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TU- ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRATABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALORANT, TRA-VALORACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER-FEC-FIN", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID = @ T U - TAB-ID end
end
-- Indicador de Subjudice if update (PER-IND-SUBJ)
begin select @ANTERIOR-VALOR = isnull(d.PER-IND - SUBJ,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-IND-SUBJ,""), @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR begin
select @TU- ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA-TABLA, TRA PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALORANT, TRA-VALORACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-IND-SUBJ", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@~a~ui;a), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID end
end
-- Promoción if update (PER-PROM)
begin select @ANTERIOR-VALOR = isnull(d.PER-PROM," ") from deleted d select @ACTUAL-VALOR = isnull(i.PER-PROM,""), @PER - ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @ T U - I D = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRATAB-ID, TU-CAMPO,
TU-VALOR ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-PROM", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdate(), Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- TM Total ... CIB-ESPOL if update (PER-TM-TOT)
begin select @ANTERIOR-VALOR = isnull(d.PER-NO-PARACT,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-NO-PAR-ACT,""), @PER-ID =
i.PER ID, @USR-$D = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1
insert into TRANSACCION (TRA-ID, TRATABLA, TRA-PER-ID, TRATAB-ID, TRA CAMPO,
TRA-VALOR-ANT, TRA-VALORACT, USR-MOD, FEC-MOD HOSTNAME, USUARIO, TRAOPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "PER-NO-PAR-ACT", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID
end end
-- Cuota de Eliminación if update (PER-CUO-ELI)
begin select @ANTERIOR-VALOR = isnull(d.PER~CUO~ELI,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-CUO-ELI,""), @PER-ID = i.PER-ID,
@USR MOD = i.PER-USR-MOD from Tnserted i
if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TU-ID = @TRA-ID + 1 insert into TRANSACCION - (TRA ID, TRA TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PER-CUOELI", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, ltrim(@~a~ui;a), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID
end end
-- Estado if update (PER-EST)
begin select @ANTERIOR-VALOR = isnull(d.PER-EST," ")
CIB-ESPOL
from deleted d
select @ACTUAL-VALOR = isnull(i.PER-EST,""), @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR 0 @ACTUAL_VALOR begin
select @TU-ID = @TU-ID + 1 i f ltrim(@ACTUAL-VALOR) = "E"
insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER-EST", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), Itrim(@Usuario), "E")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA --update DES1 .PERSONA set PER-WRST-MOD = @Maquina --where PER-ID =@TU-TAB-ID
else insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER-EST", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), ltrim(@Usuario), " M )
-- SE AFECTA CAMPO: ESTACION QUE WDIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID
end end
-- Es Docente if update (PER-DOCENTE)
begin select @ANTERIOR-VALOR = isnull(d.PER-DOCENTE,"") C ~ E S P O L from deleted d select @ACTUAL-VALOR = isnull(i.PER-DOCENTE,""), @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION
(TRA ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO, T R A - V A ~ R A N T , TRA-VALORACT, USR-MOD, FEC-MOD, HOSTNAME. USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PERID, @PER-ID, "PER-DOCENTE", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = OMaquina where PER-ID = @ T U - TAB-ID end
end
-- Tiempo ... if update (PER-TCON-SUE)
begin select @ANTERIOR VALOR =
isnull(convert(varchar(¡28),d.~~~~~~0~~~~~),"") from deleted d select @ACTUAL-VALOR =
isnulI(convert(varchar(128),i.PER~TCON~SUE),""), @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @ T R A I D = @TRA ID + 1 insert into TRANSACCIOÑ . (TRA ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA VALOR-ACT, USRMOD, FEC-MOD, HOSTNAME. USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PERTCON-SUE", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID end
end
-- gru-gru-espcod if update (gru-gruespcod)
begin select @ANTERIOR-VALOR = isnull(d.gru-gru-esp-cod,"") from deleted d
select @ACTUAL-VALOR = isnull(i.gru~gru~esp~cod,""), @PER-ID =
i.PER - ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TR&ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA CAMPO,
TRA-VALOR-ANT, TRA-VALORACT, USR-MOD, FEC-MOD HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA ID, "PERSONA", @PER-ID, @PER-ID, "gru-gru-esp-cod", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID
end end
-- Cuota de elimnación para evaluación if update (per-cuo-eli-eva) CIB-EGPOL
begin select @ANTERIOR-VALOR = isnulI(d.per-cuo-eli-eva,"") from deleted d select @ACTUAL-VALOR = isnull(i.per-cuo-eli-eva,""), OPER-ID = i.PER - ID,
@USR-MOD = i.PER-USR-MOD . from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select OTRA ID = OTRA-ID + 1 insert into T ~ ~ N S A C C I O N (TU-ID, TRA TABLA, TU-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA ID, "PERSONA", @PER-ID, @PER-ID, "per-cuo-eli-eva", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, l t r im(@~a~u ina ) , Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID
end end
-- Número llamada con ...
if update (per-num-lla-con) begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.per~num~lla~con),"") from deleted d select @ACTUAL VALOR = isnulI(convert(varchar(l28),i.per~num~lla~con),""),
@PER ID = ~.PER-ID, @USR-MOD = ~.PER-USR-MOD frominserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TU- ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "per-num-lla-con", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo. Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =OTRA-TAB-ID end
end
-- Indicador Tec ... if update (per-indtec) .
begin select @ANTERIOR-VALOR = isnull(convert(varchar(128),d.per - ind - tec),"") from deleted d select @ACTUAL-VALOR = isnull(convert(varchar(l28),i.per~ind~tec),""),
@PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select OTRA-ID = @TU-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "per-indtec", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina
where PER-ID =@TRA-TAB-ID end
end
-- Promoción de ascenso if update (pergrom-asc)
begin select @ANTERIOR - VALOR = isnull(convert(varchar(128),d.pergrom - asc)," ") from deleted d select @ACTUAL-VALOR = isnull(convert(varchar(128),i.per~prom~asc),""),
@PER-ID = i.PER-ID, @USR-MOD = i.PER - USRMOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRAVALORACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TEA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "per-prom-asc", @ANTERIOR-VA¿OR, @ACTUAL-VALOR, ltrirn(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquin where PER-ID =OTRA-TAB-ID end .
end
-- per-apt-asc . . . if update (per-apt-asc) CIB-ESPOL
begin select @ANTERIOR-VALOR = isnull(d.per-apt-asc,"") from deleted d select @ACTUAL VALOR = isnull(i.per-apt-asc,""), @PER-ID = i.PER - ID,
@USR-MOD = ~.PKR-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TU-ID = @TRA ID + 1 insert into TRANSACCION (TRA-ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TFU VALOR ANT, TFU-VALORACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "pecapt-asc", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER WRST-MOD = @Maquina where PER-ID =@TU-TAB-16 end
end
-- Fecha de Ingreso para Sueldos if update (PER-FEC-ING-SUE)
print 'error' begin select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER~FEC~ING~SUE),"") from deleted d select @ACTUAL-VALOR =
isnull(convert(varchar(128),i.PER~FEC~ING~SUE),""), @PER-ID = i.PER-ID, @USR-MOD = i.PER-USR-MOD
from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TRA-ID = @TU-ID + 1 insert into TRANSACCION (TRA ID, TU-TABLA, TRA-PER-ID, TU-TAB-ID, TRA-CAMPO,
TRAJALOR-ANT, TRA-VALOR-ACT, USR-MOQ FECMOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER-FEC-ING-SUE", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Reparto de Cobro if update (PER-REP-COB)
begin select @ANTERIOR-VALOR =
isnull(convert(varchar(l28),d.PER~REP~COB),"") from deleted d select @ACTUAL-VALOR = isnull(convert(varchar(l28),i.PER~REP~COB),""),
@PER-ID = i.PER-ID, @USR-MOD = i .PER-USR-MOD
from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TU- ID = @TU-ID + 1 insert into TRANSACCION (TRA ID, TRA-TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA-VALOR ANT, TRAJALOR-ACT, USR - MOD, FECMOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PER-REP-COB", @ANTERIOR VALOR, @ACTUAL VALOR, Itrim(@LoginConexion), getdateo, ltrim(@Maquik), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD where PER-ID =@TRATAB-ID end
end
-- Indicador de Cobro if update (PER-IND-COB)
begin sekct @ANTERIOR-VALOR = isnull(d.PER - INDCOB,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-IND-COB, " "), @PER-ID = i.PER-ID,
@USR MOD = ~.PE%USR-MOD from Tnserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR ,
begin select @TU- ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FECMOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-IND-COB", @ANTERIOR VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, 1trirn(@Maqui;a), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =OTRA-TAB-ID end
end
-- Indicador de Subsidio Matrimonial if update (PER-SUB-MAT)
begin
select @ANTERIOR-VALOR = isnull(d.PER-SUB-MAT,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-SUB-MAT,""), @PER-ID =
i.PER-ID, @usR-~¡OD = i.PER - USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TRA-ID = @TRA ID + 1 insert into TRANSACCIOÑ
(TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO, TRA VALOR-ANT, TRA-VALOR-ACT, USR - MOD, FEC - MOD, HOSTNAME, USUARIO, TRAOPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER ID, "PER-SUB MAT", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@L&in~onexion), getdate(), Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID
end end
-- Indicador de Subsidio Matrimonial if update (PER-SUB-FAM)
begin select @ANTERIOR-VALOR = isnull(d.PER-SUB-EAM,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-SUB-FAM,""), @PER-ID =
i.PER-ID, @USR - $D = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @ T U - I D = @TRA ID + 1 insert into TRANSACCIOÑ (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC - MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TU-ID, "PERSONA", @PERID, @PER ID, "PER-SUB FAM", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@L&in~onexion), getdate(), Itrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRA-TAB-ID end
end
-- Tipo de Rancho i f update (PER-TIP-RAN)
begin select @ANTERIOR-VALOR = isnull(d.PER-TIP-RAN,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-TIP-UN,""), @PER - ID = i.PER - ID,
@USR-MOD = LPER - USR-MOD from inserted i if @ANTERIOR - VALOR o @ACTUAL - VALOR begin
select @TU-ID = @ T N I D + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER-ID, TRA-TAB-ID, TRA CAMPO,
TRA-VALOR-AN~ TRA-VALORACT, USR-MOD, FEC-M06 HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PER TIP-RAN", @ANTERIOR-VALOR. @ACTUAL-VALOR, l t r i m ( @ ~ o ~ i n ~ o n e ~ o n ) , getdateo, Itrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
en d . -- Forma de Pago if update (PER-FOR-PAG)
CIB-ESPOL
begin select @ANTERIOR-VALOR = isnull(d.PER-FOR-PAG," ") from deleted d select @ACTUAL VALOR = isnull(i.PER-FOR-PAG,""), @PER-ID =
i.PER-ID, @USR_$¡~D = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL - VALOR begin
select @TU-ID = @TU-ID + 1 insert into TRANSACCION (TRA ID, TRA-TABLA, TRA-PER-ID, TRA-TAB-ID, TRA CAMPO,
TRA VALOR-ANT, TRAJALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-FOR-PAG", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion). getdateo, 1trim(@Maquiia), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- Tiempo de Servicio para sueldos (imposiciones ) if update (PERTREC-SUE)
begin select @ANTERIOR-VALOR = isnull(d.PER-TREC-SUE,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER TREC-SUE,""), @PER-ID =
i.PER-ID, @USR-MOD = ~.PER-USRMOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TRA-ID = OTRA-ID + 1 insert into TRANSACCION (TRA ID, TRA-TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA VALOR ANT, TRA-VALOR-ACT, USR-MOD, FECMOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER TREC-SUE", @ANTERIOR-VALOR, @ACTUAL-VALOR, l t r i m ( @ ~ o ~ i n ~ o n e ~ o n ) , getdateo, ltrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD= @Maquina where PER-ID =@TRATAB-ID end
end
-- PER-UBI-SIN-VAC if update (PER-UBI-SIN-VAC)
begin select @ANTERIOR-VALOR = isnull(d.PER-UBI-SIN-VAC,t'") from deleted d select @ACTUAL-VALOR = isnull(i.PER-UBI-SINVAC,""), @PER - ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL - VALOR
begin select @TRA_ID = @TRA-ID + 1 insert into TRANSACCION
(TRA-ID, TRA-TABLA, TRA-PER-ID, TRATAB-ID, TRA CAMPO, TRA-VALOR-ANT, TRA-VALOR-ACT, USR - MOD, FEC-MOD HOSTNAME, USUARIO, TRA-OPERACION)
values (OTRA ID, "PERSONA", @PER-ID, @PER-ID, "PER UBI-SIN-vAcU, @ANTERIOR-VALOR, @ACTUAL-VALOR, l t r im(@~o~in~onexion) , getdateo, Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRATAB-ID end
end
-- Calificación de Tripulantes if update (CAL - TRI-COD)
begin select @ANTERIOR-VALOR = i snull(d.CAL-TRI-COD, " ") from deleted d select @ACTUAL VALOR = isnull(i.CAL-TRI-COD,'"'), @PER - ID =
i.PER-ID, @USR-&D = i.PER - USR - MOD from inserted i if @ANTERIOR-VALOR 0 @ACTUAL-VALOR
begin select @TU-ID = @TRA-ID + 1 insert into TRANSACCION (TU-ID, TRA TABLA, TRA PER-ID, TRA-TABID, TRLCAMPO,
TRA VALOR-ANT, TRA-VALO~ACT, USR-MOD, FEC - MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "CALTRI-COD", @ANTERIOR-VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TU-TAB-ID end
end
-- Leva de Conscripción if update (PER-LEVA) CIB-ESPOL
begin select @ANTERIOR-VALOR = isnull(d.PER-LEVA,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-LEVA,""), @PER-ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i
if @ANTERIOR-VALOR o @ACTUAL-VALOR begin
select @TR&ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER-ID, TRATAB-ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALORACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values ( @ T U ID, "PERSONA", @PER-ID, @PER-ID, "PER LEVA", @ANTERIOR-VALOR, @ACTUAL VALOR, l t r i m ( @ ~ o ~ i n ~ o n e ~ o n ) , getdateo, Itrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRSTMOD = @Maquina where PER - ID =@TRA - TAB - ID end
end
-- Pensión de Retiro if update (PER-PENRET)
begin select @ANTERIOR-VALOR = isnull(d.PER-PEN-RET,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-PEN-RET,""), @PER - ID = i.PER-ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin . select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TU-ID, TRATABLA, TRA-PER-ID, TRA-TAB-ID, TRA-CAMPO,
TRA-VALORANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "PER-PEN-RET", @ANTERIOR VALOR, @ACTUAL-VALOR, ltrim(@LoginConexion), getdateo, ltrim(@~a~ui;a), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Fecha de Posesión if update (PERFEC-POS)
begin
select @ANTERIOR-VALOR =
isnull(convert(varchar(128),d.PER-FEC-POS),"") from deleted d select @ACTUAL VALOR = isnuIl(convert(varchar(l28),i.PER~FEC~POS),1'11),
@PER-ID = L P E R ~ D , @USR-MOD = LPER - USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL - VALOR
begin select @TR&ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER--ID, TRA-TAB-ID, TRA-CAMPO,
TRA VALOR A N ~ TRA-VALORACT, USR-MOD, FEC - MOD, HOSTNAME, USUZRIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER-FEC-POS", @ANTERIOR-VALOR, @ACTUAL VALOR. Itrim(@LoginConenion), getdate(). Itrim(@h/laquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Tiempo muerto entre contratos y licencias sin sueldo CIB-ESPOL if update (PER-TIE-MUE - LIC)
begin select @ANTERIOR-VALOR = isnull(d.PER-TIE-MUE-LIC,"") from deleted d select @ACTUAL VALOR = isnull(i.PER-TIE - MUE-LIC.""), @PER - ID =
i.PER-ID, @USR-MOD = i.PER - USR-MOD from inserted i if @ANTERIOR-VALOR <> @ACTUAL-VALOR
begin select @TRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA ID, TRA TABLA, TRA-PER ID, TRATAB-ID, TRA-CAMPO,
TRA-VALOR-ANC TRA-VALOR-ACT. USR-MOD. FEC-MOD, HOSTNAME, USUARIO. TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID, "PER TIE-MUE-LIc". @ANTERIOR-VALOR. @ACTUAL-VALOR, l t r i m ( ~ o ~ i n ~ o n e x i o n ) , getdateo, Itriin(@Maqriina), Itriin(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end
end
-- Tiempo reconocido en servicio anterior if update (PER-AUX)
begin select @ANTERIOR-VALOR = isnull(d.PER-AUX,"") from deleted d select @ACTUAL-VALOR = isnull(i.PER-AUX,""), @PER-ID = i.PER - ID,
@USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TU- ID = @TRA ID + 1 insert into TRANSACCION (TRA-ID, TRA-TABLA, TRA-PER-ID, TRA-TAB ID, TRA-CAMPO,
TRA-VALOR-ANT, TRA-VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USUARIO, TRA-OPERACION)
values (@TRA-ID, "PERSONA", @PER-ID, @PER-ID, "PER-AUX", @ANTERIOR VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdateo, l t r im(@~a~u ina ) , ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =OTRA-TAB-ID end
end *
-- Promoción de Ascenso Empleados Civiles if update (PER-PRO-ASC-CIV)
begin select @ANTERIOR-VALOR = isnull(d .PER-PRO-ASC-CIV, " ") from deleted d select @ACTUAL-VALOR = isnuIl(i.PER-PRO-ASC-CIV,""), @PER-ID =
i.PER-ID, @USR-MOD = i.PER-USR-MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select @TU- ID = OTRA-ID + 1 insert into TRANSACCION (TRA ID, TRATABLA, TRA-PER-ID, TRA-TAB-ID, TRA CAMPO,
SRA-VALOR-ANT, TRA-VALORACT, USR-MOD, F E C M O D HOSTNAME, USUARIO, TRA-OPERACION)
values (@TU-ID, "PERSONA", @PER-ID, @PER-ID, "PER PRO ASC CIV", @ANTERIOR-VALOR, @ACTUAL-VALOR, l t r im(@,~og&~on~xion) , getdateo, ltrim(@Maquina), ltrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER-ID =@TRA-TAB-ID
end end
-- Per-nom-cor if update (per-nom-cor)
begin select @ANTERIOR-VALOR = isnulI(d.per-nom-cor,"") from deleted d select @ACTUAL VALOR = isnull(i.per-nom-cor,""), @PER-ID = i.PER-ID,
@USR MOD = L P ~ R - U S R - MOD from inserted i if @ANTERIOR-VALOR o @ACTUAL-VALOR
begin select OTRA-ID = @TRA-ID + 1 insert into TRANSACCION (TRA-ID, TRATABLA, TRA-PER ID, TRA-TAB-ID, TRA CAMPO,
TRA VALOR ANT, TRA VALOR-ACT, USR-MOD, FEC-MOD, HOSTNAME, USIJARIO, TRA-OPERACION)
values (@TRA ID, "PERSONA", @PER-ID, @PER-ID. "per-nom-cor", @ANTERIOR-VALOR, @ACTUAL-VALOR, Itrim(@LoginConexion), getdate(), Itrim(@Maquina), Itrim(@Usuario), "M")
-- SE AFECTA CAMPO: ESTACION QUE MODIFICA update DES 1 .PERSONA set PER-WRST-MOD = @Maquina where PER - ID =@TRATAB-ID
end end
return
Para un reingreso (sobre-escritura)
Al insertar un registro en la tabla persona tenemos un ingreso de personal Al modificar la fecha de ultimo ingreso y el indicador de baja de un registro existente tenemos un reingreso de personal.
En estos dos casos se genera un registro en las tablas históricogersonal, y en la de : - especialidad y ascensos~navales para el personal de oficiales y tripulantes - ascenso-civil para el personal civil - ascensos~navales para el personal de grumetes y guardiamarinas. - servicio-anterior al personal civil que fue militar y que reingresa a la institución
como civil.
Si se actualiza la partida presupuestaria (campo per-nogar-act) en la tabla persona se actualiza el indicador de cobro(per-ind-cob). Si el código de la partida presupuestaria es '01' el indicador de cobro es 'S', caso contrario el indicador de cobro es 'N'. Este dato es importane para el Sistema de Sueldos ya que solo cobra los de partida '01'. Si se actualiza el grupo persona se consulta el tipo de rancho perteneciente y se actualiza el campo de tipo rancho (tipran-id), dato necesario para sueldos.
--CREATE trigger trig-insgersona-upd on PERSONA for insert, update as declare @rows int, @cont int declare @vper-id integer, @fec-ingreso datetime, @grado varchar(3), @usuario varchar(l5),
@instruccion varchar(ó), @grupoper varchar(2), @partida varchar(2), @nivel varc har(2),
@categoria varchar(2), @grupoesp varchar(4), @fec-grado datetime, @ubica-grado int,
@cedula varchar(1 O), @ser-ant varchar(lO), @est-actual varchar(l), @fecha-crea datetime,
@anterior-valor varchar(2), @tip-ran integer, @gruperd varchar(2), @gra-sue int, @reg-ant int,@tip-con varchar(2)
select @rows = @@rowcount if @rows = O
return
if exists(se1ect * from deleted) and @rows > 1 begin -- "No es permitido actualizar varias filas" rollback tran return
end
-- Leer los datos ingresados select @vper-id = i.per-id,
@fec-ingreso = i.per-fec-ult-ing, @grado = i.per-gra-act, @usuario = isnull(i.per~usr~mod,i.per~usr~crea), @instruccion = i.tip4tip-inscod, agrupoesp = i.gru2-gru-esp-cod, @grupoper = i.gru-gru-per-cod, @partida = i.per-noqar-act, @nivel = i.niv-niv-cod, Bcategoria = i.cat-cat-cod, @fec-grado = i.per-fec-gra, @ubica-grado = i.per-ubi-gra, @cedula = i.per-ced-ide, @ser-ant = i.per-tie-ser-baj, @est-actual = i.per-est, @fecha-crea = i.per-fec-crea, @tip-con = i.con-contra-cod
From inserted i, persona p Where i.per-id = p.per-id
--Si se actualiza la partida presupuestaria (per-nogar-act) actualizar indicador de cobro (per-ind-cob) if update(perno-par-act)
begin if @partida = '0 1 '
update desl .persona set per-ind-cob = 'S' where per-id = @vper-id else
update desl .persona set per-indcob = 'N' where per-id = @vper-id end
-- Si se actuliza el grupo persona
if update (GRU-GRU-PER-COD) begin
select @gruperd = isnull(d.GRU-GRU-PER-COD,"") from deleted d if @gruperd o @grupoper
begin select @tip-ran = tip-ran-id from des 1 .tiporancho where gruger-cod = @grupoper print @tip-ran
update des1 .persona set tip-ran-id = @tip - ran WHERE PER - ID = @vper - id end
end
-- Si se actuliza el grado actual i f update (PER-GRA-ACT)
begin select @gra-sue =gra-codigo-sueldo from grado where gra cod = @grado update persona set per-grasue = @gra-sue where per-id =-@vper - id
end
-- Si se actuliza fecha de último ingreso e indicador de baja se trata de un reingreso If update (per-fec-ult-ing) and update (per-ind-baj)
begin declare @max-id int -- Insertar registro en historico de ingresos e
select @max - id = max(his - per - iden) + 1
from historico-personal print 'aqui ingreso' CIB-ESPOL print @fec-ingreso insert into historicogersonal
(his-per-iden,per - per - id,gruger~cod,gra~ini,his~per~fec~ing,his~per~est,his~per~u sr-crea, his-per-fec-crea, hisger-ti p-con)
values (@max~id,@vper~id,@grupoper,@grado,@fe~~ingreso,~A',@usuario,getdate(),@tip
- con)
-- Insertar registro en especialidad if @instruccion o "000000" begin
select @max-id = max(his-esp-id) + 1 from historico-especialidad
insert into historico-especialidad
(his~esp~id,perger~id,tip~ins~cod,tip~doccod,hisespfecasi, his-esp-est,his-esp usr crea,his-esp-usr-fec crea) - - -
values (@max~id,@vper~id,@instruccion,'OO',@fec~ingreso,'A',@usuario,getdate())
end
-- Insertar registro en ascenso-civil if @grupoper = '06'
begin select @max-id = max(asc-civ - iden) + 1 from ascenso-civil
insert into ascenso-civil
(asc-civ-iden,perger - id,pargre~cod,niv~niv~cod,catc-cat~~od,as~~civ~fec~niv,asc~ civ~fec~cat,asc~civ~tip~mod,tip~tip~doc~cod,asccivest,ascciv - usr-crea,asc - civ - fec-crea)
values (@max~id,@vper~id,"00",@nivel,@categoria,@fec~ingreso,@fc - ingreso,'5','00','A' ,@usuario,getdate())
--Verificar si ha sido militar, es decir, si tiene registro en la tabla ascensos-navales .
select @cont = count(*) from ascensos-navales where per-per-id = @vper - id
-- Si tiene registros insertar un registro en la tabla servicio-anterior como tiempo reconocido
if @cont > O begin
select @max - id = max(ser - ant - iden) + 1 from servicio anterior select @reg-int = count(*) from des1 .servicio-anterior
where perger id = @vper-id and ram - cod =-'2' and cau-causer-cod = ' 10' and ser-ant-est = 'A'
if @reg-ant = O begin
insert into servicio - anterior
(ser-ant-iden,per-per-id,ram-cod, cau~cau~ser~cod,tip~tip~doc~cod,ser~ant~fec~rec,ser~ant~tie,ser - ant - est,ser - ant - usr - crea,serant-fec-crea)
values (@max-id,@vper-id,'2',' 1 O','OO',getdate(),@ser-ant,'A',@usuario,getdate())
end end
end else
if @grupoper o '03' -- Insertar registro en ascensos-navales begin
select @max-id = max(asc - nav-iden) + 1 from ascensos-navales
insert into ascensos-navales
asc nav iden,per per id,cau asc cod,gra~gra~cod,tip~tip~doc~cod,asc~nav~fec~as ( - - - - - - ~,asc~nav~ubi~gra,asc~nav~est,asc~nav~usr~crea,asc~nav~fec~crea)
values (@max~id,@vper~id,'l9',@grado,'00',@fec~ingreso,0,'A',@usuario,getdate())
end end
print 'termino' return
@fec-ult-ing = i.per-fec-ult-ing, @gru-per = i.gru-gru-per-cod, @fec-ing-sue = i.per-fec-ing-sue, @fec-ing = i.per-fec-ing, @usuario = i.per-usr-mod
From inserted i, persona p Where i.per id = p.per-id print 'primera fecha' print @fec-ing-sue select @fec-eli = d.per-fec-ult-ing,
@fec-eli-sue = d.per - fec - ing-sue, @fec-eli-ing = d.per-fec-ing
from deleted d, persona p Where d.per-id = p.per-id
If update (per - - - fec ult ing) and (@fec-eli o @,fec-ult-ing) bcgin
-- busca en histórico personal el registro para actualizar la fecha de último ingreso -- debe ser igual al registro en el que la fecha de baja y el grado fin es null
select @vhis-id = (select his-per-iden from historico-personal where hisger-fec-ing= @fec-eli and gra-fin is null and his-pcr-est = 'A' and per-per-id = avper-id)
-- Una vez encontrado el registro lo actualizamos update historico-personal sct
his-per-fec-ing = @fec-u lt-ing, his-per-usr-mod = @usuario, his-per-fec-mod = getdateo CXRESPOL
where his-per-iden = @vhis-id
if @gru-per o '06' begin
select @,vasc-nav-id = (select asc-nav-iden from ascensos-navales where asc-nav-fec-asc = @fcc-el i and asc-nav-est = 'A' and per-per-id = @vper - id)
if @vasc-nav-id is not null begin
update des1 .ascensos-navales set asc-nav-fecasc = @fec-ult-ing,
asc-nav-usr-mod = @usuario, asc-nav-fec-mod = getdateo
where asc-nav-iden = @vasc-nav-id end
end
-- consulta si la fecha de ingreso y la fecha de ingreso sueldos (aportaciones -- al seguro es igual a la fecha que se está actualizando, si es así procede -- a actualizar esos valores también
if @fec-ing = @fec-eli begin
update persona set per-fec-ing = @ fec-ult-ing where per-id = @vper-id
end
if @fec-ing-sue = @fec-eli begin
update persona set per-fec-ing-sue = @fec-ult-ing where per-id = @vper-id
end
EXEC DES 1 .SP-CALCULATIE-SERTO @vper-id end
-- * * * * * **Actualización fecha de aportación (per-fec-ing-sue) * * * * * * * * *
If update (per-fec-ing-sue) and (@fec-ing-sue o @fec-eli-sue) begin
-- busca en histórico personal el registro para actualizar la fecha de primer aporte print 'fec-ing-sue' print @fec-ing-sue print 'fec-eli-sue' print @fec-eli-sue
select @vhis - id = (select his - per-iden from historico-personal where his-per-fec-ing= @fec-el i-sue and per-per-id = @vper-id and his - per-est = 'A')
-- Una vez encontrado el registro lo actualizamos print 'ahora' print (@fec-ing-sue
update historicogersonal set his-per-fec-ing = @fec-ing-sue, his-per-usr-mod = @usuario, his-per-fec-mod = getdate()
where his - per-iden = @vhis-id
-- consulta si la fecha de ingreso y la fecha de último ingreso es igual a -- la fecha que se está actualizando, si es así procede a actualizar esos valores
también
print @fec-ing prini @,fec-eli-sue if @fec ing = @fec-eli - sue
begin update persona set per-fec-ing = @fec-ing-sue where per-id = @vper-id
end CIB-ESPOL
if @fec-ult-ing = @fec-eli-sue begin
update persona set per-fec-ult-ing = @fec-ing-sue where per-id = @vper-id
end
EXEC DES1 .SP-CALCULA-TIE-SER-TOT @vper-id end
-- *******Actualización fecha de ingreso (per-fec-ing) ***************
If update (per-fec-ing) and (@fec-eli-ing o @fec-ing) begin
-- busca en histórico personal el registro para actualizar la fecha de primer aporte select @vhis - id = (select hisger-iden
from historicogersonal where hisger-fec-ing= @fec-eli-ing and per-per-id = @vper-id and his-per-est = 'A')
-- Una vez encontrado el registro lo actualizamos update historico-personal set
hisger - fec-ing = @fec-ing, his-per-usr-mod = @usuario, his-per-fec-mod = getdate()
where his-per-iden = @vhis-id end
return
Para un campo en especial de consulta (lectura)
CREATE trigger trig-upd-fec-ing-persona
/* Trigger de actualización de tablas originado por consultas en la tabla Persona ........................................................................................... Cuando se actualiza uno de los campos
per-fec-ing,perfec-ing-sue,per-fec-ult-ing en la tabla persona, se debe registrar el cambio en la tabla historicogersonal con la fecha correspondiente a la que se está modificando y de igual forma si una de las fechas anteriores es igual a la que se está modificando.
Al modificar el campo per-fecult-ing o per-fec-ing-sue, fechas de ingresos necesarias para cálculos de Antiguedad para el Sistema de Sueldos, se ejecuta el procedimiento almacenado DES1 .SP-CALCULATIE-SER-TOT enviando como parámetro el id de la persona
EJEMPLO: EXEC DES 1 .SP-CALCULA-TIE-SER-TOT 1 */
on DES 1 .PERSONA for update as declare @rows int, @fec-eli datetime, @fec-ing datetime, @fec-ing-sue datetime,
@fec-eli-sue datetime, @fec-eli-ing datetime,@gruger varchar(Z),@vasc-nav-id integer I
declare @vper-id integer, @fec-ult-ing datetime, @vhis-id integer, @usuario varchar(l5)
select @rows = @@rowcount if @rows = O
return
if exists(se1ect * from deleted) and @rows > 1 begin -- "No es permitido actualizar varias filas" -- rollback tran retum CIB-ESPOL end
-- Leer los datos ingresados
select @vper-id = i.per-id,
ANEXO Z
MANUAL DE USUAFUO DEL SISTEMA
OPTIMIZADOR DE BASE DE DATOS
* Presentado por:
Alex Paúl Tapia Chichande
Luis Miguel Escobar Larenas
Guayaquil - Ecuador
2005
ÍNDICE GENERAL
.......................................................................... I N D I C E GENERAL 1
I N D I C E DE F I G U R A S ...................................................................... 11
CAPITULO 1 GENERALIDADES ........................................................................ 1
1 . 1 . A C E R C A DE ESTE M A N U A L .............................................................. 1 1.2. USUARIOS A QUIENES ESTA DIRIGIDO ESTE MANUAL ..................................... 1 1.3. LO QUE EL USUARIO DEBE SABER ................................................................. 1 1.4. OBJETIVOS DE LA SOLUCION ........................................................................ 1
CAPITULO 2 DESCRIPCION DEL CASE ........................................................... 3
2.1. OPERACIÓN DEL C A S E ............................................................................... 3 2.2. PARTES DE UNA VENTANA ........................................................................... 3
Tabla 2.1 Tabla descripción de ventana principal ............................................... 4 ...................................................................................... 2.3. PARTES DEL MENÚ 4
................ ................................... 2.4. OBJETOS USADOS POR EL C A S E ..,........... 5 Tabla 2.2 Tabla descripción de botones ............................................................... 6
2 .5 . REQUERIMIENTOS OPERACIONALES ............................................................. -7 Tabla 2.3 Características mínimas del hardware ................................................. 7 Tabla 2.4 Características del software ................................................................. 8
CAPITULO 3 INSTALACION Y USO DEL CASE .............................................. 9
3.1 . INSTALACION DE PROGRAMAS ..................................................................... 9 3.2. USO DEL CASE ......................................................................................... 1 0 3 .3 . PUNTOS A CONSIDERAR ....................................................................... 1 7
FIGURA 2.1 PARTES DE LAS VENTANAS DEL CASE ....................................... 3 FIGURA 2.2 PARTES DEL MENÚ .......................................................................... 5 FIGURA 2.3 CAJAS DE TEXTO PARA INGRESO DE INFORMACIÓN ............... 5 FIGURA 2.3 MENSAJE DE BASE ELIMINADA CON ÉXITO .............................. 6 FIGURA 2.4 MENSAJE DE BASE INGRESADA CON ÉXITO .............................. 6 FIGURA 2.5 MENSAJE DE RESULTADOS ............................................................ 7 FIGURA 2.6 CARACTERISTICAS DEL COMPILADOR ....................................... 8 FIGURA 3.1 INICIO DESDE FORTE FOR JAVA 4 CE ........................................ 11 FIGURA 3.2 MENÚ CONSULTA OPCIÓN NUEVA .......................................... 1 1 FIGURA 3.3 CREACIÓN DE NUEVA BASE ....................................................... 12 FIGURA 3.4 INGRESE DE DATOS DE NUEVA BASE ........................................ 12 FIGURA 3.5 MENSAJE BASE INGRESADA EXITOSAMENTE ......................... 13 FIGURA 3.6 VERIFICACI~N DE RASE INGRESAPA ........................................ 13 FIGURA 3.7 INGRESO DATOS DISCOS .............................................................. 14 FIGURA 3 . 8 ERROR COMETIDO ......................................................................... 14 FIGURA 3.9 MENSAJE DE DISCO ELIMINADO ................................................ 14 FIGURA 3.10 MENSAJE DE DISCO INGRESADO .............................................. 15 FIGURA 3.1 1 TABLA INGRESADA ................................................................... 15 FIGURA 3.12 G E N E R A C I ~ N DE B ~ S Q U E D A ................................................... 16 FIGURA 3.13 MENSAJE DE RESULTADOS ....................................................... 16
CIB-ESPOL
CAPITULO 1 GENERALIDADES
1.I.A CERCA DE ESTE MANUAL
El Manual de Usuario del CASE Sistema Optimizador de Base de datos (SYOPBASE), nos brinda una descripción completa para obtener eficacia en la utilización del CASE mencionado.
Su objetivo principal es de capacitar a los usuarios en el manejo del SYOPBASE; para de esta manera poder realizar cada uno de los procesos y tareas de manera amigable al usuario.
1.2. Usuarios a quienes esta dirigido este manual
El usuario final de este manual será el DBA encargado de las actividades a realizarse sobre las diferentes bases de datos y es importante mencionar que deberá tener un pleno conocimiento de la misma.
1 LO que el usuario debe saber
Los conocimientos mínimos que deben tener las personas que operarán el SYOPBASE, para un buen uso del mismo, son:
*
Pleno conocimiento de sus bases de datos, sin llegar a constituirse en un experto. Conocimientos sólidos sobre los tipos de transacciones realizadas en la base de datos. Conocimientos sólidos sobre los tipos de control de auditorias aplicables a cerca de las bases de datos. Conocimientos sólidos sobre el hardware en los cuales se aplicará el mencionado sistema. Conocimientos medios sobre históricos de la base de datos y hardware en la cual esta implementada. Conocimientos básicos sobre el uso de las computadoras. Conocimientos básicos de Informática bajo el ambiente Windows.
1.4. Objetivos de la solución
1. Optimizar la capacidad de almacenamiento de los discos utilizados tanto en sistemas RAID como en los que no los dispongan.
2. Optimizar la velocidad de los procesos realizados en las diferentes transacciones ordinarias de las bases de datos.
3. Disponer de varias alternativas óptimas para elección de almacenamiento. 4. Crear modelos basados en una base de datos.
CIB-ESPOL
CAPITULO 2 DESCRIPCION DEL CASE
2.1. Operación del CASE
En este capítulo se describen convenciones, normas y elementos específicos del Sistema, que son empleados en este manual y además algunos elementos adicionales.
2.2. Partes de una ventana
Las ventanas, conocidas también como pantallas, representan al área de trabajo limitadas por bordes donde el usuario debe realizar las actividades tales como ingresar datos o procesarlos. Las ventanas del SYOPBASE tienen las siguientes características:
Figura 2.1 Partes de las ventanas del CASE.
CIEESPOL
Sección
1 7 (Restaurar
Descripción
1
2
3
4
5
6
I Titulo del CASE
Menú Consulta
Menú Edición
Menú Ayuda
Área de trabajo
Minimizar
Tabla 2.1 Tabla descripción de ventana principal
8
9
10
2.3.Partes del menú
Cerrar
Operación de generar
Operación de eliminar
Los menús de cada sección que forma el CASE, están diseñados de modo que sean intuitivos, amigables y sencillos para su funcionamiento. Estos han sido divididos de tal manera que el pueda realizar una serie de operaciones de acuerdo a sus necesidades.
Para ingresar a los mismos, haga clic sobre el nombre de la opción a la que desea ingresar. Vale la pena mencionar que el nivel máximo de subdivisión de un menú para el CASE es unitario.
Nombre de las n opciones u
Figura 2.2 Partes del menú
2.4. Objetos usados por el CASE
El CASE posee objetos que son característicos, a los cuales se les ha dado el uso necesario tomando en cuenta las necesidades que se requieren; entre los objetos que hemos empleado se detallan los siguientes:
1. Cajas de texto.- son aquellas que permiten ingresar información al usuario.
Figura 2.3 Cajas de texto para ingreso de información
2. Botones.- para el diseño del CASE, hemos hecho uso de imágenes y botones los mismos que se describen a continuación:
Permite el ingreso de nuevas tablas o discos
Botón
Elimina la información ingresada.
Descripción I 1
Permite almacenar todos los cambios hechos en las bases de datos, tablas o discos.
Permite confirmar la acción realizada y ejecutarla.
Una vez que se ha ingresado todos los datos, el CASE permite generar la corrida del algoritmo genético.
Tabla 2.2 Tabla descripción de botones
3. Mensajes de información.-estos mensajes son emitidos por el CASE cuando alguna acción ha sido realizada exitosamente. El nombre de la acción realizada se muestra a manera de encabezado.
Figura 2.3 Mensaje de base eliminada con éxito
Figura 2.4 Mensaje de base ingresada con éxito
CIB-ESPOL
Figura 2.5 Mensaje de resultados
2.5. Requerimientos operacionales
I
1 2.8 Ghz.
Características Micro~rocesador
1 ~ e m o r i a RAM I
1 512 Mb.
Descripción Pentium IV
1 Memoria de Vídeo 1 8 Mb (de ureferencia).
1 Tarieta de video 1 PCI 1
Espacio en el disco duro Unidad de disquete Teclado Y mouse
Tabla 2.3 Características mínimas del hardware
100 ~b (f 1.44 Mb. Ps2
Base de Datos
Sistema Operativo
SQL 7.0
Windows 2000, M E , XP Professional
Tabla 2.4 Características del software
3. Compi1ador.- El sistema ha sido desarrollado en java utilizando como compilador al Forte for Java 4 Community Edition, utilizamos este lenguaje en vista de que es orientado a objetos y adicionalmente Open Source, lo que nos ha permitido un acceso fácil y barato para la implementación del case. En el caso de la base de datos se ha adquirido la licencia de SQL 7.0 por las bondades y facilidades que esta brinda para el desarrollo anteriormente mencionado. Las
I Lenguaje de
programación
característic
JAvA 1
Figura 2.6 Características del compilador
CAPITULO 3 INSTALACION Y USO DEL CASE
3.1. Instalación de programas
Para la instalación del compilador sugerimos seguir los pasos descritos en http://docs- pdf.sun.coml8 16-4058181 6-4058.pdf.
Para la instalación de la base de datos SQL 7.0, sugerimos realizar las siguientes acciones (una vez que han sido bajadas las librerías de conectividad y el instalador de la aplicación.):
1) Descomprimir el archivo otros.zip en un directorio diferente de donde se encuentra ubicado, generará cuatro archivos exe.
2) Descomprimir el archivo InstalaCtriASA703.zip , también en otro directorio, ya que al descomprimirlo creará un subdirectorio llamado Diskl
3) Ir al directorio, donde se encuentra los cuatro archivos exe y ejecutar según el orden siguiente:
401COMUPD.EXE(l). Este exe instala la última versión del COMCTL32.DLL; es posible de acuerdo a las versiones anteriores que no sea necesario este paso. DCOM95.EXE(2). Instala el DCOM95, =querido por ODBC 3.5. En algunas configuraciones mandará el mensaje que se cargado una versión más reciente y que por lo tanto, no se puede actualizar las librerías. MDAC-MIN.EXE(3). Instala el ODBC 3.5. DATAACC.EXE(4). Escoger solamente la opción de Controladores de acceso a datos.
4) REINICIAR LA PC. 5 ) En este paso Ud. tendrá que instalar su versión de: Adaptive Server
Anywhere 7.0.3, esto se refiere al CD donde se encuentre el software para instalarse, no se refiere si su institución tiene la licencia. En vista de ser un software propietario sugerimos la compra de la licencia del mismo, cuya cotización y valor cancelado de encuentra en el anexo O De preferencia instalar en el directorio sugerido, sino Ud. puede hacerlo en otra unidad de disco, pero se sugiere no cambiar la jerarquía de directorios. Sin embargo, sí Ud. cambia la unidad de disco, esta ruta deberá ser actualizada en el sistema verificador en el parámetro DBISQL. Solamente debe instalar el producto: SQL Anywhere 7.0, es decir desmarcar todos los productos a instalar, dejando solamente el de SQL Anywhere 7.0. Este paso
debe de realizarse antes de instalar la aplicación del verificador, va que de lo contrario, no podrá ejecutar el sistema. Verificar que la versión instalada.
6) REINICIAR LA PC. Esta aplicación se instalará en el siguiente directorio: C:\SSF\CTRI\VERIFICADOR\ (Default) 7) Ir al directorio, donde Ud. descomprimió el archivo InstalaCtriASA703.zip y
al subdirectorio Diskl y ejecutar setup.exe 8) Seguir con las instrucciones de instalación dejando los defaults. 9) Ir al menú de Start (Inicio) de windows y dando clic en programs (programas)
buscar la opción 'SSF CTRI V.5.00.01 (ASA703)' dentro de esta opción dar clic al shortcut de VERIFICADOR.
10) Ingresar el usuario: ssf y password: ssf. 1 1) Ingresar el tipo de verificador. 12) Seleccionar el código y el nombre de la institución. 13) Ud. puede cambiar el usuario y clave (ssf, ssf), ingresando a la primera opción
del toolbar que es de configuración de parámetros y realizar los siguientes pasos:
En DBUserUID escribir el código de la institución. (Este será el usuario de ingreso) En DBUserPWD escribir el código de la institución o la palabra clave que Ud. desee. (esta será la clave de ingreso) Si no se instaló en el disco C:\ cambiar todas las opciones que contengan rutas de directorios y sobrescribirles la unidad en donde se instaló.
A pesar de que este procedimiento nos ha dado buenos resultados es posible que debido a sus configuraciones cause algún tipo de conflicto para lo cual sugerimos ponerse en contacto con su proveedor y de esta manera solventar las dificultades.
3.2. Uso del CASE
Una vez que nos encontramos en la pantalla principal del Forte for Java 4 CE, nos colocamos en la viñeta de GUI Editing, activamos la clase Syopbase y ejecutamos:
CIB-ESPOL
Figura 3.1 Inicio desde Forte for Java 4 CE
Una vez que hemos ingresado al SYOPBASE nos dirigimos al menú Consulta, opción nueva
Figura 3 .2 Menú consulta opción nueva
Figura 3.3 Creación de nueva base
Colocamos los datos requeridos y presionamos el botón aceptar.
Figura 3.4 Ingrese de datos de nueva base
Mensaje de base de datos creada exitosamente
CIB-ESPOL
Figura 3.5 Mensaje base ingresada exitosamente
En el menú Consulta opción abrir obtendremos la siguiente pantalla, en donde verificamos la base ingresada:
Figura 3.6 Verificación de base ingresada . Escogemos la base ingresada y en la viñeta de discos ingresamos las características de los discos con el botón adicionar:
Figura 3.7 Ingreso datos discos
En caso de cometer algún error, escogemos al disco en mención y lo eliminamos:
Figura 3.8 Error cometido
con el botón eliminar, obteniendo el siguiente mensaje:
Figura 3.9 Mensaje de disco eliminado
Una vez que presionamos el botón grabar aparece el mensaje de discos ingresado
CIB-ESPOL
CIB-ESPOL
Figura 3.10 Mensaje de disco ingresado
Un procedimiento idéntico debemos seguir para el ingreso de datos en las tablas tal como se presenta a continuación:
Figura 3.1 1 Tabla ingresada
Una vez finalizado el proceso de ingreso de discos y tablas nos ubicamos en la pantalla de consulta, abrir y bases donde escogemos a la base ingresada e iniciamos el proceso de generar (el cual iniciara la utilización del algoritmo genético) y este emitirá el repote de resultados, tal como se aprecia aquí:
Figura 3.12 Generación de búsqueda
Tabla # 4 : U O 1 O U Tabla # 5 : O 1 O O O Tabla # 6 : 1 O O O O Tabla # 7 : O 1 O O O
b l a # % : O O O O 1
Figura 3.13 Mensaje de resultados
Almacenamos esta disposición, para futuras consultas.
3.3. Puntos a considerar
1) Es necesario que la persona que utilice el CASE determine cuales son los rangos de uso de las tablas, para lo cual se ha considerado la implementación de un trigger o disparador en las mismas, los cuales nos indicaran un promedio de utilización, quedando a criterio del usuario la creación de uno o la utilización del propuesto en este manual. Los trigger propuestos se los puede apreciar en el anexo P
2) Es necesario que el usuario aplique su criterio para lo cual deberá conocer con bastante certeza su base de datos.
3 ) Como es de esperarse la solución no puede ser única, por lo que las repuestas pueden ser muy variadas, aunque estas sean tendientes a lo mismo.
4) La demora de la solución estará dada de acuerdo a la cantidad de tablas y discos que disponga nuestro sistema.
5) En el caso de tener una base de datos con gran cantidad de tablas recomendamos introducirlas mediante la inserción de archivos planos directamente a las tablas de las bases de datos de esta manera se lograra evitar el ingreso de los mismos uno por uno, mejorando los tiempos de labor.