Tesis Final de La Cooperativa
February 26, 2023 | Author: Anonymous | Category: N/A
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
dé
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
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)
00INACTIVO 01ACTIVO
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
00INACTIVO 01ACTIVO 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)
00INACTIVO 01ACTIVO 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
00INACTIVO 01ACTIVO 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 00INACTIVO
CHAR(2)
Ún Tipo ico llave SI
PK
01ACTIVO
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 01ACTIVO
Ú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)
00INACTIVO 01ACTIVO
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
00INACTIVO 01ACTIVO
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)
00INACTIVO 01ACTIVO 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
00INACTIVO 01ACTIVO
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
00INACTIVO 01ACTIVO 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)
00INACTIVO 01ACTIVO
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
00INACTIVO 01ACTIVO 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)
00INACTIVO 01ACTIVO 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)
00INACTIVO 01ACTIVO 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)
00INACTIVO 01ACTIVO
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 00INACTIVO
tabla NUMERIC(1 0) CHAR(1
01ACTIVO
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 )
00INACTIVO 01ACTIVO
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 00INACTIVO 01ACTIVO
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 00INACTIVO
VARCHAR(2)
01ACTIVO
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