Este documento describe el diseño de una base de datos para un banco utilizando el enfoque entidad-relación. Se identifican cinco requisitos principales: registro de cajeros, registro de clientes, apertura de cuentas, desactivación de cuentas y consignación de montos. Se presentan los diseños conceptual, lógico y físico de la base de datos, incluyendo tablas, campos, relaciones y scripts SQL.
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
BD - Diseño Conceptual, Lógico y Físico
1. www.slideshare.net/emergar
DISEÑO DE UNA BASE DE DATOS
ENFOQUE ENTIDAD - RELACION
Por:
Emerson E. Garay Gómez, Docente Universitario de Programación y
Bases de Datos.
Fuente principal.
Modelamiento de base de datos - Monografias.com
Documento borrador de trabajo.
Este documento es un borrador de trabajo. Está incompleto y
posiblemente tiene errores que se esperan corregir con su
colaboración.
Dirigido a.
Estudiantes del curso de Base de Datos.
Herramientas utilizadas:
DIA: Creador de diagramas y modelos
XAMPP: Entorno de servidor web y base de datos MySQL(MariaDB)
HeidiSQL: Editor SQL
2. www.slideshare.net/emergar
DESCRIPCIÓN DEL SOFTWARE
El gerente del nuevo “BANCO DE LA SABANA” desea hacer una
aplicación que permita registrar los procesos que se hacen sobre las
cuentas bancarias de cada cliente del banco. Esta aplicación debe
permitir registrar los datos de los cajeros autorizados, los nuevos
clientes, las aperturas y desactivación de cuentas, también el registro de
las consignaciones, retiros, transferencias y consultas de saldos. De lo
anterior se identificaron los siguientes requerimientos:
1. Registro de los cajeros del banco
2. Registrar un nuevo cliente
3. Apertura de cuenta de un cliente ya registrado
4. Desactivación de una cuenta
5. Consignar un monto en una cuenta
6. Retiro de un monto en cuenta
7. Transferencia de cuenta a cuenta
8. Consulta del saldo
Con lo expresado por parte del Gerente del Banco, las entrevistas con
los cajeros y asesores del banco, además de la documentación recibida
(volantes de: consignación, retiros, transferencias, consultas de saldos;
también formularios de: registro de clientes, apertura de cuenta, y
autorización de desactivación de cuenta), se hizo un análisis de la
situación con el equipo de desarrollo de software para crear el esquema
de la Base de Datos, sin embargo, el Gerente en la más reciente reunión
decidió que solo se implementen los primeros cinco requerimientos.
Basados en esto se describen los siguientes procesos de los primeros
cinco requerimientos:
3. www.slideshare.net/emergar
1. Los Cajeros del banco deben ser registrados con sus datos:
Identificación, Nombre, Dirección y Teléfonos. Para que puedan
posteriormente hacer el ingreso de las consignaciones a las
cuentas de los clientes del banco.
2. El registro de los datos de un nuevo cliente del banco, se hace con
la siguiente información: Identificación, nombre del titular,
dirección, teléfonos, estrato, sueldo, cargo y empresa para poder
activar las cuentas que este solicite.
3. La apertura de una cuenta a un cliente ya registrado se tiene en
cuenta los siguientes datos: número de la cuenta, identificación
del cliente, tipo de la cuenta (DEBITO, CREDITO, CORRIENTE),
fecha de la apertura, saldo inicial con el que se abre y el estado
(ACTIVO, INACTIVO).
4. Desactivación de la cuenta se hace cambiando el estado de la
cuenta, esto lo debe autorizar el Gerente.
5. Consignar un monto en la cuenta de un cliente se hace por parte
del cajero quien recibe número de la cuenta a la cual se va a
consignar y el dinero por parte del depositante, junto con su
número de referencia (CC o NIT) para luego el cajero le entregue
un recibo con la fecha y hora de la consignación y demás datos.
6. www.slideshare.net/emergar
DISEÑO FISICO BD: DICCIONARIO DATOS
…
DISEÑO FISICO BD: SCRIPT SQL PARA MYSQL
--
-- Base de datos: bdbanco
--
CREATE DATABASE IF NOT EXISTS bdbanco CHARSET = utf8;
USE bdbanco;
--
-- Estructura de tabla para la tabla tblcajeros
--
CREATE TABLE tblcajeros (
idcajero bigint(12) NOT NULL,
nombre varchar(50) NOT NULL,
direccion varchar(50) NOT NULL,
telefonos varchar(50) NOT NULL,
PRIMARY KEY (idcajero)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
COMMENT='Cajeros registrados del Banco';
--
-- Estructura de tabla para la tabla tblclientes
--
CREATE TABLE tblclientes (
idcliente bigint(12) NOT NULL,
titular varchar(50) NOT NULL,
direccion varchar(50) NOT NULL,
telefonos varchar(50) NOT NULL,
estrato smallint(2) NOT NULL,
sueldo int(10) NOT NULL,
cargo varchar(50) NOT NULL,
empresa varchar(50) NOT NULL,
PRIMARY KEY (idcliente)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
COMMENT='Clientes registrados del Banco';
7. www.slideshare.net/emergar
--
-- Estructura de tabla para la tabla tblcuentas
--
CREATE TABLE tblcuentas (
idcuenta int(10) NOT NULL,
codcliente bigint(12) NOT NULL,
tipocuenta smallint(1) NOT NULL,
fechaapertura date NOT NULL,
saldo double UNSIGNED NOT NULL DEFAULT '0',
estado tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY (idcuenta),
FOREIGN KEY (codcliente) REFERENCES
tblclientes(idcliente)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
COMMENT='Cuentas asignadas a un cliente ya registrado';
--
-- Estructura de tabla para la tabla tblconsignaciones
--
CREATE TABLE tblconsignaciones (
idconsignacion int(10) NOT NULL AUTO_INCREMENT,
codcuenta int(10) NOT NULL,
monto double NOT NULL DEFAULT '0',
referencia bigint(12) NOT NULL DEFAULT '0',
fechayhora datetime NOT NULL,
codcajero bigint(12) NOT NULL,
PRIMARY KEY (idconsignacion),
FOREIGN KEY (codcuenta) REFERENCES
tblcuentas(idcuenta)
ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (codcajero) REFERENCES
tblcajeros(idcajero)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
COMMENT='Consignaciones registradas por los cajeros del
banco';