Sie sind auf Seite 1von 16

UNIVERSIDAD NACIONAL DE SAN CRISTBAL DE HUAMANGA FACULTAD DE INGENIERA DE MINAS, GEOLOGA Y CIVIL ESCUELA DE FORMACIN PROFESIONAL DE INGENIERA DE SISTEMAS

MODELO FSICO DE UNA CUENTA BANCARIO

PROFESOR
ALUMNOS

: Prof. Elvira Fernndez


: MENDOZA PRADO, JHON CHARLES SULCA GARCA, DAVID N.

AYACUCHO PER 2013

ING. DE SISTEMAS

TRABAJO FINAL
Se debe desarrollar el MODELO FSICO de las CUENTAS BANCARIAS. En este sistema, cada cliente interesar su nmero de documento de identificacin (DNI, permiso de residencia, nmero de pasaporte, etc.), su cdigo de cliente (ver la nota al final de este apartado), su nombre, y sus telfonos. De cada cuenta se debe considerar su cdigo (8 dgitos), los clientes que son titulares de ellas (incluyendo quin es el primer titular), las oficina bancaria que gestiona cada cuenta, los movimientos realizados sobre ella y el tipo (de ahorro, corriente, de plazo fijo, etc.) Las oficinas estarn caracterizadas por su cdigo identificativo, su direccin postal y el nmero de empleados que trabajan en ella. El sistema tambin debe gestionar la informacin relativa a los movimientos de las cuentas, de los cuales interesar su cdigo (identificador nico automtico), la fecha de realizacin, el concepto (cobro de recibo, ingreso de nmina, etc.) y el importe (positivo para los ingresos y negativo para las retiradas). Se debe tener en cuenta las siguientes cuestiones: 1. Toda cuenta est gestionada por una nica oficina. 2. Una cuenta puede tener varios titulares. 3. De todos los titulares de una cuenta, uno de ellos es siempre el primer titular. 4. Un cliente puede ser titular de varias cuentas. 5. Del cdigo de la cuenta slo se sabe que est compuesto por veinte dgitos. 6. El n de documento (DNI, n de residentes para extranjeros, etc.) puede ser desconocido y por tanto, ha de permitirse que el campo correspondiente quede sin especificar en las tablas. NOTA. Debido a que existen nmeros de DNI repetidos as como personas sin DNI (con permiso de residencia, por ejemplo), en la prctica, las bases de datos suelen asignar un nmero identificativo propio para las personas. Para ello se pueden utilizar los atributos autonumerados. Se utilizarn tambin este tipo de atributos para asignar el identificador nico de cada movimiento.

Consultas que se debe entregar


Desarrolle el modelo Fsico del problema propuesto. El tablespace llamado NombreApellidoPaterno , crear el usuario y permisos necesarios. (todo tiene que capturar por pantalla)

ING. DE SISTEMAS

Despus ingrese los valores a cada tabla desarrollada(por lo menos 10 registros ) Escribir las sentencias en SQL DEVELOPER que implementen las siguientes consultas y modificaciones: 1. Listar los identificadores de todos los primeros titulares de alguna cuenta. No deben mostrarse identificadores repetidos. 2. Mostrar el importe medio de todos los movimientos convertidos en dlares. 3. Mostrar los cdigos de todos los movimientos en los que no se haya especificado ningn concepto (en la tabla TMovimiento, el atributo concepto tendr asignado el valor sin_cdigo.) 4. Listar los cdigos de las cuentas de tipo 1 as como las que pertenezcan a la oficina n 92. 5. Listar los cdigos de las cuentas de la oficina n 233, exceptuando las que pertenezcan al cliente cuyo identificador es el 32321. 6. Mostrar los cdigos de las cuentas que pertenezcan a la oficina n 334 y que adems tengan como primer titular al cliente n 87656. 7.-Agregar 1 preguntas que permitan la actualizacin de registros de una tabla. uno o ms

