Tesis Final de La Cooperativa

February 26, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Tesis Final de La Cooperativa...

Description

 

 

INSTITUTO DE EDUCACIÓN SUPERIOR AVANSYS

“Año del Buen Servicio al Ciudadano” 

TESIS MODELAMIENTO DE BASE DE DATOS EN ORACLE PARA OPTIMIZAR EL FUNCIONAMIENTO DE GESTIÓN DE LA COOPERATIVA DE AHORRO Y CRÉDITO TRIUNFO PERÚ FINANCE  AUTORES: SANTIAGO PACHECO RICHAR MUÑOZ CURO MARY LEE ASESOR: JOSÉ FLORES INGARUCA PARA OPTAR EL TITULO PROFESIONAL LIMA, PERÚ 2017 

1

 

 

DEDICATORIA

A Dios, por darnos la oportunidad de vivir y por estar con nosotros en cada paso que damos, por fortalecer nuestro corazón e iluminar nuestra mente y por haber puesto en nuestro camino a aquellas personas que han sido nuestro soporte y compañía durante todo el periodo de realización de este tesis. A nuestros padres y familiares por brindarnos su apoyo incondicional. A nuestro Asesor José Flores Ingaruca y a nuestro grupo de estudio. Para ellos es esta dedicatoria pues a ellos a quienes debemos por su apoyo incondicional.

2

 

 

RESUMEN El presente proyecto se ha realizado con el propósito de mejorar el modelamiento de base de datos en Oracle para optimizar el funcionamiento de gestión de ahorro y crédito de la Cooperativa Triunfo Perú Finance para lo cual fue necesario elaborar modelamiento de base de datos en Oracle, brindándole un marco útil para la toma de decisiones y así lograr mejor la gestión financiera eficiente y eficaz, que permita una mejor calidad de vida de sus clientes, Para ello fue necesario desarrollar un análisis situacional y los procesos de Prestamo, apertura de cuenta de ahorro, movimiento de cuenta y pago de prestamo, para mejor atención al cliente, ya que la cooperativa de Ahorro y Crédito Triunfo Perú Finance demostró que la Gestión de la cooperativa en el periodo 2014 –  2016,  2016, no fue eficaz.

3

 

 

INDICE

RESUMEN..................................................................................................................................... 3 INTRODUCCIÓN ...................................................................................................................... 13 1.  DESCRIPCIÓN DE LA EMPRESA .................................................................................. 14 Empresa .................................................................................................................................... 14 Misión ....................................................................................................................................... 15 Visión ........................................................................................................................................ 15 Nuestros Valores ...................................................................................................................... 15 ORGANIGRAMA ................................................................................................................... 16 2.  DIAGNOSTICO DE LA SITUACIÓN ACTUAL ............................................................ 17 2.1 

CAMPO DE ACCIÓN ..................................................... ................................................................................................. ............................................ 17

2.2.  PROCESOS DEL NEGOCIO ...................................................................................... ................................................. ................................... 18 2.2.1  PROCESO DE APERTURA DE CUENTA DE AREA CUENTA  ...................... ...................... 18 2.2.1  PROCESO DE MOVIMIENTO DE CUENTA DEL AREA CAJA  .................... .................... 20 2.2.1.  PROCESOS DE PRÉSTAMO DEL AREA PRESTAMO ................................... 22 2.2.1.  PROCESOS DE PAGO DE PRÉSTAMO  ............................................................. 25 3.  DEFINICIÓN DEL PROBLEMA ................................................... ...................................................................................... ................................... 27 3.1.  ANÁLISIS DE LOS PROBLEMAS DE INFORMACIÓN  ..................................... 27 3.1.1.  SITUACIÓN PROBLEMÁTICA Y PROBLEMAS A RESOLVER  ..................  .................. 27 3.2 

................................................ 29 OBJETIVO DE LA PROPUESTA DE SOLUCIÓN  ................................................

4

 

 

3.2.1  OBJETIVO GENERAL ............................................................................................ ....................................................... ................................... 29 3.2.2  OBJETIVOS ESPECÍFICOS .................................................................................. ............................................... ................................... 29 3.2.3 

FUNDAMENTACIÓ DE LOS OBJETIVOS PROPUESTO  ........................... 30

4.  MARCO TEÓRICO ............................................................................................................ 34 4.1.  Búsqueda de información de tecnología aplicada  ..................................................... 34 4.1.1.  Base de datos y sus tipos ........................................................................................... 34 4.1.2  Tecnología Oracle ......................................................... ..................................................................................................... ............................................ 36 4.1.3  Metodología (UML o Ágil) ........................................................................................ ................................................... ................................... 40 4.1.4  NORMALIZACIÓN DE BASE DE DATOS (FORMAS NORMALES) ........... 47 ......................................................................... ............... 52 4.1.5  Modelador de base de datos Erwin  ..........................................................

4.1.6  Administración y Seguridad de base de datos ....................................................... 53 .................................................... ......................... 54 4.1.7  INFORMACIÓN ADICIONAL ...............................................................................

5.  DESARROLLO DE LA PROPUESTA ELEGIDA  .................................................. .......................................................... ........ 56 5.1.  FACTIBILIDAD .......................................................................................................... 56 5.2.  ROLES .......................................................................................................................... 57 5.3.  METODOLOGÍA UTILIZADA ÁGIL ..................................................................... 57 5.4 

NORAMLIZACION DE LA BASE DE DATOS  .................................................... 113

5.4.1  PRIMERA FORMA NORMAL ............................................................................. .................................................... ....................... 113 5.4.2  SEGUNDA FORMA NORMAL ........................................................................... 114 5.4.3  TERCERA FORMA NORMAL ........................................................................... 114 5.5 

MODELAMIENTO DE BASE DE DATOS ............................................................ ...................................................... ...... 115

5.5.1  DIAGRAMA DE BASE DE DATOS EN ORACLE  ........................................... 115

5

 

 

5.5.2  DICCIONARIO DE DATOS ................................................................................. ................................................ ................................. 116 5.5.3  Creación de tablas, índices, vistas, secuencias (script) ........................................ ........................................ 128 5.5.6  Creacion de paquetes, procedimientos (script)  .................................................... .................................................... 143 5.5.6  Administracion y seguridad de la base de datos (script)  .................................... 174 5.5.6  Creacion de usuarios y perfiles .............................................................................. 176 6

CONCLUSIONES ........................................................................................................ .................................................. ............................................................ ...... 177

7  RECOMENDACIONES .................................................................................................... ................................................ .................................................... 178 8  AGRADECIMIENTOS ..................................................................................................... 179 9  REFERENCIAS BIBLIOGRÁFICAS ...................................................... ............................................................................. ....................... 180 10 

ANEXOS .......................................................................................................... ................................................... ...................................................................... ............... 181

LISTAS ESPECIELES DE FIGURAS

Figura 1 Ubicación de la Empresa. ............................................................................................... 14  Figura 2: ORGANIGRAMA DE LA CAC. TR TRIUNFO IUNFO PERU FINANCE .................................. 16  Figura 3 PROCESOS DE APERTURA DE CUENTA DE AHORRO ........................................ 19   Figura 4 PROCESO DE MOVIMIENTO DE CUENTA DE AHORRO .................................... 21  Figura 5 PROCESO PRESTAMO ................................................................................................ .................................................... ............................................ 24   FIGURA 6 PROCESOS DE PAGO DE PRÉSTAMO................................................................. 26   Figura 7 Base de Datos consulta ...................................................... .................................................................................................. ............................................ 35  Figura 8 Mantenemiento ............................................................................................................... 35 

6

 

 

figura 9 tablespace ........................................................................................................................ 38  FIGURA 10 DATABASE ............................................................................................................ 38  Figura 11 Funcionamiento de la Metodología XP. ....................................................................... ........................................................ ............... 46 

Figura 12 Planificación historias de usuario  ............................................................................ 60  Figura 13 Planificación de la entrega............................................................................................ 89  FIGURA 14 FACHADA DE LA EMPRESA ............................................................................ ............................................................... ............. 181  FIGURA 15 AREA DE ATENCION AL CLIENTE ................................................... ................................................................ ............. 181  FIGURA 16 DOCUMENTOS ARCHIVADOS EN FISICO ..................................................... ............................................... ...... 182 

LISTA DE TABLAS Tabla 1: FODA de la Cooperativa ................................................................................................ 17 Tabla 2 SITUACION PROBLEMÁTICA DE CUENTA DE AHORRO ................................... 27 Tabla 3 SITUACION S ITUACION PROBLEMÁTICA MOVIMIENTO DE CUENTA ................................. 28 Tabla 4 SITUACION S ITUACION PROBLEMATICA ACTUAL DE PRESTAMO ...................................... 28 Tabla 5 SITUACION PROBLEMATICA ACTUAL DE PAGO PRESTAMO ......................... 29 Tabla 6 FUNDAMENTACIÓ DE LOS OBJETIVOS PROPUESTO ......................................... 31 Tabla 7 NORMALIZACION .................................................. ........................................................................................................ ...................................................... 48 TABLA 8 Primera Forma Normal ................................................................................................ .................................................... ............................................ 49 TABLA 9 Segunda Forma Normal ............................................................................................... 50 TABLA 10 Tercera Forma Normal .............................................................................................. 51 tabla 11 presupuesto de producto total para la implementación del sistema de información ....... 56 Tabla 12 Asignación De Roles Y Responsabilidades ................................................................... .................................................... ............... 57

7

 

 

Tabla 13 Actividad Fase Planificacion ......................................................................................... 58 Tabla 14 Historias de usuarios usu arios Registro de Cliente. ..................................................................... ...................................................... ............... 64 Tabla 15 Historias de usuarios Mantenimiento de Cliente. ................................................. ......................................................... ........ 64 Tabla 16 Historias de usuarios usu arios Eliminación de Cliente. ....................................................... ............................................................... ........ 65 Tabla 17 Historias de usuarios Consulta de Cliente. .................................................................... 65 Tabla 18 Historias de usuarios usu arios Reporte de Cliente. ...................................................................... ....................................................... ............... 66 Tabla 19 Historias de usuarios Registro de Empleado. ............................................................... 66 Tabla 20 Historias de usuarios Modificación de Empleado. ........................................................ 67 Tabla 21 Historias de usuarios usu arios Consulta de Empleado. ........................................................ ................................................................ ........ 67 Tabla 22 Historias de usuarios Eliminación de Empleado. .......................................................... 68 Tabla 23 Historias de usuarios Reporte de Empleado. ................................................................. 68 Tabla 24 Historias de usuarios Registro de Cuenta. ..................................................................... 69 Tabla 25 Historias de usuarios Modificación de Cuenta. ............................................................. 69 Tabla 26 Historias de usuarios Consulta de Cuenta...................................................................... 70 Tabla 27 Historias de usuarios Eliminación de Cuenta ................................................................ 70 Tabla 28 Historias de usuarios Registro de Movimiento. ............................................................ .................................................... ........ 71 Tabla 29 Historias de usuarios usu arios Mantenimiento de Movimiento. .................................................. 71 Tabla 30 Historias de usuarios usu arios Consulta de Movimiento. ............................................................ 72 Tabla 31 Historias de usuarios Reporte de Movimiento. ...................................................... .............................................................. ........ 72 Tabla 32 Historias de usuarios Registro de Préstamo. ................................................................. ................................................ ................. 73 Tabla 33 Historias de usuarios usu arios Mantenimiento de Préstamo. ............................................... ....................................................... ........ 73 Tabla 34 Historias de usuarios Consulta de Préstamo Personal ................................................... 74 Tabla 35 Historias de usuarios Reporte de Préstamo.................................................................... 74

8

 

 

Tabla 36 Historias de usuarios usu arios Registro de Pago Préstamo. ......................................................... ................................................. ........ 75 Tabla 37 Historias de usuarios usu arios Mantenimiento de Pago Pr Préstamo. éstamo. .............................................. 75 Tabla 38 Historias de usuarios usu arios Consulta de Pago Préstamo. P réstamo. ........................................................ ................................................ ........ 76 Tabla 39 Historias de usuarios usu arios Reporte de Pago Préstamo................................................... .......................................................... ........ 76 Tabla 40 Historias de usuarios usu arios Emisión de Ticket Movimiento. .................................................. 77 Tabla 41 Historias de usuarios usu arios Consulta de Ticket Movimiento. ................................................. 77 Tabla 42 Historias de usuarios usu arios Reporte de Ticket de d e Movimiento. .............................................. 78 Tabla 43 Historias de usuarios usu arios Emisión de Ticket Pago Préstamo. .............................................. 78 Tabla 44 Historias de usuarios usu arios Consulta de Ticket de d e Préstamo. ................................................. 79 Tabla 45 Historias de usuarios usu arios Reporte de Ticket de d e Movimiento. .............................................. 79 Tabla 46 Historias de usuarios Registro de Contrato................................................................... Contrato................................ ................................... 80 Tabla 47 Historias de usuarios Mantenimiento de Contrato. ........................................................ ................................................ ........ 80 Tabla 48 Historias de usuarios usu arios Consulta de Contrato ................................................................... .................................................... ............... 81 Tabla 49 Historias de usuarios Registro de Usuarios ................................................................... 81 Tabla 50 Historias de usuarios Mantenimiento de Usuarios ........................................................ 82 Tabla 51 Historias Historias de usuarios Eliminación de Usuarios .................................................... ............................................................ ........ 82 Tabla 52 Historias de usuarios usu arios Ingreso del Usuario Usu ario al Sistema. ................................................... 83 Tabla 53 Historias de usuarios usu arios Validación del Usuario. ....................................................... ............................................................... ........ 83 Tabla 54 Estimación de Historias de Usuario. .............................................................................. 84 Tabla 55 planificacion de entregas ............................................................................................... 87 Tabla 56 Tiempo CALENDARIO. ............................................................................................... ................................................... ............................................ 88 Tabla 57 Esfuerzo Esfuerzo de desarrollo en base de 2 personas .............................................................. ...................................................... ........ 88 ........................................................ .................................................... 89 Tabla 58 Plan de entrega  ............................................................................................................

9

 

 

Tabla 59 plan de liberación ........................................................................................................... 92

Tabla 60 Desarrollo de versiones de historias de usuario  ....................................................... ............................................... ........ 93 Tabla 61 Actividades de Fase de Diseño ...................................................................................... 95 Tabla 63 Tarjeta CRC_Cliente...................................................................................................... 96 Tabla 64 Tarjeta CRC_Empleado ................................................................................................. 96 Tabla 65 Tarjeta CRC_Cuenta ................................................ ...................................................................................................... ...................................................... 97 Tabla 66 Tarjeta CRC_Movimiento ............................................................................................. 97 Tabla 67 Tarjeta CRC_Prestamo .................................................................................................. 98 Tabla 68 Tarjeta CRC _ Pago Préstamo ....................................................................................... 98 Tabla 69 Tarjeta CRC_ Ticket Movimiento ................................................................................. ........................................................ ......................... 99 Tabla 70 Tarjeta CRC_ Ticket Pago Préstamo .................................................... ............................................................................. ......................... 99 Tabla 71 Tarjeta CRC_Contrato ................................................................................................. 100 Tabla 72 Tarjeta CRC_ Usuario. ................................................................................................ 100 Tabla 73 Planificación de tarea para el Modulo Sección de cliente. .......................................... 101 Tabla 74 Planificación de tarea para el Modulo Sección de Empleado ...................................... 101 Tabla 75 Planificación de tarea para el Modulo Sección de cuenta. .......................................... 102 Tabla 76 Planificación de tarea para el Modulo Sección de Movimiento. ................................. 102 Tabla 77 Planificación de tarea para el Modulo Sección de Préstamo. ...................................... 103 Tabla 78 Planificación de tarea para el Modulo S Sección ección de Pago Préstamo. Préstamo . ............................. 103 Tabla 79 Planificación de tarea para el Modulo Sección de Ticket Movimiento ....................... 104 Tabla 80 Planificación de tarea para el Modulo Sección de Ticket Pago Préstamo. .................. 104 Tabla 81 Planificación de tarea para el Modulo S Sección ección de contrato. ........................................ 105 Tabla 82 Planificación de tarea para el Modulo Sección de Usuario. ........................................ 105

10

 

 

Tabla 83 Prueba de Aceptación para el Cliente ................................................... .......................................................................... ....................... 106 Tabla 84 Prueba de Aceptación para la Sección de Empleado ................................................... 107 Tabla 85 Prueba de Aceptación para la Sección de Cuenta .................................................. ........................................................ ...... 107 Tabla 86 Prueba de Aceptación para la Sección de Movimiento ............................................... 108 Tabla 87 Prueba de Aceptación para la Sección de Préstamo .................................................... 108 Tabla 88 Prueba de Aceptación para la Sección de Pago Préstamo. .......................................... 109 Tabla 89 Prueba de Aceptación para la Sección de Ticket Movimiento .................................... 109 Tabla 90 Prueba de Aceptación para la Sección de Ticket Pago Préstamo. Pr éstamo. ............................... 110 Tabla 91 Prueba de Aceptación para la Sección de contrato ...................................................... 110 Tabla 92 Prueba de Aceptación para la Sección de Usuario ...................................................... 111 Tabla 93 Desarrollo de Pruebas de Aceptación. ......................................................................... 111 Tabla 94 Tabla de almacenamiento del Departamento. .............................................................. 116 Tabla 95 Tabla de almacenamiento del Provincia. ..................................................................... 117 Tabla 96 Tabla de almacenamiento del Distrito ......................................................................... 117 Tabla 97 Tabla de almacenamiento de Asentamientos Humano ................................................ 118 Tabla 98 Tabla de almacenamiento de Cargo. ............................................................................ 118 Tabla 99 Tabla de almacenamiento de Tipo Documento. .......................................................... 118 Tabla 100 Tabla de almacenamiento de Cliente. ................................................. ........................................................................ ....................... 119 Tabla 101 Tabla de almacenamiento de Tipo Cuenta. ................................................ ............................................................... ............... 120 Tabla 102 Tabla de almacenamiento de Cuenta. ........................................................................ 120 Tabla 103 Tabla de almacenamiento de Tipo Movimiento. ....................................................... 121 Tabla 104 Tabla de almacenamiento de Movimiento. ................................................................ ................................................... ............. 121 Tabla 105 Tabla de almacenamiento de Tipo Préstamo. ............................................................ 122

11

 

 

Tabla 106 Tabla de almacenamiento de Préstamo. ........................................................ ..................................................................... ............. 123 Tabla 107 Tabla de almacenamiento de Pago Prés Préstamo. tamo. ............................................................ ...................................................... ...... 123 Tabla 108 Tabla de almacenamiento del Empleado. .................................................................. 124 Tabla 109 Tabla de almacenamiento de Ticket Pago Préstamo. ................................................ 125 Tabla 110 Tabla de almacenamiento de Ticket Movimiento...................................................... 126 Tabla 111 Tabla de almacenamiento de Tipo Contrato. ............................................................. 126 Tabla 112 Tabla de almacenamiento de Contrato....................................................................... ......................................................... ............. 126 Tabla 113 Tabla de almacenamiento de Usuario. ....................................................................... .......................................................... ............. 127 

12

 

 

INTRODUCCIÓN El presente proyecto consiste en modelamiento de base de datos en ORACLE enfocado a dar solución mediante una base de datos centralizado que mejore en la gestión de ahorro y crédito de la Cooperativa Triunfo Perú Finance. El uso de la tecnología se ha convertido en una necesidad competitiva. Los estudios han comprobado que los negocios con éxito utilizan sistemas para lograr el funcionamiento de los diferentes controles, en consecuencia la rentabilidad o maximización de utilidades del negocio. Las limitaciones encontradas en la fase de desarrollo del sistema de información fue la  pérdida de tiempo en los los proceso de prestamo, apertura de cuenta de ahorro personal y apertura de cuenta de ahorro comunal, como también reportes generales. El proyecto consta con el análisis del estado actual de la empresa, explicando los procesos de negocio claves del asunto de estudio y además, se analiza la situación problemática a fin de  presentar la propuesta de solución con los objetivos del proyecto tanto generales como específicos. También se presenta el modelado del negocio donde se analizan las reglas y el “cómo” del

 proceso en estudio, los cuales se han desarrollado des arrollado usando RUP, XP y BIZAGI, artefa artefactos ctos que nos  permitieron definir los objetos de información y el flujo de actividades a automatizar. Finalmente se muestra las soluciones para las problemáticas que se han encontrado con el modelamiento de la base de datos que se desarrolló en Oracle.

13

 

1.  DESCRIPCIÓN DE LA EMPRESA

 

Empresa La Cooperativa de ahorro y crédito Triunfo Perú Finance con RUC 20574802548 se constituye el 6 de julio de 2014 con el objetivo de desarrollar e impulsar los fines que q ue conforman el cooperativismo, trabajando al servicio de cada uno de sus clientes Como entidad financiera, La Cooperativa cuenta con un sólido respaldo patrimonial que sustenta su gestión, para crecimiento empresarial. Se encuentra ubicado en Jr. Recaredo Alvarado 194.  Nuestro principal objetivo es bbrindar rindar a través de su flexible y ágil gestión, un servicio  personalizado y fácilmente accesible para cada cad a asentamiento humano. La Cooperativa de ahorro y ccrédito rédito Triunfo Perú Finance ofrece ahorros y créditos exclusivamente a cada AAHH, como también a los usuarios de cada AAHH.

F IGURA 1   UBICACIÓN

DE LA

EMPRESA.

14

 

 

Misión  

Ofrecer servicios financieros caracterizados por la alta calidad del servicio y por respuestas rápidas a las diversas necesidades de los clientes de cada AAHH.

 

Ofrecer una atención personalizada, superando las expectativas de los clientes. Respetando los principios de confidencialidad e integridad, garantizando la seguridad y confianza que los clientes han depositado en nuestra institución.

Visión  

Ser una CAC sólida, innovadora y de prestigio, que se maneje con los más altos estándares de calidad y ética profesional, manteniendo siempre gran responsabilidad en el desarrollo de los negocios bancarios.

Nuestros Valores   Transparencia: Aseguramos

la transparencia en nuestras actividades diarias, basándonos

en principios éticos de honestidad, integridad y respeto.   Compromiso: Estamos

comprometidos con la inclusión financiera de los emprendedores y

sus familias, contribuyendo con el desarrollo profesional de nuestro equipo de trabajo y nuestra sociedad.   Equidad: Actuamos

con objetividad ante nuestros clientes, colaboradores y nuestra

comunidad, promoviendo la igualdad y la justicia en nuestro día a día.   Excelencia:  Nos

abocamos día a día con optimismo y trato cálido a nuestros clientes,

 brindando servicios responsables y de calidad.   Sensibilidad Social: Contribuimos el bienestar de nuestros clientes, colaboradores, el medio

ambiente y la sociedad, en cumplimiento de nuestra Misión, Visión y objetivos sociales.

15

 

 

ORGANIGRAMA

FIGURA 2:  ORGANIGRAMA DE  LA  CAC.  TRIUNFO PERU FINANCE 

ASAMBLEA GENERAL DE LOS SOCIOS

GERENTE

SEGURIDAD

NEGOCIOS

OPERACIONES

SECRETARIA

ADMINISTRACION Y FINANCIERA

CONTABILIDAD

PRESTAMOS Y COBRANZAS

ATENCION AL

TESORERIA

CAPACITACIONES

CAJA

ADQUISICION Y CONTRATACION

CUENTA

INVERSION

MARKETING

CLIENTE

16

 

TABLA 1:  FODA DE LA COOPERATIVA  ORTALEZA

 

PORTUNIDADES

 

Personal calificado.

 

Ética profesional

 

Compromiso en el trabajo

 

Buen trato y servicio al cliente.

 

Creatividad

 

Facilidades para la obtención prestamo.

EBILIDADES    

Altas tasas de los préstamos.

 

Falencias en el buen servicio al cliente en otras entidades financieras.

MENAZAS  

Mayor número de opciones de

Competencia

con

ennovacion

tecnológico

inversión de alto riesgo.

 

Desestabilidad economica del pais

 

Regular rotación de personal.

 

nuevos impuestos

 

Sistema lento de atención al cliente.

 

huelgas

 

Copia de estrategias de la

 

competencia agresiva

competencia.

 

competencia desleal

2.  DIAGNOSTICO DE LA SITUACIÓN ACTUAL 2.1  CAMPO DE ACCIÓN El campo de acción se centra en los procesos del área de Prestamos (Solicitud de  préstamo), área de Cuenta (apertura de cuenta de ahorro) y la área caja (movimiento de cuenta y pago de prestamo)

17

 

2.2. PROCESOS DEL NEGOCIO

 

A continuación, se narra los procesos involucrados en el campo de acción:

2.2.1  PROCESO DE APERTURA DE CUENTA DE AREA CUENTA El proceso inicia cuando el cliente se dirige al área cuenta, en donde solicita apertura de cuenta de ahorro. La encargada de cuenta informa el costo de inscripción para apertura de cuenta de ahorro, en seguida el cliente realiza el pago correspondiente. Luego la encargada de cuenta pregunta qué tipo de cuenta desea abrir (cuenta de ahorro personal o comunal). El cliente elige e informa el tipo de cuenta de ahorro, Si el cliente elige cuenta de ahorro personal, La encargada de cuenta solicita documentos de identidad para verificar sus datos en el registro de Excel, el cliente brinda su documento de identidad. La encargada realiza consulta mediante el número de documento de identidad, si el cliente no figura en el registro, entonces solicita los datos adicionales como (Teléfono y Email), seguidamente registran en un archivo de Excel. En caso si el cliente elige cuenta de ahorro comunal. La encargada de cuenta solicita relaciones de usuario para registrar en el registro de Excel, el cliente entrega una lista de relaciones de usuarios de AAHH, La encargada de cuenta registra nueva cuenta de ahorro. Luego Luego la encargada de cuenta entrega al cliente unos formatos donde especifican las clausulas por abrir una cuenta de ahorro, el cliente recibe el documento, lee las especificaciones de cláusulas, si está de acuerdo firma y le entrega a la encargada de cuenta, quien verifica la firma y seguidamente entrega copia original de contrato y la cuenta aperturada.

18

 

 

FIGURA 3 PROCESOS DE  APERTURA DE  CUENTA DE  AHORRO

19  

2.2.1  PROCESO DE MOVIMIENTO DE CUENTA DEL AREA CAJA El cliente se dirige a la ventanilla de caja y brinda el número de cuenta de ahorro, la encargada de caja verifica la existencia de cuenta, si la cuenta no existe informa la inexistencia de cuenta y si existe verifica el tipo de cuenta de ahorro. Si la cuenta de ahorro es personal o ahorro comunal, comunal, en ambos casos la eencargada ncargada de caja informa al cliente que tipo de movimiento desea realizar retiro o abono. Si el cliente desea abonar la encargada de caja informa el monto de ahorro a abonar, o si el cliente desea retirar informa la cantidad de monto a retirar, Luego la encargada de caja registra el movimiento de cuenta, en caso que el retiro es de cuenta de ahorro comunal el cliente brinda adicionalmente un documento de autorización

legalizado por los usuarios para retiro de dicha cuenta de ahorro, más adelante emite y entrega el ticket de movimiento realizado.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

 

FIGURA 4  PROCESO  DE  MOVIMIENTO  DE CUENTA DE  AHORRO 

20

21  

2.2.1.  PROCESOS DE PRÉSTAMO DEL AREA PRESTAMO

El proceso inicia cuando el solicitante se acerca al área préstamo y en donde manifiesta su interés de adquirir un préstamo, el ejecutivo de dicha área solicita su documento de identidad, el solicitante brinda su documento de identidad. El ejecutivo de  préstamo verifica existencia del cliente, si el cliente existe verifica registro r egistro de morosos o negativos, si existe informa el rechazo de solicitud, en caso que el solicitante no está en dicho registro, ni está registrado eenn el registro de cclientes lientes de la CAC. Triunfo Perú Finance, verifica historial de préstamo del solicitante, si tiene problemas informa el rechazo, si en el historial financiero no hay problemas, entonces el ejecutivo de préstamo informa que la cooperativa ofrece dos tipos de préstamo: préstamo personal y préstamo hipotecario. Luego informa de siguiente manera:

Primero.- préstamo personal (Se llaman préstamo personal porque en este tipo de  préstamos la eentidad ntidad no suele contar con una garantía especial para el recobro recobro de la cantidad  prestada. Así Así tienen como gara garantía ntía genérica los bienes presen presentes tes y futuros del deudor). deudor).

Segundo.- préstamo hipotecario (Se llaman préstamo Hipotecario porque en este tipo de préstamos la entidad suele contar con una garantía especial para el recobro de la cantidad prestada). Cada tipo de préstamo tiene el interés diferente del otro. El solicitante elige uno de los tipos de préstamos e informa a ejecutivo de préstamo, quien en seguida realiza estudio del préstamo, si el solicitud no se aprueba informa que el

solicitud improcedente, y si está aprobado, el ejecutivo de préstamo solicita los l os siguientes requisitos como: documento de identidad (titular y conyugue), recibo de agua o luz, en caso el cliente elige préstamo hipotecario, adicionalmente presenta título de propiedad u otros  bienes que garantice para adquirir préstamo, en caso que la garantía sea de terceros tiene que presentar un documento adicional legalizado en donde detalle que el tercero accede al

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

22  

solicitante sacar préstamo con su título propiedad de vivienda o terreno. El solicitante entrega los requisitos solicitados. El ejecutivo de préstamo registra todo los requisitos  presentados en archivo de Excel, luego realiza documentacio documentaciones nes de contrato en donde detalla de acuerdo a las normas establecidas por la cooperativa, más adelante el ejecutivo de préstamo entrega el contrato a firmar, el solicitante revisa el contrato, si está de acuerdo firma el contrato y devuelve el contrato. El ejecutivo de préstamo revisa las firmas del solicitante, mas adelante entrega entrega la copia original de contrato al cliente y prosigue a realizar desembolso, para para ello informa si desea el dinero en efectivo efectivo o desembolso a cuenta. cuenta. El solicitante elije el desembolso e informa a ejecutivo de cuenta quien prosigue realizar desembolso correspondiente.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

23

 

 

FIGURA 5 PROCESO PRESTAMO 

24  

2.2.1.  PROCESOS DE PAGO DE PRÉSTAMO El cliente se dirige a la ventanilla de caja e informa realizar el pago de préstamo. La encargada de caja solicita documento de identidad del prestatario. El cliente brinda el documento de identidad solicitado, en seguida por medio de número de documento de identidad verifica la encargada encargada de caja en la lista de pago préstamo préstamo como (la fecha de pag pago, o, el número cuota, y el monto que debe pagar y otros), luego informa el monto a pagar. El cliente dispone el monto a pagar. La encargada de caja emite y el ticket de pago de préstamo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

25  

 

FIGURA 6 PROCESOS  DE  PAGO DE  PRÉSTAMO

26  

3.  DEFINICIÓN DEL PROBLEMA 3.1. ANÁLISIS DE LOS PROBLEMAS DE INFORMACIÓN 3.1.1.  SITUACIÓN PROBLEMÁTICA Y PROBLEMAS A RESOLVER TABLA 2 SITUACION PROBLEMÁTICA  DE CUENTA DE AHORRO Proceso de Apertura de cuenta de ahorro SITUACIÓN PROBLEMÁTICA  PROBLEMA  - Los datos de cliente puede duplicado en Se carece de un registro centralizado de el registro de Excel, como también el clientes registro aveces es guardado en varios

archivos de Excel por seguridad. -

El archivo de Excel puede ser abierto y Carece de un sistema de información que de manipulado por cualquier persona ya que seguridad a base de datos. no tiene seguridad de registros.

-

El formato de cláusulas se guarda en Carece de un sistema de información que archivadores físicos, con el tiempo puede almacene el contrato realizado entre la  perderse o ser ser traspapelado.

-

-

cooperativa y cliente.

El archivo de Excel no tiene la capacidad Carece de un sistema de información con de almacenar gran cantidad de capacidad de almacenar mayor cantidad de Información información. El usuario de cuenta tiene la libertad de Carece de un sistema de gestor de base de manipular todos los registros, ya que no datos que dé privilegios a cada usuario de hay gestor de registros que limite li mite algunos acuerdo la tarea que realiza.  permisos innecesarios para el usuario de cuenta.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 3 SITUACION PROBLEMÁTICA MOVIMIENTO DE  CUENTA Proceso de movimiento de cuenta SITUACIÓN PROBLEMÁTICA  PROBLEMA  - Los encargados de cada AAHH solicitan Se carece de un registro centralizado mensualmente un reporte de abonos realizados  para almacenar datos de abonos  por los usuarios de cada A AAHH. AHH. La en encargada cargada realizados por los usuarios de cada de caja puede tardar en sacar reporte de AAHH abonos, ya que en el registro de abono puede

27

haber duplicidad de datos. -

Para cada tipo de movimiento tiene registros destintos por lo tanto aall momento que registra la encargada de caja comete duplicidad de datos

Carece de un sistema de infomacion i nfomacion que permita registrar solo en un registro difereciando por su tipo de movimiento.

TABLA 4 SITUACION PROBLEMATICA ACTUAL DE PRESTAMO proceso de préstamo SITUACIÓN PROBLEMÁTICA  PROBLEMA   - El contrato que se realiza con el Ausencia de registro automatizado que  prestatario es manual, por lo cual el genere contrato de prestamo. contrato

puede

perderse

o

ser

traspapelado. -

El Excel no tiene control de dar Carece de un registro centralizado de todos  permisos a cada usuario para cada los préstamos. tarea, sin embargo cualquier usuario tiene libertad de manipular los registrados

-

El

estudio

de

préstamo

para Carece de un sistema de información

aprobación de solicitud del solicitante completo y automatizado que dé una  puede tardar, ya que el manejo de respuesta inmediata de aprobación de  préstamo en E Excel xcel no no es sistematizado.  prestamo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 5 SITUACION PROBLEMATICA ACTUAL DE  PAGO PRESTAMO proceso de pago prestamo SITUACIÓN PROBLEMÁTICA  PROBLEMA   - El registro de pagos de cada préstamo Se carece de un solo registro que almacene

28

tiene registro independiente en el todo los pagos de préstamo, cada uno con archivo de Excel.

código independiente y con código de  préstamo.

-

Para emitir el comprobante de pago, el Carece de un sistema de información encargado de caja tiene que registrar.

automatizado que emite comprobante de  pago sin nesidad nesidad de registra registrar. r.

-

El comprobante de pago se registra Carece de un sistema que permita emitir manualmente en el archivo de Excel

comprobante de pago automatizado.

3. 3.22  OBJETIVO DE LA PROPUESTA DE SOLUCIÓN 3.2.1  OBJETIVO GENERAL Desarrollar un sistema de información que permita gestionar los servicios que ofrece la cooperativa Triunfo Triunfo Perú Finance como: apertura de cuenta de ahorro individu individual al o comunal, préstamo, así mismo el sistema debe permitir conocer todo los movimientos de cuenta de ahorro, pago de prestamo y otros haciendo seguimiento de los mismos.

3.2.2  OBJETIVOS ESPECÍFICOS  

Permitir registrar datos del cliente.

 

Permita hacer mantenimiento de registros.

 

Permitir gestionar apertura de cuenta de ahorro personal.

 

Permitir registrar nuevos tipos de ahorro con respectivo interes.   Proporcionar reportes de movimientos realizados por los clientes.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

 

Permitir gestionar solicitud del cliente para adquirir préstamo.

29

 

emitir comprobante de pa pago go automatizado en ca cada da movimiento realizado por el cliente.

 

Permitir hacer seguimiento préstamo.

 

