INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo...

32
1

Transcript of INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo...

Page 1: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

1

Page 2: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

2

INTRODUCCIÓN.

En la actualidad existe un gran número de herramientas para el desarrollo de un

sistema informático, cada una tiene sus ventajas y desventajas, lo importante es

saber seleccionar lo que mejor se acople a las necesidades actuales y futuras

de las empresas.

En el desarrollo del sistema para ACOSIB, de R. L., se utilizará del sistema de

gestión de base de datos Oracle 9i y como herramientas de desarrollo de

aplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y

se adapta a las necesidades de integración del SCI de la Bolsa de Valores.

En este capítulo, se abarcan aspectos importantes sobre el funcionamiento de

Oracle y Developer, además se hará una descripción de la interfaz del sistema

que se ha creado e implementado en ACOSIB, el que incluye los módulos que

posee, las pantallas que compone cada módulo, su funcionamiento y las tablas

con las que interactúa.

iv

Page 3: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

87

17. PROGRAMACION ORIENTADA A OBJETOS.

La programación orientada a objetos (POO u OOP) según siglas en inglés), es

un paradigma de programación que define los programas en términos de

"clases de objetos", objetos que son entidades que combinan estado (es decir,

datos), comportamiento (esto es, procedimientos o métodos) e identidad

(propiedad del objeto que lo diferencia del resto). La programación orientada a

objetos expresa un programa como un conjunto de estos objetos, que colaboran

entre ellos para realizar tareas. Esto permite hacer los programas y módulos

más fáciles de escribir, mantener y reutilizar.

De esta forma, un objeto contiene toda la información, (los denominados

atributos) que permite definirlo e identificarlo frente a otros objetos

pertenecientes a otras clases (e incluso entre objetos de una misma clase, al

poder tener valores bien diferenciados en sus atributos). A su vez, dispone de

mecanismos de interacción (los llamados métodos) que favorecen la

comunicación entre objetos (de una misma clase o de distintas), y en

consecuencia, el cambio de estado en los propios objetos. Esta característica

lleva a tratarlos como unidades indivisibles, en las que no se separan (ni deben

separarse) información (datos) y procesamiento (métodos).

Esto difiere de la programación estructurada tradicional, en la que los datos y

los procedimientos están separados y sin relación, ya que lo único que se busca

es el procesamiento de unos datos de entrada para obtener otros de salida. La

programación estructurada anima al programador a pensar sobre todo en

términos de procedimientos o funciones, y en segundo lugar en las estructuras

de datos que esos procedimientos manejan. En la programación estructurada

se escriben funciones y después les pasan datos. Los programadores que

emplean lenguajes orientados a objetos definen objetos con datos y métodos y

después envían mensajes a los objetos diciendo qué realicen esos métodos en

sí mismos.

Page 4: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

88

18. DEVELOPER.

El Developer es una herramienta de desarrollo de aplicaciones, que se utiliza

con Oracle. Este desarrollador, permite crear formularios en local, es decir,

mediante esta herramienta se puede crear formularios, compilarlos y

ejecutarlos, pero si se quiere que los otros trabajen sobre este formulario se

debe copiar regularmente en una carpeta compartida para todos, de modo que,

cuando quieran realizar un cambio, deberán copiarlo de dicha carpeta y luego

volverlo a subir a la carpeta. La principal ventaja de esta herramienta es que es

bastante intuitiva y dispone de un modo que permite componer el formulario, tal

y como haría en Visual Basic o en Visual C.

18.1. COMPONENTES PRINCIPALES DE DEVELOPER.

18.1.1. Forms.

El componente forms de Developer es la parte del entorno de desarrollo en la

que se construyen los módulos de formularios.

• Módulo de Formularios:

El módulo de formularios es el componente principal de las aplicaciones

interactivas y es el más complejo en términos de estructura interna, ya que

contiene clases distintas de elementos.

Disparadores (Triggers):

Un disparador es un bloque de código PL/SQL que se asocia a otro

elemento: un formulario, un bloque de datos o un elemento de un bloque

de datos. Los disparadores de una aplicación de formularios contienen el

Page 5: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