8.-Agregar 2 consultas que permitan utilizar funciones agregadas. 9. Agregar 2 consultas que permitan bsquedas con el comando like. 10. Agregar 1 consulta que permitan utilizar o mostrar la cantidad de registros, utilizando el comando rownum

ING. DE SISTEMAS

Scrip del modelo de la base de datos Bancario:


--creamos las tablas de la cuenta bancaria create sequence secuenciaCliente start with 10000000 increment by 1 minValue 1 NomaxValue NoCycle ; commit;

ING. DE SISTEMAS --creamos las tablas de la cuenta bancaria create sequence secuenciaCuenta start with 10000000 increment by 1 minValue 1 NomaxValue NoCycle ; commit; ----------------

--creamos las tablas de la cuenta bancaria create sequence secuenciaTipoAhorro start with 1000 increment by 1 minValue 1 NomaxValue NoCycle ; commit; --creamos las tablas de la cuenta bancaria create sequence secuenciaOficina start with 100 increment by 1 minValue 1 NomaxValue NoCycle ; commit; --creamos las tablas de la cuenta bancaria

ING. DE SISTEMAS create sequence secuenciaMovimiento start with 100000 increment by 1 minValue 1 NomaxValue NoCycle ; commit; create sequence secuenciaConcepto start with 100000 increment by 1 minValue 1 NomaxValue NoCycle ; commit; --------------------------------------------------------------------create table cliente( codigo_cliente int primary key, nombres varchar(30) not null, apePat varchar(30) not null, apeMat varchar(30) not null, telefono varchar(9), Documento_Identidad varchar(8), permiso_residencia varchar(50), numero_pasaporte int ); --------------------------------create table cuentaTitular

ING. DE SISTEMAS ( codigo_cliente int, codigo_cuenta int, esTitular char(1) )

alter table cuentaTitular add foreign key(codigo_cliente) references cliente;

alter table cuentaTitular add foreign key(codigo_cuenta) references cuenta;

alter table cuentaTitular add constraint pk_cuentaTitular primary key (codigo_cliente,codigo_cuenta) ---------------------------------------------------create table cuenta( codigo_cuenta int primary key, codigo_TipoAhorro int, codigo_Oficina int ); alter table cuenta add foreign key(codigo_TipoAhorro) references tipoAhorro; alter table cuenta

ING. DE SISTEMAS add foreign key(codigo_Oficina) references oficina;

-------------------------------------------

create table movimiento( codigo_movimiento int primary key, fecha_realizacion date default sysdate not null, codigo_concepto int, importe float, codigo_cuenta int );

alter table movimiento add foreign key(codigo_cuenta) references cuenta; alter table movimiento add foreign key(codigo_concepto) references concepto; ---------------------------------------------

create table concepto( codigo_concepto int primary key, denominacionC varchar(20) ); --------------------------------------------create table oficina(

ING. DE SISTEMAS codigo_oficina int primary key, direccion_postal varchar(20), numero_empleados int ); ----------------------------------------------create table tipoAhorro ( codigo_TipoAhorro int primary key, denominacionA varchar(20) ); -------------------------------------------------------------insert into cliente values (secuenciaCliente.NEXTVAL,'john','mendoza','prado','96325874','71359652','ninguno',7986541 2); commit; insert into cliente values (secuenciaCliente.NEXTVAL,'Maria','sulca','Bautista','987674','71359652','ninguno',79865412); commit; insert into cliente values (secuenciaCliente.NEXTVAL,'Elena','mendoza','Quispe','96321234','71359652','ninguno',79865 412); commit; insert into cliente values (secuenciaCliente.NEXTVAL,'pedro','pedro','Huaya','96324321','71359652','ninguno',79865412 ); commit; insert into cliente values (secuenciaCliente.NEXTVAL,'Nicanor','quique','quispe','96325874','71359652','ninguno',79865 412); commit;

ING. DE SISTEMAS insert into cliente values (secuenciaCliente.NEXTVAL,'Madona','Mauricio','de Manuel','96325874','71359652','ninguno',79865412); commit;

------------------------------------

insert into concepto values (secuenciaConcepto.NEXTVAL,'dueda'); commit; insert into concepto values (secuenciaConcepto.NEXTVAL,'dueda'); commit; insert into concepto values (secuenciaConcepto.NEXTVAL,'prestamo'); commit; insert into concepto values (secuenciaConcepto.NEXTVAL,'prestamo'); commit; insert into concepto values (secuenciaConcepto.NEXTVAL,'dueda'); commit; insert into concepto values (secuenciaConcepto.NEXTVAL,'recibo'); commit; ----------------------insert into movimiento values (secuenciaMovimiento.NEXTVAL,'01/12/12',100000,12.5,10000000); commit;

insert into movimiento values (secuenciaMovimiento.NEXTVAL,'14/12/12',100000,12.5,10000000); commit; insert into movimiento values (secuenciaMovimiento.NEXTVAL,'22/08/12',100000,12.5,10000000);

ING. DE SISTEMAS commit; insert into movimiento values (secuenciaMovimiento.NEXTVAL,'09/09/12',100000,12.5,10000000); commit; insert into movimiento values (secuenciaMovimiento.NEXTVAL,'10/11/12',100000,12.5,10000000); commit; insert into movimiento values (secuenciaMovimiento.NEXTVAL,'30/09/12',100000,12.5,10000000); commit;

insert into oficina values (secuenciaOficina.NEXTVAL,'oficina 1',20); commit;

insert into oficina values (secuenciaOficina.NEXTVAL,'oficina 3',20); commit; insert into oficina values (secuenciaOficina.NEXTVAL,'oficina 1',20); commit; insert into oficina values (secuenciaOficina.NEXTVAL,'oficina 4',20); commit; insert into oficina values (secuenciaOficina.NEXTVAL,'oficina 1',20); commit;

ING. DE SISTEMAS ------insert into tipoAhorro values (secuenciaTipoAhorro.NEXTVAL,'plazo fijo'); commit; insert into tipoAhorro values (secuenciaTipoAhorro.NEXTVAL,'plazo fijo'); commit; insert into tipoAhorro values (secuenciaTipoAhorro.NEXTVAL,'plazo fijo'); commit; insert into tipoAhorro values (secuenciaTipoAhorro.NEXTVAL,'plazo fijo'); commit; insert into tipoAhorro values (secuenciaTipoAhorro.NEXTVAL,'plazo fijo'); commit; insert into tipoAhorro values (secuenciaTipoAhorro.NEXTVAL,'plazo fijo'); commit; ------------------------

insert into cuenta values (secuenciaCuenta.NEXTVAL,1001,120); commit; insert into cuenta values (secuenciaCuenta.NEXTVAL,1002,121); commit; insert into cuenta values (secuenciaCuenta.NEXTVAL,1003,121); commit; insert into cuenta values (secuenciaCuenta.NEXTVAL,1004,121); commit; insert into cuenta values (secuenciaCuenta.NEXTVAL,1005,122); commit; insert into cuenta values (secuenciaCuenta.NEXTVAL,1006,123);

ING. DE SISTEMAS commit;

select * from cuenta ---------------------------------insert into cuentaTitular values (10000020,10000041,'0'); commit; insert into cuentaTitular values (10000021,10000045,'1'); commit; insert into cuentaTitular values (10000022,10000044,'0'); commit; insert into cuentaTitular values (10000023,10000043,'0'); commit; insert into cuentaTitular values (10000024,10000042,'1'); commit; insert into cuentaTitular values (10000024,10000041,'0'); commit;

CONSULTAS EN LAS TABLAS BANCO

ING. DE SISTEMAS

ING. DE SISTEMAS

ING. DE SISTEMAS

MODELO FINAL

Das könnte Ihnen auch gefallen