Permitir registrar nuevos tipos de préstamo con respectivo interes.

 

no permitir registrar datos ya existentes.

 

Permitir registrar información requerida para el desembolso de préstamo.

 

Realizar la trazabilidad desde la solicitud de préstamo hasta el desembolso de préstamo.

 

emitir comprobante de pa pago go de prestamo automatizado eenn cada pago realizad realizadoo por el

cliente.

3 2 3 

FUNDAMENTACIÓ FUNDAMENTACI Ó DE LOS OBJETIVOS PROPUESTO 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

30

 

TABLA 6 FUNDAMENTACIÓ DE  LOS  OBJETIVOS PROPUESTO SITUACIÓN PROBLEMÁTICA PROBLEMA A RESOLVER OBJETIVO ESPECÍFICO ESPECÍFICO   Los datos de cliente puede duplicado Se carece de un registro   Permitir registrar datos del cliente.

-

en el registro de Excel, como también el registro aveces es guardado en varios archivos de Excel por seguridad. -

El archivo de Excel puede ser abierto y manipulado por cualquier persona ya que no tiene seguridad de

FUNDAMENTACIÓN Con el modelamiento de base de datos la encargada de cuenta centralizado de clientes   Permita hacer mantenimiento de registros.  podrá abrir nuevas aperturas de cuenta para los clientes sin   Permitir gestionar apertura de cuenta de  problemas de duplicidad de información en registrar, ni ahorro personal. duplicidad de archivos, además tendrá mayor seguridad de Carece de un sistema de   Permitir registrar nuevos tipos de ahorro cuentas y datos del cliente y información que de seguridad a  permisos cada usuario según  base de datos. con respectivo interes. las tareas para que realiza     Proporcionar

registros. -

El formato de cláusulas se guarda en Carece

de

un

sistema

de

archivadores físicos, con el tiempo información que almacene el  puede perderse o ser traspapelado. traspapelado.

contrato

realizado

entre

la

reportes de movimientos

realizados por los clientes.   no permitir

registrar datos ya existentes.

cooperativa y cliente. -

-

El archivo de Excel no tiene la Carece de un sistema de capacidad de almacenar gran información con capacidad de cantidad de Información almacenar mayor cantidad de información. El usuario de cuenta tiene la libertad Carece de un sistema de gestor de de manipular todos los registros, ya  base de datos que dé privilegios a que no hay gestor de registros que cada usuario de acuerdo la tarea que realiza.

31

 

 

limite algunos permisos innecesarios  para el usuario de cuenta. -

reportes de movimientos Con el modelamiento de base de datos en Oracle nos automatizado de información que realizados por los clientes.  proporcionara todo los reportes reporte los abonos realizados por de movimientos realizados por   emitir comprobante de pago de presta prestamo mo los clientes. los usuarios de AAHH. Por otro lado nos permitirá emitir automatizado de cada pago realizado por el comprobante de pago de  préstamo automatizado de cada el cliente.  pago realizado por el cliente 

Los encargados de cada AAHH Se solicitan mensualmente un reporte de abonos realizados por los usuarios de cada AAHH. La encargada de caja  puede tardar en sacar reporte de abonos, ya que se registra de acuerdo

carece

de

un

sistema

al tiempo que realiza el abono cada usuario,

el

registro

no

esta

sistematizado para un reporte. -

-

Para cada tipo de movimiento tiene Carece de un sistema de registros destintos por lo tanto al al infomacion que permita registrar momento que registra la encargada solo en un registro difereciando de caja comete duplicidad de datos  por su tipo de movimiento. El registro de pagos de cada préstamo Se carece de un solo registro que tiene registro independiente en el almacene todo los pagos de archivo de Excel.

 préstamo, cada uno con código independiente y con código de  préstamo.

  Proporcionar

32

 

 

-

Para emitir el comprobante de pago, Carece

de

un

sistema

de

el encargado de caja tiene que información automatizado que registrar.

emite comprobante de pago sin nesidad de registrar.

-

El comprobante de pago se registra Carece de un sistema que permita manualmente en el archivo de Excel

emitir comprobante de pago automatizado.

-

-

 permisos a cada usuario para cada de todos los préstamos.

 préstamo con respectivo interes.

tarea, sin embargo cualquier usuario

  Permitir

tiene libertad de manipular los El

registrar información requerida

 para el desembolso de préstamo.

registrados -

  Permitir

gestionar solicitud del cliente Con el modelamiento de base de datos se podrá permitir gestionar el prestamo de acuerdo a la  para adquirir préstamo. solicitud del cliente que desea contrato puede perderse o ser de prestamo. adquirirm prestamo y hacer   Permitir hacer seguimiento préstamo. traspapelado. seguimiento de prestamo. El Excel no tiene control de dar Carece de un registro centralizado   Permitir registrar nuevos tipos de

El contrato que se realiza con el Ausencia de registro  prestatario es manual, por p or lo cual el automatizado que genere contrato

estudio

aprobación

de

préstamo

de

solicitud

para Carece

de

del información

solicitante puede tardar, ya que el automatizado

un

sistema

completo que



de y una

manejo de préstamo en Excel no es respuesta inmediata de aprobación sistematizado.

  Realizar

la trazabilidad desde la solicitud

de préstamo hasta el desembolso de  préstamo.

de prestamo.

33

 

4.  MARCO TEÓRICO 4.1. Búsqueda de información de tecnología aplicada 4.1.1.  Base de datos y sus tipos Base de Datos Según Anguiano (2014), es un contenedor que permite almacenar la información de forma ordenada con diferentes propósitos y usos. Por ejemplo, en una base de datos se puede almacenar información de diferentes departamentos (Préstamos, Recursos Humanos, caja, entre otros). El almacenamiento de la información por sí sola no tiene un valor, pero si

combinamos o relacionamos la información con diferentes departamentos nos puede dar valor. Por ejemplo, combinar la información de las ventas del mes de junio del 2014 para el  producto ‘X’ en la zona norte nos da un indicativo del comportamiento de las ventas en un

 periodo de tiempo. tiempo. 

Tipos de bases de datos Según Anguiano (2014), Existen muchas empresas con diferentes giros y dependiendo del giro será el tipo de procesamiento que se le dará a la información, esto determinará el tipo de base de datos a utilizar. Existen diferentes tipos de bases de datos pero las más comunes son las OLTP y OLAP. Las bases de datos de tipo OLTP (On Line Transaction Processing) también son llamadas bases de datos dinámicas lo que significa que la información se modifica en tiempo real, es decir, se insertan, se eliminan, se modifican y se consultan datos en línea durante la operación del sistema. Un ejemplo es el sistema de un supermercado donde se van registrando cada uno de los artículos que el cliente está comprando y a su vez v ez el sistema va actualizando el Inventario.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

FIGURA 7  BASE DE DATOS

34

FIG   FIG Las bases de datos de tipo OLAP (On Line Analytical Processing) también son llamadas bases de datos estáticas lo que significa que la información en tiempo real no es afectada, es decir, no se insertan, no se eliminan y tampoco se modifican datos; solo se realizan consultas sobre los datos ya existentes para el análisis y toma de decisiones. Este tipo de bases de datos son implementadas en Business Intelligence para mejorar el desempeño de las consultas con grandes volúmenes de información.

FIGURA 8 MANTENEMIENTO  

Fig La necesidad de implementar un tipo u otro dependerá del giro y necesidades de cada empresa. Es muy importante identificar el tipo de base de datos que se requiere antes de implementar un manejador de base de datos. Por ejemplo podemos citar al manejador

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

de base de datos “DB2 10.5 with BLU Acceleration”, la cual proporciona una solución

 para la parte transaccional transaccional y pa para ra la parte de ana analíticos. líticos.

4.1.2 

Tecnología Oracle

35

Oracle Según la Masip (2002). Oracle es la Primera Base de Datos Diseñada para Grid Computing, es un sistema de gestión de base de datos relacional fabricado por Oracle Corporation. Oracle es básicamente un herramienta cliente/servidor para la gestión de base de datos la gran potencia que tiene y su elevado precio hace que solo se vea en empresas muy grandes y multinacionales, por norma general. Oracle Corporation: es una de las mayores compañías de software del mundo. Sus productos van desde bases de datos (Oracle) hasta sistemas de gestión. Cuenta además, con herramientas propias de desarrollo para realizar  potentes aplicaciones, aplicaciones, como Ora Oracle cle Designer.

Historia Oracle surge a finales el año 1970 del nombre de Relational Software a partir de un estudio sobre SGBD (Sistemas Gestores de Base de Datos) Computer World definió este estudio como uno de los más completos jamás escritos sobre bases de datos. Usaba la fi filosofía losofía de las bases de datos relacionales, algo que por aquella época era todavía desconocido. La tecnología Oracle se encuentra prácticamente en todas las industrias alrededor del mundo. Oracle es la primera compañía de software que desarrolla e implementa software para empresas 100 por ciento activado por Internet a través de toda su línea de productos: base de datos, aplicaciones comerciales comerciales y herramientas de desarrollo de aplicaciones aplicaciones y soporte de decisiones. Oracle garantiza el funcionamiento de sus bases de datos, que en caso de caídas del servidor compensa económicamente con cifras cercanas a las 7 cifras.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

36

Característicass de Oracle Característica Desarrollado sobre Oracle Database, Oracle Content Database ha sido diseñada para que las organizaciones puedan controlar y gestionar grandes volúmenes de contenidos no estructurados en un único repositorio con el objetivo de reducir los costes y los riesgos asociados a la pérdida de información.  

Apoya en el diseño y optimización de modelos de datos.

 

Apoya en la definición de estándares de diseño y nomenclatura de objetos.

 

Ayuda a analizar datos y efectuar recomendaciones concernientes a mejorar el rendimiento y la eficiencia en el manejo de aquellos datos que se encuentran almacenados.

Estructuras de Oracle   

Una BD Oracle tiene una estructura física y una estructura lógica:

 

La estructura física se corresponde a los ficheros f icheros del sistema operativo.

 

La estructura lógica está formada por los tablespace y los objetos de un esquema de BD

Estructura lógica. Se divide en unidades de almacenamiento lógicas: Tablespaces. Cada BD estará formada por uno o mas tablespaces (al menos existe el tablespace SYSTEM catálogo del sistema) Cada tablespace se corresponde con uno o más ficheros de datos. Objetos: tablas, vistas, índices asociados a una tabla, clusters, ect.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

37

FIGURA 9 TABLESPACE  

Estructura física Una B.D. tiene uno o más ficheros de datos. Estos ficheros son de tamaño fijo y se establecen en el momento en que se crea la base de datos o en el momento en el que se crean tablespaces. Los datos del fichero de datos son leídos cuando se necesitan y situados en una caché de memoria compartida para que el próximo acceso a los mismos sea más rápido. FIGURA  10   DATABASE

Versiones de Oracle Oracle 5 y Oracle 6:   fueron las dos primeras versiones de Oracle, quedando aun rezagadas por las versiones sucesoras.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Oracle 7: La base de datos relacional componentes de Oracle Universal Server. Posee además las versiones 7.1, 7.1.2, y 7.1.3.

Oracle 7  Parallel: Ofrece a los usuarios un método seguro y administrable para incrementar la performance de sus bases de datos existentes introduciendo operaciones en  paralelo y sincrónicas sincrónicas dentro de sus ambientes informáticos.

Oracle 8: Incluye mejoras de rendimiento y de utilización de recursos. Independiente de que se necesite dar soporte a decenas de miles de usuarios y cientos de terabytes t erabytes de datos, o se disponga de un sistema mucho más pequeño, pero igualmente critico, todos se benefician del rendimiento de Oracle8. Este soporta aplicaciones de procesamiento de transacciones on line (OLTP) y de data warehousing mayores y más exigentes.

Oracle 9: existe alguna tabla de que tenga los sqls de c/tabla que se crea... O, en su defecto, como puedo armarlo, de que tabals puedo armarlo. Esto es para una migración de datos que necesito hacer.

Oracle 10: proporciona mejores resultados al automatizar las tareas administrativas, ofreciendo seguridad líder en el sector y características para el cumplimiento regulatorio, y  posibilitando la mayor mayor disponibilidad.

Oracle 11: es una base de datos de características completas para pequeñas y medianas empresas que requieren el desempeño, la disponibilidad y la seguridad de la base de datos #1 del mundo a un bajo costo.

Ventajas  

Maximiza la disponibilidad y elimina la redundancia del centro de datos inactivo. 

38

  Oracle es el motor de base de datos relacional más usado a nivel mundial.  

Es compatible con medianas Industrias.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

 

Es fácil de instalar y configurar, viene con su propio software de clustering, administración de almacenamiento y otras capacidade capacidadess de auto administración.

Oracle es la base de datos con más orientación hacía INTERNET.   Oracle es portable porque se puede instalar en la gran mayoría de los sistemas  

Operativos y también tiene una gran capacidad de almacenamien almacenamiento. to.

Desventajas  

La mayor desventaja es su elevado costo.

 

El costo de la formación de los usuarios.

4.1.3 

Metodología (UML o Ágil) Definición

La programación extrema es una metodología de desarrollo ligero (o ágil) basada en un serie de valores y prácticas de buenas maneras que persigue el objetivo de aumentar la  productividad a la hora de desarrollar desarrollar programas. Este modelo de programación se basa en unas serie de metodologías de desarrollo de software en el que la prioridad a los trabajos que dan un resultado directo y que reducen la burocracia que hay alrededor de la programación. Una de las características principales de este método, es que sus ingredientes son conocidos desde el principio de la informática .Los autores XP han seleccionado aquellos que han considerado mejores y han profundizado en sus relaciones y en cómo se esfuerzan los unos con los otros.

39

FASE I: PLANEACIÓN La planificación es la fase inicial en cualquier proyecto XP. A partir de este punto se empieza a interactuar con el cliente y con el equipo de desarrollo para establecer los requisitos

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

del sistema. Se tienen ti enen en cuenta seis elementos: historias de usuario, plan de entregas, velocidad de proyecto, iteraciones, rotaciones y reuniones. r euniones.

Historias de Usuario Son la técnica utilizada en XP para especificar los requisitos del software. Se trata de una serie de tarjetas de papel donde el cliente describe de forma breve lo que desea obtener del producto, ya sean requisitos funcionales como no funcionales. La forma de tratar estas historias es muy flexible, pudiéndose romper en cualquier momento, cambiar o añadir nuevas. Cada historia de usuario debe ser comprensible y estar delimitada, de forma que los  programadores puedan realizar eenn unas se semanas. manas. Las historias de usuarios son descompuestas en tareas de programación y asignadas a los programadores para poder ser implementadas durante una iteración.

Plan de Entregas Se realiza un cronograma de entregas donde se esta establece blece que historias historias de usuario serán agrupadas para conformar una entrega, y el orden de las mismas. Dicho cronograma será el resultado de una reunión entre todos los actores del proyecto (cliente, desarrolladores, gerentes, etc.). XP denomina a esta reunión “juego de planteamiento”, pero pue de

denominarse de la manera que sea más apropiada al tipo de empresa y cliente.  Normalmente, el clien cliente te ordena ordenara ra y agrupara de acue acuerdo rdo a sus prioridades prioridades las historias

40

de usuarios. El cronograma cronograma de entregas se realiza en base a las estimaciones estimaciones de tiempos de desarrollo realizadas por los desarrolladores. desarrolladores. Tras algunas iteraciones es recomendable realizar nuevamente una reunión con los actores del proyecto, para evaluar nuevamente el plan de entrega y ajustarlo si es necesario.

Velocidad de Proyecto Es una medida de la capacidad que tiene el equipo de desarrollo para llevar a cabo las historias de usuario en una iteración concreta. Se calcula hallando el total de historias de

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

usuario realizadas el mismo número de historias de usuario que en la anterior, aunque esta métrica no es del todo exacta. Es necesario realizar una revisión de esta métrica durante el transcurso del proyecto, proyecto, puesto que las historias varían varían en cuanto a dificultad se refiere.

Plan de Iteraciones En la metodología XP, la creación del sistema se divide en tres tr es etapas. Normalmente, los proyectos suelen tener más de tres etapas, cada una de las cuales toma el nombre de iteración. Es por ello que esta metodología se dice que es iterativa. La duración ideal de una iteración esta entre una y dice que es iterativa. La duración de una iteración esta entre una y tres semanas. Para cada una de las iteraciones se establecen un conjunto de historias que se van llevar a cabo y un módulo, dando como resultado cada iteración la entrega de dicho módulo, habiendo superado esté las pruebas de adaptación establecidas por el cliente de forma que verifique los requisitos.

Rotaciones Se hace necesaria la rotación del personal para evitar problemas relacionados con

41

 pérdida de conocimiento y cuello de botella. Al hacer que todos los desarrolladores del  proyecto tengan el mismo conocimiento sobre este se evita que unos estos tengan ma mayor yor carga de trabajo que otros, y viceversa.

Reuniones  Deben realizarse reuniones diarias con el objetivo de mantener la comun comunicación icación entre el equipo, y compartir problemas y soluciones. En la mayoría de estas reuniones, gran parte de los participantes simplemente escuchan, sin tener mucho que aportar. Para no quitar mucho tiempo innecesario del equipo, se sugiere realizar estas reuniones en círculo y de pie.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

FASE II: DISEÑO La metodología metodología XP hace es especial pecial éénfasis nfasis eenn los diseños limpios y claros. Solo se diseñan aquellas historias de usuario que el cliente ha seleccionado para la iteración actual. Los conceptos más importantes de diseño en esta metodología son la metáfora del sistema, las tarjetas CRC, las soluciones puntuales, una funcionalida funcionalidadd mínima y reciclaje. r eciclaje.

Metáfora del Sistema La metodología XP se sugiere utilizar el concepto de metáfora como una manera sencilla de explicar el propósito del proyecto, y guiar la estructura y arquitectura del mismo. Por ejemplo, puede ser una guía para nomenclatura de los métodos y las clases utilizadas en el diseño del código. Tener nombres claros, que no requieran de mayores explicaciones, redunda en un ahorro de tiempo. Es muy importante que el cliente y el grupo de desarrolladores estén de acuerdo y compartan esta “metáfora”, para que puedan dialogar en un “mismo idioma”.  

42

Una buena metáfora debe ser fácil de entender para el cliente y a su vez debe tener suficiente contenido como para que sirva de guía a la arquitectura del pro proyecto. yecto.

Tarjetas CRC (Clase, Responsabilidad, Colaboración) Colaboración) Cada tarjeta CRC representa una clase con su nombre en la parte superior. En la  parte inferior izquierda se describen las responsabilidades responsabilidades y a la derecha las clases que le sirven de soporte. Para el uso de estas tarjetas, se ponen de pie como máximo dos personas, las cuales son encargadas de añadir o modificar su contenido mientras el resto de miembros  pertenecen sentados y participa participann en la discu discusión, sión, obteniendo así así un diagrama de clases.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Soluciones Puntuales (Spike Solution)  Es una pequeña aplicación que utiliza XP cuando se dan problemas como cuando el equipo de desarrollo debe enfrentarse a requerimientos de los clientes que generan  problemas desde desde el punto de vista del diseño o implementación.

Funcionalidad Mínima  En XP solo se analiza lo que se va a desarrollar en la iteración actual, olvidando  por completo cualquier necesidad necesidad que se pueda necesitar en un futuro. Esto es uno de los  preceptos fundamentales fundamentales de la programación eextrema. xtrema.

Reciclaje Consiste en mantener el código lo más simple y limpio como sea posible. Es necesario

43

rehacer partes de código donde se encuentre algo redundante o no funcional.

FASE III: CODIFICACIÓN En la fase de codificación se realiza de forma paralela con el diseño. Destacan la disponibilidad del cliente, la unidad de pruebas la programación p rogramación por parejas y la integración.

Disponibilidad del Cliente  El cliente tiene que estar presente y disponible durante todo el tiempo del desarrollo del sistema para el equipo. equipo. Gran parte del proyec proyecto to XP se consigue gracias gracias a que es el cliente quien conduce constantemente constantemente el trabajo hacia lo que aportara mayor valor de negocio y los  programadores pueden resolve resolverr de manera inme inmediata diata cualquier du duda da asociada. Al comienzo del proyecto, el cliente debe proporcionar las historias de usuarios. Pero, dado que estas historias son expresamente cortas y de “alto nivel”, no contienen los detalle s

necesarios para realizar el desarrollo del código. Estos detalles deben ser proporcionados por el cliente, y discutidos con los desarrolladores, durante la etapa de desarrollo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Unidad de Pruebas  Toda la producción del código está dirigida por las pruebas unitarias. Estas se especifican antes de escribir el código y se ejecutan constantemen constantemente te para cada modificación del sistema. Son los clientes quienes escriben las pruebas funcionales para cada historia de usuario que deba validarse.

Programación por Parejas  La metodología XP propone desarrollar el código por parejas, en un mismo ordenador.

44

Eso hace que se minimicen los errores, se obtengan mejores diseños, el código sea más corto, las personas aprendan más y disfruten más de su trabajo, compensando así la conversión en hora. Dichos beneficios se consiguen después de varios meses de practicar la programación en parejas. En los estudios realizados se estima que este lapso de tiempo ti empo varía de 3 a 4 meses. Este tipo de programación, generalmente, permite obtener un producto de mejor calidad que cuando se desarrolla de forma individual.

Integración Es importante que todos los desarrolladores trabajan siempre con la última versión, ya que realizar cambios o mejoras sobre versiones antiguas causa graves problemas y, consecuentemente, consecue ntemente, retrasa el proyecto. Por ello promueve publicar lo antes posible las nuevas versiones, aunque aunque no sean las últimas, siempre que estén libres de errores. Para evitar errores, solo una pareja de desarrolladores pueden integrar su código a la vez. Todas las pruebas son ejecutadas y tienen que ser aprobadas para que el nuevo código sea incorporado definitivamente.

FASE IV: PRUEBAS La metodología XP enfatiza mucho los aspectos que tiene relación con las pruebas clasificándolas según sus funcionalidades, quien les hace, como y cuando deben implementarse y ejecutarse.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Las pruebas en XP son tan escritas que solo se podrá liberar una nueva versión si esta se ha superado el cien por ciento de la totalidad de ellas. De no ser así, se buscara el error y se solucionara.

Pruebas Unitarias Estas pruebas deben ser construidas por los programadores con el empleo de algún

45

mecanismo que permita automatizarlas de modo que su implementación y ejecución consuman el menor tiempo posible.

Pruebas de Aceptación  Estas pruebas se diferencian totalmente de las pruebas unitarias en cuanto al papel que toma el cliente, ya que en las unitarias el cliente no tiene ningún tipo de intervención puesto que es total competencia del equipo de desarrollo.

Detención y Corrección de Errores  Cuando se encuentra un error es importante corregirlo lo antes posible y evitar que vuelvan a ocurrir errores similares. Para corregir el error es necesario crear una nueva prueba y así comprobar que se ha solucionado.

FIGURA 11  FUNCIONAMIENTO DE LA METODOLOGÍA XP.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

4.1.4 

NORMALIZACIÓN DE BASE DE DATOS (FORMA (FORMAS S NORMALES) Difinicion

46

La normalización es el proceso mediante el cual se transforman datos complejos a un conjunto de estructuras de datos más pequeñas, que además de ser más simples y más estables, son más fáciles de mantener. También se puede entender la normalización como una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar un esquema que minimice los problemas de lógica. Cada regla está basada en la que le antecede. La normalización se adoptó porque el viejo estilo de poner todos los datos en un solo lugar, como un archivo o una tabla de la base de datos, era ineficiente y conducía a errores de lógica cuando se trataban de manipular los datos. Otra ventaja de la normalización de base de datos es el consumo de espacio. Una base de datos normalizada ocupa menos espacio en disco que una no normalizada. Hay menos repetición de datos, lo que tiene como consecuencia un mucho menor uso de espacio en disco. El proceso de normalización tiene un nombre y una serie de reglas para cada ffase. ase. Esto  puede parecer un poco confuso al principio, pero poco a poco se va entendiendo el proceso, así como las razones para hacerlo de esta manera.

Grados de normalización Existen básicamente tres niveles de normalización: Primera Forma Normal (1NF), Segunda Forma Normal (2NF) y Tercera Forma Normal (3NF). Cada una de estas formas tiene sus  propias reglas. Cuando una base de datos se conforma a un nivel, se considera normalizada a esa forma de normalización. No siempre es una buena idea tener una base de datos conformada en el nivel más alto de normalización, puede llevar a un nivel de complejidad que pudiera ser evitado si estuviera en un nivel más bajo de normalización. En la tabla siguiente se describe

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

47

 brevemente en que consiste cada una de las reglas, y posteriormente se explican con más detalle.

TABLA 7 NORMALIZACION REGLA

DESCRIPCIÓN

Primera Forma   Normal (1FN)

Incluye la eliminación de todos los grupos repetidos.

Segunda Forma

Asegura que todas las columnas que no son llave sean

 

Normal (2FN)

completamente dependientes dependientes de la llave primaria (PK).

Tercera

Forma

Elimina cualquier dependencia transitiva. Una

 

Normal (3FN)

dependencia dependenc ia transitiva es aquella en la cual las columnas que no son llave son dependientes de otras columnas

Primera Forma Normal La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminars eliminarsee y colocarse en tablas separadas. Poner la base de datos en la Primera Forma Normal resuelve el problema de los encabezados de columna múltiples. Muy a menudo, los diseñadores de bases de datos inexpertos harán algo similar a la tabla no normalizada. Una y otra vvez, ez, crearán columnas que representen los mismos datos. La normalización ayuda a clarificar la base de datos y a organizarla en partes más  pequeñas y más fáciles de entender. En lugar de tener que entender una tabla gigantesca y monolítica que tiene muchos diferentes aspectos, sólo tenemos que entender los objetos  pequeños y más tangibles, así como las relaciones que guardan con otros objetos también  pequeños.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

48

 

TABLA  8  P RIMERA FORMA N ORMAL   co codd_E 1 2 3 4

No Nom mClie Client ntee AApe pePPat Luis Ruiz Luis Ruiz Luis Lu Ruiz Juan Rojas

cod_Em 1 2

Nombre Lui s Juan

ApeM ApeMat at TTip ipooDo Docu cum mento ento Dia z DNI Dia z DNI Dia z DNI Ñaña RUC  

Ap ApeP ePaat Ruiz Rojas

NNum umer eroo 12345678 12345678 12345678

Te Tele lefo fono no NºP ºPrres estm tmoo TipP TipPrres esta tam mo FFec ecPr Pres esta tam mo Direcion 664457683 1000 Hipotecario 0066/03/2016 Av. Brazi 15 664457683 1001 Hipotecario 1100/10/2016 Av. Brazi 15 664457683 1002 Pers onal 04/01/2017 Av. Brazi 15 10123456780   7658443 Av Venezuela 548 1003 Pers on onal 04/06/2017

Ap ApeM eMaat Di az Ñaña

Tip ipooDocumen entto Numero ero DNI 12345678 RUC 10123456780

NºPr Nº Pres estm tmo o 1000 1001

Tip TipPr Pres esta tamo mo Hipote ipotec cario ario Hipote ipotec cario ario

Fec FecPres Presttamo 06/0 /03 3/2 /20 016 10/1 /10 0/2 /20 016

Monto onto S/. S/. 20,0 ,00 00.0 .00 0 S/. S/. 10,0 ,00 00.0 .00 0

1002 1003

Pe rsonal Pers ersonal

04/01/2017 04/06/2017

S/. 600.00 S/. 2,000.00

Telef elefoono 6457683 7658443

Monto onto S/. 20,000.00 S/. 10,000.00 S/. 600.00 S/. 2,000.00

Inte Interres S/. 25,000.00 S/. 10,500.00 S/. 6,300.00 S/. 2,200.00

Cou Couta Im Impo porrte Ttal Ttal 20   S/. 45,000.00 10   S/. 20,500.00 6 S/. 6,900.00 6 S //.. 4,200.00

Dir irec ecccio ionn Av. Brazi 15 Av Ve nezue la 548

In Inte terres Cout Couta a Impo Imporrte Ttal S/. S/. 25,0 ,00 00.0 .00 0 20 S/. S/. 45,0 ,00 00.0 .00 0 S/. S/. 10,5 ,50 00.0 .00 0 10 S/. S/. 20,5 ,50 00.0 .00 0 S/. 6,300.00 S/. 2,200.00

6 6

S/. 6,900.00 S/. 4,200.00

Segunda Forma Normal La regla de la Segunda Forma Normal establece que todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas. una dependencia parcial es un término que describe a aquellos datos que no dependen de la llave primaria de la tabla para identificarlos. Una vez alcanzado el nivel de la Segunda Forma Normal, se controlan la mayoría de los  problemas de lógica. lógica. Podemos insertar un regis registro tro sin un exceso de dato datoss en la mayoría de las tablas.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA  9   SEGUNDA F ORMA N ORMAL 

Tercera Forma Normal Una tabla está normalizada en esta forma si todas las columnas que no son llave son funcionalmente dependientes por completo de la llave primaria y no hay dependencias transitivas. Comentamos anteriormente que una dependencia transitiva es aquella en la cual existen columnas que no son llave que dependen de otras columnas que tampoco son llave. Cuando las tablas están en la Tercera Forma Normal se previenen errores de lógica cuando se insertan o borran registros. Cada columna en una tabla está identificada de manera única por la llave primaria, y no debe haber datos repetidos. Esto provee un esquema limpio y elegante, que es fácil de trabajar y expandir. Un dato sin normalizar no cumple con ninguna regla de normalización. Para explicar con un ejemplo en que consiste cada una de las reglas, vamos a considerar los datos de la siguiente tabla.

49

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA  10   TERCERA F ORMA N ORMAL  

Normalización de bases de datos La normalización de bases de datos es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional. Las bases de datos relacionales se normalizan para:  

Evitar la redundancia de los datos.

 

Disminuir problemas de actualización de los datos en las tablas.

 

Proteger la integridad de los datos.

50

 

En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:

 

Cada tabla debe tener su nombre único.

   No

 

puede haber haber dos filas igua iguales. les. No se permiten los duplicados.

Todos los datos en una columna deben ser del mismo tipo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

51  

4.1.5 

Modelador de base de datos Erwin

Difinicion Es un software totalmente orientado al modelado y mantenimiento de base de datos, flexible que permite crear y administrar todos los demás componentes asociados.   

Erwin nos proporciona desde un modelo lógico de los requerimientos de información, hasta el modelo físico.

 

Perfeccionadoo para llas Perfeccionad as características específicas de la base de datos di diseñada, señada, además Erwin permite visualizar la estructura, los elementos importantes, y optimizar el diseño de la base de datos.

 

Genera automáticamente automáticamente las tablas y miles de líneas de stored Procedure y triggers para los principales tipos de base de datos.

Compatibilidad de Erwin  Erwin soporta principalmente bases de datos relacionales SQL y bases de datos que incluyen Oracle, Microsoft SQL Server, Sybase. El mismo modelo puede ser usado para generar múltiples bases de datos, o convertir una aplicación de una plataforma de base de datos d atos a otra.

Historia de Erwin Erwin fue creado por Logic Works: Fue adquirida en 1998 por Platinum Technology Platinum fue adquirido mas tarde en mayo de 1999 por Computer Associates, que mas tarde lo integraron a su suite “AllFusion” bajo el nombre de AllFusion Erwin Data Modeler

La herramienta fue más tarde renombrado a CA Erwin Data Modeler. El 13 de marzo de 2014, Embarcadero Technolog Technologies ies entró en un acuerdo definitivo para adquirir Erwin de Computer Associates.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

4.1.6 

Administración y Seguridad de base de datos

La seguridad de usuarios es usada para darles privilegios a los distintos usuarios de una  base de datos. datos. Estos privilegios serán ppara ara ejecutar sentencias sentencias SQL, alterar el funcionamiento funcionamiento de la Base de Datos o para alterar la forma de la Base de Datos. Datos. Deberá de existir una política definida para la seguridad de usuarios y accesos de estos a la Base de Datos. Se deberá crear horarios de acceso para los diferentes usuarios y así registrar todo acceso no autorizado o fuera de horario que los usuarios tengan a la Base de Datos. Se deberán de crear roles para los distintos usuarios de la Base de Datos, clasificarlos y catalogarlos, para su correcta asignación a los usuarios. Se deberá realizar las siguientes actividades o procesos:  

Crear un usuario: Toda administración de bases de datos requerirá la creación de usuarios para tener acceso a la información. Para crear un usuario, siga en instructivo

52

PRC03.2-INS01.  

Eliminar o inactivar un usuario: Cuando un usuario deja de ser necesario, este deberá ser inactivado o eliminado, para evitar el acceso a la información dentro de la Base de Datos. Para eliminar un usuario, siga el instructivo PRC03.2-I PRC03.2-INS02. NS02.

 

Modificar un perfil: Para modificar o actualizar la información del perfil seguridad de un usuario, siga al instructivo i nstructivo PRC03.2-INS03 PRC03.2-INS03..

 

Dar privilegios a un usuario: para que un usuario pueda trabajar sobre diversas tablas, vistas, procedimientos y demás elementos de la Base de Datos, este deberá de poseer  privilegios para poder tener acceso a estos elementos. Para dar privilegios a un un usuario, siga el instructivo PRC03.2-INS04.

 

Quitar privilegios a un usuario: Con el transcurrir del tiempo, un usuario puede

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

 perder privilegios sobre elementos dentro de la base de datos, y estos deberán ser eliminados de inmediato. Para quitarle privilegios de acceso al usuario, siga el instructivo PRC03.2-INS05.  

Crear Roles: Al manejar varios usuarios, e incontable número de privilegios que este  puede llegar a tener, es útil manejar roles; así, podremos dar los mismos privilegios a distintos usuarios que cumplen con el mismo rol. Para crear roles, siga el instructivo Prc03.2-INSTR06.

 

Modificar Roles: Un rol también puede ganar o perder privilegios a lo l o largo de su vida útil. Para modificar un rol siga el instructivo Prc03.2-INS Prc03.2-INSTR07. TR07.

 

Eliminar Roles o inactivarse: Cuando un rol deja de ser útil, este debe de eliminarse.

 

Para eliminar un rol siga el instructivo Prc03.2-INSTR08.

53

 

Asignar roles a un Usuario o a un role: Una vez creado algún rol, este no será útil hasta que se le asigne a algún usuario. Para asignar roles a algún usuario, siga el instructivo Prc03.2-INSTR09.

4.1.7 

INFORMACIÓN ADICIONAL ROLES 

 

Programador:  es el responsable de las decisiones técnicas, de construir el sistema y de diseñar las pruebas unitarias.

 

Cliente: es parte del equipo. Se encarga de escribir las historias de usuario y las pruebas funcionales. También asigna prioridad a las historias de usuario y decide cuales se implementan en cada iteración

 

Encargado de pruebas (Tester): colabora con el cliente para escribir las pruebas funcionales y se asegura asegura de que se superen. También es el encarga encargado do de difundir los resultados por el resto del equipo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

 

Encargado de seguimiento (Tracker):  verifica el grado de acierto entre las estimaciones realizadas y el tiempo real empleado, haciendo públicos los resultados y así obtener mejoras en el futuro.

 

Entrenador (Coach): es el responsable del proceso global. Debe conocer a fondo el  proceso XP y así poder guiar a los miembros del equipo para que sigan correctamente la metodología.

 

Consultor: es un miembro mi embro externo al equipo que posee un conocimiento específico de algún tema necesario para el proyecto, y así poder guiar al equipo ante algún problema concreto.

54

 

Gestor: planifica las reuniones, r euniones, se asegura que el proceso de las rreuniones euniones se sigue y anota los resultados de las reuniones para futuros informes. i nformes. Su labor principal es la coordinación. ESTUDIO DE FACTIBILIDAD Factibilidad Técnica La investigación es factible técnicamente, debido a que se cuenta con la infraestructura tecnológica mínima. Además la empresa COOPERATIVA TRIUNFO PERU FINANCE., facilita los recursos tecnológicos que sean necesarios para desarrollo e implementación del proyecto.

Factibilidad Operativa La investigación es factible operativamente, ya que se cuenta con conocimientos básicos de la metodología XP, Modelamiento de base de datos y las capacidades para realizar investigación para el desarrollo e implementación del  proyecto

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Factibilidad Económica La presente investigación investigación cuen cuenta ta con el apoyo de la misma COOPERATIVA TRIUNFO PERU FINANCE, el cual brinda todos los recursos para el desarrollo e implementación del proyecto.

5.  DESARROLLO DE LA PROPUESTA ELEGIDA

55

5.1. FACTIBILIDAD TABLA 11  PRESUPUESTO DE PRODUCTO TOTAL PARA LA IMPLEMENTACIÓN DEL SISTEMA DE INFORMACIÓN 

Unidad de Medida

Precio Unitario (S/.)

Cantidad

Total (S/.)

Personas

S/. 500.00

2

s/.1,000.00

Internet

Mensual

99.00

1

99.00

Útiles de Escritorio

Unidad

80.00

1

80.00

Fotocopias

Unidad

0.0

500

100.00

Impresión

Unidad

0.30

500

150.00

Movilidad

Mensual

90.00

8

720.00

3.3  Hardware Computadora(i5)

Unidad

2,200.00

2

4,400.00

Impresora Láser

Unidad

350.00

1

350.00

Impresora Matricial

Unidad

350.00

1

350.00

Scanner

Unidad

250.00

1

250.00

Memoria USB

Unidad

24.00

2

48.00

Bizage Process Modeler

Unidad

15.00

2

30.00

Windows 8 Single Language(x64)

Unidad

450.00

2

900.00

Recursos 1.  Humanos Santiago Pacheco Richard Muñoz Curo Mary lee 2.  Materiales

3.  Técnicos

3.4  Software

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

56

 

Microsoft Office 2013 Unidad Oracle Data Base Express Edition Unidad (XE). Otros Gastos Unidad Total

250.00

2

500.00

900.00

1

900.00

500.00

1

500 10,000.00

5.2. ROLES TABLA 12  ASIGNACIÓN DE R OLES OLES Y  R ESPONSABILIDADES ESPONSABILIDADES   Asignación de roles y responsabilidades responsabilidades NOMBRE RESPONSABILIDAD Describe las historias de usuario y las  Nuñez Auccatoma Auccatoma Guillermo  pruebas funcionales para validar su (Gerente de la cooperativa de implementación ahorro y crédito de la Además es quien asigna prioridad a las Cooperativa Triunfo Peru historias de usuarios y decide cuales deben ser implementadas en cada Finance).

ROL Cliente



 

Desarrolladores



 



 

Documentadores



 

Responsable seguimiento

de

iteración centrándose en aportar mayor valor al negocio. Santiago Pacheco Establecer el conjunto con los clientes la  planificación de las liberaciones además además Richar encargado de Muñoz Curo Mary lee escribe las pruebas y el encargado  producir el código del sistema de la forma más simple y definida que sea posible. Santiago Pacheco Encargado de documentar finalmente el  plan de entregas entregas Richar Muñoz Curo Mary lee

Pacheco Realiza el seguimiento del proceso del  plan de entregas. entregas. Richar   Muñoz Curo Mary lee   Santiago





5.3. METODOLOGÍA UTILIZADA ÁGIL La aplicación de la metodología Extreme Programming (XP) para el proceso de Administración, se enfoca principalmente en el desarrollo de sistema que intenta definir rápidamente un plan global del sistema, desarrollar y liberar rápidamente el software y  posteriormente revisarlo revisarlo continuamente para incorporarle ccaracterísticas aracterísticas adicion adicionales. ales.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

El objetivo de Extreme Programming es satisfacer las l as necesidade necesidadess del cliente, en este caso,

57

el modelamiento de base de datos en Oracle para optimizar el Funcionamiento de Gestión de Ahorro y Crédito de la COOPERATIVA TRIUNFO PERÚ FINANCE La metodología Extreme Programming (XP) consta de 4 fases. f ases.

5.3.1.  DESARROLLAR TODAS LAS FASES DE LA METODOLOGÍA ELEGIDA.  FASE DE PLANIFICAC PLANIFICACIÓN IÓN Actividades de planificación TABLA 13  ACTIVIDAD FASE PLANIFICACION   ACTIVIDADES FASE DE PLANIFICACIÓN N° 1

ACTIVIDAD Redactar Historias de usuarios

SUBACTIVIDAD RESPONSABLE Identificar historias de usuario a incorporar en la Cliente liberación. Sugerir historias de usuario. Desarrollador Redactar las historias de usuario.

2

Estimas historias de usuario

3

Dividir historias de usuario

4

5 6

Priorizar historias de usuario Fijar velocidad de proyecto Fijar el método de  planificación

Realizar estimación temporal de la historia de Desarrollador usuario. Señalar si la historia de usuario debe ser dividida o Desarrollador se deben agregar nuevas. Dividir historia de usuario. Cliente Agregar historia de usuario.

Cliente

Priorizar historias de usuario por valor.

Cliente

Priorizar historias de usuario por riesgo.

Desarrollador

Establecer la velocidad del proyecto en historias de Desarrollador usuario y en tareas de programación. pr ogramación. Escoger planificación por alcance o por el tiempo. Cliente Fijar alcance o tiempo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Cliente

Cliente

58

7

Plan entregas

8

Realizar seguimiento

de Realizar reunión de planificación con sus Desarrollador y respectivas tareas. Cliente Documento plan entregas. Administrador Mantener al día información respecto al plan de Responsable entregas. seguimiento

Historias de usuarios Para la creación de las historias de usuario se trabajó conjuntamente con el cliente, y para ello se llevaron a cabo reuniones con el cliente para describir brevemente las características que que el sistema debe posee poseer; r; sean requisitos funcionales o no funcionales. Para la redacción redacción de las historias ddee usuario, lo normal es qu quee sea el cliente quien las escriba, sin embargo, el cliente no fue quien escribió persona personalmente lmente las historias de usuario, pero fue el quien diseño su contenido y dirigió la redacción de las mismas.

de

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

59

 

Escribir una historia (Cliente) No sé como

Demasiado compleja Estimar la Historia (Administrador)

Dividir una Historia

Rapidez

(Cliente)

(Programador)

Análisis planificación

Clasificar las historias en función del riesgo Cliente y programador)