89

código que se añade a la aplicación y su estructura lógica constituye la

mayor parte del diseño de un formulario.

Bloques de datos:

El bloque de datos es la unidad de construcción intermedia de los

formularios y se puede ver de dos formas, como una colección de

elementos o como una colección de registros, cada uno con la misma

estructura.

Canvas y ventanas:

Un canvas es la base sobre la que se sitúa el texto plano y los

elementos. Cada elemento hace referencia a un único canvas en su hoja

de propiedades. Los elementos de un bloque de datos se pueden dividir

entre diferentes canvas.

Menú emergente:

Un menú emergente es un menú flotante, que emerge cuando se pulsa

con el botón derecho del ratón en un canvas o en un elemento.

Aviso:

Un aviso es un cuadro de diálogo especial que muestra un mensaje con

un icono y hasta tres botones, como OK y Cancel, Yes y No, etc. Existen

tres tipos de avisos: de parada, de precaución y de información.

Editor:

Un editor es un cuadro de diálogo con un editor de texto sencillo, que

permite la introducción de líneas de texto en un elemento texto. El

elemento editor permite especificar el tamaño de la ventana, los atributos

visuales, el título del editor y otras. Las propiedades de la ventana

permite la creación de editores con apariencias diferentes para diferentes

campos de texto.

Page 6: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

90

Grupo de registros:

Es una estructura de datos especial parecida a una tabla con filas y

columnas. Un grupo de registros puede ser un grupo de registros

procedentes de una consulta o un grupo de registros estáticos.

Los grupos de registros se pueden utilizar en LOV, en parámetros de

datos que pasan registros a informes o gráficos, o como estructuras de

datos PL/SQL.

Lista de valores (LOV):

Es un cuadro de diálogo especial que muestra un grupo de registros,

permitiendo elegir una fila del grupo, devolviendo un único valor. Un LOV

se utiliza como una forma de elegir un conjunto específico de valores.

Elementos Programables:

Los elementos programables se utilizan para estructurar programas.

Estos elementos son igualmente aplicables a módulos de formularios y

de menús.

• Módulos de menú.

El módulo de menús es mucho más sencillo que el módulo de formularios.

Consiste en un conjunto de elementos programables y un conjunto de menús.

A su vez, cada menú consiste en un conjunto de opciones. Las opciones

pueden ser sencillas o tener uno de los siguientes formatos: verificación,

opción, separador y mágica.

18.1.2 Reports.

El componente Reports de Developer es la parte del entorno de desarrollo con

la que se realizan los módulos de informes. En este entorno se puede hacer

referencia a elementos de consultas externas, y se pueden configurar y

Page 7: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

91

almacenar elementos de depuración. El Report Builder también incluye

bibliotecas y elementos de base de datos.

Los componentes básicos de un informe son: modelo de datos, su formulario de

parámetros, sus disparadores de informes y su composición.

18.1.3. Graphics.

El componente Graphics de Developer es parte del entorno en el que se

desarrollan los módulos de pantallas. Un módulo de pantalla puede ser uno o

más gráficos que se derivan de datos de base de datos, o pueden contener

cualquier combinación de elementos gráficos con o sin referencia a la base de

datos. Los módulos de pantalla se pueden utilizar estrictamente para mostrar

datos mediante gráficos, como una herramienta de dibujo.

No sólo hace que todos los elementos funcionen conjuntamente, sino que

también trabaja con elementos procedentes de otras aplicaciones y con datos

procedentes de gestores de bases de datos diferentes de Oracle.

18.1.4. Project builder.

Es un componente del conjunto de herramientas Oracle Developer.

PB le permite organizar sus archivos en proyectos y proporciona las

herramientas necesarias para gestionarlos.

18.2. CUADRO COMPARATIVO DE LENGUAJES DE

PROGRAMACION.

Variables Oracle

Developer

Microsoft Visual

Studio. Net Java

Velocidad Alta Alta Medio

Estabilidad Fuerte Fuerte Intermedio

Page 8: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

92

Seguridad Alta Alto Alta

Simplicidad Alta Alto Media

Conectividad Alta Alto Alta

