E3 CASO CREDIMAS - ABD

Facultad de Ingeniería Carrera Profesional de Ing. de Sistemas 1 E3 – BASE DE DATOS – SQL Y BLOQUES DE PROGRAMACIÓN >

Views 111 Downloads 20 File size 726KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Facultad de Ingeniería Carrera Profesional de Ing. de Sistemas

1

E3 – BASE DE DATOS – SQL Y BLOQUES DE PROGRAMACIÓN > TEMA ASIGNATURA DOCENTE TIPO EVALUACION

Bloques de Programación Administración de Base de Datos Ing. Johny Pretell C. Grupo de 2 estudiantes

ESTUDIANTE 1 :

CATUNTA GARCIA DARWIN

ESTUDIANTE 2 :

NILO BUSTINZA

I.

FECHA : 12.06.2019 CICLO : IV TURNO : Mañana / Noche

OBJETIVO El siguiente ejercicio de laboratorio tiene por objetivo demostrar las habilidades en el manejo de sentencias SQL y la programación en bloques a partir de un caso dado implementando una BD.

II. EQUIPOS Y MATERIALES o o o

Computadora personal Software Oracle Data Base y Oracle Developer Guía de laboratorio.

III. METODOLOGIA Y ACTIVIDADES El presente laboratorio tiene 7 fases: Fase 1: Análisis, diseño e implementación de una Base de Datos/Tablespace “COOPERATIVA” a partir del caso dado. Poblar tablas que se indican. Fase 2: Usando Store Boques de Programación: Procedures Fase 3: Generación de Detalle de Préstamo con Triggers Fase 4: Consultas SQL (tipo DML) Fase 5: Implementar la Auditoria Extendida usando Triggers

FASE 1: Creación de una Base de Datos CASO: “Cooperativa de Ahorro y Crédito CREDIMÁS” Se desea implementar una base de datos para la cooperativa de ahorro y crédito más grande del Perú que cuenta más de 5,000,000 asociados y 127 Agencias distribuidas en la costa, sierra y selva del Perú. o De cada agencia se conoce un código, un nombre, una ubicación real (departamento, provincia y distrito) existente en la tabla UBIGEO del INEI. o La tabla de ubicaciones geográficas-UBIGEO maneja: código de departamento, provincia, distrito y descripción. o Por cada asociado se conoce un código, nombre, apellido, dirección y cód. UBIGEO (dpto, prov, dist), celular, email, sexo, fecha de nacimiento, estado civil, el número de hijos, estatus de desempleo, profesión, nivel académico, ingresos mensuales y el monto acumulado de ahorros. Tasa de Interés

OBS o Un asociado accede a un préstamo previa calificación (A, B y C). La Calificación mensual (TEM) primera vez tendrá una calificación “B”, si paga puntualmente su A 1.15 % Clientes cumplidos B 2.50 % Primera vez préstamo la calificación sube a “A”, de lo contrario baja a “C”. Si está C 3.50% Cliente que se atrasa desempleado/a debe contar con ahorros. La calificación se mantiene mientras dure la programación de pagos del préstamo. Además no podrá tener dos préstamos a la vez.

o Por cada préstamo se deberá registrar un número de préstamo único, el código del asociado que hace el préstamo, el código de agencia que lo otorga, el monto prestado, el número de cuotas fijado, la fecha del

Facultad de Ingeniería Carrera Profesional de Ing. de Sistemas

2

préstamo, la tasa de interés que corresponda según la calificación y estado del préstamo (cancelado, vigente y deudor). o Al momento de registrar el préstamo en automático se deberá generar la programación de pagos donde se establece todo el detalle de las cuotas del préstamo a pagar. Para la estimación de las cuotas se utilizará el método ALEMAN (amortización constante). Ejemplo. Si un socio solicita un préstamo por 6000 soles a 6 meses y es la primera vez, entonces le corresponde una tasa de interés efectivo mensual (TEM) del 2.5%. o Sobre las cuotas a pagar se debe conocer: el número de préstamo, el número de cuota, el año, el mes, el capital a amortizar, el monto por el interés calculado para el mes, la fecha de pago, la mora y el estatus del pago (pagado, pendiente). o En el caso de la mora se estima en 2 soles por cada día que transcurre a partir del primer día mes siguiente al mes del pago programado. Es aplicable por cada cuota atrasada. Se Pide:

1. Elaborar el diagrama de clases del modelo de datos a nivel lógico utilizando la notación UML. (1 puntos): Se considerará: - Todas las clases del modelo, - Los tipos de relaciones entre clases (asociación, composición, agregación y herencia), nombre, sentido de la relación y multiplicidad. - Los atributos necesarios. Entre ellos las llaves primarias y foráneas de las clases. - Puede utilizar algún diseñador o mano alzada. PONGA ACA EL MODELO

Nota: Sea ordenado y claro. Ponga un título que describa el caso que se está resolviendo, el nivel de modelamiento y la técnica utilizada. 2.

Ambiente de Trabajo. (1 puntos): - Cree un tablespace COOPERATIVA que se grabe en la siguiente ruta: C:\DATA Cree una cuenta alumno con privilegios suficientes para implementar el modelo COOPERATIVA --SCRIPT ( …. );

PONGA ACA EL SCRIPT Tenga en cuenta las llaves con IDENTITY para agencia y asociado y valor “VIGENTE” por default para el atributo status del préstamo cada vez que se inserta un registro. 3. Poblar las tablas: ubigeo, agencia y asociado con sentencias SQL-DML a partir de la data proveída en el archivo excel. (1 puntos): --SCRIPT

ELABORE EL SCRIPT

FASE 2: Usando de Bloques de Programación. 4. Poblar préstamo y detalle de préstamo (pagos) usando Store Procedures. (6 puntos): Recomendaciones:

Facultad de Ingeniería Carrera Profesional de Ing. de Sistemas

3

 Elabore primero el procedure “grabaPRESTAMO” inserte un préstamo. Este procedure debe invocar a otro procedure “generaCUOTA” que inserte automáticamente los registros de las cuotas del préstamo.  Realice la implementación de manera gradual  Asegúrese que primero funcione el procedure que inserta datos de préstamos y luego implemente el segundo procedure que es invocado. ELABORE LOS PROCEDURES Ejemplo: CREATE PROCEDURE grabaPRESTAMO ( p_idAso INT, P_idAge INT, P_monto MONEY, p_NroCuotas INT, p_echa DATE ) AS BEGIN --1. Declarar Variables --2. Validar existencia del código de Asociado --3. Validar existencia del código de Agencia --4. Validar que monto y número de cuotas sea > 0 --5. Determinar la TEM (tasa efectiva mensual o tasa de interés). Debe cumplir las reglas. --6. Insertar préstamo --7. Obtener idPrestamo GENERADO --8. Llamar a procedure que genera el detalle de préstamo EXEC generaCUOTA v_NroPresta Mensaje 'SE HA GENERADO EL PRESTAMO NRO. ' || TO_CHAR( v_NroPresta) Mensaje 'NÚMERO DE CUOTAS: ' + TO_CHAR (p_NroCuotas) END; //////////////// PARA VERIFICAR grabaPRESTAMO EXEC grabaPRESTAMO 122, 1, 6000, 6, “12/11/2018”; //////////////// FIN

ELABORE UN PROCEDURE CREATE PROCEDURE generaCUOTAS ( p_idPres INT) AS BEGIN --1. Declarar Variables --2. Obtener fecha, monto, nroCuotas e interés (TEM) --3. Calcular el monto Validar existencia del código de Agencia --4. Validar que monto y número de cuotas sea > 0 --5. Determinar la TEM (tasa efectiva mensual o tasa de interés). Debe cumplir las reglas. --6. Elaborar un bucle FOR …LOOP que inserte tantos registros de cuotas como indique el número de cuotas. WHILE (v_cont