Fijar la velocidad

Determinar el alcance (Cliente)

Figura 12 Planificación historias de usuario Es así, como ha identificado de las historias de usuarios descritas a continuación, que servirán para describir la funcionalidad del sistema.

Identificación de Historias de Usuarios Una de las fases más importantes para la construcción de la solución informática es identificar lo que se pretende satisfacer. En esta sección se describe los requerimientos que se buscan cumplir con la creación del sistema propuesto.

Modulo del Sistema A continuación se muestran las historias de Usuario para el presente proyecto la

misma que al ser priorizadas, se agrupan en los siguientes módulos:

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

1)  Modulo: Sección de Clientes. Este módulo contiene las historias de usuarios para realizar la correcta administración de los Clientes registrados en el sistema. a.  Registro de Cliente.  b.  Mantenimiento de Cliente. c.  Eliminación de Cliente. d.  Búsqueda de Cliente. e.  Reporte de Cliente

2)  Modulo: Sección de Empleado. Este módulo contiene las historias de usuarios para realizar la correcta administración del Empleado registrado en el sistema. f.  Registro de Empleado. g.  Mantenimiento de Empleado. h.  Búsqueda de Empleado. i.  Eliminación de Empleado.  j.  Reporte de empleado.

3)  Modulo: Sección de Cuenta. Este módulo contiene las historias de usuarios para realizar la correcta administración del Cuenta registrado en el sistema. k.  Registro de Cuenta.

60

l.  Mantenimiento de Cuenta. m.  Búsqueda de Cuenta. n.  Eliminación de Cuenta.

4)  Modulo: Sección de Movimiento.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Este módulo contiene las historias de usuarios para realizar la correcta administración del Movimiento registrado en el sistema. o.  Registro de Movimiento.  p.  Mantenimiento de Movimiento. q.  Consulta de Movimiento.

5)  Modulo: Sección de Préstamo Este módulo contiene las historias de usuarios para realizar la correcta administración del Préstamo registrado en el sistema. r.  Registro de Préstamo. s.  Mantenimiento de Préstamo. t.  Consulta de Préstamo. u.  Eliminación de Préstamo. v.  Reporte de Préstamo.

6)  Modulo: Sección de Pago Préstamo. Este módulo contiene las historias de usuarios para realizar la correcta administración de Pago Préstamo registrado en el sistema. w.  Registro de Pago Préstamo. x.  Mantenimiento de Pago Préstamo.

61

y.  Consulta de Pago Préstamo. z.  Reporte de Pago Préstamo.

7)  Modulo: Sección de Ticket Movimiento Este módulo contiene las historias de usuarios para realizar la correcta administración del Ticket Movimiento registrado en el sistema. aa.  Emisión de Ticket Movimiento

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

 bb.  Consulta de Ticket Movimiento. cc.  Reporte de Ticket Movimiento.

8)  Modulo: Sección de Ticket Pago Préstamo. Este módulo contiene las historias de usuarios para realizar la correcta administración del Ticket Pago Préstamo registrado en el sistema. ff.  Emisión de Ticket Pago Préstamo. gg.  Consulta de Ticket Pago Préstamo. hh.  Reporte de Ticket Pago Préstamo.

9)  Modulo: Sección de Contrato. Este módulo contiene las historias de usuarios para realizar la correcta administración del Contrato registrado en el sistema. ii.  Registro de Contrato.  jj.  Mantenimiento de Contrato. kk.  Consulta de Contrato.

10)  Modulo: Sección de Usuario.

62

Este módulo contiene las historias de usuarios para realizar la correcta administración de los Usuarios registrados en el sistema. ll. 

Registro de Usuarios.

mm.  Modificación de Usuarios. nn.  Eliminación de Usuarios. oo.  Ingreso del Usuario al Sistema.  pp.  Validación de Usuario.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Especificación de historias de usuarios por modulo Módulo 1: Sección de Clientes.  TABLA 14  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE CLIENTE . HISTORIA DE USUARIO Numero: 01.

Nombre: Registro de Cliente.

Usuario: Encargada de Cuenta. Modificación de HU: Prioridad en Negocio: Alta (Alta/Media/Baja).

Iteración Asignada: Primera. Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: Yo como encargada de Cuenta quiero registrar cliente para saber todo sus datos como (Código del del Cliente, Código de AAHH, Apellido, nombres, Cód Código igo de tipo documento, DNI, teléfono, dirección, Email), luego se guardara en la base de datos. Observaciones: En caso de que los datos sean incorrectos no podrán ser guardados en la base de datos.

63

TABLA 15  HISTORIAS DE USUARIOS MANTENIMIENTO

DE CLIENTE .

HISTORIA DE USUARIO Numero: 02

Nombre: Mantenimiento de Cliente.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Primera.

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción: Yo como encargada de Cuenta quiero realizar los mantenimientos de datos del cliente como (dirección, email, teléfono, etc.). Una vez realizada la actualización guardar en la base de datos. Observaciones: En caso de que el cliente no realice el mantenimiento, los datos no podrán ser alterados.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 16  HISTORIAS DE USUARIOS ELIMINACIÓN DE CLIENTE . HISTORIA DE USUARIO Numero: 03

Nombre: Eliminación de Cliente.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Primera

Prioridad en Negocio: Alta

Registro en Desarrollo: Media

(Alta/Media/Baja).

(Alta/Media/Baja).

Descripción: Yo como encargada encargada de Cuenta quiero ha hacer cer la eliminación según los criterios sean especificados como: (nombre o DNI), Esto se realiza cuando el Cliente ya no pertenece a la l a cooperativa. Observaciones:   En caso de que el Cliente siga Teni TeniEND ENDoo Cuenta no podrá ser

64

eliminado.

TABLA 17  HISTORIAS DE USUARIOS CONSULTA DE CLIENTE . HISTORIA DE USUARIO Numero: 04

Nombre: Consulta de Cliente.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Primera.

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

como encargada quiero hacer datos Descripción: cliente como: Yo (nombre, DNI), una de vezCuenta realizado la con consulta sultaconsulta mostraralosuna listadel de datos pertinentes del cliente.

Observaciones: Si los datos de consulta esta incorrecto mostrara un mensaje.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 18  HISTORIAS DE USUARIOS R EPORTE EPORTE DE CLIENTE . HISTORIA DE USUARIO Numero: 05

Nombre: Reporte de Cliente.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Primera

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción:  Yo como encargada encargada de Cuenta quiero ha hacer cer reporte los datos del cliente para generar un reporte a través del nombre de un determinado mes.

65

Observaciones:  En caso no haya datos del cliente no podrá realizar el reporte.

Módulo 02: Sección de Empleado. TABLA 19  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE EMPLEADO . HISTORIA DE USUARIO Numero: 06

Nombre: Re  Registro gistro de Empleado.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Segunda

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: Yo como encargada de Cuenta quiero registrar los datos del cliente como (código de empleado, empleado, nombre, código de distrito, distrito, código de cargo, cargo, nombre, código de tipo documento, DNI, dirección, sueldo, teléfono teléfono,, email). Luego Luego se guardara en la base de datos. Observaciones:  En caso de que los datos no se registren correctamente, mostrara un mensaje de error.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 20  HISTORIAS DE USUARIOS MODIFICACIÓN DE EMPLEADO . HISTORIA DE USUARIO Numero: 07

Nombre: Modificación de Empleado.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Segunda

Prioridad en Negocio: Alta

Registro en Desarrollo: Media

66

(Alta/Media/Baja).

(Alta/Media/Baja).

Descripción: Yo como encargada de Cuenta quiero hacer actualización los datos de los empleados como: el cambio de dirección, email, teléfono, etc. Una vez realizada la actualización actualización se gguardara uardara en la base de datos. Observaciones:   En caso de que los datos modificados no se registren correctamente, mostrara un mensaje de error.

TABLA 21  HISTORIAS DE USUARIOS CONSULTA DE EMPLEADO . HISTORIA DE USUARIO Numero: 08

Nombre: Consulta de Empleado.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Segunda

Prioridad en Negocio: Alta

Registro en Desarrollo: Media

(Alta/Media/Baja).

(Alta/Media/Baja).

Descripción: Yo como encargada de Cuenta quiero hacer consulta los datos del empleado como: (nombre, DNI), una vez realizado la consulta mostrara una lista de datos pertinentes del empleado. Observaciones:  En caso de que los datos no se definan correctamente no podrá realizar la consulta.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 22  HISTORIAS DE USUARIOS ELIMINACIÓN DE EMPLEADO . HISTORIA DE USUARIO Numero: 09

Nombre: Eliminación de Empleado.

67

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Segunda

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción: Yo como encargada encargada de Cuenta quiero ha hacer cer la eliminación según los criterios sean especificados como: (nombre o DNI), Esto se realiza cuando el empleado ya no se encuentra trabajando en la cooperativa. Observaciones:   En caso de que el empleado siga trabajando no podrá ser eliminado.

TABLA 23   HISTORIAS DE USUARIOS R EPORTE EPORTE DE EMPLEADO.

HISTORIA DE USUARIO Numero: 10

Nombre: Reporte de Empleado

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Segunda

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción: Yo como encargada de Cuenta quiero hacer una consulta los datos del empleado, para generar un reporte a través del nombre de un determinado mes.

Observaciones:  En caso no haya datos del empleado no podrá realizar el reporte.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

68

Módulo 03: Sección de Cuenta. TABLA 24  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE CUENTA. HISTORIA DE USUARIO Numero: 11

Nombre: Registro de Cuenta.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Tercera

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: Yo como encargada de Cuenta quiero registrar los datos de un nuevo cuenta como (número de cuenta, fecha de creación de cuenta, saldo, tipo de cuenta, fecha de caducidad, estado de cuenta, estado de registro, código de tipo de cuenta, código de cliente).Luego guardar en base de datos. Observaciones: En caso de que los datos sean incorrectos no podrán ser guardados en la base de datos.

TABLA 25  HISTORIAS DE USUARIOS MODIFICACIÓN DE CUENTA. HISTORIA DE USUARIO Numero: 12

Nombre: Modificación de Cuenta.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Tercera

Prioridad en Negocio: Alta Registro en Desarrollo: Media (Alta/Media/Baja). (Alta/Media/Baja). Descripción: Yo como encargada encargada de Cuenta quiero hacer mantenimiento de cuenta cuando la fecha de caducidad vence y el representante y/o cliente solicite actualización de cuenta. Luego guardar los datos actualizados en la base de datos. Observaciones: En caso de que el representante y/o cliente no realice ninguna modificación, los datos no podrán ser alterados.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

69

 

TABLA 26  HISTORIAS DE USUARIOS CONSULTA DE CUENTA. HISTORIA DE USUARIO Numero: 13

Nombre: Consulta de Cuenta.

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Tercera

Prioridad en Negocio: Alta Registro en Desarrollo: Media (Alta/Media/Baja). (Alta/Media/Baja). Descripción:  Yo como encargada de Cuenta quiero hacer consulta de cuenta mediante Número de cuenta, lo cual listará todos los datos de la cuenta existente. Observaciones: Los filtros de consulta estarán predefinidos según la especificación especificación de la consulta.

TABLA 27  HISTORIAS DE USUARIOS ELIMINACIÓN DE CUENTA  HISTORIA DE USUARIO Numero: 14

Nombre: Eliminación de Cuenta

Usuario: Encargada de Cuenta. Modificación de HU:

Iteración Asignada: Tercera

Registro en Desarrollo: Alta Prioridad en Negocio: Alta (Alta/Media/Baja). (Alta/Media/Baja). Descripción: Yo como encargada de de Cuenta quiero hacer la eliminación eliminación según el criterio sea especificado como: (Número de Cuenta), Esto se realiza cuando la cuenta se caduca o este bloqueado. Observaciones:   En caso de que la cuenta no está en caducidad no podrá ser eliminado.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Módulo 04: Sección de Movimiento. TABLA 28  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE M OVIMIENTO . HISTORIA DE USUARIO Numero: 15 Usuario: Cajero.

Nombre: Registro de Movimiento.

Modificación de HU:

Iteración Asignada: Cuarta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: Yo como cajero quiero registrar movimientos que realiza el cliente como (abonos y retiros), para ello registraría los siguientes datos: (código de Movimiento, fecha de movimiento, hora, monto, estado de registro, tipo de movimiento, y el código del cliente). Luego guardar en la base de datos. Observaciones:  En caso de que los datos no se registren correctamente, mostrara un mensaje de error.

TABLA 29  HISTORIAS DE USUARIOS MANTENIMIENTO DE MOVIMIENTO . HISTORIA DE USUARIO Numero: 16

Nombre: Modificación de Movimiento.

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Cuarta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción: Yo como cajero quiero modificar algunos al gunos datos en casos como en el momento de registro de movimiento haya algún error durante ingreso de datos etc. Una vez realizada la actualización guardar en la base de datos. Observaciones:   En caso de que los datos modificados no se registren correctamente, mostrara un mensaje de error.

70

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 30  HISTORIAS DE USUARIOS CONSULTA DE MOVIMIENTO. HISTORIA DE USUARIO Numero: 17

Nombre: Consulta de Movimiento.

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Cuarta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción: Yo como cajero quiero hacer una consulta del movimiento según los criterios especificados como: (Código de Movimiento o Por número de cuenta), una vez realizado la consulta mostrara una lista de datos pertinentes del Movimiento. Observaciones:  En caso de que los datos no se definan correctamente no podrá realizar la consulta.

TABLA 31  HISTORIAS DE USUARIOS R EPORTE EPORTE DE MOVIMIENTO . HISTORIA DE USUARIO Numero: 18

Nombre: Reporte de Movimiento.

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Cuarta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: Yo como cajero quiero hacer reporte de Movimientos realizados de un determinado cuenta, para ello es necesario especificar datos como (Fecha de movimiento o número d cuenta), para hacer un reporte y conocer los movimientos realizadoss en un mes ya que cada asentamient realizado asentamientoo humano solicita abonos que

71

realizan los usuarios de cada asentamiento.  En caso de que los datos especificados para reporte esta incorrecto Observaciones: no mostrara el reporte.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Módulo 05: Sección de Préstamo. TABLA 32  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE PRÉSTAMO . HISTORIA DE USUARIO Numero: 19

Nombre: Re  Registro gistro de Préstamo.

Usuario: Ejecutivo de Préstamo Modificación de HU:

Iteración Asignada: Quinto

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Ejecutivo de de Préstamo quiero un cuotas registropagara los datos Descripción: como (código Yo decomo préstamo, monto préstamo, en hacer cuantas el  prestatario fecha de préstamo, estado de préstamo, fecha de vencimiento de  préstamo, estado de registro, tipo de préstamo y el código del cliente ). Luego guardar en la base de datos. Observaciones:  En caso de que los datos no se registren correctamente, mostrará un mensaje de error.

TABLA 33  HISTORIAS DE USUARIOS MANTENIMIENTO DE PRÉSTAMO . HISTORIA DE USUARIO Numero: 20

Nombre: Modificación de Préstamo.

Usuario: Ejecutivo de Préstamo. Modificación de HU:

Iteración Asignada: Quinta

72

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción: Yo como Ejecutivo de Préstamo me gustaría hacer mantenimiento los datos del préstamo como (tipo de presta, interés, cuotas, etc.). Una vez realizado el mantenimiento se guardara en la base de datos. Observaciones:   En caso de que los datos modificados no se registren correctamente, mostrara un mensaje de error.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 34  HISTORIAS DE USUARIOS CONSULTA DE PRÉSTAMO PERSONAL   HISTORIA DE USUARIO Numero: 21

Nombre: Consulta de Préstamo.

Usuario: Ejecutivo de Préstamo. Modificación de HU:

Iteración Asignada: Quinta