Manejo de errores Alto Alto Alta

Entorno de desarrollo Alto Alto Alta

Precio software Alto Medio Gratis

Precio plataforma Alto Medio Gratis

Soporte Medio Alto Bajo

CUADRO 10. Comparación entre lenguajes de programación.

18.3. PL/SQL.

PL/SQL (Programming Language/SQL, por sus siglas en inglés). Provee una

manera muy cómoda de relacionar los conceptos de bases de datos y

manejarlos mediante ciertas estructuras de control, dentro del contexto de una

herramienta netamente de programación.

Su utilización es dentro del administrador de bases de datos Oracle, sus

principales características son la posibilidad que brinda de utilizar sentencias

SQL para manipular datos en Oracle y sentencias de control de flujo para

organizar esta manipulación de datos.

Dentro del lenguaje, es posible declarar constantes y variables, definir

procedimientos y funciones y atrapar errores en tiempo de ejecución. Así visto,

PL/SQL combina el poder de la manipulación de datos con SQL, y las

facilidades del procesamiento de los mismos, tal como en los más modernos

lenguajes de programación.

19. ORACLE.

Es básicamente una herramienta cliente/servidor para la gestión de Bases de

Datos. Es un producto vendido a nivel mundial y de gran potencia.

Page 9: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

93

Un servidor Oracle posee una base de datos Oracle y la instancia Oracle,

soporta acceso por SQL y por múltiples lenguajes de programación. También

posee un lenguaje de procedimientos llamado PL/SQL, un lenguaje de 5ª

generación bastante potente para tratar y gestionar la base de datos.

Oracle posee dos estructuras primarias, la estructura física (datos

almacenados) y la lógica (representación abstracta de los datos).

Para su utilización primero sería necesaria la instalación de la herramienta

servidor (Oracle en cualquier versión) y posteriormente se podría accesar a la

base de datos desde otros equipos con herramientas de desarrollo como Oracle

Developer, que es una herramienta básica de programación sobre Oracle.

19.1. VENTAJAS DE ORACLE.

• Estabilidad.

• Escalabilidad.

• Es multiplataforma.

• Base de datos multipropósito.

• Robustez

• Fácil administración.

• Inviolabilidad.

• Seguridad

• Puede manejar grandes volúmenes de datos.

• Posee alto desempeño.

• Soporte de transacciones.

• Con soporte para tecnologías Internet (XML).

Page 10: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

94

19.2. ARQUITECTURA DE LA BD ORACLE.

Una Base de Datos Oracle es un conjunto de datos almacenados y accesibles

según el formato de tablas relacionales. Una tabla relacional tiene un nombre y

unas columnas. Los datos están almacenados en las filas. Las tablas pueden

estar relacionadas con otras.

Una BD Oracle está almacenada físicamente en ficheros, y la correspondencia

entre los ficheros y las tablas es posible gracias a las estructuras internas de la

BD, que permiten que diferentes tipos de datos estén almacenados físicamente

separados. Está división lógica se hace gracias a los espacios de tablas.

19.2.1. Los Tablespaces.

Un espacio de tablas es una división lógica de la BD. Cada una tiene al menos

uno. Un espacio de tablas puede pertenecer sólo a una BD. Se utilizan para

mantener juntos los datos de usuarios o de aplicaciones para facilitar su

mantenimiento o mejorar las prestaciones del sistema.

De esta manera, cuando se crea una tabla se debe indicar el espacio de tablas

al que se destina. Por defecto se depositan en el espacio de tablas SYSTEM, que

se crea por defecto. Este espacio de tablas es el que contiene el diccionario de

datos, por lo que conviene reservarlo para el uso del servidor, y asignar las

tablas de usuario a otro. Lo razonable y aconsejable es que cada aplicación

tenga su propio espacio de tablas.

19.2.2. Los ficheros.

Cada espacio de tablas se compone de uno o más ficheros en disco. Un fichero

puede pertenecer sólo a un espacio de tablas. Los ficheros reciben un tamaño

fijo en el momento de su creación, y cuando se necesita más espacio se deben

añadir más ficheros a espacio de tablas.

Page 11: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

95

Dividir los objetos de la BD entre múltiples espacios de tablas permite que los

objetos sean almacenados físicamente en discos separados, dependiendo de

donde estén los ficheros sobre los que se asientan.

19.2.3. Instancias.

Para permitir el acceso a los datos, Oracle utiliza un conjunto de procesos que

son compartidos por todos los usuarios. Además, existen estructuras de

memoria que son utilizadas para almacenar los datos más recientemente

solicitados a la BD.

Una instancia de BD es el conjunto de estructuras de memoria y de procesos

que acceden a los ficheros de datos.

Los parámetros que determinan el tamaño y composición de una instancia

están almacenados en un fichero llamado init.ora. Este fichero es leído durante el

arranque de la BD y puede ser modificado por el DBA. Cualquier modificación

de este fichero no tiene efecto hasta la siguiente vez que se arranque la BD.

19.2.4. Tablas y Columnas.

Los datos son almacenados en la BD utilizando tablas. Cada tabla está

compuesta por un número determinado de columnas.

Las tablas propiedad del usuario SYS son llamadas tablas del diccionario de

datos. Proveen el catálogo del sistema que permite que la BD se gestione a sí

misma.

Las tablas se pueden relacionar entre ellas a través de las columnas que las

componen. La BD se puede utilizar para asegurar el cumplimiento de esas

relaciones a través de la integridad referencial, que se concreta en las

restricciones de tablas.

Page 12: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

96

19.2.5. Restricciones de Tablas.

Una tabla puede tener asociadas restricciones que deben cumplir todas las

filas. Entre las restricciones que se pueden fijar algunas reciben nombres

especiales.: clave primaria, clave ajena.

La clave primaria de una tabla está compuesta por las columnas que hacen a

cada fila de la tabla una fila distinta.

La clave ajena se utiliza para especificar las relaciones entre tablas. De modo

que un conjunto de columnas declaradas como clave ajena de una tabla deben

tener valores tomados de la clave primaria de otra tabla.

19.2.6. Usuarios.

Una cuenta de usuario no es una estructura física de la BD, pero está

relacionada con los objetos de la BD: los usuarios poseen los objetos de la BD.

Existen dos usuarios especiales: SYS y SYSTEM. El usuario SYS posee las tablas

del diccionario de datos; que almacenan información sobre el resto de las

estructuras de la BD. El usuario SYSTEM posee las vistas que permiten acceder

a las tablas del diccionario, para el uso del resto de los usuarios de la BD.

Todo objeto creado en la BD se crea por un usuario, en un espacio de tablas y

en un fichero de datos determinado. Toda cuenta de la BD puede estar unida a

una cuenta del S.O., lo que permite a los usuarios acceder a la cuenta de la BD

sin dar la clave de acceso.

19.2.7. Índices.

Un índice es una estructura de la BD utilizada para agilizar el acceso a una fila

de una tabla. Cada fila tiene un identificador de fila, ROWID, que determina el

fichero, bloque y fila dentro del bloque donde está almacenada la fila.

Page 13: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

97

Cada entrada del índice consiste en un valor clave y una ROWID. Cada una de

estas entradas se almacena en un árbol B+.

Los índices se crean automáticamente cuando se define una restricción UNIQUE

o PRIMARY KEY.

19.2.8. Vistas.

Conceptualmente, una vista puede considerarse como una máscara que se

extiende sobre una o más tablas, de modo que cada columna de la vista se

corresponde con una o más columnas de las tablas subyacentes. Cuando se

consulta una vista, esta traspasa la consulta a las tablas sobre las que se

asienta. Las vistas no se pueden indexar.

19.2.9. Procedimientos y Funciones.

Un procedimiento es un bloque de código PL/SQL, que se almacena en el

diccionario de datos y que es llamado por las aplicaciones. Se pueden utilizar

para implementar seguridad, no dando acceso directamente a determinadas

tablas sino es a través de procedimientos que acceden a esas tablas. Cuando

se ejecuta un procedimiento se ejecuta con los privilegios del propietario del

procedimiento. La diferencia entre un procedimiento y una función es que ésta

última puede devolver valores.

19.2.10. Paquetes.

Se utilizan para agrupar procedimientos y funciones. Los elementos dentro de

los paquetes pueden ser públicos o privados. Los públicos pueden ser llamados

por los usuarios, los privados están ocultos a los usuarios y son llamados por

otros procedimientos.

Page 14: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

98

19.2.11. Sinónimos.

Para identificar completamente un objeto dentro de una BD se necesita

especificar el nombre de la máquina, el nombre del servidor, el nombre del

propietario y el nombre del objeto. Para hacer transparente todo esto al usuario

se pueden utilizar los sinónimos. Éstos apuntarán a los objetos y si el objeto

cambia de lugar o propietario, sólo habrá que modificar el sinónimo.

Existen sinónimos públicos y privados. Los públicos son conocidos por todos los

usuarios de una BD. Los privados son locales a un usuario.

• Privilegios y Roles:

Para que un objeto pueda ser accedido por un usuario debe de tener

otorgado ese privilegio. Ejemplos de privilegios son INSERT, SELECT,

UPDATE, EXECUTE, etc.

Los roles son grupos de privilegios que pueden ser utilizados para

facilitar la gestión de los privilegios. Los privilegios se pueden otorgar a

un rol, y los roles pueden ser otorgados a múltiples usuarios.

• Segmentos, Extensiones y Bloques:

Los segmentos son los equivalentes físicos de los objetos que

almacenan datos. El uso efectivo de los segmentos requiere que el DBA

conozca los objetos que utilizan una aplicación, cómo los datos son

introducidos en esos objetos y el modo en que serán recuperados.

Como los segmentos son entidades físicas, deben estar asignados a

espacios de tablas en la BD y estarán localizados en uno de los ficheros

de datos del espacio de tablas. Un segmento está constituido por

secciones llamadas extensiones, que son conjuntos contiguos de

bloques Oracle.

Page 15: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

99

Una vez que una extensión existente en un segmento no puede

almacenar más datos, el segmento obtendrá del espacio de tabla otra

extensión. Este proceso de extensión continuará hasta que no quede

más espacio disponible en los ficheros del espacio de tablas, o hasta que

se alcance un número máximo de extensiones por segmento.

19.3. COMPARACION DE ORACLE CON OTRAS BD.

Variables Oracle Microsoft

SQL Server

Power Builder

Postgre SQL MySQL

Abstracción de la información.

Alto Alto Alto Alto Alto

Independencia. Alta Alta Alta Medio Medio

Redundancia mínima

Baja Baja Baja Baja Baja

Consistencia. Alto Alto Alto Medio Medio

Seguridad. Alta Alta Alta Alta Alto

Integridad. Alto Alto Alto Medio Medio

Respaldo y recuperación.

Alto Alto Alto Medio Medio

Control de la concurrencia.

Alto Alto Alto Medio Medio

Tiempo de respuesta.

Alto Alto Alto Medio Medio

Costo. Alto Medio Medio Gratis Gratis

Nivel de administración.

Alto Alto Alto Medio Medio

CUADRO 11. Comparación entre bases de datos.

Page 16: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

100

20. LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Las aplicaciones en red son cada día más numerosas y versátiles. En muchos

casos, el esquema básico de operación es una serie de scripts que rigen el

comportamiento de una base de datos.

Debido a la diversidad de lenguajes y de bases de datos existentes, la manera

de comunicar entre unos y otras sería realmente complicada a gestionar de no

ser por la existencia de estándares que permiten el realizar las operaciones

básicas de una forma universal.

Es de eso de lo que trata el Structured Query Language, que no es más que un

lenguaje estándar de comunicación con bases de datos. Se habla, por tanto, de

un lenguaje normalizado que permite trabajar con cualquier tipo de lenguaje

(ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access,

Oracle, SQL Server, MySQL...).

El hecho de que sea estándar no quiere decir que sea idéntico para cada base

de datos. En efecto, determinadas bases de datos implementan funciones

específicas que no tienen necesariamente que funcionar en otras.

Aparte de esta universalidad, el SQL posee otras dos características muy

apreciadas. Por una parte, presenta una potencia y versatilidad notables que

contrasta, por otra, con su accesibilidad de aprendizaje.

SQL promociona métodos para definir la base datos, para manipular la

información y para gestionar los permisos de acceso a dicha información.

20.1 SENTENCIAS SQL.

Las sentencias SQL pertenecen a dos categorías principales: Lenguaje de

Definición de Datos, DDL y Lenguaje de Manipulación de Datos, DML. Estos

Page 17: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

101

dos lenguajes no son lenguajes en sí mismos, sino que es una forma de

clasificar las sentencias de lenguaje SQL en función de su cometido. La

diferencia principal reside en que el DDL crea objetos en la base de datos y sus

efectos se pueden ver en el diccionario de la base de datos; mientras que el

DML es el que permite consultar, insertar, modificar y eliminar la información

almacenada en los objetos de la base de datos.

Cuando se ejecutan las sentencias DDL de SQL, el SGBD confirma la

transacción actual antes y después de cada una de las sentencias DDL. En

cambio, las sentencias DML no llevan implícito el commit y se pueden deshacer.

Existe pues un problema al mezclar sentencias DML con DDL, ya que estas

últimas pueden confirmar las primeras de manera involuntaria e implícita, lo que

en ocasiones puede ser un problema.

A continuación se presenta una tabla con las sentencias SQL más comunes,

clasificadas según el lenguaje al que pertenecen.

Sentencia DDL.

Objetivo.

Alter procedure.

Recompilar un procedimiento almacenado.

Alter Table. Añadir o redefinir una columna, modificar la asignación de almacenamiento.

Analyze. Recoger estadísticas de rendimiento sobre los objetos de la BD para utilizarlas en el optimizador basado en costes.

Create Table.

Crear una tabla.

Create Index.

Crear un índice.

Drop Table. Eliminar una tabla.

Drop Index. Eliminar un índice.

Grant. Conceder privilegios o papeles, roles, a un usuario o a otro rol.

Truncate. Eliminar todas las filas de una tabla.

Page 18: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

102

Revoke. Retirar los privilegios de un usuario o rol de la base de datos.

Sentencia DML.

Objetivo.

Insert. Añadir filas de datos a una tabla.

Delete. Eliminar filas de datos de una tabla.

Update. Modificar los datos de una tabla.

Select. Recuperar datos de una tabla.

Commit. Confirmar como permanentes las modificaciones realizadas.

Rollback. Deshacer todas las modificaciones realizadas desde la última confirmación.

21. DISEÑO DE LA INTERFAZ.

El sistema de control de cuentas y transacciones (SCT), para ACOSIB de R.L.

permitirá la automatización de todos los procesos que maneja la cooperativa.

Es SCT esta conformado por dos módulos principales:

• Módulo general (MG).

• Módulo de cuentas y transacciones (MCT).

A continuación se muestra algunas de las pantallas que conforman estos

módulos y la descripción de estas. La información completa de la interfaz del

sistema se muestra en el Manual de Usuario.

21.1. MODULO GENERAL (MG).

Este módulo maneja el control de acceso de los usuarios al sistema. Esta

compuesto por la opción de configuración y contiene las siguientes pantallas:

Page 19: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

103

Pantalla: Configuración de grupos de usuarios.

FIGURA 17. Pantalla configuración de grupos de usuarios.

Objetivo: Identificar los diferentes grupos de usuarios que tienen acceso al

sistema.

Descripción: Guarda el código y el nombre del grupo, módulo al que tiene

accesos los grupos, nivel y nombre de la opción a que pertenece el nivel.

Tablas que lo soportan: TMG_GRUPO y TMG_MENUOPC.

Campos claves: Tmg_codgrp (pk), Tmg_codopc (pk).

Page 20: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

104

Pantalla: Configuración de usuario.

FIGURA 18. Pantalla configuración de usuarios.

Objetivo: Controlar el acceso de cada uno de los usuarios que ingresan al

sistema.

Descripción: Almacena el código y el nombre del usuario, así como también su

clave, el grupo de usuario al que pertenece, el tipo de formato de Excel que

posee y el estado del usuario

Tablas que lo soportan: TMG_USUARIO, TMG_GRUPO

Campos claves: Tmg_codusu (pk), Tmg_codgrp (pk) (fk).

Page 21: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

105

Pantalla: Cambio de contraseña

FIGURA 19. Pantalla Cambio de contraseña.

Objetivo: Permitir a los usuarios del sistema cambiar su clave de acceso en el

momento que ellos lo consideren necesario.

Descripción: Contiene el código y nombre del usuario, la clave actual de

acceso, la clave nueva y la confirmación.

Tablas que lo soportan: TMG_USUARIO.

Campos claves: Tmg_codusu (pk).

21.2. Módulo de control de cuentas y transacciones (MCT).

Este modulo facilita el manejo de los ahorros, créditos y aportaciones de los

asociados de la cooperativa.

El modulo esta compuesto por tres opciones que se detallan a continuación:

1. Creación y Mantenimiento: Permite el ingreso y actualización de la

información que manejara el sistema.

Page 22: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

106

2. Procesos: Es el encargado de los cálculos manuales y automáticos de

las transacciones que realiza el sistema.

3. Consultas y Reportes: Facilita las consultas a la información ya

almacenada y genera los reportes necesarios.

Opción: Creación y Mantenimiento

Pantalla: Socio.

FIGURA 20. Pantalla de mantenimiento socio.

Objetivo: Manejar la información de los socios de la cooperativa Descripción: Guarda los datos principales de los socios, así como también

información de los beneficiarios asignados por los socios.

Tablas que lo soportan: TAC_SOCIO, TAC_BENEFICIAR Campos claves: Tac_codsoc (pk) (fk)

Page 23: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

107

Pantalla: Tipo de cuenta.

FIGURA 21. Pantalla de mantenimiento Tipo de cuenta.

Objetivo: Establecer los diferentes tipos de cuentas que manejara el sistema.

Descripción: Contiene el código y el nombre de todos los tipos de cuenta que

se utilizan en la cooperativa.

Tablas que la soportan: TAC_TIPO_CTA.

Campos claves: Tac_codtip (pk)

Page 24: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

108

Pantalla: Préstamo.

FIGURA 22. Pantalla de mantenimiento de préstamos.

Objetivo: Controlar la información de los prestamos otorgados por la

cooperativa.

Descripción: Almacena el numero del préstamo, socio al que pertenece, fiador,

tasa de interés, fecha de inicio y fin de la vigencia del préstamo.

Tablas que la soportan: TAC_PRESTAMO, TAC_FIADOR, TAC_SOCIO,

TAC_TASA_INT.

Campos claves: Tac_codptm (pk), Tac_codsoc (fk), Tac_codfia (fk),

Tac_codtas (fk).

Page 25: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

109

Opción: Procesos.

Pantalla: Tabla de Amortización.

.

FIGURA 23. Pantalla de proceso Tabla de amortización.

Objetivo: Calcular el número de cuotas que el socio debe cancelar de un

préstamo concedido por la cooperativa.

Descripción: Muestra los datos relacionados al préstamo: No de préstamo,

socio, monto, tasa de interés, base, frecuencia, fecha de apertura y

vencimiento, además despliega el detalle de la tabla de amortización del

préstamo: No de pago, fecha, cuota, interés, capital y saldo.

Tablas que lo soportan: TAC_PRESTAMO, TAC_SOCIO, TAC_TASA_INT.

Campos claves: Tac_codptm (pk), tac_codsoc (pk, fk), tac_codtas (pk, fk).

Page 26: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

110

Pantalla: Carga de aportaciones y ahorros automáticos.

FIGURA 24. Pantalla de proceso automático de carga de aportaciones y ahorros.

Objetivo: Manejar los ahorros, retiros y compra de aportaciones relacionados

con los descuentos aplicados en planilla establecidos en el SCI.

Descripción: Contiene el año, mes y quincena a capturar, el tipo de

movimiento de ahorro y aportaciones.

Tablas que lo soportan: TRH_PLANILLA, TAC_TIPO_CTA, TAC_SOCIO,

TAC_EMPRESA, TAC_CUENTA, TAC_MOVIMIENTO, TAC_BIT_CARGA.

Campos claves: pk_planilla (compuesta), codemp_fk_trh_planilla (compuesta).

Page 27: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

111

Pantalla: Registro de Transacciones de Prestamos.

FIGURA 25. Pantalla de Registro de Transacciones de Préstamos.

Objetivo: Manejar los ahorros, retiros y compra de aportaciones relacionados

con los descuentos aplicados en planilla establecidos en el SCI.

Descripción: Contiene el año, mes y quincena a capturar, el tipo de

movimiento de ahorro y aportaciones.

Tablas que lo soportan: TAC_MOV_PTMO, TAC_PTM, TAC_SOCIO.

Campos claves: Tac_nummov (pk), Tac_codptm (fk), tac_codsoc (fk).

Page 28: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

112

Opción: Consultas y Reportes.

Pantalla: Cuentas por socio.

FIGURA 26. Pantalla de consulta de cuentas por socio.

Objetivo: Mostrar la información general del socio y un detalle de todas las

cuentas asignadas a este.

Descripción: Presenta el código, nombre, y fecha de ingreso del socio, además

el No. de cuenta que posee, tasa de interés, tipo y estado de cada una de ellas.

Tablas que lo soportan: TAC_SOCIO, TAC_CUENTA.

Campos claves: Tac_codsoc (pk, fk), tac_numcta (pk).

Page 29: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

113

Pantalla: Detalle de Fiador.

FIGURA 27. Pantalla de consulta de Detalle por fiador.

Objetivo: Desplegar la información general del fiador y un detalle de las

personas a quienes les sirve de fiador.

Descripción: Muestra el código, apellido, e ingreso neto del fiador, así mismo

el No del préstamo, deudor principal, monto y estado.

Tablas que lo soportan: TAC_FIADOR, TAC_PRESTAMO.

Campos claves: Tac_codfia (pk, fk), tac_codptm (pk).

Page 30: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

114

Pantalla: Ficha de empresa.

FIGURA 28. Pantalla de consulta de ficha de empresa.

Objetivo: Mostar la información relacionada a las empresas a la que pertenece

los socios, fiadores, proveedores.

Descripción: Contiene los datos principales de la empresa y la persona

contacto, además presenta el descuento máximo que puede ser aplicado al

socio y al fiador con relación a los prestamos otorgados.

Tablas que lo soportan: TAC_EMPRESA, TAC_CONTACTO,

TAC_DESCUENTO.

Campos claves: Tac_codemp (pk, fk), tac_contac (fk).

Page 31: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

115

Reporte: Detalle por fiador.

FIGURA 29. Pantalla de Reporte de detalle de fiador.

Reporte: Ficha de empresa.

FIGURA 30. Pantalla de ficha de empresa.

Page 32: INTRODUCCIÓN. - ri.ufg.edu.svri.ufg.edu.sv/jspui/bitstream/11592/6885/5/334.2-B275s-Capitulo IV.pdfaplicaciones Developer 6i, ya que la cooperativa cuenta con ambos software y se

116

22. IMPLEMETACION DEL SISTEMA.

A continuación se detalla un listado de actividades que se realizaron para la

implementación del Sistema de Control de Cuentas y Transacciones (SCT),

para Acosib, de R.L.

• Se entrego a los administradores del sistema los programas fuentes

para que realizaran una copia de estos y se le asignara una ubicación

especifica.

• Se les proporcionó a los administradores de la base de datos los

scripts de las tablas que conforman la base de datos.

• Se realizaron las respectivas pruebas del sistema por parte de los

programadores, para detectar posibles problemas generados al momento

de la implantación.

• Los usuarios del sistema efectuaron pruebas al sistema con la ayuda del

manual de usuario para verificar la manera en que se utiliza el sistema.

• Los datos introducidos para pruebas se eliminaron y se alimento con la

información real de los socios.

• Se creó la base de datos y se colocó en una ubicación definida por la

Gerencia de Tecnología de Información para establecer los accesos que

tendrán cada uno de los usuarios del sistema