Prioridad en Negocio: Media (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: yo como Ejecutivo de Préstamo quiero hacer una consulta, según los criterios sean especificados como: (código de préstamo, DNI del prestatario), mediante los datos especificado quiero que me muestre un listado de datos de  préstamo. Observaciones:  En caso de que los datos no se definan correctamente no podrá realizar la consulta.

TABLA 35  HISTORIAS DE USUARIOS R EPORTE EPORTE DE PRÉSTAMO . HISTORIA DE USUARIO Numero: 22

Nombre: Reporte de Préstamo.

73

Usuario: Ejecutivo de Préstamo. Modificación de HU:

Iteración Asignada: Quinta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Bajo (Alta/Media/Baja).

Descripción: yo como Ejecutivo de Préstamo quiero hacer un reporte de todos los  préstamos realizados en un mes, lo cual me permitirá conocer si hay algún problema en los préstamos. Observaciones:  

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Módulo 06: Sección de Pago Préstamo. TABLA 36  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE PAGO PRÉSTAMO . HISTORIA DE USUARIO Numero: 23

Nombre: Registro de Pago Préstamo.

Usuario: Cajero - Administrador. Modificación de HU:

Iteración Asignada: Sexta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: Yo como cajero quiero registrar los pagos de préstamo que realiza el cliente como (código de pago, fecha de pago, hora de pago, monto de pago, estado de registro y código de préstamo). Luego los datos detallados guardar en base de datos. Observaciones:  En caso de que los datos no se registren correctamente, mostrara un mensaje de error.

74

TABLA 37  HISTORIAS DE USUARIOS MANTENIMIENTO DE PAGO PRÉSTAMO . HISTORIA DE USUARIO Numero: 24

Nombre:  Modificación Préstamo.

de

Pago

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Sexta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

yo como cajero quiero modificar los datos. Luego guardar en la base Descripción: de datos.

Observaciones:   En caso de que los datos modificados no se registren correctamente, mostrara un mensaje de error.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 38  HISTORIAS DE USUARIOS CONSULTA DE PAGO PRÉSTAMO. HISTORIA DE USUARIO Numero: 25

Nombre: Consulta de Pago Préstamo.

Usuario: Administrador. Modificación de HU:

Iteración Asignada: Sexta

Prioridad en Negocio: Media Registro en Desarrollo: Alta (Alta/Media/Baja). (Alta/Media/Baja). Descripción: Yo como cajero quiero consultar mediante datos como Fecha de pago o código de préstamo, y que me liste los datos según el dato especificado. Observaciones:  Si en caso no exista mostrará mensaje.

75

TABLA 39  HISTORIAS DE USUARIOS R EPORTE EPORTE DE PAGO PRÉSTAMO . HISTORIA DE USUARIO Numero: 26

Nombre: Reporte de Pago Préstamo.

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Sexta

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción:  yo como cajero quiero hacer un reporte general según la fecha o código de pago de préstamo, y que muestre todos los préstamos realizados. Observaciones:  

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

76

 

Módulo 07: Sección de Ticket Movimiento. TABLA 40  HISTORIAS DE USUARIOS EMISIÓN DE TICKET MOVIMIENTO . HISTORIA DE USUARIO Numero: 27

Nombre:  Emisión Movimiento.

de

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Septimo

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Ticket

Descripción: Yo como cajero quiero emitir ticket de acuerdo al movimiento de cuenta que realiza el cliente, por ser necesario tanto para cliente y cooperativa, cuando haya algunos reclamos, quejas y otros. Luego guardar tickets emitidos en  base de datos. datos. Cada ticket co conn un código aautogenerado. utogenerado. Observaciones:  

TABLA 41  HISTORIAS DE USUARIOS CONSULTA DE TICKET MOVIMIENTO . HISTORIA DE USUARIO Numero: 28

Nombre:  Consulta Movimiento.

de

Ticket

Usuario: Administrador. Modificación de HU:

Iteración Asignada: Septimo

Registro en Desarrollo: Alta Prioridad en Negocio: Media (Alta/Media/Baja). (Alta/Media/Baja). Descripción: Yo como cajero quiero consultar mediante número de cuenta o fecha y que me liste los datos según el dato especificado. Observaciones:  Si en caso no exista mostrará mensaje.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

77

 

TABLA 42  HISTORIAS DE USUARIOS R EPORTE EPORTE DE TICKET DE MOVIMIENTO . HISTORIA DE USUARIO Numero: 29 Usuario: Cajero.

Nombre:  Reporte Movimiento.

de

Ticket

de

Modificación de HU:

Iteración Asignada: Septimo

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción:  yo como cajero quiero hacer un reporte general según la fecha o código de ticket de Movimiento, y que muestre todos los movimientos realizados  por el cliente. Observaciones:  

Módulo 08: Sección de Ticket Pago Préstamo. TABLA 43  HISTORIAS DE USUARIOS EMISIÓN DE TICKET PAGO PRÉSTAMO . HISTORIA DE USUARIO Numero: 30

Nombre:  Emisión de Ticket Pago Préstamo.

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Octavo

Prioridad en Negocio: Alta

Registro en Desarrollo: Alta

(Alta/Media/Baja). (Alta/Media/Baja). Descripción:  Yo como cajero quiero emitir ticket de los pagos que realiza el cliente, por ser necesario tanto para cliente y cooperativa, cuando haya algunos reclamos, quejas y otros. Luego guardar tickets emitidos en base de datos. Cada ticket de pago con un código autogenerado. autogenerado. Observaciones:  

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 44  HISTORIAS DE USUARIOS CONSULTA DE TICKET DE PRÉSTAMO . HISTORIA DE USUARIO

78

Numero: 31

Nombre:  Consulta de Ticket de Préstamo.

Usuario: Administrador. Modificación de HU:

Iteración Asignada: Octavo

Prioridad en Negocio: Media Registro en Desarrollo: Alta (Alta/Media/Baja). (Alta/Media/Baja). Descripción: Yo como cajero quiero consultar mediante número de cuenta o fecha y que me liste los datos según el dato especificado. Observaciones:  Si en caso no exista mostrará mensaje.

TABLA 45  HISTORIAS DE USUARIOS R EPORTE EPORTE DE TICKET DE MOVIMIENTO . HISTORIA DE USUARIO Numero: 32

Nombre:  Reporte Movimiento.

de

Ticket

de

Usuario: Cajero. Modificación de HU:

Iteración Asignada: Octavo

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción:  yo como cajero quiero hacer un reporte general según la fecha o código de ticket de Movimiento, y que muestre todos los pagos realizados por el cliente. Observaciones:  

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

79

Módulo 09: Sección de Contrato. TABLA 46  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE C ONTRATO. HISTORIA DE USUARIO Numero: 33

Nombre: Registro de Contrato.

Usuario: Ejecutivo de Préstamo –  Encargado de Cuenta. Modificación de HU:

Iteración Asignada: Noveno

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Alta (Alta/Media/Baja).

Descripción: Me gustaría registrar los contratos para guardar sus datos del cliente y facilitar los nuevos contratos que realice. Observaciones:  En caso de que los datos no se registren correctamente, mostrara un mensaje de error.

TABLA 47  HISTORIAS DE USUARIOS MANTENIMIENTO DE CONTRATO . HISTORIA DE USUARIO Numero: 34

Nombre: Modificación de Contrato.

Usuario: Ejecutivo de Préstamo –  Encargado  Encargado de Cuenta. Modificación de HU:

Iteración Asignada: Noveno

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción: Quiero hacer la actualización de la información de los contratos se da cuando el cliente solicita un mantenimiento eenn sus datos como: como: el cambio de dirección, email, teléfono, etc. etc. Una vez realizada la actualización actualización se guardara guardara en la  base de datos. datos. Observaciones:   En caso de que los datos modificados no se registren correctamente, mostrara un mensaje de error.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

80

 

TABLA 48  HISTORIAS DE USUARIOS CONSULTA DE C ONTRATO  HISTORIA DE USUARIO Numero: 35

Nombre: Consulta de Contrato

Usuario: Ejecutivo de Préstamo –  Encargado de Cuenta. Iteración Asignada: Noveno Modificación de HU: Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Media (Alta/Media/Baja).

Descripción:  el usuario usuario adm administrador inistrador realizara la lass consultas de los contratos según los criterios sean especificados como: (código de contrato, código de tipo contrato, código de cliente), además podrás realizar un listado de todos los contrato. Observaciones:  En caso de que los datos no se definan correctamente no podrá realizar la consulta.

Módulo 10: Sección de Usuario. TABLA 49  HISTORIAS DE USUARIOS R EGISTRO EGISTRO DE USUARIOS   HISTORIA DE USUARIO Numero: 36

Nombre: Registro de Usuarios.

Usuario: Administrador. Modificación de HU:

Iteración Asignada: Décimo

Prioridad en Negocio: Alta (Alta/Media/Baja).

Registro en Desarrollo: Baja (Alta/Media/Baja).

Descripción:  Los usuarios de la aplicación deben estar asignados a uno de los siguientes roles, ejecutivo de préstamo, encargada de cuenta, cajero, administrador. Dichos usuarios pueden ser creados únicamente por el usuario administrador, siendo estos guardados en la base de datos. privil egios. Observaciones: Cada Usuario tendrá ciertos privilegios.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 50  HISTORIAS DE USUARIOS MANTENIMIENTO DE USUARIOS   HISTORIA DE USUARIO Numero: 37

Nombre: Mantenimiento de Usuarios

Usuario : Administrador  Modificación de HU:

Iteración Asignada: Décimo

Prioridad en Negocio: Alta (Alta/Media/Baja)

Registro en Desarrollo: Baja (Alta/Media/Baja)

Descripción: El usuario administrador puede modificar información del usuario como por ejemplo nombres, apellidos, teléfonos, email, etc., del usuario. Una vez que se modifique al usuario, se debe actualizar la base de datos para reflejar los cambios que se han realizado.  En caso no ser modificados los datos del usuario no podrán ser Observaciones: actualizados en la base dede datos.

TABLA 51  HISTORIAS DE USUARIOS ELIMINACIÓN

DE

USUARIOS  

HISTORIA DE USUARIO Numero: 38

Nombre: Eliminación de Usuarios

Usuario: Administrador. Modificación de HU:

Iteración Asignada: Décimo

Prioridad en Negocio: Alta (Alta/Media/Baja)

Registro en Desarrollo: Baja (Alta/Media/Baja)

Descripción: El usuario administrador puede deshabilitar a un usuario cuando un empleado de la empresa se haya retirado del puesto de su trabajo. Una vez que se eliminó al usuario, se debe actualizar la base de datos para reflejar los cambios que se han realizado. Observaciones:  En caso de no ser eliminado el usuario no podrá ser actualizado en la base de datos.

81

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 52  HISTORIAS DE USUARIOS INGRESO DEL USUARIO AL SISTEMA . HISTORIA DE USUARIO Numero: 39

Nombre: Ingreso de Usuario al Sistema

Usuario: Administrador. Modificación de HU:

Iteración Asignada: Décimo

Prioridad en Negocio: Alta (Alta/Media/Baja)

Registro en Desarrollo: Media (Alta/Media/Baja)

Descripción:  El ingreso al sistema debe realizarse por medio de una ventana de ingreso, en la cual se especifique el nombre del usuario, la contraseña. Debe exigir algún mecanismo de control que no permita que el usuario pueda pegar caracteres en el campo de contraseña. Observaciones:  Si el usuario ingrese una contraseña contraseña invalida te botara un mensaje de error.

TABLA 53  HISTORIAS DE USUARIOS VALIDACIÓN DEL USUARIO. HISTORIA DE USUARIO Numero: 40

Nombre: Validación de Usuario

Usuario: Administrador. Modificación de HU:

Iteración Asignada: Décimo

Prioridad en Negocio: Alta (Alta/Media/Baja)

Registro en Desarrollo: Baja (Alta/Media/Baja)

Descripción: La validación al sistema debe realizarse por medio de una ventana de

82

validar datos del cliente, en la cual se especifique el nombre del usuario y el área asignado. Debe exigir algún mecanismo de control que no permita que el usuario pueda pegar los datos del cliente. Observaciones:  Si el usuario debe validar sus datos datos bien y si no botara un mensaje de error.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

83  

Estimación de Historias de usuarios Como punto importante para la realización para el plan de entrega, se considera la realización de valoración de las historias de usuarios, especificando un tiempo estimado para cada uno de ellas. Para el presente proyecto se ha propuesto una semana ideal en la que se trabaja 07 días (lunes a domingo), con una jornada de trabajo de 12 horas diarias. En la tabla 54, se presenta el tiempo ideal necesario para implementar las historias de usuario, estimadas, días y horas tomadas en cuenta lo antes mencionado.

TABLA 54  ESTIMACIÓN DE HISTORIAS DE USUARIO . MODULO

Sección Cliente. 

Sección



de

de

Historias de Usuario

TIEMPO ESTIMADO

01

Registro de Cliente

Semanas 0,2

Días 1

Horas 12

02

Mantenimiento de Cliente

0,2

1

12

03

Eliminación de cliente

0,2

1

12

04 05

Consulta de Cliente Reporte de Cliente

0,2 0,2

1 1

12 12

06

Registro de Empleado

0,2

1

12

Empleados. 

Sección Cuenta 

07

Mantenimiento de Empleado

0,2

1

12

08

Eliminación de Empleado

0,2

1

12

09

Consulta de Empleado

0,2

1

12

10

Reporte de Empleado

0,2

1

12

11

Registro de Cuenta

0,2

1

12

Mantenimiento de Cuenta Consulta de Cuenta

0,2 0,2

1 1

12 12

14

Eliminación de Cuenta

0,2

1

12

15

Registro de Movimiento

0,2

1

12

Mantenimiento de Movimiento

0,2

1

12

Consulta de Movimiento

0,2

1

12

de 12 13

Sección de 16 Movimiento  17

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

84

 

18

Reporte de Movimiento.

0,2

1

12

39

Registro de Préstamo

0,2

1

12

Mantenimiento de Préstamo

0,2

1

12

Consulta de Préstamo

0,2

1

12

42

Reporte de Préstamo

0,2

1

12

23

Registro de Pago Préstamo.

0,2

1

12

Mantenimiento de Pago Préstamo.

0,2

1

12

Consulta de Pago Préstamo.

0,2

1

12

26

Reporte de Pago Préstamo.

0,2

1

12

27

Emisión de Ticket Movimiento.

0,2

1

12

Consulta de Ticket Movimiento.

0,2

1

12

Reporte Ticket Movimiento.

0,2

1

12

Emisión de Ticket de Pago Préstamo. 0,2

1

12

Consulta de Ticket de Pago 0,2 Préstamo. Reporte Ticket de Pago Préstamo. 0,2

1

12

1

12

Registro de Contrato

1

12

Sección de 40 Préstamo   41

Sección de 24 Pago Préstamo   25

Sección de 28 Ticket Movimiento  29 Sección de 30 Ticket de 31 Pago Préstamo   32 33

0,2

Sección de 34 35 Contrato  36 Sección de 37 Usuario.  38

Mantenimiento de Contrato Consulta de Contrato

0,2 0,2

1 1

12 12

Registro de usuarios

0,2

1

12

Modificación de usuarios

0,2

1

12

Eliminación de usuarios

0,2

1

12

39

Ingreso de usuarios al sistema

0,2

1

12

40

Validación de usuario

0,2

1

12

8,0

40

640

TIEMPO ESTIMADO TOTAL

Velocidad del Equipo de Desarrollo Cuando se refiere a velocidad de desarrollo, también se utiliza el término de esfuerzo ideal para denotar el tiempo que le es posible asignar a un desarrollador para implementar una funcionalidad del sistema en un tiempo determinado. A continuación como se calcula la velocidad del equipo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 



Personas en el equipo: 2 personas



Velocidad del equipo al mes.

2 Personas (7 semanas)= 4 Semanas al mes 2 personas Con esto se concluye que para el presente proyecto, habrá dos personas desarrollando, el sistema de información, con 4 semanas ideales por cada mes de trabajo.

Iteraciones Una vez establecido la velocidad del equipo de desarrollo, se denomina el número de iteraciones que se llevaran a cabo para la entrega del software. En la tabla 58, se objetivo el total de semanas ideales (9,2 semanas) que serían necesarias  para implementar implementar la solució soluciónn propuesta por el eq equipo uipo del des desarrollo. arrollo. Tomando Tomando en cuenta cuenta

85

ese total, se produce a calcular el número de interacciones de esta manera:  

Semanas ideales totales: 9,2   Velocidad del equipo de desarrollo: 4 semanas.    Número

de iteraciones iteraciones para la entrega. entrega.

(9,2 semanas)=2.3 semanas 4 semanas Con este resultado podemos decir que tendremos como máximo cinco iteraciones.

Actividades de reunión de planificación de entregas Este documento especifica exactamente que historias de usuarios serán implementadas en cada entrega del sistema.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

86

 

TABLA 55  PLANIFICACION DE ENTREGAS   Actividades de reunión de planificación de entregas Actividades Descripción implementación de historia Completar este documento para obtener de usuario los requerimientos para el desarrollo del sistema. Estimación de historias de Según las historias de usuario se debe usuarios llevar a cabo una estimación de cada una de ellas completando el documento

Responsable Cliente Equipo desarrollador

Priorización de historias de usuarios Fijar velocidad del proyecto

Planificación por alcance o tiempo Documentar el plan de entrega

específico. Una vez estimado las historias esta debe ser debidamente priorizadas, lo cual quedara en este documento. De este documento se obtienen información respecto a lo que es la velocidad del proyecto para cada liberación. A través de este documento se especifica las historias de usuario que serán implementadas en la liberación. En este documento se debe realizar un resumen de los documentos anteriores, respecto de las historias de usuario a implementar con sus respectivas  prioridades.

Cliente y equipo desarrollador Equipo desarrollador Cliente y equipo desarrollador Documentador

Plan de Entregas Para la elaboración del plan de Entrega del presente proyecto y aplicando los  parámetros de desarrollo bajo la metodología XP, se establece el tiempo calendario cal endario de acuerdo a un mes de 4 semanas, una semana de 7 días y un día de 12 horas. - 

Tiempo Calendario Para estimación de tiempo calendario, se presenta la tabla 56, donde se muestra un modelo a utilizar en horas, días y semanas, la misma que

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

87

 

 permitirá calcular el esfuerzo utilizado para el desarrollo del presente  proyecto.

TABLA 56  TIEMPO CALENDARIO. horas calendario 12 horas

días calendario 07 días

semanas calendario 07 semanas

(Horas diarias que se va a (Días laborales que se va (Semanas al mes que se va a

dedicar el desarrollo del dedicar el desarrollo del dedicar el desarrollo del  proyecto).  proyecto).  proyecto).

Tiempo Calendario  Calendario  Se considera: Personas en el Equipo=2 personas; por lo tanto: t anto:  

Esfuerzo por semana de desarrollo: 02 personas=1 semana

 

Esfuerzo por días de desarrollo=2 personas=7 días   Esfuerzo por horas calendario de desarrollo: 2 personas=12 horas.

En consecuencia a este análisis, se obtiene la siguiente tabla:  TABLA 57  ESFUERZO DE DESARROLLO

EN BASE DE 2 PERSONAS  

de Personas en el Horas de Días de equipo esfuerzo en el esfuerzo desarrollo desarrollo 2 personas 672 horas 28 días

Semanas de esfuerzo de desarrollo 4 semanas

Elaboración de Plan de Entrega 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

88

FIGURA 13  PLANIFICACIÓN DE LA ENTREGA  Determinado el tiempo calendario y estimado el esfuerzo de desarrollo, se procede a la elaboración del plan de entrega, mediante de la utilización de la estimación por historia de usuario.

Tabla 58 Plan de entrega 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

89

MODUL O

N° 01

Sección de Cliente. 

02 03 04 05 06

Sección de 07 Empleado 

08

09 10 11 Sección de Cuenta

12 13 14 15 16

Sección de Movimien 17 to 

18 19 Sección de Préstamo

20 21

Historias Usuario

TIEMPO de ESTIMADO Sem Dí  Hor anas as as

Registro de 0,2 Cliente Mantenimiento 0,2 de Cliente de Eliminación cliente Consulta de Cliente Reporte de Cliente Registro de Empleado Mantenimiento de Empleado Eliminación de Empleado Consulta de Empleado Reporte de Empleado Registro de Cuenta Mantenimiento de Cuenta Consulta de Cuenta Eliminación de Cuenta Registro de Movimiento Mantenimiento de Movimiento Consulta de Movimiento Reporte de Movimiento. Registro de Préstamo Mantenimiento de Préstamo Consulta de Préstamo

CALENDARIO ESTMADO

INTERACCIO N ASIGNADA

Sema nas

Día Hor s as

1 2

1

12

00,2 ,2

1

12

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

ENTREGA ASIGNADA

3 4 5 1 2 3 4 5

90

22 23 Sección de Pago Préstamo 

24 25 26 27

Sección de 28 Ticket Movimien to  29

30 Sección de Ticket de 31 Pago Préstamo 

32 33 Sección de 34 Contrato 

35 36 37 Sección de 38 Usuario. 

39 40

Reporte de 0,2 Préstamo Registro de 0,2 Pago Préstamo. Mantenimiento 0,2 de Pago Préstamo. de Consulta Pago Préstamo. Reporte de Pago Préstamo. Emisión de Ticket Movimiento. Consulta de Ticket Movimiento. Reporte Ticket Movimiento. Emisión de Ticket de Pago Préstamo. Consulta de Ticket de Pago Préstamo. Reporte Ticket de Pago Préstamo. Registro de Contrato Mantenimiento de Contrato Consulta de Contrato Registro de usuarios Modificación de usuarios Eliminación de usuarios Ingreso de usuarios al sistema Validación de usuario

1

12

00,2 ,2

1

12

1

12

00,2 ,2

1

12

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

0,2

1

12

00,2 ,2

1

12

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

91

 

TOTAL SEMANAS

2 DE , 2, 0 08 8

2 , 0 8

2 , 0 8

3 , 10,4 0 8

Plan de Liberación A través esta tabla se especifica las historias de usuario que serán implementadas en la liberación. 

TABLA 59  PLAN DE LIBERACIÓN   Entregables

Historias de usuarios

Entregable 01 Entregable 02 Entregable 03 Entregable 04 Entregable 05 Entregable 06 Entregable 07 Entregable 08 Entregable 09 Entregable 10

HU01, HU02, HU03, HU04, HU05. HU06, HU07, HU08, HU09, HU10. HU11, HU12, HU13, HU14. HU15, HU16, HU17, HU18. HU19, HU20, HU21, HU22. HU23, HU24, HU25, HU26. HU27, HU28, HU29. HU30, HU31, HU32. HU33, HU34, HU35. HU36, HU37, HU38, HU39, HU40.

Lista De Entregables Los entregables según la metodología XP, son lanzamientos pequeños y frecuentes correspondientes correspond ientes a las tareas necesarias pa para ra completar la implemen implementación tación de cada cada

iteración.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

92

 

Para el presente proyecto se especifican como cuadros entregables:   Desarrollo de versiones de historia de usuario



  Desarrollo de tarjetas CRC



  Desarrollo de iteraciones



  Desarrollo de pruebas de aceptación



Desarrollo de Versiones de Historia de Usuario Tabla 60 Desarrollo de versiones de historias de usuario 

MODULO

N °

HISTORIAS USUARIO

PRIORI ACTIVIDAD RIESGO (Nueva/ (Alto/Medio/ DE DAD (Entrega)  Mejora)  Bajo) 

01 Registro de Cliente

PRIMERA

02 Mantenimiento Cliente 03 Eliminación cliente

de de

04 Consulta de Cliente 05 Reporte de Cliente 06 Registro de Empleado 07 Mantenimiento de Empleado 08 Eliminación de SEGUNDA Empleado 09 Consulta de Empleado

Versi ón

ESTADO (Desarrollo) 

1

NUEVA

Alta

1

Completa

1

NUEVA

Media

1

Completa

1

NUEVA

Media

1

Completa

1 1

NUEVA NUEVA

Media Alta

1 1

Completa Completa

2

NUEVA

Alta

1

Completa

2

NUEVA

Media

1

Completa

2

NUEVA

Media

1

Completa

2

NUEVA

Media

1

Completa

10 Reporte

TERCERA

de

Empleado 11 Registro de Cuenta 12 Mantenimiento de Cuenta 13 Consulta de Cuenta 14 Eliminación Cuenta

de

2 3

NUEVA NUEVA

Alta Alta

1 1

Completa Completa

3

NUEVA

Media

1

Completa

3

NUEVA

Alta

1

Completa

3

NUEVA

Media

1

Completa

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

93

 

CUARTA

QUINTA

SEXTO 

SEPTIMA

OCTAVO

15 Registro de Movimiento 16 Mantenimiento de Movimiento 17 Consulta de Movimiento 18 Reporte de Movimiento. 19 Registro de Préstamo 20 Mantenimiento de Préstamo 21 Consulta de Préstamo 22 Reporte de Préstamo 23 Registro de Pago Préstamo. 24 Mantenimiento de Pago Préstamo. 25 Consulta de Pago Préstamo. 26 Reporte de Pago Préstamo. 27 Emisión de Ticket Movimiento. 28 Consulta de Ticket Movimiento. 29 Reporte Ticket Movimiento. 30 Emisión de Ticket de Pago Préstamo. 31 Consulta de Ticket de Pago Préstamo.

4

NUEVA

Alta

1

Completa

4

NUEVA

Media

1

Completa

4

NUEVA

Media

1

Completa

4

NUEVA

Media

1

Completa

5

NUEVA

Media

1

Completa

5

NUEVA

Alta

1

Completa

5

NUEVA

Media

1

Completa

5 6

NUEVA NUEVA

Alta Alta

1 1

Completa Completa

6

NUEVA

Media

1

Completa

6

NUEVA

Media

1

Completa

6

NUEVA

Alta

1

Completa

7

NUEVA

Alta

1

Completa

7

NUEVA

Media

1

Completa

7

NUEVA

Media

1

Completa

8

NUEVA

Alta

1

Completa

8

NUEVA

Media

1

Completa

32 Reporte Ticket de Pago Préstamo. 33 Registro de Contrato 34 Mantenimiento de  NOVENO

DECIMO

35 36 37 38

Contrato Consulta de Contrato Registro de usuarios Modificación de usuarios Eliminación de usuarios

8

NUEVA

Media

1

Completa

9

NUEVA

Alta

1

Completa

9 9 10

NUEVA NUEVA NUEVA

Media Media Alta

1 1 1

Completa Completa Completa

10

NUEVA

Media

1

Completa

10

NUEVA

Media

1

Completa

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

94

 

39 Ingreso de usuarios al sistema 40 Validación de usuario

6.3.1.1. 

10

NUEVA

Alta

1

Completa

10 

NUEVA

Alta

1

Completa

FASE: DISEÑO

En esta fase se hace especial énfasis en los diseños simples y claros. Solo se diseñan aquellas historias de usuario que el cliente ha seleccionado para la iteración actual. Los conceptos más importantes de diseño en esta metodología son la metáfora del sistema, las tarjetas, las soluciones puntuales, una funcionalidad f uncionalidad mínima.

Actividades de diseño La presente herramienta tiene como propósito fundamental establecer las actividades que deben ser desarrollados durante esta fase y los roles de quienes deben llevarlas a cabo.

TABLA 61  ACTIVIDADES DE FASE DE DISEÑO  Actividades de fase de diseño N°

Actividad

Su actividad

Responsable

1

2 3

Elegir una metáfora Identificar una metáfora que permite Desarrollador y  para el sistema mantener la coherencia del nombre Cliente de todo aquello que se va a implementar Realizar reuniones Utilizar tarjetas CRC que promuevan Desarrollador de sesión de diseño el diseño colaborativo Realizar modelo de Creación de las tablas de la base de Desarrollador entidad-relación

4

5

datos

No agregar Evitar añadir funcionalidad según Desarrollador funcionalidad en las esta vaya surgiendo. Creación de prototipos iniciales del  primeras etapas etapas sistema. Realizar refactoring El refactoring es parte importante del Desarrollador diseño, aumentando de una u otra forma la calidad.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Diseño de las tarjetas CRC Para poder diseñar el sistema de como un equipo se deben cumplir con tres principios: Cargo o clase, Responsabilidad y colaboración (CRC) esta tarjetas permitirá desprenderse del método de trabajo basado en procedimientos y trabajar con una metodología basada en objetos.

TABLA 62  TARJETA CRC_CLIENTE  CLIENTE Responsabilidades   Código    Nombre   Apellido Paterno   Apellido Materno   Código Tipo Documento    Número Documento Documento   Fecha de Nacimiento   Sexo

Colaboradores

95

  Estado Civil

Teléfonos Dirección Email Estado Registro   Código de AAHH Registro de Cliente     Mantenimiento de Cliente Consulta de Cliente     Eliminación de Cliente   Reporte de Cliente       

Asentamiento Humano Tipo Documento

HU01, HU02, HU03, HU04, HU05

TABLA 63 TARJETA CRC_EMPLEADO   EMPLEADO Responsabilidades   Código Empleado    Número Empleado Empleado   Apellido Materno Empleado   Apellido Paterno Empleado   Código Tipo Documento    Numero   Fecha Nacimiento

Colaboradores

Distritos Cargo Tipo Documento

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Sexo Estado Civil   Dirección   Sueldo   Teléfono   Email   Estado Registro   Código Distrito   Código Cargo Registro de Empleado     Mantenimiento de Empleado   Consulta de Empleado   Eliminación d Empleado   Reporte de Empleado HU06, HU07, HU08, HU09    

TABLA 64  TARJETA CRC_CUENTA  CUENTA

96

Responsabilidades                  

Colaboradores

 Número de Cuenta Cuenta Fecha Inicio Saldo Tipo Fecha Caducidad Estado Estado Registro Código Tipo Cuenta Código Cliente

Tipo Cuenta Cliente

Registro de Cuenta. Mantenimiento de Cuenta. Consulta de Cuenta. Reporte de Cuenta. HU10, HU11, HU12, HU13        

TABLA 65  TARJETA CRC_MOVIMIENTO  MOVIMIENTO

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Responsabilidades                      

Código Movimiento Fecha Hora Monto Estado Registro Código Tipo Movimiento  Número Cuenta Cuenta Código Cliente Registro de Movimiento Mantenimiento de Movimiento Consulta de Movimiento

Colaboradores

Tipo Movimiento Cliente

97

Reporte de Movimiento HU14, HU15, HU16, HU17  

TABLA 66  TARJETA CRC_PRESTAMO  PRESTAMO Responsabilidades Código Préstamo Monto Interés Cuota Fecha Préstamo Estado Fecha Vencimiento Estado Registro Código Tipo Préstamo   Código Cliente

Colaboradores



                 

    

Tipo Préstamo Cliente

   

Registro de Préstamo. Modificación de Préstamo.     Consulta de Préstamo. Reporte de Préstamo.   HU18, HU19, HU20, HU21  

TABLA 67  TARJETA CRC  _   _  PAGO PRÉSTAMO   PAGO PRESTAMO

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Responsabilidades            

Código Pago Préstamo Fecha de Pago Hora Monto Estado Registro Código Préstamo

Colaboradores

Préstamo

98

 

      

Registro de Préstamo Modificación de Préstamo Consulta de Préstamo Reporte de Préstamo

, HU22, HU23, HU24, HU25

TABLA 68  TARJETA CRC_  TICKET MOVIMIENTO   TICKET MOVIMIENTO Responsabilidades      

Colaboradores

Código Ticket Movimiento Código Movimiento Estado Registro Movimiento

Emisión de Ticket Movimiento. Consulta de Ticket Movimiento.   Reporte de Ticket Movimiento. HU26, HU27, HU28    

TABLA 69  TARJETA CRC_  TICKET PAGO PRÉSTAMO   TICKET PAGO PRESTAMO Responsabilidades Código Ticket Pago Préstamo Código Pago Préstamo   Estado Registro Emisión de Ticket Pago Préstamo.     Consulta de Ticket Pago Préstamo.   Reporte de Ticket Pa Pago go Pré Préstamo. stamo. HU29, HU30, HU31

Colaboradores

   

Pago Préstamo

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 70  TARJETA CRC_CONTRATO 

99

CONTRATO Responsabilidades

Colaboradores

Código Contrato   Fecha Contrata  

Descripción Fecha Vencimiento Estado Registro   Código Tipo Contrato   Código Préstamo      

Tipo Contrato Préstamo

Registro de Contrato Modificación de Contrato Consulta de Contrato Reporte de Contrato

       

HU32, HU33, HU34, HU35 Tabla 71 Tarjeta CRC_ Usuario. USUARIO Responsabilidades    

Clave usuario  Nombre Usuario Empleado

   

Registro de usuario Modificación de usuario Eliminación de usuario

   

Ingreso de usuarios al sistema Validación de Usuario

 

Colaboradores

HU36, HU37, HU38, HU39, HU40

6.3.1.2.  FASE: CODIFICACIÓN En esta fase de desarrollo se realiza de forma paralela con el diseño. Al comienzo el cliente nos proporciona las historias de usuario, pero como estas historias son muy cortas, no contienen los detalles necesarios para realizar el desarrollo del código; así que esos detalles deben ser proporcionados por el cliente, y discutidos con los desarrolladores, durante la etapa de desarrollo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

100

Desarrollo de Iteraciones   Iteración Nº 1



Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Cliente TABLA 72  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE CLIENTE . Módulo Sección de Clientes  Clientes  Tarea

Estado

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación Implementación del CAC   Iteración Nº 2

Completo Completo Completo Completo Completo Completo Completo

Fecha 13 marzo de 2016 X X X X X X X



Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Empleado  TABLA 73  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE EMPLEADO   Módulo Sección de Empleado  Empleado 

Tarea

Estado

Fecha 14 marzo de 2016

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación Implementación Implementació n del CAC.

completo Completo Completo Completo Completo Completo completo

X X X X X X X



  Iteración Nº 3

Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Cuenta. 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

101

 

TABLA 74  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE CUENTA . Módulo Sección de Cuenta 

Tarea

Estado

Fecha 15 marzo de 2016

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación Implementación del CAC.

completo Completo Completo Completo Completo Completo completo

X X X X X X X

  Iteración Nº 4



Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Movimiento.  TABLA 75  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE MOVIMIENTO . Módulo Sección de Movimiento 

Tarea

Estado

Fecha de 201616 marzo

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación Implementación Implementació n del CAC.

completo Completo Completo Completo Completo Completo completo

X X X X X X X

  Iteración Nº 5



Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Préstamo.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 76  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE PRÉSTAMO . Módulo Sección de Préstamo 

Tarea

Estado

Fecha 17 marzo de 2016

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación Implementación del CAC.

completo Completo Completo Completo Completo Completo completo

X X X X X X X

  Iteración Nº 6



Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Pago Préstamo.  TABLA 77  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE PAGO PRÉSTAMO. Módulo Sección de Pago Préstamo 

Tarea

Estado

Fecha 18 marzo de 2016

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación Implementación Implementació n del CAC.

completo Completo Completo Completo Completo Completo completo

X X X X X X X

102

  Iteración Nº 7



Emisión/consulta/reporte Emisión/consulta/repo rte de Ticket Movimiento. 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

TABLA 78  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE TICKET MOVIMIENTO   Módulo Sección de Ticket Movimiento 

Tarea

Estado

Fecha 19 marzo de 2016

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación Implementación Implementació n del CAC.

completo Completo Completo Completo Completo Completo completo

X X X X X X X

  Iteración Nº 8



Emisión/consulta/reporte Emisión/consulta/repo rte de Ticket Pago Préstamo TABLA 79  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE TICKET PAGO PRÉSTAMO. Módulo Sección de Ticket Pago Préstamo  Tarea

Estado

Fecha 20 marzo de 2016

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema

Completo Completo Completo Completo

X X X X

103

Ejecución de pruebas Pruebas de aceptación

Completo Completo

X X

Implementación Implementació n del CAC.

Completo

X

  Iteración Nº 9



MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

104  

Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Contrato TABLA 80  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE CONTRATO. Módulo Sección de Contrato  Tarea

Estado

Fecha 23 marzo de 2016

Diseño de tarjeta CRC Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas

Completo Completo Completo Completo Completo

X X X X X

Pruebas de aceptación Implementación del CAC.

Completo completo

X X

  Iteración Nº 10



Registro/Mantenimiento/consulta/reporte Registro/Mantenimie nto/consulta/reporte de Usuario  TABLA 81  PLANIFICACIÓN DE TAREA PARA EL MODULO SECCIÓN DE USUARIO . Módulo Sección de Usuario   Estado Fecha 24 marzo Tarea de 2016 Diseño de tarjeta CRC

completo

X

Diseño de base de datos Diseño de prototipo Codificación del sistema Ejecución de pruebas Pruebas de aceptación

Completo Completo Completo Completo Completo

X X X X X

Implementación del CAC.

completo

X

6.3.1.3.  FASE: PRUEBAS

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Una vez terminada con la codificación del sistema se realizan las pruebas para la aceptación del sistema por parte del cliente, estas pruebas son tan estrictas que solo se podrá liberar una nueva versión si esta ha superado el cien por ciento de la totalidad de ellas. De no ser así, se busca el error y se soluciona. Estas pruebas son supervisadas por el cliente, quien comprueba que se cumple lo especificado en las historias de usuario. Por tanto, en todas iteraciones, las historias de usuario que se lleven a cabo deberán pasar una o varias  pruebas de aceptación. aceptación.

Pruebas de aceptación

105

Modulo Sección de Cliente  TABLA 82  PRUEBA DE ACEPTACIÓN PARA EL CLIENTE   Prueba de Aceptación   Código  H01-05 Modulo Sección de Cliente Descripción La sección de Cliente permite el registro, Mantenimiento, consulta, eliminar y Reporte de las Clientes eespecíficas. specíficas. Condición de

Se debe llenar los campos que son obligatorios para la inserción de un

ejecución  

Cliente. El Encargada de cuenta llena los campos para la l a inserción de Cliente. El Encargada de cuenta realiza la Consulta mediante datos específicos. El Encargada de cuenta realiza la Mantenimiento para modificar los datos. El Encargada de cuenta realizara un rep reporte orte de cliente. El Encargada de cuenta elimina mediante el código del cliente. Se debe validar que la inserción i nserción de cliente sea correcto. Se guardarán los campos modificados en la base de datos. Los datos de consulta se mostraran en la lista.

Entrada 

Resultado esperado 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Evaluación  prueba 

de La prueba fue exitosa

Modulo Sección de Empleado TABLA 83  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE EMPLEADO   Prueba de Aceptación  Aceptación   Código  H06-10 Modulo Sección de Empleado Descripción La sección del empleado permite el registro, modificación, eliminación, Condición de ejecución  Entrada

Consulta y reporte de un Empleado en específico. Se debe llenar los campos que son obligatorios para la inserción del empleado. El Administrdor llena los campos para la inserción de empleado. El Administrdor edita los ccampos ampos que desea mod modificar. ificar. El Administrdor realiza la búsqueda búsqueda median mediante te datos especifico. especifico. El Administrdor realizara re reporte porte de empleado. El Administrdor elimina mediante el código del empleado.

106

Resultado esperado   Evaluación  prueba   

Se debe validar que la inserción del cliente sea correcta. Se guardaran los campos modificados en la base de datos. Los datos de Consulta se mostraran en la lista. de La prueba fue exitosa.

Modulo Sección de Cuenta 

TABLA 84  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE CUENTA  Prueba de Aceptación  Aceptación   Código  HU11-14 Sección de Cuenta Modulo Descripción La sección de cuenta comunal permite el registro, mantenimiento, Consulta y Eliminación de Cuenta. Condición de ejecución  Entrada

Se debe llenar los campos que son obligatorios para la inserción de cuenta. La encargada de Cuenta llena los campos para la inserción de cuenta. La encargada de Cuenta realiza la consulta mediante los datos específicos. La encargada de Cuenta edita los campos que desea modificar. La encargada de Cuenta realizara Eliminación de Cuenta.

Resultado esperado  

Se debe validar que la inserción in serción de las cuentas sea correcta. Se guardaran los campos modificados y registrados en la base de datos. Los datos de búsqueda se mostraran en la lista.

Evaluación de La prueba fue exitosa.  prueba 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

 

Sección de Movimiento 

TABLA 85  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE MOVIMIENTO  Prueba de Aceptación  Aceptación   Código  HU15-18 Sección de Movimiento Modulo Descripción La sección de cuenta personal permite el registro, mantenimiento, Reporte Condición de ejecución   Entrada

ySeBúsqueda de Movimiento. debe llenar los campos que son obligatorios para la inserción de Movimiento. El cajero llena los campos para la inserción de Movimiento. El cajero edita los ca campos mpos que desea m modificar. odificar.

107

El cajero realiza la búsqueda mediante los datos especificado especificados. s. El Cajero realizara rep reporte orte de Mov Movimiento. imiento. Resultado esperado 

Se debe validar que la inserción i nserción de Movimiento sea correcta. Se guardaran los campos modificados en la base de datos. Los datos de búsqueda se mostraran en la lista. Evaluación de La prueba fue exitosa.  prueba 

 

Modulo Sección de Préstamo 

TABLA 86  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE PRÉSTAMO   Prueba de Aceptación  Aceptación   Código   HU35-38 Sección de Préstamo Modulo Descripción La sección de préstamo Personal permite el registro, mantenimiento, reporte y búsqued búsquedaa de un prés préstamo tamo en espec específico. ífico. Condición de ejecución   Entrada

Resultado esperado 

Se debe llenar los campos que son obligatorios para la inserción de  préstamo Personal. Personal. Ejecutivo de préstamo llena los campos para la inserción de  préstamo. Ejecutivo de préstamo préstamo realiza búsqueda ddel el préstamo. Ejecutivo de préstamo realiza la búsqueda mediante los datos especificados. Ejecutivo de préstamo realizara reporte de Préstamo. Se debe validar que la inserción i nserción de datos sea correcto. Se guardaran los campos modificados en la base de datos. Los datos de búsqueda se mostraran en la lista. l ista.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Evaluación  prueba 

 

de La prueba fue exitosa.

Modulo Sección de Pago Préstamo 

TABLA 87  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE PAGO PRÉSTAMO . Prueba de Aceptación  Aceptación  Código   Descripción

HU23-26 Sección de Pago Préstamo. Modulo La sección de Abono Comunal permite el registro, mantenimiento,

108

reporte y búsqueda de un Pago Préstamo en específico. Condición de ejecución   Entrada

Resultado esperado  Evaluación  prueba 

Se debe llenar los campos que son obligatorios para la inserción de Pago Préstamo. El Cajero llena los campos para la inserción de Pago Préstamo. El Cajero realiza búsqueda del Pago Préstamo. El cajero realiza la búsqueda mediante los datos especificado especificados. s. El Cajero realizara reporte ddee Pago Pré Préstamo. stamo. Se debe validar que la inserción inserción de los Pagos de Préstamo .sea correcto. correcto. Se guardaran los campos modificados en la base de datos. Los datos de búsqueda se mostraran en la lista. de La prueba fue exitosa.

  Modulo Sección de Ticket Movimiento 

TABLA 88  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE TICKET MOVIMIENTO   Prueba de Aceptación  Aceptación  Código  Descripción Condición de ejecución  Entrada

Resultado esperado  

HU27-30 Secciónelde Movimiento reporte y Modulo  Ticketmantenimiento, La sección de Retiro Personal permite registro,  búsqueda de Ticket Movimiento eenn específico. Se debe llenar los campos que son obligatorios para la inserción de Ticket Movimiento. El Cajero llena los campos para la inserción de Ticket Movimiento. El Cajero realiza búsqueda del Ticket Movimiento. El cajero realiza la búsqueda mediante los datos especificado especificados. s. El Cajero realizara reporte ddee Ticket Mo Movimiento. vimiento. Se debe validar que la inserción de los Tickets de Movimiento sea correcto. Se guardaran los campos modificados en la base de datos. Los datos de búsqueda se mostraran en la lista.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Evaluación  prueba 

 

de La prueba fue exitosa.

Modulo Sección de Ticket Pago Préstamo. 

109

TABLA 89  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE TICKET PAGO PRÉSTAMO .   Prueba Aceptación Código   de Aceptación  HU31-34 Sección de Ticket Pago Préstamo Modulo Descripción La sección de Retiro Comunal permite el registro, mantenimiento, reporte y búsqueda de un Ticket Pago Préstamo en específico. Condición de Se debe llenar los campos que son obligatorios para la inserción de Ticket ejecución   Pago Préstamo. Entrada

El Cajero llena los campos para la inserción de Ticket Pago Préstamo. El Cajero Cajero realiza búsqueda del Ticke Tickett Pago Pago Préstamo. Préstamo. El cajero realiza la búsqueda mediante los datos especificados especificados.. El Cajero realizara reporte de Ticket Pago Préstamo.

Resultado esperado  Evaluación  prueba 

Se debe validar que la inserción de los Tickets de Pago de Préstamo sea correcto. Se guardaran los campos modificados en la base de datos. Los datos de búsqueda se mostraran en la lista. de La prueba fue exitosa.

  Modulo Sección de Contrato 

TABLA 90  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE CONTRATO  Prueba de Aceptación  Aceptación   Código  HU43-45 Sección de Contrato Modulo Descripción La sección de Contrato permite el registro, mantenimiento, y Consulta de un contrato en específico. Condición de Se debe llenar los campos que son obligatorios para la inserción de contrato. ejecución  Entrada El Ejecutivo de Prestamo llena los campos para la inserción de contrato. El Ejecutivo de Prestamo Prestamo realiza búsqueda del contrato. El Ejecutivo de Prestamo realiza la búsqueda mediante los datos especificados. Resultado Se debe validar que la inserción in serción de los contratos sea correcto. esperado   Se guardaran los campos modificados en la base de datos. Los datos de búsqueda se mostraran en la lista.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Evaluación

de La prueba fue exitosa.

110

 prueba 

 

Modulo Sección de usuario  

TABLA 91  PRUEBA DE ACEPTACIÓN PARA LA SECCIÓN DE USUARIO  Prueba de Aceptación  Aceptación  Código   HU46-50 Sección de Usuario Modulo Descripción La sección de préstamo Comunal permite el registro, mantenimiento,  permiso, y búsqueda búsqueda de un préstamo Comuna Comunall en específico. específico. Condición de Se debe llenar los campos que son obligatorios para la crear un nuevo ejecución   usuario. Entrada

El administrador llena los campos para la inserción de usuario El administrador realiza realiza búsqueda del préstamo usuario. usuario. El administrador realiza la búsqueda mediante los datos especificados.

Resultado esperado  Evaluación  prueba 

El administrador da permisos para cada usuario de acuerdo la tarea que realizan. Se debe validar que la inserción de los préstamos comunales sea correcto. Se guardaran los campos modificados en la base de datos. Los datos de búsqueda se mostraran en la lista. de La prueba fue exitosa.

Desarrollo de Pruebas de Aceptación   TABLA 92  DESARROLLO DE PRUEBAS DE ACEPTACIÓN . ITERACI N° Historias de TARJETA TERMIN NIVEL OBSERVACIÓ ÓN Usuario CRC ADO DE N (Nombre)  (SI/NO)  AVAN CE Registro de SI 100% Realización 01 Exitosa Cliente Mantenimiento SI 100% Realización 02 Exitosa de Cliente Eliminación de SI 100% Realización PRIMERA 03 Cliente Exitosa Cliente Consulta de SI 100% Realización 04 Cliente Exitosa Reporte de SI 100% Realización 05 Exitosa Cliente

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

ESTADO (Desarroll o)  Completo Completo Completo Completo Completo

111

06 07 SEGUNDA

08 09 10 11

TERCERA

12 13 14 15 16

CUARTA 17 18 19 20 QUINTA

21 22 23 24

SEXTO 25 26 27 SEPTIMO

Registro de Empleado Mantenimiento de Empleado Eliminación de Empleado

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

Movimiento SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

Realización

Completo

Pago Préstamo. Reporte de Pago SI Préstamo. SI Emisión de Ticket Ticket Movimiento Movimiento.

100%

Exitosa Realización Exitosa Realización Exitosa

Completo

Consulta de Empleado Reporte de Empleado Registro de Cuenta Mantenimiento de Cuenta Consulta de Cuenta Reporte de Cuenta Registro de Movimiento Mantenimiento de Movimiento Consulta de Movimiento Reporte de Movimiento. Registro de Préstamo Mantenimiento de Préstamo Consulta de Préstamo Reporte de Préstamo Registro de Pago Préstamo. Mantenimiento de Pago Préstamo. Consulta de

Empleado

Cuenta

Prestamo

Pago Prestamo

100%

Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa

Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo Completo

Completo

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

112

 

28 29 30 31 OCTAVO 32 33 34  NOVENO 35 36 37 38 DÉCIMO 39 40

Consulta de Ticket Movimiento. Reporte Ticket Movimiento. Emisión de Ticket de Pago Préstamo. Consulta de Ticket de Pago Préstamo. Reporte Ticket de Pago Préstamo. Registro de Contrato Mantenimiento de Contrato Consulta de Contrato Registro de usuarios Modificación de usuarios Eliminación de usuarios Ingreso de usuarios al

SI

100%

Realización Exitosa

Completo

SI

100%

Realización Exitosa

Completo

SI

100%

Realización Exitosa

Completo

Ticket de SI  pago Prestamo SI

100%

Realización Exitosa

Completo

100%

Realización Exitosa

Completo

SI

100%

Completo

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

SI

100%

Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa Realización Exitosa

SI

100%

Contrato

USUARIO

sistema Validación de usuario

Realización Exitosa

5.4  NORAMLIZACION DE LA BASE DE DATOS 5.4.1  PRIMERA FORMA NORMAL cod_ cod_Em EmNom NomCli Clien ente te Ape ApePa Patt 1 Lu Luis Ruiz 2 Lu Luis Ruiz 3 Lu Luis Ruiz 4 Juan Rojas

cod_Em 1 2

N No ombre Luis Juan

Nº NºPr Pres estm tmo o

Ap ApeM eMat at TippoDo oDocu cume ment ntoo Diaz DNI Diaz DNI Diaz DNI Ñaña RUC  

ApePa ePat Ruiz Rojas

TipPr TipPres esta tam mo

Nume Numero ro 12345678 12345678 12345678

Te Tele lefo fono no 64 6457683 64 6457683 64 6457683 10123456780   7658443

ApeM ApeMaat Di az Ñaña

Direcion NºPr NºPrest estmo mo TipP TipPre resta stam mo Fec FecPr Prest estam amoo Av. Brazi 15 1000 Hipotecario 0066/03/2016 Av. Brazi 15 1001 Hipotecario 1100/10/2016 Av. Brazi 15 1002 Personal 04/01/2017 Av Venezuela 548 1003 Pers on onal 04/06/2017

Tipo ipoDocument ento Numer ero o DNI 12345678 RUC 10123456780

Fec FecPr Pres esta tam mo

Mon ontto

Tel elef efo ono 6457683 7658443

Inte Interres

Mont Montoo S/. 20,000.00 S/. 10,000.00 S/. 600.00 S/. 2,000.00

In Inte tere ress Cout Coutaa Im Impo port rtee Ttal Ttal S/. 25,000.00 20   S/. 45,000.00 S/. 10,500.00 10   S/. 20,500.00 S/. 6,300.00 6 S/. 6,900.00 S/. 2,200.00 6 S /./. 4,200.00

Direc irecccion ion Av. Brazi 15 Av Venezuel a 548

Cout Couta a Im Impo porrte Ttal tal

Completo Completo Completo Completo Completo Completo Completo

1000 1001

Hipo ipotec tecar ario io Hipo ipotec tecar ario io

06/03 /03/20 /2016 10/10 /10/20 /2016

S/. 20,0 ,00 00.0 .00 0 S/. 10,0 ,00 00.0 .00 0

S/. 25,00 ,000.00 .00 S/. 10,50 ,500.00 .00

20 10

S/. 45,00 ,000.00 .00 S/. 20,50 ,500.00 .00

1002 1003

Pe rrs sonal Pe rs rsonal

04/01/2017 04/ 06 06/ 20 2017

S/. 600.00 S/ . 2,000.00

S/. 6,300.00 S/ . 2,200. 00 00

6 6

S/. 6,900.00 S/. 4, 2 20 00. 00 00

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

5.4.2  SEGUNDA FORMA NORMAL

5.4.3  TERCERA FORMA NORMAL

113

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

5.5 MODELAMIENTO DE BASE DE DATOS 5.5.1  DIAGRAMA DE BASE DE DATOS EN ORACLE

114

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

5.5.2  DICCIONARIO DE DATOS TABLA 93  TABLA DE ALMACENAMIENTO DEL DEPARTAMENTO .

115

Nombre de la tabla

Departamento

Descripción de la Contiene la información de los datos del Departamento. tabla Nombre columna

de

codDepartamento codDepartame nto

la Descripción

Únic Tipo o llave

Código identificador de  NUMERIC(10) SI

Departamento nombreDepartamento nombreDeparta mento Nombre Departamento estadoRegistro estadoRegis tro

Tipo dato

Estado Registro

PK

del VARCHAR2 (30) CHAR(1)

00INACTIVO 01ACTIVO

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

116

 

TABLA 94  TABLA DE ALMACENAMIENTO DEL PROVINCIA . Nombre de la tabla Provincia Descripción de la Contiene la información de los datos del Provincia. tabla Nombre columna

de

la Descripción

Tipo dato

CodProvincia

Código identificador de  NUMERIC(10) Provincia.

 NombreProvincia

Código de Departamento.

tabla VARCHAR2(30)

EstadoRegistro EstadoReg istro

Estado Registro

CHAR(1)

Úni Tipo co llave SI

PK

00INACTIVO 01ACTIVO CodDepartamento

Código de Departamento

tabla  NUMERIC(10)

FK

TABLA 95  TABLA DE ALMACENAMIENTO DEL DISTRITO   Nombre de la tabla Distrito Descripción tabla Nombre columna

de de

la Contiene la información de los datos del Distrito. la Descripción

Tipo dato

CodDistrito

Código identificador de  NUMERIC(10) Distrito

 NombreDistrito

Código

EstadoRegistro EstadoReg istro

Provincia Estado Registro

de

Úni Tipo co llave SI

PK

tabla VARCHAR2(30) CHAR(1)

00INACTIVO 01ACTIVO CodProvincia

Código de Provincia

tabla  NUMERIC(10)

FK

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

117

 

TABLA 96  TABLA DE ALMACENAMIENTO DE ASENTAMIENTOS HUMANO  Asentamiento Humano Nombre de la tabla Descripción tabla Nombre columna

de de

la Contiene la información de los Asentamientos Humanos la Descripción

Tipo dato

codAAHH

Código identificador de  NUMERIC(10) Asentamientos Humanos

nombreAAHH

Nombre de AAHH

VARCHAR2(30)

estadoRegistro estadoRegis tro

Estado Registro

CHAR(1)

Ún Tipo ico llave SI

PK

00INACTIVO 01ACTIVO codDistrito

Código de tabla Distrito

NUMERIC(10)

FK

TABLA 97  TABLA DE ALMACENAMIENTO DE CARGO. Cargo Nombre de la tabla Descripción Descripció n de la tabla Contiene la información de los datos de Cargo Nombre de la columna Descripción Descripción

Tipo dato

codCargo

Código identificador de  NUMERIC(10) Cargo

nombreCargo

Nombres del Cargo

VARCHAR2 (30)

EstadoRegistro EstadoReg istro

Estado del registro 00INACTIVO

CHAR(2)

Ún Tipo ico llave SI

PK

01ACTIVO

TABLA 98  TABLA DE ALMACENAMIENTO DE TIPO DOCUMENTO . Nombre de la tabla

Tipo Documento

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

118

 

Descripción Descripció n de la tabla Contiene la información de los datos de Tipo Documento Nombre de la columna Descripción

Tipo dato

codTipoDocumento codTipoDoc umento

Código identificador de  NUMERIC(10) Tipo Documento

Descripcion

Nombres del Usuario

VARCHAR (30)

EstadoRegistro EstadoReg istro

Estado del registro

VARCHAR(2)



00 INACTIVO 01ACTIVO

Ún Tipo ico llave SI

PK

TABLA 99  TABLA DE ALMACENAMIENTO DE CLIENTE. Nombre de la tabla Descripción tabla Nombre columna

de de

Cliente

la Contiene la información de los datos de Cliente. la Descripción

Tipo dato

CodCliente

Código identificador de  NUMERIC(10) Cliente

 Nombres ApePaterno

Nombres del Clien Cliente te NUMERIC (10) Apellido Paterno del VARCHAR(30) Cliente.

ApeMaterno

Apellido Materno del VARCHAR(30) Cliente.

CodTipoDocumento CodTipoDocu mento

Código de tabla Tipo  NUMERIC (10) Documento.

 NumeroDoc

Número Docu Documento mento

VARCHAR2(30 )

FechaNacemiento FechaNac emiento

Fecha Nacimiento

DATE

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Sexo

Sexo del Cliente

CHAR(1)

EstadoCivil

Estado Civil

CHAR(1)

Teléfonos

Teléfono del Cliente

VARCHAR2(30 )

Dirección

Dirección del Cliente

VARCHAR2(30 )

Email

Correo del Cliente.

VARCHAR2(30

Ún Tipo ico llave SI

PK

FK

FK

119

EstadoRegistro EstadoReg istro

Estado del registro

) CHAR(2)

00INACTIVO 01ACTIVO

TABLA 100  TABLA DE ALMACENAMIENTO DE TIPO CUENTA. Tipo Cuenta Nombre de la tabla Descripción tabla Nombre columna

de de

la Contiene la información de Tipo Cuenta. la Descripción

Tipo dato

CodTipoCuenta

Código identificador de  NUMERIC(10) Tipo Cuenta

Descripción

Descripción de

Tipo VARCHAR2(30

EstadoRegistro EstadoReg istro

Cuenta Estado del registro

) CHAR(1)

Ún Tipo ico llave SI

PK

00INACTIVO 01ACTIVO

TABLA 101  TABLA DE ALMACENAMIENTO DE CUENTA. Nombre de la tabla

Cuenta.

Descripción Descripció n de la l a tabla Contiene la información de los datos de Cuenta.

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

120

 

Nombre de la columna Descripción  NumeroCuenta

Tipo dato

Código identificador de  NUMERIC(10) Cuenta

Ún Tipo ico llave SI

PK

FechaInic

Fecha Inicio

DATE

Saldo

Saldo

NUMERIC(7,2)

Tipo FechaCaduc

Tipo de Tipo Cuenta Fecha Caducidad

VARCHAR2(30) DATE

Estado

Estado de Cuenta

VARCHAR2(30)

EstadoRegistro EstadoReg istro

Estado del registro

CHAR(1)

00INACTIVO 01ACTIVO CodTipoCuenta

Código de tabla Tipo  NUMERIC(10) Cuenta

FK

CodCliente

Código de tabla Cliente NUMERIC(10)

FK

TABLA 102  TABLA DE ALMACENAMIENTO DE TIPO MOVIMIENTO . Nombre de la tabla

Tipo Movimiento

Descripción Descripció n de la tabla Contiene la información de los datos de Tipo Movimiento. Nombre de la columna Descripción

Tipo dato

CodTipoMovimiento

Código identificador de  NUMERIC(10) Tipo Movimiento

Descripcion

Descripción Movimiento

EstadoRegistro EstadoReg istro

Estado del registro

de

Úni Tipo co llave SI

PK

Tipo VARCHAR2(30)

FK

CHAR(1)

FK

00INACTIVO 01ACTIVO

TABLA 103  TABLA DE ALMACENAMIENTO DE MOVIMIENTO . Nombre de la tabla

Movimiento

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

121

Descripción tabla Nombre columna

la Contiene la información de los datos de Movimiento.

de de

la Descripción

Tipo dato

Ún Tipo ico llave

CodMovimiento

Código identificador de  NUMERIC(10) Movimiento

SI

Fecha

Fecha de Movimiento

DATE

Hora

Hora de Movimiento

TIMESTAMP(4) WITH TIME ZONE,

Monto

Monto de Movimiento

NUMERIC(7,2)

EstadoRegistro EstadoReg istro

Estado del registro

CHAR(1)

PK

00INACTIVO 01ACTIVO CodTipoMovimiento

Código de tabla Tipo  NUMERIC(10) Movimiento

 NumeroCuenta

Numero Cuenta

NUMERIC(11)

CodCliente

Código de tabla Cliente

NUMERIC(10)

FK

FK

TABLA 104  TABLA DE ALMACENAMIENTO DE TIPO PRÉSTAMO . Nombre de la tabla Descripción tabla Nombre columna

de de

Tipo Préstamo

la Contiene la información de los datos de Tipo Préstamo. la Descripción

Tipo dato

Ún Tipo ico llave

CodTipoPrestamo

Código identificador de  NUMERIC(10) SI Tipo Préstamo

Descripcion

Código de tabla Cuenta VARCHAR2(3 0) Personal

EstadoRegistro EstadoReg istro

Estado del registro

PK

CHAR(1)

00INACTIVO 01ACTIVO

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

122

 

TABLA 105  TABLA DE ALMACENAMIENTO DE PRÉSTAMO. Nombre de la tabla Préstamo. Descripción de la Contiene la información de los datos de Préstamo. tabla Nombre columna

de

la Descripción

Tipo dato

CodPrestamo

Código identificador  NUMERIC(10) de Préstamo

Monto

Monto Préstamo

NUMERIC(7,2)

Interés

interés de Préstamo

NUMERIC(2,2)

Cuota

Cuota de Préstamo

NUMERIC(10)

FechaPrestamo FechaPres tamo

Fecha Préstamo

DATE

Estado

Estado de Prestamo

VARCHAR2(30)

FechaVencemiento FechaVe ncemiento

Fecha Vencimiento

DATE

EstadoRegistro EstadoReg istro

Estado del registro

CHAR(1)

Ún ico Tipo llave SI PK

00INACTIVO 01ACTIVO CodTipoPrestamo

Código de tabla Tipo  NUMERIC(10) Préstamo

FK

CodCliente

Código Cliente

FK

de

tabla  NUMERIC(10)

TABLA 106  TABLA DE ALMACENAMIENTO DE PAGO PRÉSTAMO . Nombre de la tabla Pago Préstamo Descripción de la Contiene la información de los datos de Pago Préstamo tabla Nombre columna

de

la Descripción

Tipo dato

Ún Tipo ico llave

CodPagoPrestamo CodPagoPre stamo

Código identificador de  NUMERIC(1 SI PK Pago Préstamo. 0)

FechaPago

Fecha de Pago

DATE

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

123

 

Hora

Hora de Pago Préstamo

Monto

Monto de Pago Préstamo NUMERIC(7,

EstadoRegistro EstadoReg istro

Estado del registro

TIMESTAMP (4) WITH TIME ZONE 2) CHAR(1)

00INACTIVO 01ACTIVO CodPrestamo

Código de tabla Cliente

NUMERIC(1 0)

FK

TABLA 107  TABLA DE ALMACENAMIENTO DEL EMPLEADO . Nombre de la tabla Empleado Descripción de la Contiene la información de los datos del Empleado. tabla Nombre

de

la Descripción

Tipo dato

Úni Tipo

columna CodEmpleado

co Código identificador del  NUMERIC(1 SI Empleado 0)

 NombreEmpleado  NombreEmplea do

Nombres del E Empleado mpleado VARCHAR2 (30)

ApePatEmpleado ApePatEmplea do

Apellido paterno del VARCHAR2 Empleado (30)

ApeMatEmpleado ApeMatEmplea do

Apellido materno del VARCHAR2 Empleado (30)

CodTipoDocumento CodTipoDocum ento Código de tabla Tipo  NUMERIC(1 Documento 0)

llave PK

FK

 Numero

Número

VARCHAR2 (30)

FechaNacemiento FechaNac emiento

Fecha de Nacimiento

DATE

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

124

 

Sexo

Sexo

CHAR(1)

EstadoCivil

Estado

Dirección

Empleado Dirección del Empleado VARCHAR2 (30)

Sueldo

Sueldo de Empleado

NUMERI NUMERIC(1 C(1 0)

Teléfono

Teléfono

VARCHAR2 (30)

Email

Email

VARCHAR2 (30)

EstadoRegistro EstadoReg istro

Estado del registro

CHAR(1)

Civil

de CHAR(1)

00INACTIVO 01ACTIVO CodDistrito

Código de tabla Distrito NUMERIC(1 0)

FK

TABLA 108  TABLA DE ALMACENAMIENTO DE TICKET PAGO PRÉSTAMO. Nombre de la tabla Descripción tabla Nombre columna

de de

Ticket Pago Préstamo

la Contiene la información de los datos de Ticket Pago Préstamo la Descripción

Tipo dato

Ú Tipo ni llave co

CodTicketPagoPresta Código identificador de  NUMERIC(1 SI PK mo Ticket Pago Préstamo 0) CodPagoPrestammo CodPagoPre stammo

Código de tabla Pago  NUMERIC(1 Préstamo 0),

FK

EstadoRegistro EstadoReg istro

Estado del registro

CHAR(1)

00INACTIVO 01ACTIVO

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

125

 

TABLA 109  TABLA DE ALMACENAMIENTO DE TICKET MOVIMIENTO. Nombre de la tabla Ticket Movimiento Descripción de la Contiene la información de los datos de Ticket Movimiento tabla Nombre columna

de

la Descripción

Tipo dato

Ú Tipo ni llave co

CodTicketMovimien Código identificador de  NUMERIC(1 SI PK to Ticket Movimiento 0) CodMovimiento

Código de Movimiento

EstadoRegistro EstadoReg istro

Estado del registro 00INACTIVO

tabla  NUMERIC(1 0) CHAR(1

01ACTIVO

TABLA 110  TABLA DE ALMACENAMIENTO DE TIPO CONTRATO . Nombre de la tabla Tipo Contrato Descripción de la Contiene la información de los datos de Tipo Contrato tabla Nombre columna

de

la Descripción

Tipo dato

Ú Tipo ni llave co

CodTipoContrato

Código identificador de  NUMERIC(1 SI PK Tipo Contrato. 0)

Descripcion

Descripción Contrato

de

Tipo VARCHAR2( 30)

Estado

Estado del registro

VARCHAR(2 )

00INACTIVO 01ACTIVO

TABLA 111  TABLA DE ALMACENAMIENTO DE CONTRATO. Nombre de la tabla Contrato

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

126

 

Descripción de la Contiene la información de Contrato. tabla Nombre columna

de

la Descripción

Tipo dato

Ún Tipo ico llave

codContrato

Código identificador  NUMERIC(10) SI PK de Contrato

CodTipoContrato

Código de tabla Tipo  NUMERIC(10) de Contrato

fechaInicio

Fecha inicio Contrato

CodEmpleado

Código de Empleado

tabla  NUMERIC(10)

FK

CodCliente

Código de tabla Cliente NUMERIC(10)

FK

Descripcio

Descripción Contrato

del VARCHAR(30 )

fechaFinal

Fecha Final Contrato

de DATE

Estado

Estado del registro 00INACTIVO 01ACTIVO

FK

de DATE

VARCHAR(2)

TABLA 112  TABLA DE ALMACENAMIENTO DE USUARIO . Nombre de la tabla Usuario Descripción de la Contiene la información de los datos de Usuario tabla Nombre columna

de

la Descripción

Tipo dato

claveUsuario

Código identificador VARCHAR de Usuario (30)

nombreUsuario nombreUsua rio

Nombres del Usuario

Ún Tipo ico llave SI PK

VARCHAR (30)

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

Estado

Estado del registro 00INACTIVO

VARCHAR(2)

01ACTIVO

5.5.3  Creación de tablas, índices, vistas, secuencias secuencias (script)

127

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

128

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

129

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

130

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

131

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

132

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

133

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

134

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

135

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

136  

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

137

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

138

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

139

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

140

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

141

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

142

5.5.6  Creacion de paquetes, procedimientos (script) PAQUETE DEPARTAMENTO CREATE  REPLACE  PACKAGE PACKAGE  PKDEPARTAMENTO PKDEPARTAMENTO AS  AS  CREATE OR  REPLACE PROCEDURE  INSERTAR_DEPARTAMENTO (VNOMBREDEPARTAMENTO ARCHAR2,VESTADOREGISTRO PROCEDURE  ARCHAR2,VESTADOREGISTRO CHAR ); PROCEDURE  (VCODDEPARTAMENTO NUMERIC,, PROCEDURE ACTUALIZAR_DEPARTAMENTO (VCODDEPARTAMENTO NUMERIC VNOMBREDEPARTAMENTO VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ));; PROCEDURE  (VCODDEPARTAMENTO NUMERIC); ); PROCEDURE  ELIMINAR_DEPARTAMENTO (VCODDEPARTAMENTO NUMERIC PROCEDURE  LISTAR_DEPARTAMENTO; PARTAMENTO; PROCEDURE LISTAR_DE FUNCTION   OBTENER_NOMBRE_DEPARTAMENTO(VCODDEPARTAMENTO NUMERIC OBTENER_NOMBRE_DEPARTAMENTO(VCODDEPARTAMENTO NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; FUNCTION END PKDEPARTAMENTO; END  PKDEPARTAMENTO;

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY  BODY PKDEPARTAMENTO PKDEPARTAMENTO AS  AS  ------------------------------------------------------------------------------------------------------------PROCEDURE   INSERTAR_DEPARTAMENTO (VNOMBREDEPARTAMENTO VARCHAR2, VARCHAR2 , VESTADOREGISTRO PROCEDURE CHAR ) IS IS   BEGIN BEGIN   INSERT  INTO DEPARTAMENTO  DEPARTAMENTO VALUES  VALUES (SEC_DEPARTAMENTO. (SEC_DEPARTAMENTO.  NEXTVAL,VNOMBREDEPARTAMENTO, NEXTVAL,VNOMBREDEPARTAMENTO, INSERT INTO VESTADOREGISTRO); COMMIT COMMIT;; END  INSERTAR_DEPARTAMENTO; END INSERTAR_DEPARTAMENTO; ------------------------------------------------------------------------------------------------------------PROCEDURE  PROCEDURE  ACTUALIZAR_DEPARTAMENTO (VCODDEPARTAMENTO  NUMERIC,VNOMBREDEPARTAMENTO VARCHAR2,VESTADOREGISTRO  NUMERIC,VNOMBREDEPARTAMENTO VARCHAR2,VESTADOREGISTRO CHAR ) IS  IS  BEGIN   BEGIN

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

143

UPDATE DEPARTAMENTO UPDATE  DEPARTAMENTO SET  SET   NOMBREDEPARTAMENTO=VNOMBREDEPARTA  NOMBREDEPARTAMENTO=VNO MBREDEPARTAMENTO,ESTADO MENTO,ESTADOREGISTRO=VESTA REGISTRO=VESTADOREGISTRO DOREGISTRO WHERE  WHERE  CODDEPARTAMENTO=VCODDEPARTAMENTO; COMMIT COMMIT;; END  ACTUALIZAR_DEPARTAMENTO; O; END ACTUALIZAR_DEPARTAMENT ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE   ELIMINAR_DEPARTAMENTO (VCODDEPARTAMENTO NUMERIC (VCODDEPARTAMENTO NUMERIC)) IS  IS  BEGIN   BEGIN DELETE FROM DELETE  FROM DEPARTAMENTO  DEPARTAMENTO WHERE  WHERE  CODDEPARTAMENTO=VCODDEPARTAMENTO; COMMIT; COMMIT; END ELIMINAR_DEPARTAMENTO; END  ELIMINAR_DEPARTAMENTO; ------------------------------------------------------------------------------------------------------------PROCEDURE   LISTAR_DEPARTAMENTO IS  IS  PROCEDURE BEGIN BEGIN  

DECLARE  CURSOR  C_DEPARTAMENTO   C_DEPARTAMENTO IS  IS  DECLARE SELECT SELECT   CODDEPARTAMENTO,NOMBREDEPARTAMENTO,ESTADOREGISTRO FROM FROM  DEPARTAMENTO; DEPARTAMENTO;  NUMERIC(10); (10); VCODDEPARTAMENTO NUMERIC VCODDEPARTAMENTO VNOMBREDEPARTAMENTO VARCHAR2(30); VARCHAR2(30); VESTADOREGISTRO CHAR (1); (1); BEGIN   BEGIN OPEN  C_DEPARTA C_DEPARTAMENTO; MENTO; OPEN LOOP FETCH C_DEPARTAMENTO FETCH  C_DEPARTAMENTO INTO INTO   VCODDEPARTAMENTO,VNOMBREDEPARTA VCODDEPARTAMENTO,VNO MBREDEPARTAMENTO,VESTADO MENTO,VESTADOREGISTRO; REGISTRO; IF IF   C_DEPARTAMENTO%FOUND THEN THEN   DBMS_OUTPUT.PUT_LINE(V DBMS_OUTPU T.PUT_LINE(VCODDEPARTAMEN CODDEPARTAMENTO TO ||' '|| VNOMBREDEPARTAMENTO||' VNOMBREDEP ARTAMENTO||' '||VESTADOREGISTRO); ELSE   ELSE EXIT EXIT;; END  IF IF;; END END LOOP END  LOOP;; CLOSE C_DEPARTAMENTO; C_DEPARTAMENTO; END;;  END COMMIT;; COMMIT END  LISTAR_DEPARTAMENTO; END LISTAR_DEPARTAMENTO; -------------------------------------------------------------------------------------------------------------FUNCTION FUNCTION   OBTENER_NOMBRE_DEPARTAMENTO(VCODDEPARTAMENTO NUMERIC OBTENER_NOMBRE_DEPARTAMENTO(VCODDEPARTAMENTO NUMERIC)) RETURN  RETURN  VARCHAR2 VARCHAR2   IS   IS VDATOSDEPARTAMENTO VARCHAR2(500); VARCHAR2 (500);

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

BEGIN BEGIN   SELECT SELECT   NOMBREDEPARTAMENTO|| NOMBREDEP ARTAMENTO|| ', ' ||ESTADOREGISTRO ||ESTADORE GISTRO INTO INTO   VDATOSDEPARTAMENTO FROM DEPARTAMENTO FROM DEPARTAMENTO WHERE   CODDEPARTAMENTO=VCODDEPARTAMENTO; WHERE RETURN RETURN VDATOSDEPARTAMENTO  VDATOSDEPARTAMENTO ; END  OBTENER_NO OBTENER_NOMBRE_DEPARTAM MBRE_DEPARTAMENTO; ENTO; END

END  PKDEPARTAMENTO; PKDEPARTAMENTO; END

PAQUETE AAHH CREATE OR  REPLACE  CREATE  REPLACE PACKAGE PKAAHH PACKAGE PKAAHH AS  AS  PROCEDURE INSERTAR_AAHH (VCODDISTRITO NUMERIC,VNOMBREAAHH ,VNOMBREAAHH PROCEDURE INSERTAR_AAHH (VCODDISTRITO NUMERIC VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ); ); PROCEDURE ACTUALIZAR_AAHH  ACTUALIZAR_AAHH (VCODAAHH NUMERIC (VCODAAHH NUMERIC,VCODDISTRITO ,VCODDISTRITO NUMERIC  NUMERIC,VNOMBREAAHH ,VNOMBREAAHH PROCEDURE VARCHAR2,VESTADOREGISTRO ); VARCHAR2,VESTADOREGISTRO CHAR ); PROCEDURE ELIMINAR_AAHH  ELIMINAR_AAHH (VCODAAHH NUMERIC (VCODAAHH NUMERIC); ); PROCEDURE PROCEDURE LISTAR_AAHH; PROCEDURE LISTAR_AAHH; FUNCTION   OBTENER_NOMBRE_AAHH(VCODAAHH NUMERIC OBTENER_NOMBRE_AAHH(VCODAAHH NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; FUNCTION END PKAAHH;  PKAAHH; END

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY PKAAHH BODY PKAAHH AS AS   ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE INSERTAR_AAHH  INSERTAR_AAHH (VCODDISTRITO NUMERIC (VCODDISTRITO NUMERIC,VNOMBREAAHH ,VNOMBREAAHH VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO CHAR ) IS   IS BEGIN BEGIN   INSERT  INSERT INTO INTO AAHH  AAHH VALUES VALUES   ,VNOMBREAAHH,VESTADOR HH,VESTADOREGISTRO); EGISTRO); (SEC_AAHH.  NEXTVAL,VCODDISTRITO NEXTVAL,VCODDISTRITO,VNOMBREAA COMMIT;; COMMIT END  INSERTAR_AAHH; END INSERTAR_AAHH; ------------------------------------------------------------------------------------------------------------PROCEDURE ACTUALIZAR_AAHH (VCODAAHH NUMERIC PROCEDURE ACTUALIZAR_AAHH (VCODAAHH NUMERIC,VCODDISTRITO ,VCODDISTRITO NUMERIC  NUMERIC,VNOMBREAAHH ,VNOMBREAAHH VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ) IS   IS BEGIN  BEGIN  UPDATE AAHH SET  UPDATE AAHH SET  CODDISTRITO=VCODDISTRITO,NOMBREAAHH=NOMBREAAHH,ESTADOREGISTRO=ESTADOREGISTRO WHERE CODAAHH=VCODAAHH; WHERE CODAAHH=VCODAAHH; COMMIT;; COMMIT

144

END  ACTUALIZAR_AAHH; END ACTUALIZAR_AAHH; ------------------------------------------------------------------------------------------------------------PROCEDURE ELIMINAR_AAHH  ELIMINAR_AAHH (VCODAAHH NUMERIC (VCODAAHH NUMERIC)) PROCEDURE

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

IS   IS BEGIN BEGIN   DELETE  FROM AAHH  AAHH WHERE WHERE CODAAHH=VCODAAHH;  CODAAHH=VCODAAHH; DELETE FROM COMMIT;; COMMIT END  ELIMINAR_AAHH; END ELIMINAR_AAHH; ------------------------------------------------------------------------------------------------------------PROCEDURE LISTAR_AAHH  LISTAR_AAHH IS  IS  PROCEDURE BEGIN BEGIN  

DECLARE DECLARE  CURSOR  C_AAHH   C_AAHH IS  IS  SELECT   CODAAHH,CODDISTRITO,NOMBREAAHH,ESTADOREGISTRO FROM AAHH; FROM AAHH; SELECT  NUMERIC(10); (10); VCODAAHH NUMERIC VCODAAHH  NUMERIC(10); (10); VCODDISTRITO NUMERIC VCODDISTRITO VARCHAR2(30); (30); VNOMBREAAHH VARCHAR2 (1); VESTADOREGISTRO CHAR (1); BEGIN  BEGIN  OPEN C_AAHH;  C_AAHH; OPEN LOOP LOOP   FETCH FETCH C_AAHH  C_AAHH INTO  INTO   VCODAAHH,VCODDISTRITO,VNOMBREAAHH,VESTADOREGISTRO; IF C_AAHH%FOUND  C_AAHH%FOUND THEN  THEN  IF DBMS_OUTPUT.PUT_LINE( VCODAAHH||' '||VCODDISTRITO||' '||VNOMBREAAHH||' '||VESTADOREGISTRO); ELSE ELSE   EXIT;; EXIT END  IF IF;; END END  LOOP;; END LOOP CLOSE C_AAHH; END END;; COMMIT;; COMMIT END LISTAR_AAHH; END  LISTAR_AAHH; ------------------------------------------------------------------------------------------------------------FUNCTION  OBTENER_NOMBRE_AAHH(VCODAAHH NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2   FUNCTION  OBTENER_NOMBRE_AAHH(VCODAAHH NUMERIC IS   IS

145

VDATOSAAHH VARCHAR2(500); VARCHAR2 (500); BEGIN BEGIN   SELECT SELECT   NOMBREAAHH|| ', ' ||ESTADOREGIS ||ESTADOREGISTRO|| TRO|| ', ' ||CODDISTRITO INTO VDATOSAAHH INTO VDATOSAAHH FROM FROM AAHH  AAHH WHERE  WHERE  CODAAHH=VCODAAHH; RETURN RETURN VCODAAHH  VCODAAHH ; END  OBTENER_NO OBTENER_NOMBRE_AAHH; MBRE_AAHH; END

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

END PKAAHH; END  PKAAHH;

PAQUETE CONTRATO

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE PKCONTRATO PACKAGE PKCONTRATO AS  AS  PROCEDURE  DATE,VDESCRIPCION PROCEDURE  INSERTAR_CONTRATO (VFECHACONTRATA DATE,VDESCRIPCION VARCHAR2,VFECHAVENCEMIENTO DATE,VESTADOREGISTRO CHAR ,VCODTIPOCONTRATO ,VCODTIPOCONTRATO VARCHAR2,VFECHAVENCEMIENTO DATE,VESTADOREGISTRO  NUMERIC,VCODPRESTAMO NUMERIC  NUMERIC,VCODPRESTAMO  NUMERIC); ); PROCEDURE PROCEDURE ACTUALIZAR_CONTRATO  ACTUALIZAR_CONTRATO (VCODCONTRATO NUMERIC (VCODCONTRATO NUMERIC,VFECHACONTRATA ,VFECHACONTRATA DATE DATE,VDESCRIPCION ,VDESCRIPCION VARCHAR2,VFECHAVENCEMIENTO VARCHAR2,VFECHAVENCEMIENTO DATE,VESTADOREGISTRO DATE,VESTADOREGISTRO CHAR ,VCODTIPOCONTRATO NUMERIC ,VCODTIPOCONTRATO NUMERIC,VCODPRESTAMO ,VCODPRESTAMO NUMERIC  NUMERIC); ); PROCEDURE ELIMINAR_CONTRATO (VCODCONTRATO NUMERIC); ); PROCEDURE ELIMINAR_CONTRATO (VCODCONTRATO NUMERIC PROCEDURE LISTAR_CO PROCEDURE  LISTAR_CONTRATO; NTRATO; FUNCTION   OBTENER_NOMBRE_CONTRATO(VCODCONTRATO NUMERIC OBTENER_NOMBRE_CONTRATO(VCODCONTRATO NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; FUNCTION END PKCONTRAT END P KCONTRATO; O;

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY PKCONTRATO BODY PKCONTRATO AS AS   ------------------------------------------------------------------------------------------------------------PROCEDURE   INSERTAR_CONTRATO (VFECHACONTRATA DATE,VDESCRIPCION DATE,VDESCRIPCION PROCEDURE VARCHAR2,VFECHAVENCEMIENTO DATE,VESTADOREGISTRO VARCHAR2,VFECHAVENCEMIENTO DATE,VESTADOREGISTRO CHAR ,VCODTIPOCONTRATO ,VCODTIPOCONTRATO  NUMERIC,VCODPRESTAMO  NUMERIC,VCODPRESTAMO NUMERIC  NUMERIC)) IS IS   BEGIN   BEGIN INSERT INTO INSERT  INTO CONTRATO  CONTRATO VALUES VALUES  (SEC_CONTRATO (SEC_CONTRATO .  NEXTVAL,VFECHACONT NEXTVAL,VFECHACONTRATA,VDESCRIPCIO RATA,VDESCRIPCION,VFECHAVE N,VFECHAVENCEMIENTO,VE NCEMIENTO,VESTADOREG STADOREGISTRO,VCODTIPOC ISTRO,VCODTIPOC ONTRATO,VCODPRESTAMO); COMMIT COMMIT;; END  INSERTAR_CONTRATO; END INSERTAR_CONTRATO; ------------------------------------------------------------------------------------------------------------PROCEDURE ACTUALIZAR_CONTRATO PROCEDURE ACTUALIZAR_CONTRATO (VCODCONTRATO NUMERIC (VCODCONTRATO NUMERIC,VFECHACONTRATA ,VFECHACONTRATA DATE,VDESCRIPCION VARCHAR2,VFECHAVENCEMIENTO DATE,VESTADOREGISTRO DATE,VESTADOREGISTRO DATE,VDESCRIPCION VARCHAR2,VFECHAVENCEMIENTO CHAR ,VCODTIPOCONTRATO NUMERIC ,VCODTIPOCONTRATO NUMERIC,VCODPRESTAMO ,VCODPRESTAMO NUMERIC  NUMERIC))

146

IS   IS BEGIN  BEGIN  UPDATE CONTRATO SET  UPDATE CONTRATO SET  FECHACONTRATA=VFECHACONTRATA,DESCRIPCION=VDESCRIPCION,FECHAVENCEMIENTO=VFECHAVE  NCEMIENTO,ESTADOREGISTRO=VEST  NCEMIENTO,ESTA DOREGISTRO=VESTADOREGIST ADOREGISTRO,CODTIPOCON RO,CODTIPOCONTRATO=VCOD TRATO=VCODTIPOCONTRAT TIPOCONTRATO,CODPR  O,CODPR  ESTAMO=VCODPRESTAMO WHERE  WHERE  CODCONTRATO=VCODCONTRATO; COMMIT COMMIT;; END  END  ACTUALIZAR_CONTRATO; ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE ELIMINAR_CONTRATO  ELIMINAR_CONTRATO (VCODCONTRATO NUMERIC (VCODCONTRATO NUMERIC)) IS  IS  BEGIN BEGIN   DELETE  FROM CONTRATO  CONTRATO WHERE WHERE   CODCONTRATO=VCODCONTRATO; DELETE FROM

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

COMMIT;; COMMIT END ELIMINAR_CONTRATO; END  ELIMINAR_CONTRATO; ------------------------------------------------------------------------------------------------------------PROCEDURE LISTAR_CONTRATO  LISTAR_CONTRATO PROCEDURE IS  IS  BEGIN BEGIN  

DECLARE DECLARE  CURSOR  C_CONTRATO   C_CONTRATO IS  IS  SELECT   SELECT CODCONTRATO,FECHACONTRATA,DESCRIPCION CODCONTRATO,FECHACONTRA TA,DESCRIPCION,FECHAVENCE ,FECHAVENCEMIENTO,ESTAD MIENTO,ESTADOREGISTRO,CODT OREGISTRO,CODTIPOCON IPOCON TRATO,CODPRESTAMO FROM FROM CONTRATO;  CONTRATO;  NUMERIC(10); (10); VCODCONTRATO NUMERIC VCODCONTRATO VFECHACONTRATA DATE; DATE; VARCHAR2(2000); (2000); VDESCRIPCION VARCHAR2 DATE;; VFECHAVENCEMIENTO DATE (1); VESTADOREGISTRO CHAR (1); VCODTIPOCONTRATO NUMERIC VCODTIPOCONTRATO  NUMERIC(10); (10);  NUMERIC(10); (10); VCODPRESTAMO NUMERIC VCODPRESTAMO

BEGIN   BEGIN OPEN OPEN C_CONTRATO;  C_CONTRATO; LOOP LOOP   FETCH C_CONTRATO  C_CONTRATO INTO  INTO  FETCH VCODCONTRATO,VFECHACONTRATA,VDE VCODCONTRATO,VFECHACO NTRATA,VDESCRIPCION,VFECHA SCRIPCION,VFECHAVENCEMIENTO,VEST VENCEMIENTO,VESTADOREGIST ADOREGISTRO,VCOD RO,VCOD TIPOCONTRATO,VCODPRESTAMO;

147

IF C_CONTRATO%FOUND IF  C_CONTRATO%FOUND THEN THEN   DBMS_OUTPUT.PUT_LINE(VCODCONTRATO| DBMS_OUTPUT.PUT_LINE(VCO DCONTRATO||'|' '||VFECHACONTRATA||' '||VFECHACONTRATA||' '||VDESCRIPCION|||'' '||VFECHAVENCEMIENTO||' '||VFECHAVEN CEMIENTO||' '||VESTADOREGISTRO||' '||VESTADOREGISTRO||' '||VCODTIPOCONTRATO||' '||VCODTIPOCONTRATO||' '||VCODPRESTAMO); '||VCODPRESTAMO); ELSE  ELSE  EXIT EXIT;; END  IF IF;; END END  LOOP;; END LOOP CLOSE C_CONTRATO; C_CONTRATO; END;; END COMMIT;; COMMIT END LISTAR_CONTRATO; END  LISTAR_CONTRATO; ------------------------------------------------------------------------------------------------------------SELECT**FROM FROM CONTRATO;  CONTRATO; ---SELECT FUNCTION   OBTENER_NOMBRE_CONTRATO(VCODCONTRATO NUMERIC FUNCTION  OBTENER_NOMBRE_CONTRATO(VCODCONTRATO NUMERIC)) RETURN  RETURN VARCHAR2  VARCHAR2  IS   IS VDATOSCONTRATO VARCHAR2(500); VARCHAR2(500);

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

BEGIN BEGIN   SELECT   FECHACONTRATA|| FECHACONTRATA|| ', ' ||DESCRIPCION|| ', ' ||FECHAVENCEMIENTO|| ||FECHAVENCEMIENTO|| ', ' SELECT ||ESTADOREGISTRO|| ||ESTADOREG ISTRO|| ', ' ||CODTIPOCONTRATO|| ||CODTIPOCONTRATO|| ', ' ||CODPRESTAMO INTO VDATOSCONTRATO INTO VDATOSCONTRATO FROM  FROM  CONTRATO WHERE WHERE   CODCONTRATO=VCODCONTRATO; RETURN VCODCONTRATO  VCODCONTRATO ; RETURN END  OBTENER_NO OBTENER_NOMBRE_CONTRAT MBRE_CONTRATO; O; END END P  PKCONTRAT KCONTRATO; O; END

PAQUETE CLIENTE CREATE OR  REPLACE  CREATE  REPLACE PACKAGE PKCLIENTE PACKAGE PKCLIENTE AS  AS  PROCEDURE INSERTAR_CLIENTE VARCHAR2,VAPEPATERNO ,VAPEPATERNO VARCHAR2,VAPEMATERNO VARCHAR2 ,VAPEMATERNO PROCEDURE INSERTAR_CLIENTE (VNOMBRES VARCHAR2 VARCHAR2 VARCHAR2,VCODTIPODOCUMENTO ,VCODTIPODOCUMENTO  NUMERIC,VNUMERODOC  NUMERIC,VNUMERODOC VARCHAR2,VFECHANACEMIENTO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO CHAR ,VESTADOCIVIL DATE,VSEXO ,VESTADOCIVIL CHAR ,VTELEFONOS ,VTELEFONOS VARCHAR2,VDIRECCION VARCHAR2,VDIRECCION VARCHAR2,VEMAIL VARCHAR2 ,VEMAIL VARCHAR2,VESTADOREGISTRO ,VCODAAHH  NUMERIC); ); VARCHAR2,VESTADOREGISTRO CHAR ,VCODAAHH NUMERIC PROCEDURE PROCEDURE ACTUALIZAR_CLIENTE  ACTUALIZAR_CLIENTE (VCODCLIENTE NUMERIC (VCODCLIENTE NUMERIC,VNOMBRES ,VNOMBRES VARCHAR2,VAPEPATERNO VARCHAR2 ,VAPEPATERNO VARCHAR2,VAPEMATERNO ,VAPEMATERNO VARCHAR2 VARCHAR2,VCODTIPODOCUMENTO ,VCODTIPODOCUMENTO  NUMERIC  NUMERIC,VNUMERODOC ,VNUMERODOC VARCHAR2 VARCHAR2,VFECHANACEMIENTO DATE,VSEXO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO CHAR ,VESTADOCIVIL ,VESTADOCIVIL CHAR ,VTELEFONOS ,VTELEFONOS VARCHAR2,VDIRECCION VARCHAR2,VDIRECCION VARCHAR2,VEMAIL VARCHAR2,VEMAIL VARCHAR2,VESTADOREGISTRO VARCHAR2 ,VESTADOREGISTRO CHAR ,VCODAAHH ,VCODAAHH  NUMERIC  NUMERIC); ); PROCEDURE ELIMINAR_CLIENTE  NUMERIC); ); PROCEDURE ELIMINAR_CLIENTE (VCODCLIENTE  NUMERIC PROCEDURE PROCEDURE  LISTAR_CLI LISTAR_CLIENTE; ENTE; FUNCTION  OBTENER NOMBRE NOMBRE CLIENTE(VCODCLIENTE CLIENTE(VCODCLIENTE NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; FUNCTION

148

END PKCLIENTE; END PKCLIENTE; CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY PKCLIENTE BODY PKCLIENTE AS AS   ------------------------------------------------------------------------------------------------------------PROCEDURE INSERTAR_CLIENTE  INSERTAR_CLIENTE (VNOMBRES VARCHAR2 VARCHAR2,VAPEPATERNO ,VAPEPATERNO VARCHAR2,VAPEMATERNO VARCHAR2 ,VAPEMATERNO PROCEDURE VARCHAR2 VARCHAR2,VCODTIPODOCUMENTO ,VCODTIPODOCUMENTO  NUMERIC,VNUMERODOC  NUMERIC,VNUMERODOC VARCHAR2,VFECHANACEMIENTO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO ,VESTADOCIVIL CHAR ,VTELEFONOS ,VTELEFONOS VARCHAR2,VDIRECCION VARCHAR2,VDIRECCION VARCHAR2,VEMAIL VARCHAR2 ,VEMAIL DATE,VSEXO CHAR ,VESTADOCIVIL VARCHAR2,VESTADOREGISTRO CHAR ,VCODAAHH NUMERIC VARCHAR2,VESTADOREGISTRO ,VCODAAHH  NUMERIC)) IS   IS BEGIN  BEGIN  INSERT  INTO CLIENTE  CLIENTE VALUES VALUES   INSERT INTO (SEC_CLIENTE.   NEXTVAL,VNOMBRES,VA NEXTVAL ,VNOMBRES,VAPEPATERNO,VAPEMA PEPATERNO,VAPEMATERNO,VCOD TERNO,VCODTIPODOCUMENT TIPODOCUMENTO,VNUMERO O,VNUMERO DOC,VFECHANACEMIENTO,VSEX DOC,VFECHAN ACEMIENTO,VSEXO,VESTADO O,VESTADOCIVIL,VTELEFON CIVIL,VTELEFONOS,VDIRECCION,VE OS,VDIRECCION,VEMAIL,VESTAD MAIL,VESTADOREGIST OREGIST RO,VCODAAHH); COMMIT;; COMMIT END INSERTAR_CLIENTE; END  INSERTAR_CLIENTE; ------------------------------------------------------------------------------------------------------------PROCEDURE ACTUALIZAR_CLIENTE (VCODCLIENTE NUMERIC,VNOMBRES ,VNOMBRES VARCHAR2,VAPEPATERNO VARCHAR2 ,VAPEPATERNO PROCEDURE ACTUALIZAR_CLIENTE (VCODCLIENTE NUMERIC VARCHAR2,VAPEMATERNO ,VAPEMATERNO VARCHAR2 VARCHAR2,VCODTIPODOCUMENTO ,VCODTIPODOCUMENTO  NUMERIC  NUMERIC,VNUMERODOC ,VNUMERODOC VARCHAR2 VARCHAR2,VFECHANACEMIENTO DATE,VSEXO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO CHAR ,VESTADOCIVIL ,VESTADOCIVIL CHAR ,VTELEFONOS ,VTELEFONOS VARCHAR2,VDIRECCION VARCHAR2,VEMAIL VARCHAR2,VDIRECCION VARCHAR2,VEMAIL VARCHAR2,VESTADOREGISTRO VARCHAR2 ,VESTADOREGISTRO CHAR ,VCODAAHH ,VCODAAHH  NUMERIC))  NUMERIC IS  IS 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

BEGIN   BEGIN UPDATE CLIENTE SET   UPDATE CLIENTE SET  NOMBRES=VNOMBRES,APEPAT  NOMBRES=VNO MBRES,APEPATERNO=VAPEPAT ERNO=VAPEPATERNO,APEMATE ERNO,APEMATERNO=VAPEMAT RNO=VAPEMATERNO,CODTIPOD ERNO,CODTIPODOCUME OCUME  NTO=VCODTIPODOCUMENTO  NTO=VCODT IPODOCUMENTO,NUMERODOC ,NUMERODOC=VNUMERODO =VNUMERODOC,FECHANA C,FECHANACEMIENTO=VFECH CEMIENTO=VFECHANACEMIENTO, ANACEMIENTO, SEXO=VSEXO,ESTADOCIVIL=VE SEXO=VSEXO,EST ADOCIVIL=VESTADOCIVIL STADOCIVIL,TELEFONOS=VTELEFO ,TELEFONOS=VTELEFONOS,DIRECCIO NOS,DIRECCION=VDIRECCIO N=VDIRECCION,EMAIL N,EMAIL =VEMAIL,ESTADOREGISTRO=VESTADOREGISTRO,CODAAHH=VCODAAHH WHERE  WHERE  CODCLIENTE=VCODCLIENTE; COMMIT COMMIT;; END ACTUALIZAR_CLIENTE; END  ACTUALIZAR_CLIENTE; ------------------------------------------------------------------------------------------------------------PROCEDURE ELIMINAR_CLIENTE  ELIMINAR_CLIENTE (VCODCLIENTE  NUMERIC  NUMERIC)) IS  IS  PROCEDURE BEGIN BEGIN   DELETE FROM DELETE  FROM CLIENTE  CLIENTE WHERE WHERE   CODCLIENTE=VCODCLIENTE; COMMIT;; COMMIT END  END ELIMINAR_CLIENTE; ELIMINAR_CLIENTE; ------------------------------------------------------------------------------------------------------------PROCEDURE LISTAR_CLIENTE  LISTAR_CLIENTE IS IS   PROCEDURE

149

BEGIN   BEGIN

DECLARE  CURSOR  C_CLIENTE   C_CLIENTE IS  IS  DECLARE SELECT SELECT   CODCLIENTE,NOMBRES,APEPATE CODCLIENTE ,NOMBRES,APEPATERNO,APEMATERN RNO,APEMATERNO,CODTIPODOC O,CODTIPODOCUMENTO,NU UMENTO,NUMERODOC,FECHA MERODOC,FECHANACEM NACEM IENTO,SEXO,ESTADOCIVIL,TELEFON IENTO,SEXO,ESTA DOCIVIL,TELEFONOS,DIRECCION OS,DIRECCION,EMAIL,ESTADO ,EMAIL,ESTADOREGISTRO,CODAA REGISTRO,CODAAHH HH FROM CLIENTE;  CLIENTE; FROM

VCODCLIENTE NUMERIC VCODCLIENTE  NUMERIC(10); (10); VNOMBRES VARCHAR2(30); VARCHAR2 (30); VAPEPATERNO VARCHAR2(30); VARCHAR2(30); VAPEMATERNO VARCHAR2(30); VARCHAR2 (30);  NUMERIC(10); (10); VCODTIPODOCUMENTO NUMERIC VCODTIPODOCUMENTO VNUMERODOC VARCHAR2(30); VARCHAR2 (30); DATE;; VFECHANACEMIENTO DATE (1); VSEXO CHAR (1); (1); VESTADOCIVIL CHAR (1); VTELEFONOS VARCHAR2(30); VARCHAR2 (30); VARCHAR2(30); (30); VDIRECCION VARCHAR2 VEMAIL VARCHAR2(30); VARCHAR2 (30); VESTADOREGISTRO CHAR (30); (30);  NUMERIC(10); (10); VCODAAHH NUMERIC VCODAAHH BEGIN   BEGIN OPEN C_CLIENTE;  C_CLIENTE; OPEN LOOP   LOOP

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

FETCH C_CLIENTE FETCH  C_CLIENTE INTO  INTO  VCODCLIENTE,VNOMBRES,VAPEPATERNO,VAPEMATERNO,VCODTIPODOCUMENTO,VNUMERODOC,VFEC HANACEMIENTO,VSEXO,VESTA HANACEMIEN TO,VSEXO,VESTADOCIVIL,VTE DOCIVIL,VTELEFONOS,VDIRECCI LEFONOS,VDIRECCION,VEMAIL ON,VEMAIL,VESTADOREGI ,VESTADOREGISTRO,VCODA STRO,VCODA AHH; IF  C_CLIENTE%FOUND C_CLIENTE%FOUND THEN THEN   IF DBMS_OUTPUT.PUT_LINE(VCODCLIENTE||' DBMS_OUTPUT.PUT_LINE(VCO DCLIENTE||' '||VNOMBRES||' '||VNOMBRES||' '||VAPEPATERNO||' '||VAPEPATERNO||' '||VAPEMATERNO||' '||VAPEMATERNO||' '||VCODTIPODOCUMENTO|| '||VCODTIPODO CUMENTO||'' '||VNUMERODOC||' '||VNUMERODOC||' '||VFECHANACEMIENTO||' '||VFECHANACEMIENTO||' '||VSEXO||' '||VESTADOCIVIL||' '||VESTADOCIVIL||' '||VTELEFONOS||' '||VTELEFONO S||' '||VDIRECCION||' '||VDIRECCION||' '||VEMAIL||' '||VESTADOREGISTRO||' '||VCODAAHH); ELSE ELSE   EXIT;; EXIT END END  IF IF;; END LOOP END  LOOP;; CLOSE C_CLIENTE;

150

END;; END COMMIT;; COMMIT END  LISTAR_CLIENTE; END LISTAR_CLIENTE; ------------------------------------------------------------------------------------------------------------FUNCTION  OBTENER_NOMBRE_CLIENTE(VCO FUNCTION  OBTENER_NOMBRE_CLIENTE(VCODCLIENTE DCLIENTE NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2   IS   IS VDATOSCLIENTE VARCHAR2(500); VARCHAR2 (500); BEGIN BEGIN   SELECT SELECT   NOMBRES|| ', ' ||APEPATERNO|| ||APEPATERNO|| ', ' ||APEMATERNO|| ', ' || CODTIPODOCUMEN CODTIPODOCUMENTO|| TO|| ', ' ||NUMERODOC|| ||NUMEROD OC|| ', ' ||FECHANACEMIENTO ||FECHANACEMIENTO || ', ' ||SEXO|| ', ' ||ESTADOCIVIL|| ||ESTADOCIVIL|| ', ' ||TELEFONOS|| ', ' ||DIRECCION|| ', ' ||EMAIL|| ', ' || ESTADOREGISTRO|| ESTADOREGISTRO|| ', ' ||CODAAHH INTO VDATOSCLIENTE  VDATOSCLIENTE FROM CLIENTE FROM CLIENTE INTO WHERE   CODCLIENTE=VCODCLIENTE; WHERE RETURN VCODCLIENTE  VCODCLIENTE ; RETURN END END  OBTENER_NO OBTENER_NOMBRE_CLIENTE; MBRE_CLIENTE; END END PKCLIENTE;  PKCLIENTE;

PAQUETE CUENTA AHORRO CREATE  REPLACE PACKAGE PKCUENTA_AHORRO PACKAGE PKCUENTA_AHORRO AS  AS  CREATE OR  REPLACE  PROCEDURE PROCEDURE   INSERTAR_CUENTA_AHORRO (VFECHAINIC DATE,VSALDO DATE,VSALDO NUMERIC  NUMERIC,VINTERES ,VINTERES  NUMERIC,VFECHACADUC DATE,VESTADO  NUMERIC,VFECHACADUC DATE,VESTADO VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODTIPOCUENTA ,VCODTIPOCUENTA  NUMERIC,VCODCLIENTE  NUMERIC,VCODCLIENTE NUMERIC  NUMERIC); ); PROCEDURE ACTUALIZAR_CUENTA_AHORRO (VNUMEROCUENTA NUMERIC,VFECHAINIC ,VFECHAINIC DATE,VSALDO DATE,VSALDO PROCEDURE ACTUALIZAR_CUENTA_AHORRO (VNUMEROCUENTA NUMERIC  NUMERIC  NUMERIC,VINTERES ,VINTERES NUMERIC  NUMERIC,VFECHACADUC ,VFECHACADUC DATE,VESTADO DATE,VESTADO VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODTIPOCUENTA NUMERIC ,VCODTIPOCUENTA  NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC); ); PROCEDURE ELIMINAR_CUENTA_AHORRO (VNUMEROCUENTA NUMERIC); ); PROCEDURE ELIMINAR_CUENTA_AHORRO (VNUMEROCUENTA NUMERIC PROCEDURE  LISTAR_CUENTA_AHORRO; PROCEDURE 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

FUNCTION   OBTENER_NOMBRE_CUENTA_AHORRO(VNUMEROCUENTA NUMERIC FUNCTION OBTENER_NOMBRE_CUENTA_AHORRO(VNUMEROCUENTA NUMERIC)) RETURN  RETURN VARCHAR2; VARCHAR2; END  PKCUENTA_AHORRO; PKCUENTA_AHORRO; END

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY PKCUENTA_AHORRO BODY PKCUENTA_AHORRO AS  AS  ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE   INSERTAR_CUENTA_AHORRO (VFECHAINIC DATE,VSALDO DATE,VSALDO NUMERIC  NUMERIC,VINTERES ,VINTERES  NUMERIC,VFECHACADUC ,VFECHACADUC DATE,VESTADO DATE,VESTADO VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODTIPOCUENTA ,VCODTIPOCUENTA  NUMERIC  NUMERIC,VCODCLIENTE  NUMERIC,VCODCLIENTE NUMERIC  NUMERIC))

151

IS   IS BEGIN   BEGIN INSERT INTO INSERT  INTO CUENTA_AHORRO  CUENTA_AHORRO VALUES  VALUES  (SEC_CUENTA_AHORRO. NEXTVAL (SEC_CUENTA_AHORRO.  NEXTVAL,VFECHAINIC ,VFECHAINIC,VSALDO,VINTERES, ,VSALDO,VINTERES,VFECHACAD VFECHACADUC,VESTADO,VEST UC,VESTADO,VESTADO ADO REGISTRO,VCODTIPOCUENTA REGISTRO,VCOD TIPOCUENTA,VCODCLIENT ,VCODCLIENTE); E); COMMIT;; COMMIT END  END  INSERTAR_CUENTA_AHORRO; ------------------------------------------------------------------------------------------------------------PROCEDURE ACTUALIZAR_CUENTA_AHORRO (VNUMEROCUENTA  NUMERIC,VFECHAINIC ,VFECHAINIC PROCEDURE ACTUALIZAR_CUENTA_AHORRO (VNUMEROCUENTA NUMERIC DATE,VSALDO NUMERIC DATE,VSALDO  NUMERIC,VINTERES ,VINTERES NUMERIC  NUMERIC,VFECHACADUC ,VFECHACADUC DATE,VESTADO DATE,VESTADO VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO CHAR ,VCODTIPOCUENTA NUMERIC ,VCODTIPOCUENTA  NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC)) IS  IS  BEGIN  BEGIN  UPDATE CUENTA_AHORRO SET  UPDATE CUENTA_AHORRO SET  FECHAINIC=VFECHAINIC,SALDO=VSALDO,INTERES=VINTERES,FECHACADUC=VFECHACADUC,ESTADO= VESTADO,ESTADOREGISTRO=VESTADOREGISTRO,CODTIPOCUENTA=VCODTIPOCUENTA,CODCLIENTE=V CODCLIENTE WHERE  WHERE  NUMEROCUENTA=VNUMEROCUENTA; COMMIT;; COMMIT END  END  ACTUALIZAR_CUENTA_AHORRO; ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE ELIMINAR_CUENTA_AHORRO  ELIMINAR_CUENTA_AHORRO (VNUMEROCUENTA NUMERIC (VNUMEROCUENTA NUMERIC)) IS  IS  BEGIN BEGIN   DELETE  FROM CUENTA_AHORRO  CUENTA_AHORRO WHERE  WHERE  NUMEROCUENTA=VNUMEROCUENTA; DELETE FROM COMMIT;; COMMIT END  END  ELIMINAR_CUENTA_AHORRO; ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE   LISTAR_CUENTA_AHORRO IS  IS  BEGIN   BEGIN

DECLARE DECLARE  CURSOR  C_CUENTA_AHORRO   C_CUENTA_AHORRO IS  IS  SELECT   TA,FECHAINIC,SALDO,INTERES,FECHA SELECT  NUMEROCUEN  NUMEROCUENTA,FECHAINIC,SA LDO,INTERES,FECHACADUC,ESTAD CADUC,ESTADO,ESTADOREG O,ESTADOREGISTRO,CODTIPOCU ISTRO,CODTIPOCUENT ENT A,CODCLIENTE FROM FROM CUENTA_AHORRO;  CUENTA_AHORRO;

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

VNUMEROCUENTA NUMERIC VNUMEROCUENTA  NUMERIC(11); (11); VFECHAINIC DATE DATE;; VSALDO NUMERIC VSALDO  NUMERIC(7,2); (7,2);

152

VINTERES NUMERIC VINTERES  NUMERIC(4,2); (4,2); DATE;; VFECHACADUC DATE VESTADO VARCHAR2 VARCHAR2(30); (30); (1); VESTADOREGISTRO CHAR (1);  NUMERIC(10); (10); VCODTIPOCUENTA NUMERIC VCODTIPOCUENTA  NUMERIC(10); (10); VCODCLIENTE NUMERIC VCODCLIENTE

BEGIN BEGIN   OPEN   C_CUENTA_AHORRO; OPEN LOOP   LOOP FETCH C_CUENTA_AHORRO  C_CUENTA_AHORRO INTO INTO   FETCH VNUMEROCUENTA,VFECHAINIC,VSALDO,VINTERES,VFECHACADUC,VESTADO,VESTADOREGISTRO,VCO DTIPOCUENTA,VCODCLIENTE; IF IF   C_CUENTA_AHORRO%FOUND THEN  THEN  DBMS_OUTPUT.PUT_LINE(VNU DBMS_OUTPUT .PUT_LINE(VNUMEROCUENTA MEROCUENTA||' '||VFECHAINIC||' '||VFECHAINIC||'NTA||' '||VSALDO||' '||VINTERES||' '||VFECHACA '||VFECHACADUC||' DUC||' '||VESTADO||' '||VESTADO|| ' '||VESTADOREGISTRO||' '||VESTADOREG ISTRO||' ||''||VCODTIPOCUENTA||' '||VCODTIPOCUE '||VCODCLIENTE); '||VCODCLIENT E); ELSE  ELSE  EXIT;; EXIT END  IF IF;; END END  LOOP;; END LOOP CLOSE C_CUENTA_AHORRO; C_CUENTA_AHORRO; END END;; COMMIT;; COMMIT END  LISTAR_CUENTA_AHORRO; END LISTAR_CUENTA_AHORRO; ------------------------------------------------------------------------------------------------------------FUNCTION   OBTENER_NOMBRE_CUENTA_AHORRO(VNUMEROCUENTA NUMERIC FUNCTION  OBTENER_NOMBRE_CUENTA_AHORRO(VNUMEROCUENTA NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2   IS   IS VDATOSCUENTAAHORRO VARCHAR2(500); VARCHAR2 (500); BEGIN   BEGIN SELECT   NUMEROCUENTA|| NUMEROCUENTA|| ', ' ||FECHAINIC|| ', ' ||SALDO|| ', ' ||INTERES|| ', ' || FECHACADUC|| ', SELECT ' ||ESTADO || ', ' ||ESTADO ||ESTADOREGISTRO|| REGISTRO|| ', ' ||CODTIPOCUENTA|| ||CODTIPOCUENTA|| ', ' ||CODCLIENTE ||CODCLIENTE INTO VDATOSCUENTAAHORRO INTO VDATOSCUENTAAHORRO FROM FROM CUENTA_AHORRO  CUENTA_AHORRO WHERE   NUMEROCUENTA=VNUMEROCUENTA; WHERE RETURN RETURN  VNUMEROCUENTA; VNUMEROCUENTA; END  OBTENER_NO OBTENER_NOMBRE_CUENTA MBRE_CUENTA_AHORRO; _AHORRO; END

END END  PKCUENTA_AHORRO; PKCUENTA_AHORRO;

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

153

PAQUETE EMPLEADO CREATE  OR  REPLACE  REPLACE PACKAGE P PACKAGE PKEMPLEADO KEMPLEADO AS  AS  CREATE PROCEDURE  INSERTAR_EMPLEADO (VNOMEMPLEADO VARCHAR2,VAPEMATEMPLEADO PROCEDURE  VARCHAR2,VAPEMATEMPLEADO VARCHAR2,VAPEPATEMPLEADO VARCHAR2 ,VCODTIPODOCUMENTO NUMERIC  NUMERIC,VNUMERO ,VNUMERO VARCHAR2,VAPEPATEMPLEADO VARCHAR2,VCODTIPODOCUMENTO VARCHAR2,VFECHANACEMIENTO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO DATE,VSEXO CHAR ,VESTADOCIVIL ,VESTADOCIVIL CHAR ,VDIRECCION ,VDIRECCION VARCHAR2,VSUELDO  NUMERIC,VTELEFONO ,VTELEFONO CHAR ,VEMAIL ,VEMAIL VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO VARCHAR2,VSUELDO NUMERIC CHAR ,VCODDISTRITO NUMERIC ,VCODDISTRITO NUMERIC,VCODCARGO ,VCODCARGO NUMERIC  NUMERIC); ); PROCEDURE ACTUALIZAR_EMPLEADO (VCODEMPLEADO NUMERIC,VNOMEMPLEADO ,VNOMEMPLEADO PROCEDURE ACTUALIZAR_EMPLEADO (VCODEMPLEADO NUMERIC VARCHAR2 VARCHAR2,VAPEMATEMPLEADO ,VAPEMATEMPLEADO VARCHAR2,VAPEPATEMPLEADO VARCHAR2 ,VAPEPATEMPLEADO VARCHAR2,VCODTIPODOCUMENTO VARCHAR2 ,VCODTIPODOCUMENTO  NUMERIC,VNUMERO ,VNUMERO VARCHAR2,VFECHANACEMIENTO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO DATE,VSEXO CHAR ,VESTADOCIVIL ,VESTADOCIVIL  NUMERIC CHAR ,VDIRECCION ,VDIRECCION VARCHAR2,VSUELDO VARCHAR2,VSUELDO NUMERIC  NUMERIC,VTELEFONO ,VTELEFONO CHAR ,VEMAIL ,VEMAIL VARCHAR2,VESTADOREGISTRO CHAR ,VCODDISTRITO NUMERIC VARCHAR2,VESTADOREGISTRO ,VCODDISTRITO NUMERIC,VCODCARGO ,VCODCARGO NUMERIC  NUMERIC); ); PROCEDURE ELIMINAR_EMPLEADO  ELIMINAR_EMPLEADO (VCODEMPLEADO NUMERIC (VCODEMPLEADO NUMERIC); ); PROCEDURE PROCEDURE LISTAR_EMPLEA PROCEDURE  LISTAR_EMPLEADO; DO; FUNCTION   OBTENER_NOMBRE_EMPLEADO(VCODEMPLEADO NUMERIC OBTENER_NOMBRE_EMPLEADO(VCODEMPLEADO NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; FUNCTION END PKEMPLEADO; END PKEMPLEADO;

CREATE  REPLACE PACKAGE  PACKAGE BODY P BODY PKEMPLEADO KEMPLEADO AS AS   CREATE OR  REPLACE  -------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE   INSERTAR_EMPLEADO (VNOMEMPLEADO VARCHAR2,VAPEMATEMPLEADO VARCHAR2,VAPEMATEMPLEADO VARCHAR2,VAPEPATEMPLEADO VARCHAR2 ,VCODTIPODOCUMENTO NUMERIC  NUMERIC,VNUMERO ,VNUMERO VARCHAR2,VAPEPATEMPLEADO VARCHAR2,VCODTIPODOCUMENTO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO CHAR ,VESTADOCIVIL ,VESTADOCIVIL CHAR ,VDIRECCION ,VDIRECCION VARCHAR2,VSUELDO  NUMERIC,VTELEFONO ,VTELEFONO CHAR ,VEMAIL ,VEMAIL VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO VARCHAR2,VSUELDO NUMERIC CHAR ,VCODDISTRITO NUMERIC ,VCODDISTRITO NUMERIC,VCODCARGO ,VCODCARGO NUMERIC  NUMERIC)) IS   IS BEGIN BEGIN   INSERT  INTO EMPLEADO  EMPLEADO VALUES VALUES   INSERT INTO ,VAPEMATEMPLEADO,VAPEPATEMPLEA DO,VAPEPATEMPLEADO, DO, (SEC_EMPLEADO. NEXTVAL,VNOMEMPLEADO  NEXTVAL,VNOMEMPLEADO,VAPEMATEMPLEA VCODTIPODOCUMENTO,VN VCODTIPODOC UMENTO,VNUMERO,VFECHA UMERO,VFECHANACEMIENTO,VSE NACEMIENTO,VSEXO,VESTADO XO,VESTADOCIVIL,VDIREC CIVIL,VDIRECCION, CION, VSUELDO, VTELEFONO,VEMAIL,VESTAD VTELEFONO,VEMAIL,VESTADOREGISTRO,VCO OREGISTRO,VCODDISTRITO,VC DDISTRITO,VCODCARGO); ODCARGO); COMMIT; COMMIT; END  INSERTAR_EMPLEADO; END INSERTAR_EMPLEADO; ------------------------------------------------------------------------------------------------------------PROCEDURE ACTUALIZAR_EMPLEADO PROCEDURE ACTUALIZAR_EMPLEADO (VCODEMPLEADO NUMERIC (VCODEMPLEADO NUMERIC,VNOMEMPLEADO ,VNOMEMPLEADO VARCHAR2,VAPEMATEMPLEADO VARCHAR2,VAPEMATEMPLEADO VARCHAR2,VAPEPATEMPLEADO VARCHAR2 ,VAPEPATEMPLEADO VARCHAR2,VCODTIPODOCUMENTO VARCHAR2 ,VCODTIPODOCUMENTO  NUMERIC,VNUMERO ,VNUMERO VARCHAR2,VFECHANACEMIENTO VARCHAR2,VFECHANACEMIENTO DATE,VSEXO DATE,VSEXO CHAR ,VESTADOCIVIL ,VESTADOCIVIL  NUMERIC CHAR ,VDIRECCION ,VDIRECCION VARCHAR2,VSUELDO VARCHAR2,VSUELDO NUMERIC  NUMERIC,VTELEFONO ,VTELEFONO CHAR ,VEMAIL ,VEMAIL VARCHAR2,VESTADOREGISTRO ,VCODDISTRITO NUMERIC,VCODCARGO ,VCODCARGO NUMERIC  NUMERIC)) VARCHAR2,VESTADOREGISTRO CHAR ,VCODDISTRITO NUMERIC IS IS   BEGIN  BEGIN  UPDATE EMPLEADO SET  UPDATE EMPLEADO SET   NOMEMPLEADO=VNOMEMPLEA  NOMEMPLEAD O=VNOMEMPLEADO,APEMATEMPLE DO,APEMATEMPLEADO=VAPEMAT ADO=VAPEMATEMPLEADO, EMPLEADO, APEPATEMPLEADO=VAPEPATEMPLE APEPATEMPLEAD O=VAPEPATEMPLEADO,CODTI ADO,CODTIPODOCUMENTO PODOCUMENTO=VCODTIPODO =VCODTIPODOCUMENTO, CUMENTO,  NUMERO=VNUMERO,FECHANACEMIENTO=  NUMERO=VNUMERO,FECHAN ACEMIENTO=VFECHANACEMIEN VFECHANACEMIENTO,SEXO=VSEXO TO,SEXO=VSEXO,, ESTADOCIVIL=VESTADOCIVIL,DIRECCION=VDIRECCION,SUELDO=VSUELDO,TELEFONO=VTELEFONO,EM AIL=VEMAIL,ESTADOREGIST AIL=VEMAIL ,ESTADOREGISTRO RO =VESTADOREGISTRO =VESTADOREGISTRO , WHERE  CODEMPLEADO=VCODEMPLEA CODEMPLEADO=VCODEMPLEADO; DO; CODDISTRITO=VCODDISTRITO,CODCARGO=VCODCARGO WHERE COMMIT; COMMIT;

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

154

 

END  ACTUALIZAR_EMPLEADO; ACTUALIZAR_EMPLEADO; END ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE ELIMINAR_EMPLEADO  ELIMINAR_EMPLEADO (VCODEMPLEADO NUMERIC (VCODEMPLEADO NUMERIC)) IS  IS  BEGIN   BEGIN DELETE  FROM EMPLEADO  EMPLEADO WHERE WHERE  CODEMPLEADO=VCODEMPLEA CODEMPLEADO=VCODEMPLEADO; DO; DELETE FROM COMMIT COMMIT;; END  ELIMINAR_EMPLEADO; END ELIMINAR_EMPLEADO; ------------------------------------------------------------------------------------------------------------PROCEDURE  LISTAR_EMPLEADO LISTAR_EMPLEADO PROCEDURE IS  IS  BEGIN   BEGIN

DECLARE  CURSOR  C_EMPLEADO  C_EMPLEADO IS  IS  DECLARE SELECT   SELECT CODEMPLEADO,NOMEMPLEA CODEMPLEADO ,NOMEMPLEADO,APEMATEMPLEA DO,APEMATEMPLEADO,APEPATEMPLEA DO,APEPATEMPLEADO,CODTIPODO DO,CODTIPODOCUMENTO, CUMENTO,  NUMERO,FECHANACEMIENTO,SEXO  NUMERO,FECHA NACEMIENTO,SEXO,ESTADOCIVIL ,ESTADOCIVIL,DIRECCION,SUELDO ,DIRECCION,SUELDO,TELEFONO,EMAIL, ,TELEFONO,EMAIL, ESTADOREGISTRO,CODDISTRITO,CODCARGO FROM EMPLEADO; FROM EMPLEADO;  NUMERIC(10); (10); VCODEMPLEADO NUMERIC VCODEMPLEADO VARCHAR2(30); (30); VNOMEMPLEADO VARCHAR2 VAPEMATEMPLEADO VARCHAR2(30); VARCHAR2(30); VAPEPATEMPLEADO VARCHAR2(30); VARCHAR2(30); VCODTIPODOCUMENTO  NUMERIC(10);  NUMERIC(10); VNUMERO VARCHAR2(30); VARCHAR2(30); VFECHANACEMIENTO DATE; DATE; (1); VSEXO CHAR (1); (1); VESTADOCIVIL CHAR (1); VDIRECCION VARCHAR2(30); VARCHAR2(30); VSUELDO NUMERIC VSUELDO  NUMERIC(10); (10); (9); VTELEFONO CHAR (9); VEMAIL VAR C HAR (30); CHAR  (30); VESTADOREGISTRO CHAR (1); (1);  NUMERIC(10); (10); VCODDISTRITO NUMERIC VCODDISTRITO  NUMERIC(10); (10); VCODCARGO NUMERIC VCODCARGO

BEGIN BEGIN   OPEN C_EMPLEADO;  C_EMPLEADO; OPEN LOOP LOOP   FETCH C_EMPLEADO  C_EMPLEADO INTO  INTO  FETCH VCODEMPLEADO,VNOMEMPLEADO,VAPEMATEMPLEADO,VAPEPATEMPLEADO,VCODTIPODOCUMENTO, VNUMERO,VFECHANACEMIEN VNUMERO,VFECH ANACEMIENTO,VSEXO,VESTA TO,VSEXO,VESTADOCIVIL,VDIREC DOCIVIL,VDIRECCION,VSUELDO CION,VSUELDO,VTELEFONO, ,VTELEFONO, VEMAIL,VESTADOREGISTRO,VCO VEMAIL,VESTA DOREGISTRO,VCODDISTRITO DDISTRITO,VCODCARGO ,VCODCARGO;;

IF C_EMPLEADO%FOUND IF  C_EMPLEADO%FOUND THEN THEN  

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

DBMS_OUTPUT.PUT_LINE(VCO DBMS_OUTPUT .PUT_LINE(VCODEMPLEADO|| DEMPLEADO||'' '||VNOMEMPLEADO||' '||VNOMEMPLEADO||' '||VAPEMATEMPLEADO '||VAPEMATEMPLEADO ||' '| |VAPEPATEMPLEADO||' '||VCODT |VAPEPATEMPLEADO||' ' ||VCODTIPODOCUMENTO IPODOCUMENTO||' ||' '||VNUMERO||' '||VNUMERO||' '||VFECHANACEMIENTO||' '||VFECHANACEMIENTO||' '||VSEXO ||' '|| VESTADOCIVIL||' VESTADOCI VIL||' '||VDIRECC ' ||VDIRECCION||' ION||' '||VSUELDO||' '||VTELEFONO| ' ||VTELEFONO||'|' '||VEMAIL||' '||VESTADOREGISTRO||' '|| VCODDISTRITO||' VCODDISTRIT O||' '||VCODCARGO); '||VCODCARGO); ELSE   ELSE EXIT EXIT;; END END  IF IF;; END  LOOP;; END LOOP CLOSE C_EMPLEADO; END END;; COMMIT;; COMMIT END LISTAR_EMPLEADO; END  LISTAR_EMPLEADO; ------------------------------------------------------------------------------------------------------------FUNCTION  OBTENER_NOMBRE_EMPLEADO(VCODEMPLEADO NUMERIC)) RETURN RETURN  VARCHAR2 VARCHAR2   FUNCTION   OBTENER_NOMBRE_EMPLEADO(VCODEMPLEADO NUMERIC IS   IS VDATOSEMPLEADO VARCHAR2(500); VARCHAR2(500); BEGIN   BEGIN SELECT   NOMEMPLEADO|| NOMEMPLEADO|| ', ' ||APEMATEMPLEADO|| ', ' ||APEPATEMPLEADO|| ||APEPATEMPLEADO|| ', ' SELECT ||CODTIPODOCUMENTO|| ||CODTIPODO CUMENTO|| ', ' ||NUMERO|| ||NUMERO|| ', ' ||FECHANACEMIENTO || ', ' ||SEXO|| ', ' ||ESTADOCIVIL|| ||ESTADOCIVIL|| ', ' ||DIRECCION|| ', ' ||SUELDO|| ', ' ||TELEFONO|| ', ' ||EMAIL|| ', ' ||ESTADOREGISTRO|| ||ESTADOREG ISTRO|| ', ' ||CODDISTRITO|| ||CODDISTRITO|| ', ' ||CODCARGO INTO INTO  VDATOSEMPLEADO VDATOSEMPLEADO FROM FROM EMPLEADO  EMPLEADO WHERE   CODEMPLEADO=VCODEMPLEADO; WHERE RETURN RETURN  VCODEMPLEADO; VCODEMPLEADO; END  OBTENER_NO OBTENER_NOMBRE_EMPLEADO MBRE_EMPLEADO;; END

END PKEMPLEADO;  PKEMPLEADO; END

PAQUETE MOVIMIENTO CREATE OR  REPLACE  CREATE  REPLACE PACKAGE P PACKAGE PKMOVIMIENT KMOVIMIENTO O AS  AS  PROCEDURE INSERTAR_MOVIMIENTO (VFECHA DATE PROCEDURE INSERTAR_MOVIMIENTO DATE,VHORA ,VHORA DATE DATE,VMONTO ,VMONTO  NUMERIC,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODTIPOMOVIMIENTO ,VCODTIPOMOVIMIENTO  NUMERIC  NUMERIC,VNUMEROCUENTA ,VNUMEROCUENTA  NUMERIC  NUMERIC  NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC); ); PROCEDURE  PROCEDURE  ACTUALIZAR_MOVIMIENTO (VCODMOVIMIENTO NUMERIC (VCODMOVIMIENTO NUMERIC,VFECHA ,VFECHA DATE DATE,VHORA ,VHORA DATE,VMONTO  NUMERIC,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODTIPOMOVIMIENTO ,VCODTIPOMOVIMIENTO DATE,VMONTO NUMERIC  NUMERIC  NUMERIC,VNUMEROCUENTA ,VNUMEROCUENTA NUMERIC  NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC); ); PROCEDURE  (VCODMOVIMIENTO NUMERIC); ); PROCEDURE  ELIMINAR MOVIMIENTO (VCODMOVIMIENTO NUMERIC

155

PROCEDURE  LISTAR_MOVIMIENTO; IMIENTO; PROCEDURE LISTAR_MOV FUNCTION OBTENER_NOMB OBTENER_NOMBRE_MOVIMIENTO RE_MOVIMIENTO(VCODMOVIMIEN (VCODMOVIMIENTO TO NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; END  PKMOVIMIENTO; END PKMOVIMIENTO;

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY P BODY PKMOVIMIENTO KMOVIMIENTO AS  AS 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE  INSERTAR_MOVIMIENTO INSERTAR_MOVIMIENTO (VFECHA DATE,VHORA DATE,VHORA DATE DATE,VMONTO ,VMONTO  NUMERIC,VESTADOREGISTRO ,VCODTIPOMOVIMIENTO  NUMERIC  NUMERIC,VNUMEROCUENTA ,VNUMEROCUENTA  NUMERIC,VESTADOREGISTRO CHAR ,VCODTIPOMOVIMIENTO  NUMERIC  NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC)) IS   IS BEGIN   BEGIN INSERT  INTO MOVIMIENTO  MOVIMIENTO VALUES VALUES   INSERT INTO (SEC_MOVIMIENTO.  NEXTVAL,VFECHA,VHOR NEXTVAL,VFECHA,VHORA,VMONTO A,VMONTO,VESTADOREGISTR ,VESTADOREGISTRO,VCODTIPOMOVI O,VCODTIPOMOVIMIENTO,V MIENTO,V  NUMEROCUENTA,VCODCL  NUMEROCUEN TA,VCODCLIENTE); IENTE); COMMIT COMMIT;; END  INSERTAR_MOVIMIENTO; END INSERTAR_MOVIMIENTO; ------------------------------------------------------------------------------------------------------------PROCEDURE  (VCODMOVIMIENTO NUMERIC,VFECHA ,VFECHA DATE DATE,VHORA ,VHORA PROCEDURE  ACTUALIZAR_MOVIMIENTO (VCODMOVIMIENTO NUMERIC DATE,VMONTO NUMERIC DATE,VMONTO  NUMERIC,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODTIPOMOVIMIENTO ,VCODTIPOMOVIMIENTO  NUMERIC,VNUMEROCUENTA ,VNUMEROCUENTA NUMERIC  NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC))  NUMERIC IS  IS  BEGIN  BEGIN  UPDATE MOVIMIENTO SET  UPDATE MOVIMIENTO SET  FECHA=VFECHA,HORA=VHORA,MONTO=VMONTO,ESTADOREGISTRO=VESTADOREGISTRO,CODTIPOMOV IMIENTO=VCODTIPOMOVIMIENTO,NUMEROCUENTA=VNUMEROCUENTA,CODCLIENTE=VCODCLIENTE WHERE  CODMOVIMIENTO=VCODMOVIMIENTO; MIENTO; WHERE CODMOVIMIENTO=VCODMOVI COMMIT COMMIT;; END  ACTUALIZAR_MOVIMIENTO;; END ACTUALIZAR_MOVIMIENTO ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE ELIMINAR_MOVIMIENTO  ELIMINAR_MOVIMIENTO (VCODMOVIMIENTO NUMERIC (VCODMOVIMIENTO NUMERIC)) IS  IS  BEGIN   BEGIN DELETE FROM DELETE  FROM MOVIMIENTO  MOVIMIENTO WHERE  WHERE  CODMOVIMIENTO=VCODMOVIMIENTO; COMMIT;; COMMIT END  ELIMINAR_MOVIMIENTO; END ELIMINAR_MOVIMIENTO; -------------------------------------------------------------------------------------------------------------

PROCEDURE PROCEDURE  LISTAR_MOVIMIENTO LISTAR_MOVIMIENTO IS   IS

156

BEGIN   BEGIN

DECLARE DECLARE  CURSOR  C_MOVIMIENTO IS  IS  SELECT SELECT   CODMOVIMIENTO,FECHA,HORA,MONTO,ESTADOREGISTRO,CODTIPOMOVIMIENTO,NUMEROCUENTA,CO FROM MOVIMIENTO;  MOVIMIENTO; DCLIENTE FROM  NUMERIC(10); (10); VCODMOVIMIENTO NUMERIC VCODMOVIMIENTO VFECHA DATE; DATE; VHORA DATE DATE;;

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

157  

 NUMERIC(7,2); (7,2); VMONTO NUMERIC VMONTO VESTADOREGISTRO CHAR (1); (1); (10); VCODTIPOMOVIMIENTO NUMERIC(10); VCODTIPOMOVIMIENTO NUMERIC VNUMEROCUENTA NUMERIC VNUMEROCUENTA  NUMERIC(11); (11);  NUMERIC(10); (10); VCODCLIENTE NUMERIC VCODCLIENTE

BEGIN BEGIN   OPEN OPEN  C_MOVIMIENT C_MOVIMIENTO; O; LOOP   LOOP FETCH FETCH C_MOVIMIENTO  C_MOVIMIENTO INTO  INTO  VCODMOVIMIENTO,VFECHA,VHORA,VMONTO,VESTADOREGISTRO,VCODTIPOMOVIMIENTO,VNUMEROC UENTA,VCODCLIENTE; IF   C_MOVIMIENTO%FOUND THEN  THEN  IF DBMS_OUTPUT.PUT_LINE(VCO DBMS_OUTPUT .PUT_LINE(VCODMOVIMIENTO| DMOVIMIENTO||'|' '||VFECHA||' '||VHORA||' '||VHORA||' '||VMONTO||' '||VMONTO||' '||VESTADOREGISTRO||' '||VCODTIPOMOVIMIENTO|| '||VESTADOREGISTRO||' '||VCODTIPOMOVIMIENTO||'' '||VNUMEROCUENTA||' '||VNUMEROCUENTA||' '||VCODCLIENTE); '||VCODCLIENTE); ELSE ELSE   EXIT;; EXIT END  IF IF;; END END  LOOP;; END LOOP CLOSE C_MOVIMIENTO; END END;; COMMIT;; COMMIT END  LISTAR_MOVIMIENTO; END LISTAR_MOVIMIENTO; ------------------------------------------------------------------------------------------------------------FUNCTION OBTENER_NO OBTENER_NOMBRE_MOVIMIENTO MBRE_MOVIMIENTO(VCODMOVIMIEN (VCODMOVIMIENTO TO NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2   IS   IS VDATOSMOVIMIENTO VARCHAR2(500); VARCHAR2(500);

BEGIN   BEGIN SELECT   CODMOVIMIENTO|| CODMOVIMIENTO|| ', ' ||HORA|| ', ' ||MONTO|| ', ' ||ESTADOR ||ESTADOREGISTRO|| EGISTRO|| ', ' SELECT ||CODTIPOMOVIMIENTO|| ', ' ||NUMEROCUENTA || ', ' ||CODCLIENTE INTO INTO VDATOSMOVIMIENTO  VDATOSMOVIMIENTO FROM FROM MOVIMIENTO  MOVIMIENTO WHERE   CODMOVIMIENTO=VCODMOVIMIENTO; WHERE RETURN RETURN  VCODMOVIMIENTO; VCODMOVIMIENTO; END  OBTENER_NO OBTENER_NOMBRE_MOVIMIENT MBRE_MOVIMIENTO; O; END

END  PKMOVIMIENTO; PKMOVIMIENTO; END

PAQUETE PAGO PRESTAMO  PRESTAMO  CREATE  OR  REPLACE  CREATE REPLACE PACKAGE  PACKAGE PKPAGO_PRESTAMO PKPAGO_PRESTAMO AS  AS 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

PROCEDURE   INSERTAR_PAGO_PRESTAMO (VNUMCUOTA NUMERIC (VNUMCUOTA NUMERIC,VFECHAPAGO ,VFECHAPAGO DATE,VMONTOCOUTA DATE,VMONTOCOUTA PROCEDURE  NUMERIC,VESTADO ,VESTADOREGISTRO CHAR ,VCODPRESTAMO NUMERIC ,VCODPRESTAMO NUMERIC); );  NUMERIC,VESTADO CHAR ,VESTADOREGISTRO PROCEDURE  (VCODPAGOPRESTAMO NUMERIC,VNUMCUOTA ,VNUMCUOTA PROCEDURE  ACTUALIZAR_PAGO_PRESTAMO (VCODPAGOPRESTAMO NUMERIC  NUMERIC,VFECHAPAGO DATE,VMONTOCOUTA  NUMERIC,VFECHAPAGO DATE,VMONTOCOUTA NUMERIC  NUMERIC,VESTADO ,VESTADO CHAR ,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODPRESTAMO NUMERIC ,VCODPRESTAMO NUMERIC); ); PROCEDURE  ELIMINAR_PAGO_PRESTAMO (VCODPAGOPRESTAMO NUMERIC PROCEDURE  (VCODPAGOPRESTAMO NUMERIC); ); PROCEDURE  LISTAR_PAGO_PRESTAMO; O_PRESTAMO; PROCEDURE LISTAR_PAG OBTENER_NOMBRE_PAGOPRESTA RE_PAGOPRESTAMO(VCODPAGO MO(VCODPAGOPRESTAMO PRESTAMO NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2  ; FUNCTION OBTENER_NOMB END END  PKPAGO_PRESTAMO; PKPAGO_PRESTAMO;

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY P BODY PKPAGO_PRESTAM KPAGO_PRESTAMO O AS AS   ------------------------------------------------------------------------------------------------------------PROCEDURE INSERTAR_PAGO_PRESTAMO  INSERTAR_PAGO_PRESTAMO (VNUMCUOTA NUMERIC (VNUMCUOTA NUMERIC,VFECHAPAGO ,VFECHAPAGO PROCEDURE DATE,VMONTOCOUTA ,VMONTOCOUTA NUMERIC  NUMERIC,VESTADO ,VESTADO CHAR ,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODPRESTAMO NUMERIC ,VCODPRESTAMO NUMERIC)) DATE IS   IS BEGIN BEGIN   INSERT  INTO PAGO_PRESTAMO  PAGO_PRESTAMO VALUES VALUES   INSERT INTO (SEC_PAGO_PRESTAMO. NEXTVAL,VNUMCUOTA,VFECHAPAGO,VMONTOCOUTA,VESTADO,VESTADOREG  NEXTVAL,VNUMCUOTA,VFECHAPAGO,VMONTOCOUTA,VESTADO,VESTADOREG ISTRO,VCODPRESTAMO); COMMIT; COMMIT; END INSERTAR_PAGO_PRESTAMO; END  INSERTAR_PAGO_PRESTAMO; ------------------------------------------------------------------------------------------------------------PROCEDURE  (VCODPAGOPRESTAMO NUMERIC,VNUMCUOTA ,VNUMCUOTA PROCEDURE  ACTUALIZAR_PAGO_PRESTAMO (VCODPAGOPRESTAMO NUMERIC  NUMERIC  NUMERIC,VFECHAPAGO ,VFECHAPAGO NUMERIC) DATE,VMONTOCOUTA DATE,VMONTOCOUTA NUMERIC  NUMERIC,VESTADO ,VESTADO CHAR ,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ,VCODPRESTAMO NUMERIC ,VCODPRESTAMO )

158

IS   IS BEGIN  BEGIN  UPDATE PAGO_PRESTAMO SET  UPDATE  SET   NUMCUOTA=VNUMCUOTA,FECHAPAGO=VFECH  NUMCUOTA=VNUMCUOTA ,FECHAPAGO=VFECHAPAGO,MONT APAGO,MONTOCOUTA=VMO OCOUTA=VMONTOCOUTA NTOCOUTA,ESTADO=VESTA ,ESTADO=VESTA DO,ESTADOREGISTRO=VESTADOREGISTRO,CODPRESTAMO=VCODPRESTAMO WHERE  WHERE  CODPAGOPRESTAMO=VCODPA CODPAGOPREST AMO=VCODPAGOPRESTAMO GOPRESTAMO;; COMMIT COMMIT;; END  ACTUALIZAR_PAGO_PRESTAMO; MO; END ACTUALIZAR_PAGO_PRESTA ------------------------------------------------------------------------------------------------------------PROCEDURE  ELIMINAR_PAGO_PRESTAMO (VCODPAGOPRESTAMO NUMERIC PROCEDURE  (VCODPAGOPRESTAMO NUMERIC)) IS  IS  BEGIN   BEGIN DELETE  FROM  PAGO_PRESTAMO WHERE WHERE  CODPAGOPRESTAMO=VCODPAG CODPAGOPRESTAMO=VCODPAGOPRESTAMO; OPRESTAMO; DELETE FROM COMMIT COMMIT;; END  ELIMINAR_PAGO_PRESTAMO; END ELIMINAR_PAGO_PRESTAMO; ------------------------------------------------------------------------------------------------------------PROCEDURE  LISTAR_PAGO_PRESTAMO LISTAR_PAGO_PRESTAMO PROCEDURE IS IS  

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

BEGIN   BEGIN DECLARE  CURSOR   C_PAGO_PRESTAMO IS  IS  DECLARE CODPAGOPRESTAMO,NUMCUOTA MO,NUMCUOTA,FECHAPAGO,MO ,FECHAPAGO,MONTOCOUTA NTOCOUTA,ESTADO,ESTADOR ,ESTADO,ESTADOREGISTRO, EGISTRO, SELECT CODPAGOPRESTA CODPRESTAMO FROM FROM P  PAGO_PRESTA AGO_PRESTAMO; MO;

 NUMERIC(10); (10); VCODPAGOPRESTAMO NUMERIC VCODPAGOPRESTAMO VNUMCUOTA NUMERIC VNUMCUOTA  NUMERIC(10); (10); VFECHAPAGO DATE; DATE;  NUMERIC(7,2); (7,2); VMONTOCOUTA NUMERIC VMONTOCOUTA (1); VESTADO CHAR (1); VESTADOREGISTRO CHAR (1); (1);  NUMERIC(10); (10); VCODPRESTAMO NUMERIC VCODPRESTAMO BEGIN   BEGIN OPEN  C_PAGO_PREST C_PAGO_PRESTAMO; AMO; OPEN LOOP LOOP   FETCH FETCH  C_PAGO_PRESTAMO C_PAGO_PRESTAMO INTO  INTO  VCODPAGOPRESTAMO,VNUMCUOTA,VFECHAPAGO,VMONTOCOUTA,VESTADO,VESTADOREGISTRO

159

,VCODPRESTAMO; IF   C_PAGO_PRESTAMO%FOUND THEN  THEN  IF DBMS_OUTPUT.PUT_LINE(VCO DBMS_OUTPUT .PUT_LINE(VCODPAGOPRESTAMO| DPAGOPRESTAMO|||'' '||VNUMCUOT '||VNUMCUOTA||' A||' '||VFECHAPAGO||' '||VFECHAPAGO||' '||VMONTOCOUTA||' '||VESTADO||' '||VMONTOCOUTA||' '||VESTADO||' '||VESTADOREGISTRO||' '||VESTADOREGISTRO||' '||VCODPRESTAMO); '||VCODPRESTAMO); ELSE  ELSE  EXIT;; EXIT END  IF IF;; END END LOOP END  LOOP;; CLOSE C_PAGO_PRESTAMO; C_PAGO_PRESTAMO; END;; END COMMIT COMMIT;; END  LISTAR_PAGO_PRESTAMO; END LISTAR_PAGO_PRESTAMO; -------------------------------------------------------------------------------------------------------------FUNCTION OBTENER_NOMBR OBTENER_NOMBRE_PAGOPRESTAM E_PAGOPRESTAMO(VCODPAGO O(VCODPAGOPRESTAMO PRESTAMO NUMERIC  NUMERIC)) RETURN  RETURN  VARCHAR2   VARCHAR2 IS   IS VDATOSPAGOPRESTAMO VARCHAR2(500); VARCHAR2 (500); BEGIN   BEGIN SELECT   CODPAGOPRESTAMO|| CODPAGOPRESTAMO|| ', ' ||NUMCUOTA|| ', ' ||FECHAPAGO|| ||FECHAPAGO|| ', ' ||MONTOCOUTA|| ||MONTOCOUTA|| ', ' || SELECT ESTADO || ', ' ||ESTADOREGISTRO ||ESTADOREGISTRO || ', ' ||CODPRESTAMO INTO   VDATOSPAGOPRESTAMO FROM P FROM PAGO_PRESTA AGO_PRESTAMO MO INTO WHERE  CODPAGOPRESTAMO=VCODPAGOPRESTAMO; WHERE 

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

RETURN RETURN  VCODPAGOPRESTAMO; VCODPAGOPRESTAMO; END END  OBTENER_NO OBTENER_NOMBRE_PAGOPRESTA MBRE_PAGOPRESTAMO; MO;

END  PKPAGO_PRESTAMO; PKPAGO_PRESTAMO; END

PAQUETE PRESTAMO CREATE OR  REPLACE  CREATE  REPLACE PACKAGE PKPRESTAMO PACKAGE PKPRESTAMO AS  AS  PROCEDURE INSERTAR_PRESTAMO (VMONTO NUMERIC,VFORMAPAGO ,VFORMAPAGO VARCHAR2 VARCHAR2,VINTERES ,VINTERES PROCEDURE INSERTAR_PRESTAMO (VMONTO NUMERIC  NUMERIC  NUMERIC,VCOUTA ,VCOUTA NUMERIC  NUMERIC,VIMPORTETOTAL ,VIMPORTETOTAL NUMERIC  NUMERIC,VFECHAPRESTAMO ,VFECHAPRESTAMO DATE,VESTADOREGISTRO DATE,VESTADOREGISTRO CHAR ,VCODTIPOPRESTAMO NUMERIC ,VCODTIPOPRESTAMO  NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC); ); PROCEDURE  (VCODPRESTAMO NUMERIC,VMONTO ,VMONTO NUMERIC  NUMERIC,VFORMAPAGO ,VFORMAPAGO PROCEDURE  ACTUALIZAR_PRESTAMO (VCODPRESTAMO NUMERIC VARCHAR2 VARCHAR2,VINTERES ,VINTERES NUMERIC  NUMERIC,VCOUTA ,VCOUTA NUMERIC  NUMERIC,VIMPORTETOTAL ,VIMPORTETOTAL NUMERIC  NUMERIC,VFECHAPRESTAMO ,VFECHAPRESTAMO DATE,VESTADOREGISTRO DATE,VESTADOREGISTRO CHAR ,VCODTIPOPRESTAMO NUMERIC ,VCODTIPOPRESTAMO NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC); ); PROCEDURE ELIMINAR_PRESTAMO  ELIMINAR_PRESTAMO (VCODPRESTAMO NUMERIC (VCODPRESTAMO NUMERIC); ); PROCEDURE

160

PROCEDURE  LISTAR_PRESTA PROCEDURE LISTAR_PRESTAMO; MO; FUNCTION  OBTENER_PRESTAMO(VCODPRESTA OBTENER_PRESTAMO(VCODPRESTAMO MO NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; FUNCTION END PKPRESTAMO; END PKPRESTAMO;

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY PKPRESTAMO BODY PKPRESTAMO AS AS   -------------------------------------------------------------------------------------------------------------PROCEDURE  INSERTAR_PRESTAMO INSERTAR_PRESTAMO (VMONTO NUMERIC (VMONTO  NUMERIC,VFORMAPAGO ,VFORMAPAGO VARCHAR2,VINTERES VARCHAR2 ,VINTERES PROCEDURE  NUMERIC,VCOUTA NUMERIC  NUMERIC,VCOUTA  NUMERIC,VIMPORTETOTAL ,VIMPORTETOTAL NUMERIC  NUMERIC,VFECHAPRESTAMO ,VFECHAPRESTAMO DATE,VESTADOREGISTRO DATE,VESTADOREGISTRO CHAR ,VCODTIPOPRESTAMO NUMERIC ,VCODTIPOPRESTAMO NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC)) IS  IS  BEGIN   BEGIN INSERT INTO INSERT  INTO PRESTAMO  PRESTAMO VALUES VALUES   PAGO,VINTERES,VCOUTA,VIM ERES,VCOUTA,VIMPORTETOTAL, PORTETOTAL, (SEC_PRESTAMO.  NEXTVAL,VMONTO,VFORMA NEXTVAL,VMONTO,VFORMAPAGO,VINT VFECHAPRESTAMO,VESTADOREG VFECHAPRESTA MO,VESTADOREGISTRO,VCODTIPOPR ISTRO,VCODTIPOPRESTAMO,VCOD ESTAMO,VCODCLIENTE); CLIENTE); COMMIT COMMIT;; END  INSERTAR_PRESTAMO; END INSERTAR_PRESTAMO; -------------------------------------------------------------------------------------------------------------PROCEDURE  (VCODPRESTAMO NUMERIC,VMONTO ,VMONTO NUMERIC  NUMERIC,VFORMAPAGO ,VFORMAPAGO PROCEDURE  ACTUALIZAR_PRESTAMO (VCODPRESTAMO NUMERIC VARCHAR2 VARCHAR2,VINTERES ,VINTERES NUMERIC  NUMERIC,VCOUTA ,VCOUTA NUMERIC  NUMERIC,VIMPORTETOTAL ,VIMPORTETOTAL NUMERIC  NUMERIC,VFECHAPRESTAMO ,VFECHAPRESTAMO DATE,VESTADOREGISTRO DATE,VESTADOREGISTRO CHAR ,VCODTIPOPRESTAMO NUMERIC ,VCODTIPOPRESTAMO NUMERIC,VCODCLIENTE ,VCODCLIENTE NUMERIC  NUMERIC)) IS  IS  BEGIN  BEGIN  UPDATE PRESTAMO SET  UPDATE PRESTAMO SET  MONTO=VMONTO,FORMAPAGO=VFORMAPAGO,INTERES=VINTERES,COUTA=VCOUTA, IMPORTETOTAL=VIMPORTETOTA IMPORTETOTAL =VIMPORTETOTAL,FECHAPRESTAM L,FECHAPRESTAMO=VFECHAPRESTA O=VFECHAPRESTAMO, MO, ESTADOREGISTRO = VESTADOREGISTRO, ESTADOREGISTRO VESTADOREGISTRO, CODTIPOPRESTAMO=VCODT CODTIPOPRESTAMO=VCODTIPOPRESTAMO, IPOPRESTAMO, CODCLIENTE=VCODCLIENTEWHERE CODCLIENTE=VCODCLIENTE WHERE  CODPRESTAMO=VCODPRESTAM CODPRESTAMO=VCODPRESTAMO; O; COMMIT;; COMMIT END  ACTUALIZAR_PRESTAMO; END ACTUALIZAR_PRESTAMO;

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

------------------------------------------------------------------------------------------------------------PROCEDURE  ELIMINAR_PRESTAMO ELIMINAR_PRESTAMO (VCODPRESTAMO (VCODPRESTAMO NUMERIC  NUMERIC)) PROCEDURE IS  IS  BEGIN   BEGIN DELETE  FROM PRESTAMO  PRESTAMO WHERE WHERE  CODPRESTAMO=VCODPRESTA CODPRESTAMO=VCODPRESTAMO; MO; DELETE FROM COMMIT COMMIT;; END  ELIMINAR_PRESTAMO; END ELIMINAR_PRESTAMO; ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE  LISTAR_PRESTAMO LISTAR_PRESTAMO IS   IS

161

BEGIN   BEGIN

DECLARE  CURSOR  C_PRESTAMO  C_PRESTAMO IS  IS  DECLARE CODPRESTAMO,MONTO,FORMA ,MONTO,FORMAPAGO,INTERES,COU PAGO,INTERES,COUTA,IMPORTETO TA,IMPORTETOTAL,FECHAPRESTA TAL,FECHAPRESTAMO, MO, SELECT CODPRESTAMO ESTADOREGISTRO,CODTIPOPRESTAMO,CODCL ESTADOREGISTRO,CODTIPOPREST AMO,CODCLIENTE IENTE FROM FROM PRESTAMO;  PRESTAMO;

VCODPRESTAMO NUMERIC VCODPRESTAMO  NUMERIC(10); (10); VMONTO NUMERIC VMONTO  NUMERIC(7,2); (7,2); VARCHAR2(30); (30); VFORMAPAGO VARCHAR2 (2,2); VINTERES NUMERIC(2,2); VINTERES NUMERIC  NUMERIC(10); (10); VCOUTA NUMERIC VCOUTA VIMPORTETOTAL NUMERIC VIMPORTETOTAL  NUMERIC(7,2); (7,2); VFECHAPRESTAMO DATE; DATE; (1); VESTADOREGISTRO CHAR (1);  NUMERIC(10); (10); VCODTIPOPRESTAMO NUMERIC VCODTIPOPRESTAMO  NUMERIC(10); (10); VCODCLIENTE NUMERIC VCODCLIENTE

BEGIN BEGIN   OPEN C_PRESTAMO;  C_PRESTAMO; OPEN LOOP LOOP   FETCH C_PRESTAMO  C_PRESTAMO INTO INTO   FETCH VCODPRESTAMO,VMONTO,VFOR VCODPRESTA MO,VMONTO,VFORMAPAGO,VIN MAPAGO,VINTERES,VCOUTA TERES,VCOUTA,VIMPORTETOTAL ,VIMPORTETOTAL,VFECHAPRESTA ,VFECHAPRESTAMO,VES MO,VES TADOREGISTRO,VCODTIPOPRESTA TADOREGI STRO,VCODTIPOPRESTAMO,VCODCLIE MO,VCODCLIENTE; NTE; IF C_PRESTAMO%FOUND IF  C_PRESTAMO%FOUND THEN THEN   DBMS_OUTPUT.PUT_LINE(VCODPRESTAMO||' DBMS_OUTPUT.PUT_LINE(VCO DPRESTAMO||' '||VMONTO||' '||VMONTO||' '||VFORMAPAGO||' '||VFORMAPAGO||' '|| VINTERES||''||VCOUTA||' VINTERES||''|| VCOUTA||' '||VIMPORTETO ' ||VIMPORTETOTAL||' TAL||' '||VFECHAPRESTAMO||' '||VFECHAPRESTAMO||' '||VESTADOREGISTRO||' '||VESTADOREGISTRO||' '|| ' || VCODTIPOPRESTAMO||' VCODTIPOPREST AMO||' '||VCODCLIENTE); '||VCODCLIENTE); ELSE   ELSE EXIT;; EXIT END  IF IF;; END

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

END  LOOP END LOOP;; CLOSE C_PRESTAMO; END END;; COMMIT;; COMMIT END  END LISTAR_PRESTAMO; LISTAR_PRESTAMO;

162

FUNCTION  OBTENER_PRESTAMO(VCODPRESTA FUNCTION OBTENER_PRESTAMO(VCODPRESTAMO MO NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2   IS IS   VDATOSPRESTAMO VARCHAR2(500); VARCHAR2 (500); BEGIN BEGIN   SELECT   CODPRESTAMO|| ', ' ||MONTO|| ', ' ||FORMAPAGO|| ', ' ||INTERES|| ', ' ||COUTA|| ||COUTA|| ', ' SELECT ||IMPORTETOTAL || ', ' ||FECHA ||FECHAPRESTAMO|| PRESTAMO|| ', ' ||ESTADOREGISTRO|| ||ESTADOREGISTRO|| ', ' ||CODTIPOPRESTAMO|| ||CODTIPOPRESTAMO|| ', ' ||CODCLIENTE ||CODCLIENTE INTO INTO  VDATOSPRESTAMO VDATOSPRESTAMO FROM PRESTAMO FROM PRESTAMO WHERE   CODPRESTAMO=VCODPRESTAMO; WHERE RETURN VCODPRESTAMO;  VCODPRESTAMO; RETURN END END  OBTENER_PRESTA OBTENER_PRESTAMO; MO;

END END PKPRESTAMO;  PKPRESTAMO;

PAQUETE TICKET MOVIMIENTO CREATE  REPLACE PACKAGE  PACKAGE PKTICKET_MOVIMIENTO PKTICKET_MOVIMIENTO AS AS   CREATE OR  REPLACE  PROCEDURE INSERTA PROCEDURE  INSERTAR_TICKET_MOVIMIENT R_TICKET_MOVIMIENTO O (VFECEMISION DATE DATE,VCODMOVIMIENTO ,VCODMOVIMIENTO  NUMERIC,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ); );  NUMERIC PROCEDURE  (VCODTICKETMOVIMIENTO NUMERIC,VFECEMISION ,VFECEMISION PROCEDURE  ACTUALIZAR_TICKET_MOVIMIENTO (VCODTICKETMOVIMIENTO NUMERIC DATE,VCODMOVIMIENTO NUMERIC DATE,VCODMOVIMIENTO  NUMERIC,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ));; PROCEDURE  (VCODTICKETMOVIMIENTO NUMERIC); ); PROCEDURE  ELIMINAR_TICKET_MOVIMIENTO (VCODTICKETMOVIMIENTO NUMERIC PROCEDURE  LISTAR_TICKET_MOVIMIENTO; ET_MOVIMIENTO; PROCEDURE LISTAR_TICK OBTENER_TICKETMOVIMIENTO(V ETMOVIMIENTO(VCODTICKETMO CODTICKETMOVIMIENTO VIMIENTO NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2;; FUNCTION OBTENER_TICK END END  PKTICKET_MOVIMIENTO; PKTICKET_MOVIMIENTO;

CREATE  REPLACE PACKAGE  PACKAGE BODY  BODY PKTICKET_MOVIMIENTO PKTICKET_MOVIMIENTO AS  AS  CREATE OR  REPLACE  ------------------------------------------------------------------------------------------------------------PROCEDURE  INSERTAR_TICKET_MOVIMIENTO INSERTAR_TICKET_MOVIMIENTO (VFECEMISION DATE,VCODMOVIMIENTO DATE,VCODMOVIMIENTO PROCEDURE  NUMERIC,VESTADOREGISTRO  NUMERIC,VESTADOREGISTRO CHAR ) IS IS   BEGIN   BEGIN INSERT  INTO  TICKET_MOVIMIEN TICKET_MOVIMIENTO TO VALUES VALUES   INSERT INTO (SEC_TICKET_MOVIMIENTO. NEXTVAL,VFECEMISION,VC  NEXTVAL,VFECEMISION,VCODMOVIMIENTO ODMOVIMIENTO,VESTADOREG ,VESTADOREGISTRO); ISTRO); COMMIT;; COMMIT

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

END END  INSERTAR_TICKET_MOVIMIENT INSERTAR_TICKET_MOVIMIENTO; O;

163

------------------------------------------------------------------------------------------------------------PROCEDURE  (VCODTICKETMOVIMIENTO NUMERIC,VFECEMISION ,VFECEMISION PROCEDURE  ACTUALIZAR_TICKET_MOVIMIENTO (VCODTICKETMOVIMIENTO NUMERIC DATE,VCODMOVIMIENTO ,VCODMOVIMIENTO NUMERIC  NUMERIC,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ) DATE IS  IS  BEGIN  BEGIN  UPDATE  SET  UPDATE  TICKET_MOVIMIENTO SET  FECEMISION=VFECEMISION,CODMOVIMIENTO= FECEMISION=VFECEMISION,COD MOVIMIENTO=VCODMOVIMIENT VCODMOVIMIENTO,ESTADOREG O,ESTADOREGISTRO=VESTADO ISTRO=VESTADOREGIST REGIST COMMIT; RO WHERE  WHERE  CODTICKETMOVIMIENTO=VCODTICKETMOVIMIENTO; COMMIT; END END  ACTUALIZAR_TICKET_MOVIMIEN ACTUALIZAR_TICKET_MOVIMIENTO; TO; ------------------------------------------------------------------------------------------------------------PROCEDURE  ELIMINAR_TICKET_MOVIMIENTO (VCODTICKETMOVIMIENTO NUMERIC PROCEDURE  (VCODTICKETMOVIMIENTO NUMERIC)) IS   IS BEGIN   BEGIN DELETE  FROM   TICKET_MOVIMIENTO WHERE  WHERE  CODTICKETMOVIMIENTO=VCODTICKETMOVIMIENTO; DELETE FROM COMMIT COMMIT;; END  ELIMINAR_TICKET_MOVIMIENTO; O; END ELIMINAR_TICKET_MOVIMIENT ------------------------------------------------------------------------------------------------------------PROCEDURE  LISTAR_TICKET_MOVIMIENTO LISTAR_TICKET_MOVIMIENTO PROCEDURE IS  IS  BEGIN   BEGIN DECLARE  CURSOR  C_TICKET_MOVIM C_TICKET_MOVIMIENTO IENTO IS  IS  DECLARE CODTICKETMOVIMIENTO,FECEMISI OVIMIENTO,FECEMISION,CODMOVIMI ON,CODMOVIMIENTO,ESTAD ENTO,ESTADOREGISTRO OREGISTRO SELECT CODTICKETM FROM FROM  TICKET_MOVIMI TICKET_MOVIMIENTO; ENTO;

(10); VCODTICKETMOVIMIENTO NUMERIC(10); VCODTICKETMOVIMIENTO NUMERIC DATE;; VFECEMISION DATE VCODMOVIMIENTO  NUMERIC(10); VCODMOVIMIENTO NUMERIC (10); VESTADOREGISTRO CHAR (1); (1); BEGIN BEGIN   OPEN OPEN  C_TICKET_MO C_TICKET_MOVIMIENTO; VIMIENTO; LOOP   LOOP FETCH  C_TICKET_MOVIMIENTO C_TICKET_MOVIMIENTO INTO INTO   FETCH VCODTICKETMOVIMIENTO,VFECEMISION,VCODMO VCODTICKETMOVIMIENTO,VFECE MISION,VCODMOVIMIENTO VIMIENTO,VESTADOREGIST ,VESTADOREGISTRO; RO; IF IF   C_TICKET_MOVIMIENTO%FOUND THEN  THEN  DBMS_OUTPUT.PUT_LINE(VCODTICKETMOVI DBMS_OUTPUT.PUT_LINE(VCO DTICKETMOVIMIENTO||' MIENTO||' '||VFECEMISION||' '||VFECEMISION||' '||VCODMOVIMIENTO||' '||VCODMOVIMIENTO||' '||VESTADOREGISTRO); ELSE  ELSE  EXIT EXIT;; END  IF IF;; END END  LOOP;; END LOOP

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

164

CLOSE C_TICKET_MOVIMIENTO; C_TICKET_MOVIMIENTO; END; END; COMMIT;; COMMIT END  LISTAR_TICKET_MOVIMIENTO; END LISTAR_TICKET_MOVIMIENTO; ------------------------------------------------------------------------------------------------------------FUNCTION OBTENER_TICKET OBTENER_TICKETMOVIMIENTO(VCO MOVIMIENTO(VCODTICKETMOVI DTICKETMOVIMIENTO MIENTO NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2   IS   IS VDATOSTICKETMOVIMIENTO VARCHAR2(500); VARCHAR2 (500); BEGIN   BEGIN SELECT SELECT   CODTICKETMOVIMIENTO|| CODTICKETMOVIMIENTO|| ', ' ||FECEMISION|| ||FECEMISION|| ', ' ||CODMOVIMIENTO| ||CODMOVIMIENTO||| ', ' ||ESTADOREGISTRO INTO  VDATOSTICKETMOVIMIENTO VDATOSTICKETMOVIMIENTO FROM  FROM TICKET_MOVIM TICKET_MOVIMIENTO IENTO INTO WHERE WHERE   CODTICKETMOVIMIENTO=VCODTICKETMOVIMIENTO; RETURN  VCODTICKETMOVIMIENTO; VCODTICKETMOVIMIENTO; RETURN END  OBTENER_TI OBTENER_TICKETMOVIMIENT CKETMOVIMIENTO; O; END END END  PKTICKET_MOVIMIENTO; PKTICKET_MOVIMIENTO;

PAQUETE TICKET PAGO PRESTAMO CREATE  REPLACE PACKAGE  PACKAGE PKTICKET_PAGO_PRESTAMO PKTICKET_PAGO_PRESTAMO AS  AS  CREATE OR  REPLACE  PROCEDURE  INSERTAR_TICKET_PAGO_PRESTA R_TICKET_PAGO_PRESTAMO MO (VFECEMISION DATE DATE,VCODPAGOPRESTAMO ,VCODPAGOPRESTAMO PROCEDURE INSERTA  NUMERIC  NUMERIC,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ); ); PROCEDURE  PROCEDURE  ACTUALIZAR_TICKET_PAGO_PRESTAM(VCODTICKETPAGOPRESTAMO  NUMERIC  NUMERIC,VFECEMISION ,VFECEMISION DATE,VCODPAGOPRESTAMO DATE,VCODPAGOPRESTAMO  NUMERIC,VESTADOREGISTRO  NUMERIC,VESTADOREGISTRO CHAR ));; PROCEDURE  ELIMINAR_TICKET_PAGO_PRESTA ICKET_PAGO_PRESTAMO MO (VCODTICKETPAGOPRESTAMO (VCODTICKETPAGOPRESTAMO NUMERIC  NUMERIC); ); PROCEDURE ELIMINAR_T PROCEDURE  LISTAR_TICKET_PAGO_PRESTA ET_PAGO_PRESTAMO; MO; PROCEDURE LISTAR_TICK FUNCTION OBTENER_TICK OBTENER_TICKETPAGOPRESTAM ETPAGOPRESTAMO(VCODTICKET O(VCODTICKETPAGOPRESTA PAGOPRESTAMO MO NUMERIC  NUMERIC)) RETURN RETURN   VARCHAR2; VARCHAR2; END  PKTICKET_PAGO_PRESTAMO; END PKTICKET_PAGO_PRESTAMO;

CREATE  OR  REPLACE  REPLACE PACKAGE  PACKAGE BODY  BODY PKTICKET_PAGO_PRESTAMO PKTICKET_PAGO_PRESTAMO AS  AS  CREATE ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE  INSERTAR_TICKET_PAGO_PRESTA INSERTAR_TICKET_PAGO_PRESTAMO MO (VFECEMISION DATE DATE,VCODPAGOPRESTAMO ,VCODPAGOPRESTAMO  NUMERIC,VESTADOREGISTRO  NUMERIC,VESTADOREGISTRO CHAR ) IS   IS BEGIN   BEGIN INSERT INTO INSERT  INTO  TICKET_PAGO TICKET_PAGO_PRESTAMO _PRESTAMO VALUES VALUES   (SEC_TICKET_PAGO_PRESTAMO. NEXTVAL  NEXTVAL,VFECEMISION,VCOD ,VFECEMISION,VCODPAGOPRESTAMO PAGOPRESTAMO,, VESTADOREGISTRO); VESTADOREGISTRO); COMMIT; COMMIT; END  END INSERTAR_TICKET_PAGO_PRESTA INSERTAR_TICKET_PAGO_PRESTAMO; MO; -------------------------------------------------------------------------------------------------------------

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

PROCEDURE ACTUAL ACTUALIZAR_TICKET_PAG IZAR_TICKET_PAGO_PRESTAM(VCO O_PRESTAM(VCODTICKETPAGO DTICKETPAGOPRESTAMO PRESTAMO  NUMERIC,VFECEMISION  NUMERIC,VFECEMISION DATE,VCODPAGOPRESTAMO DATE,VCODPAGOPRESTAMO  NUMERIC,VESTADOREGISTRO  NUMERIC,VESTADOREGISTRO CHAR ) IS  IS  BEGIN  BEGIN  UPDATE TICKET_PAGO UPDATE  TICKET_PAGO_PRESTAMO _PRESTAMO SET  SET  FECEMISION=VFECEMISION,COD FECEMISION=VFEC EMISION,CODPAGOPRESTAMO PAGOPRESTAMO=VCODPAGO PRESTAMO, WHERE  ESTADOREGISTRO=VESTADOREGISTRO WHERE  =VCODPAGOPRESTAMO, CODTICKETPAGOPRESTAMO=VCODTICKETPAGOPRESTAMO; COMMIT; COMMIT; END ACTUALIZAR_TICKET_PAGO_PRE END  ACTUALIZAR_TICKET_PAGO_PRESTAM; STAM; ------------------------------------------------------------------------------------------------------------PROCEDURE  ELIMINAR_TICKET_PAGO_PRESTAMO MO (VCODTICKETPAGOPRESTAMO (VCODTICKETPAGOPRESTAMO NUMERIC  NUMERIC)) PROCEDURE ELIMINAR_TICKET_PAGO_PRESTA IS  IS  BEGIN   BEGIN DELETE  FROM  TICKET_PAG TICKET_PAGO_PRESTAMO O_PRESTAMO WHERE  WHERE  DELETE FROM CODTICKETPAGOPRESTAMO=VCO CODTICKETPAG OPRESTAMO=VCODTICKETPAG DTICKETPAGOPRESTAMO; OPRESTAMO; COMMIT COMMIT;; END  ELIMINAR_TICKET_PAGO_PRESTAMO; MO; END ELIMINAR_TICKET_PAGO_PRESTA ------------------------------------------------------------------------------------------------------------PROCEDURE  LISTAR_TICKET_PAGO_PRESTAMO MO PROCEDURE LISTAR_TICKET_PAGO_PRESTA IS  IS  BEGIN   BEGIN

DECLARE DECLARE  CURSOR  C_TICKET_PAG C_TICKET_PAGO_PRESTAMO O_PRESTAMO IS  IS  CODTICKETPAGOPRESTAMO OPRESTAMO,FECEMISION,CODPA ,FECEMISION,CODPAGOPRESTAMO,ESTA GOPRESTAMO,ESTADOREGISTRO DOREGISTRO SELECT CODTICKETPAG FROM  TICKET_PAG TICKET_PAGO_PRESTAMO; O_PRESTAMO; FROM

VCODTICKETPAGOPRESTAMO  NUMERIC  NUMERIC(10); (10); DATE;; VFECEMISION DATE  NUMERIC(10); (10); VCODPAGOPRESTAMO NUMERIC VCODPAGOPRESTAMO VESTADOREGISTRO CHAR (1); (1); BEGIN   BEGIN OPEN  C_TICKET_PAG C_TICKET_PAGO_PRESTAMO; O_PRESTAMO; OPEN LOOP   LOOP FETCH FETCH  C_TICKET_PAGO_PRESTAMO C_TICKET_PAGO_PRESTAMO INTO  INTO  VCODTICKETPAGOPRESTAMO,VFECEMISION,VCOD VCODTICKETPAGOPRESTAMO,VFE CEMISION,VCODPAGOPRESTAMO PAGOPRESTAMO,VESTADOREG ,VESTADOREGISTRO; ISTRO; IF  IF C_TICKET_PAGO_PRESTAMO%FOU C_TICKET_PAGO_PRESTAMO%FOUND ND THEN THEN   DBMS_OUTPUT.PUT_LINE(VCO DBMS_OUTPUT .PUT_LINE(VCODTICKETPAG DTICKETPAGOPRESTAMO||' OPRESTAMO||' '|| VFECEMISION ||''|| VCODPAGOPRESTAMO||' VCODPAGO PRESTAMO||' '||VESTADOREGISTRO); '||VESTADOREGISTRO); ELSE   ELSE

165

EXIT;; EXIT END  IF IF;; END

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

END  LOOP END LOOP;; CLOSE C_TICKET_PAGO_PRESTAMO; C_TICKET_PAGO_PRESTAMO; END END;; COMMIT;; COMMIT END  LISTAR_TICKET_PAGO_PRESTAMO;; END LISTAR_TICKET_PAGO_PRESTAMO ------------------------------------------------------------------------------------------------------------OBTENER_TICKETPAGOPRESTAMO PAGOPRESTAMO(VCODTICKETPAG (VCODTICKETPAGOPRESTAMO OPRESTAMO NUMERIC  NUMERIC)) RETURN RETURN   FUNCTION OBTENER_TICKET VARCHAR2  VARCHAR2  IS   IS VDATOSTICKETPAGOPRESTAMO VARCHAR2(500); VARCHAR2 (500); BEGIN   BEGIN SELECT   CODTICKETPAGOPRESTAMO|| CODTICKETPAGOPRESTAMO|| ', ' ||FECEMISION|| ||FECEMISION|| ', ' ||CODPAGOPRESTAMO ||CODPAGOPRESTAMO || ', ' || SELECT ESTADOREGISTRO INTO INTO  VDATOSTICKETPAGOPRESTAM VDATOSTICKETPAGOPRESTAMO O FROM FROM  TICKET_PAG TICKET_PAGO_PRESTAMO O_PRESTAMO WHERE  WHERE  CODTICKETPAGOPRESTAMO=VCODTICKETPAGOPRESTAMO; RETURN  VCODTICKETPAGOPRESTAMO; VCODTICKETPAGOPRESTAMO; RETURN END END   OBTENER_TICKETPAGOPRESTAMO;

END  PKTICKET_PAGO_PRESTAMO; PKTICKET_PAGO_PRESTAMO; END

PAQUETE TIPO CONTRATO CREATE CREATE  OR  REPLACE  REPLACE PACKAGE  PACKAGE PKTIPO_CONTRATO PKTIPO_CONTRATO AS  AS  PROCEDURE  VARCHAR2,VESTADOREGISTRO CHAR ));; PROCEDURE  INSERTAR_TIPO_CONTRATO (VDESCRIPCION VARCHAR2,VESTADOREGISTRO PROCEDURE  ACTUALIZAR_TIPO_CONTRATO(VCODTIPOCONTRATO NUMERIC,VDESCRIPCION ,VDESCRIPCION PROCEDURE  ACTUALIZAR_TIPO_CONTRATO(VCODTIPOCONTRATO NUMERIC VARCHAR2,VESTADOREGISTRO CHAR ); VARCHAR2,VESTADOREGISTRO ); PROCEDURE   ELIMINAR_TIPO_CONTRATO(VCODTIPOCONTRATO NUMERIC ELIMINAR_TIPO_CONTRATO(VCODTIPOCONTRATO NUMERIC); ); PROCEDURE PROCEDURE  LISTAR_TIPO_CONTRATO; ONTRATO; PROCEDURE LISTAR_TIPO_C OBTENER_TIPO_CONTRATO(VCO NTRATO(VCODTIPOCONTRAT DTIPOCONTRATO O NUMERIC)  NUMERIC) RETURN  RETURN  VARCHAR2 ; VARCHAR2 ; FUNCTION OBTENER_TIPO_CO END END  PKTIPO_CONTRATO; PKTIPO_CONTRATO;

CREATE  CREATE OR  REPLACE  REPLACE PACKAGE  PACKAGE BODY  BODY PKTIPO_CONTRATO PKTIPO_CONTRATO AS  AS  ------------------------------------------------------------------------------------------------------------PROCEDURE  INSERTAR_TIPO_CONTRATO INSERTAR_TIPO_CONTRATO (VDESCRIPCION VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO CHAR ) PROCEDURE

166

IS   IS BEGIN   BEGIN INSERT INTO INSERT  INTO TIPO_CONTRATO  TIPO_CONTRATO VALUES  VALUES  (SEC_TIPO_CONTRATO. NEXTVAL,VDESCRIPCION,VESTADOREGISTRO);  NEXTVAL,VDESCRIPCION,VESTADOREGISTRO); COMMIT;; COMMIT END INSERTAR_TIPO_CONTRATO; END  INSERTAR_TIPO_CONTRATO; -------------------------------------------------------------------------------------------------------------

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

PROCEDURE   ACTUALIZAR_TIPO_CONTRATO(VCODTIPOCONTRATO NUMERIC PROCEDURE ACTUALIZAR_TIPO_CONTRATO(VCODTIPOCONTRATO NUMERIC,VDESCRIPCION ,VDESCRIPCION VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ) IS   IS BEGIN  BEGIN  UPDATE TIPO_CONTRATO SET  UPDATE TIPO_CONTRATO SET  DESCRIPCION=VDESCRIPCION,ESTADOREGISTRO=VESTADOREGISTRO WHERE  WHERE  CODTIPOCONTRATO=VCODTIPOCONTRATO; COMMIT; COMMIT; END  ACTUALIZAR_TIPO_CONTRATO; TO; END ACTUALIZAR_TIPO_CONTRA ------------------------------------------------------------------------------------------------------------PROCEDURE  PROCEDURE  ELIMINAR_TIPO_CONTRATO (VCODTIPOCONTRATO NUMERIC (VCODTIPOCONTRATO NUMERIC)) IS IS   BEGIN   BEGIN DELETE  FROM TIPO_CONTRATO  TIPO_CONTRATO WHERE  WHERE  CODTIPOCONTRATO=VCODTIPOCONTRATO; DELETE FROM COMMIT; COMMIT; END  ELIMINAR_TIPO_CONTRATO; END ELIMINAR_TIPO_CONTRATO; ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE  LISTAR_TIPO_CONTRATO LISTAR_TIPO_CONTRATO IS  IS  BEGIN   BEGIN

DECLARE  CURSOR   C_TIPO_CONTRATO IS  IS  DECLARE CODTIPOCONTRATO,DESCRIPCION TRATO,DESCRIPCION,ESTADOREG ,ESTADOREGISTRO ISTRO SELECT CODTIPOCON FROM FROM  TIPO_CONTR TIPO_CONTRATO; ATO;

VCODTIPOCONTRATO NUMERIC VCODTIPOCONTRATO  NUMERIC(10); (10); VARCHAR2(40); (40); VDESCRIPCION VARCHAR2 VESTADOREGISTRO CHAR (1); (1); BEGIN BEGIN   OPEN  C_TIPO_CONTR C_TIPO_CONTRATO; ATO; OPEN LOOP LOOP  

167

FETCH C_TIPO_CONTRATO FETCH  C_TIPO_CONTRATO INTO VCODTIPOCON VCODTIPOCONTRATO,VDESCR TRATO,VDESCRIPCION,VESTA IPCION,VESTADOREGISTRO; DOREGISTRO; IF  THEN   IF  C_TIPO_CONTRATO%FOUND THEN DBMS_OUTPUT.PUT_LINE(VCO DBMS_OUTPUT .PUT_LINE(VCODTIPOCONT DTIPOCONTRATO||' RATO||' '||VDESCRIPCION||' '||VDESCRIPCION||' '||VESTADOREGISTRO); '||VESTADOREGISTRO); ELSE   ELSE EXIT EXIT;; END  IF IF;; END END LOOP END  LOOP;; CLOSE C_TIPO_CONTRATO; C_TIPO_CONTRATO; END;; END COMMIT;; COMMIT

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

END  LISTAR_TIPO_CONTRATO; END LISTAR_TIPO_CONTRATO; ------------------------------------------------------------------------------------------------------------FUNCTION OBTENER_TIPO_CON OBTENER_TIPO_CONTRATO(VCOD TRATO(VCODTIPOCONTRAT TIPOCONTRATO O NUMERIC)  NUMERIC) RETURN  RETURN VARCHAR2  VARCHAR2   IS   IS VDATOSTIPOCONTRATO VARCHAR2(500); VARCHAR2(500); BEGIN  BEGIN  SELECT   CODTIPOCONTRATO|| CODTIPOCONTRATO|| ', ' ||DESCRIPCION|| ', ' ||ESTADOREGISTRO ||ESTADOREGISTRO SELECT INTO INTO VDATOSTIPOCONTRATO  VDATOSTIPOCONTRATO FROM  FROM TIPO_CONTRATO WHERE   CODTIPOCONTRATO=VCODTIPOCONTRATO; WHERE RETURN RETURN  VCODTIPOCONTRATO; VCODTIPOCONTRATO; END  OBTENER_TI OBTENER_TIPO_CONTRATO; PO_CONTRATO; END

END  PKTIPO_CONTRATO; PKTIPO_CONTRATO; END

PAQUETE TIPO CUENTA CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE PKTIPO_CUENTA AS  AS  PROCEDURE  INSERTAR_TIPO_CUENTA R_TIPO_CUENTA (VDESCRIPCION VARCHAR2 VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ));; PROCEDURE INSERTA PROCEDURE  ACTUALIZAR_TIPO_CUENTA(VCODTIPOCUENTA NUMERIC PROCEDURE  ACTUALIZAR_TIPO_CUENTA(VCODTIPOCUENTA NUMERIC,VDESCRIPCION ,VDESCRIPCION VARCHAR2,VESTADOREGISTRO ); VARCHAR2,VESTADOREGISTRO CHAR ); PROCEDURE PROCEDURE   ELIMINAR_TIPO_CUENTA(VCODTIPOCUENTA NUMERIC ELIMINAR_TIPO_CUENTA(VCODTIPOCUENTA NUMERIC); ); PROCEDURE PROCEDURE  LISTAR_TIPO_C LISTAR_TIPO_CUENTA; UENTA; FUNCTION FUNCTION  OBTENER_TIPO_CUENTA(VCOD OBTENER_TIPO_CUENTA(VCODTIPOCUENTA TIPOCUENTA NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2; VARCHAR2; END P  PKTIPO_CUENT KTIPO_CUENTA; A; END

168

CREATE  OR  REPLACE  CREATE REPLACE PACKAGE  PACKAGE BODY P BODY PKTIPO_CUENTA KTIPO_CUENTA AS  AS  ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE  INSERTAR_TIPO_CUENTA INSERTAR_TIPO_CUENTA (VDESCRIPCION VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO CHAR ) IS  IS  BEGIN   BEGIN INSERT  INTO TIPO_CUENTA  TIPO_CUENTA VALUES VALUES   INSERT INTO (SEC_TIPO_CUENTA. NEXTVAL,VDESCRIPCION,VESTADOREGISTRO);  NEXTVAL,VDESCRIPCION,VESTADOREGISTRO); COMMIT COMMIT;; END  INSERTAR_TIPO_CUENTA; END INSERTAR_TIPO_CUENTA; ------------------------------------------------------------------------------------------------------------PROCEDURE  ACTUALIZAR_TIPO_CUENTA(VCODTIPOCUENTA NUMERIC PROCEDURE  ACTUALIZAR_TIPO_CUENTA(VCODTIPOCUENTA NUMERIC,VDESCRIPCION ,VDESCRIPCION VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO CHAR ) IS   IS BEGIN  BEGIN  UPDATE TIPO_CUENTA DESCRIPCION=VDESCRIPCION,E SCRIPCION,ESTADOREGISTRO STADOREGISTRO=VESTADOREG =VESTADOREGISTRO ISTRO UPDATE TIPO_CUENTA SET DESCRIPCION=VDE WHERE WHERE   CODTIPOCUENTA=VCODTIPOCUENTA;

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

COMMIT;; COMMIT END ACTUALIZAR_TIPO_CUENTA END  ACTUALIZAR_TIPO_CUENTA;; ------------------------------------------------------------------------------------------------------------PROCEDURE   ELIMINAR_TIPO_CUENTA (VCODTIPOCUENTA NUMERIC (VCODTIPOCUENTA NUMERIC)) PROCEDURE IS   IS BEGIN BEGIN   DELETE  FROM TIPO_CUENTA  TIPO_CUENTA WHERE WHERE   CODTIPOCUENTA=VCODTIPOCUENTA; DELETE FROM COMMIT;; COMMIT END  ELIMINAR_TIPO_CUENTA; END ELIMINAR_TIPO_CUENTA; ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE  LISTAR_TIPO_CUENTA LISTAR_TIPO_CUENTA IS  IS  BEGIN   BEGIN DECLARE  CURSOR  C_TIPO_CUENTA   C_TIPO_CUENTA IS  IS  DECLARE CODTIPOCUENTA,DESCRIPCION TA,DESCRIPCION,ESTADOREG ,ESTADOREGISTRO ISTRO SELECT CODTIPOCUEN FROM FROM  TIPO_CUENT TIPO_CUENTA; A;

VCODTIPOCUENTA NUMERIC VCODTIPOCUENTA  NUMERIC(10); (10); VARCHAR2(30); (30); VDESCRIPCION VARCHAR2 VESTADOREGISTRO CHAR (1); (1); BEGIN

169

BEGIN   BEGIN OPEN  C_TIPO_CUENT C_TIPO_CUENTA; A; OPEN LOOP   LOOP FETCH FETCH  C_TIPO_CUENTA INTO VCODTIPOCUEN VCODTIPOCUENTA,VDESCRIPCION TA,VDESCRIPCION,VESTADOR ,VESTADOREGISTRO; EGISTRO; IF  THEN   IF  C_TIPO_CUENTA%FOUND THEN DBMS_OUTPUT.PUT_LINE(VCO DBMS_OUTPUT .PUT_LINE(VCODTIPOCUENTA DTIPOCUENTA||' ||' '||VDESCRIPCION||' '||VDESCRIPCION||' '||VESTADOREGISTRO); '||VESTADOREGISTRO); ELSE  ELSE  EXIT;; EXIT END  IF IF;; END END LOOP END  LOOP;; CLOSE C_TIPO_CUENTA; C_TIPO_CUENTA; END END;; COMMIT;; COMMIT END  LISTAR_TIPO_CUENTA; END LISTAR_TIPO_CUENTA; ------------------------------------------------------------------------------------------------------------FUNCTION  OBTENER_TIPO_CUENTA(VCODT OBTENER_TIPO_CUENTA(VCODTIPOCUENTA IPOCUENTA NUMERIC  NUMERIC)) RETURN  RETURN VARCHAR2 VARCHAR2   FUNCTION IS   IS VDATOSTIPOCUENTA VARCHAR2(500); VARCHAR2 (500); BEGIN   BEGIN SELECT   CODTIPOCUENTA|| CODTIPOCUENTA|| ', ' ||DESCRIPCION|| ', ' ||ESTADOREGISTRO ||ESTADOREGISTRO SELECT

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

INTO VDATOSTIPOCUENTA INTO  VDATOSTIPOCUENTA FROM TIPO_CUENTA FROM TIPO_CUENTA WHERE   CODTIPOCUENTA=VCODTIPOCUENTA; WHERE RETURN RETURN  VCODTIPOCUENTA; VCODTIPOCUENTA; END   OBTENER_TIPO_CUENTA; END

END END P  PKTIPO_CUENT KTIPO_CUENTA; A;

PAQUETE TIPO MOVIMIENTO CREATE  REPLACE PACKAGE  PACKAGE PKTIPO_MOVIMIENTO PKTIPO_MOVIMIENTO AS  AS  CREATE OR  REPLACE  PROCEDURE  VARCHAR2,VESTADOREGISTRO ,VESTADOREGISTRO CHAR ));; PROCEDURE  INSERTAR_TIPO_MOVIMIENTO(VDESCRIPCION VARCHAR2 PROCEDURE  ACTUALIZAR_TIPO_MOVIMIENTO(VCODTIPOMOVIMIENTO NUMERIC PROCEDURE  ACTUALIZAR_TIPO_MOVIMIENTO(VCODTIPOMOVIMIENTO NUMERIC,VDESCRIPCION ,VDESCRIPCION VARCHAR2,VESTADOREGISTRO ); VARCHAR2,VESTADOREGISTRO CHAR ); PROCEDURE PROCEDURE   ELIMINAR_TIPO_MOVIMIENTO(VCODTIPOMOVIMIENTO NUMERIC ELIMINAR_TIPO_MOVIMIENTO(VCODTIPOMOVIMIENTO NUMERIC); ); PROCEDURE  LISTAR_TIPO_MOVIMIENTO; VIMIENTO; PROCEDURE LISTAR_TIPO_MO FUNCTION OBTENER_TIPO_MO OBTENER_TIPO_MOVIMIENTO(VCO VIMIENTO(VCODTIPOMOVIMIENT DTIPOMOVIMIENTO O NUMERIC)  NUMERIC) RETURN  RETURN VARCHAR2 VARCHAR2;;

170

END  PKTIPO_MOVIMIENTO; END PKTIPO_MOVIMIENTO;

CREATE OR  REPLACE  CREATE  REPLACE PACKAGE  PACKAGE BODY  BODY PKTIPO_MOVIMIENTO PKTIPO_MOVIMIENTO AS AS   ------------------------------------------------------------------------------------------------------------INSERTAR_TIPO_MOVIMIENTO(VD PO_MOVIMIENTO(VDESCRIPCION ESCRIPCION VARCHAR2,VESTADOREGISTRO VARCHAR2,VESTADOREGISTRO CHAR ) PROCEDURE INSERTAR_TI IS   IS BEGIN   BEGIN INSERT INTO INSERT  INTO   TIPO_MOVIMIENTO VALUES VALUES   (SEC_TIPO_MOVIMIENTO. NEXTVAL,VDESCRIPCION,VESTADOREGISTRO);  NEXTVAL,VDESCRIPCION,VESTADOREGISTRO); COMMIT;; COMMIT END INSERTAR_TIPO_MOVIMIENTO; END  INSERTAR_TIPO_MOVIMIENTO; ------------------------------------------------------------------------------------------------------------PROCEDURE  ACTUALIZAR_TIPO_MOVIMIENTO(VCODTIPOMOVIMIENTO NUMERIC,VDESCRIPCION ,VDESCRIPCION PROCEDURE  ACTUALIZAR_TIPO_MOVIMIENTO(VCODTIPOMOVIMIENTO NUMERIC VARCHAR2,VESTADOREGISTRO CHAR ) VARCHAR2,VESTADOREGISTRO IS IS   BEGIN  BEGIN  UPDATE  TIPO_MOVIMIENTO SET  UPDATE  SET  DESCRIPCION=VDESCRIPCION,ESTADOREGISTRO=VESTADOREGISTRO WHERE  WHERE  CODTIPOMOVIMIENTO=VCODTIPOMOVIMIENTO; COMMIT; COMMIT; END  ACTUALIZAR_TIPO_MOVIMIENTO; O; END ACTUALIZAR_TIPO_MOVIMIENT ------------------------------------------------------------------------------------------------------------PROCEDURE PROCEDURE  ELIMINAR_TIPO_MOVIMIENTO ELIMINAR_TIPO_MOVIMIENTO (VCODTIPOMO (VCODTIPOMOVIMIENTO VIMIENTO NUMERIC  NUMERIC)) IS IS   BEGIN   BEGIN

MODELAMIENTO DE UNA BASE DE DATOS EN ORACLE

 

DELETE  FROM DELETE FROM   TIPO_MOVIMIENTO WHERE WHERE   CODTIPOMOVIMIENTO=VCODTIPOMOVIMIENTO; COMMIT COMMIT;; END  ELIMINAR_TIPO_MOVIMIENTO; END ELIMINAR_TIPO_MOVIMIENTO; ------------------------------------------------------------------------------------------------------------PROCEDURE  LISTAR_TIPO_MOVIMIENTO LISTAR_TIPO_MOVIMIENTO PROCEDURE IS  IS  BEGIN   BEGIN

DECLARE DECLARE  CURSOR  C_TIPO_MOVIMIEN C_TIPO_MOVIMIENTO TO IS  IS  SELECT CODTIPOMOVIMI CODTIPOMOVIMIENTO,DESCRIPCIO ENTO,DESCRIPCION,ESTADOREG N,ESTADOREGISTRO ISTRO FROM FROM  TIPO_MOVIMIEN TIPO_MOVIMIENTO; TO;

171

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF