Vous êtes sur la page 1sur 14

Modelo Lgico. Banco Paga si puedes ejecutado en MySQL.

1. Realizar los ajustes al modelo lgico, con base en las correcciones efectuadas
del caso Pgame si puedes del trabajo colaborativo 1 grupal. Realice el Modelo
Relacional o diseo fsico. Recuerde que este modelo, solo son tablas, campos,
campos claves y llaves forneas.
2.
Caso hipottico planteado:
El banco Paga si puedes, est interesada en que usted le modele el formato de
crditos. Adicional al formato se tiene la siguiente informacin:
Un municipio puede tener varias sucursales, pero una sucursal solo le pertenece a un
municipio.
Un empleado solo est adscrito a una sucursal y una sucursal tiene varios empleados.
Una referencias tanto personal como familiar puede tenerla varios clientes.
Un cliente puede tener varias solicitudes de crdito.
El banco tiene codificado los municipios.
Los tipos de documentos puede ser CC, cdula de ciudadana o cdula de extranjera.
Modificacin de la matriz modelo entidad.
Matriz modelo entidad relacin "Banco paga si puedes".
Entidad

Municipio Sucursal Empleado Cliente

Ref.
Solicitu
Ref.
Referencia Familiare
d
Personales
s

Municipio

1:N

1:N

Sucursal

1-1

1:N

1:N

1:N

Empleado

1:1

1:N

1:N

Cliente

1:1

1:1

1:1

1:N

Solicitud

1:1

1:1

Referencia

1:1

1:1

1:1

1:1

1:1

1:1

Ref.
Familiares
Ref.
Personales

X=

Cuando no hay relaciones entre las instancias u ocurrencias de las misma entidad
(Subconjuntos)

X=

No tiene relacin del uno al otro.

1:1=
1:N

Relacin Uno a Uno (1:1): Es la relacin donde para Una instancias u ocurrencias de A, hay
mximo Una instancia u ocurrencia de B.
Relacin Uno a Mucho (1:N): Es la relacin donde para Una instancias u ocurrencias de A, hay
mximo Muchas instancia u ocurrencia de B.

Para realizar el modelo relacional e implementarlo en una herramienta de SQL, fue


necesario realizar la instalacin del programa virtual MySQL, a continuacin se muestra
un detalle de lo ejecutado para la realizacin de la actividad.
Instalacin en los equipos del programa SQL.
A continuacin se muestra como se realiz la instalacin de programa SQL.
a. Se da click en el icono del programa, automticamente sale una ventana
emergente ejecutando la opcin.

b. Luego requiere de autorizacin para seguir ejecutndolo, damos si y ejecuta.

c. Sale una nueva ventana, y damos siguiente:

d. Damos click en siguiente, sale otra ventana emergente, y seguimos dando click
en siguiente hasta que diga finalizar.

Por ultimo tenemos el programa instalado. Lo abrimos y tenemos lo que se muestra a


continuacin en el pantallazo.

1. Realizacin del marco lgico en el programa SQL.


Para poder obtener el cdigo solicitado en la actividad, es necesario crear el marco
lgico, por ende se realizo una investigacin sobre cmo se usan los iconos y las
instancias solicitadas. A continuacin mostraremos las caractersticas y valores de los
datos numricos.

Para el ingreso de las variables es necesario tener presento las siguientes siglas, ya
que d estn dependen su funcionalidad y la adecuada ejecucin.
PK Clave primaria
NN No admite null
UQ nico
BIN Binario
UN Nmeros con signos positivos
ZF Rellenar con ceros a la izquierda de los nmeros
AI Autoincrementar
Se muestra el siguiente pantallazo, donde evidencia el inicio del diagrama.

Y por ltimo se tiene el resultado del diagrama completo, como se muestra a


continuacin, cabe anotar que el programa permite exportar el diagrama con diferentes
extensiones. En este caso se exporte con extensin PNG.
Se tiene como resultado: Modelo Lgico del Banco Paga si puedes.

Cdigo del modelo ejecutado.


-- MySQL Workbench Synchronization
-- Generated: 2016-05-03 00:38
-- Model: New Model
-- Version: 1.0
-- Project: Name of the project
-- Author: lenovo
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET

@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,

FOREIGN_KEY_CHECKS=0;
SET

@OLD_SQL_MODE=@@SQL_MODE,

SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
ALTER TABLE `mydb`.`cliente`
DROP FOREIGN KEY `fk_CLIENTE_SOLICITUD CREDIO1`,
DROP FOREIGN KEY `fk_CLIENTE_REFERENCIA1`;
ALTER TABLE `mydb`.`empleado`
DROP FOREIGN KEY `fk_EMPLEADO_CLIENTE1`;
ALTER TABLE `mydb`.`sucursal`
DROP FOREIGN KEY `fk_SUCURSAL_MUNICIPIO1`;
ALTER TABLE `mydb`.`cliente`
DROP COLUMN `SOLICITUD CREDIO_Monto Solicitud`,
DROP COLUMN `REFERENCIA_Ref Familiar`,
ADD COLUMN `MUNICIPIO_Nombre Mun` INT(11) NOT NULL AFTER `Codigo
Sucursal`,
DROP PRIMARY KEY,
9

ADD PRIMARY KEY (`Nro Documento`, `Codigo Municipio`, `MUNICIPIO_Nombre


Mun`),
ADD INDEX `fk_CLIENTE_MUNICIPIO1_idx` (`MUNICIPIO_Nombre Mun` ASC),
DROP INDEX `fk_CLIENTE_SOLICITUD CREDIO1_idx` ,
DROP INDEX `fk_CLIENTE_REFERENCIA1_idx` ;
ALTER TABLE `mydb`.`empleado`
DROP COLUMN `CLIENTE_SOLICITUD CREDIO_Monto Solicitud`,
DROP COLUMN `CLIENTE_REFERENCIA_Ref Familiar`,
DROP COLUMN `CLIENTE_Codigo Municipio`,
DROP COLUMN `CLIENTE_Nro Documento`,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`Nombre Empleado`, `SUCURSAL_MUNICIPIO_Nombre Mun`),
ADD INDEX `fk_EMPLEADO_SUCURSAL1_idx` (`SUCURSAL_MUNICIPIO_Nombre
Mun` ASC),
DROP INDEX `fk_EMPLEADO_SUCURSAL1_idx` ,
DROP INDEX `fk_EMPLEADO_CLIENTE1_idx` ;
ALTER TABLE `mydb`.`referencia`
DROP COLUMN `Ref Personal`, RENAME TO `mydb`.`REF. FAMILIAR` ;
ALTER TABLE `mydb`.`referencias`
ADD COLUMN `REF. FAMILIAR_Ref Familiar` INT(11) NOT NULL AFTER `Tipo
Referencia`,
ADD COLUMN `REF. PERSONAL_Ref Familiar` INT(11) NOT NULL AFTER `REF.
FAMILIAR_Ref Familiar`,
ADD PRIMARY KEY (`REF. FAMILIAR_Ref Familiar`, `REF. PERSONAL_Ref Familiar`),
ADD INDEX `fk_REFERENCIA_REF. FAMILIAR1_idx` (`REF. FAMILIAR_Ref Familiar`
ASC), RENAME TO `mydb`.`REFERENCIA` ;
ALTER TABLE `mydb`.`solicitud credio`
10

DROP COLUMN `SOLICITUD CREDIOcol`,


CHANGE COLUMN `1er Nombre` `1er Nombre Cliente` VARCHAR(45) NULL DEFAULT
NULL ,
CHANGE COLUMN `2do Nombre` `2do Nombre Cliente` VARCHAR(45) NULL
DEFAULT NULL ,
CHANGE COLUMN `1er Apellido` `1er Apellido Cliente` VARCHAR(45) NULL DEFAULT
NULL ,
CHANGE COLUMN `2do Apellido` `2do Apellido Cliente` VARCHAR(45) NULL
DEFAULT NULL ,
ADD COLUMN `REFERENCIA_REF. FAMILIAR_Ref Familiar` INT(11) NOT NULL
AFTER `Firma Empleado`,
ADD COLUMN `REFERENCIA_REF. PERSONAL_Ref Familiar` INT(11) NOT NULL
AFTER `REFERENCIA_REF. FAMILIAR_Ref Familiar`,
ADD

COLUMN

`Nombre

Empleado`

VARCHAR(45)

NOT

NULL

AFTER

`REFERENCIA_REF. PERSONAL_Ref Familiar`,


ADD COLUMN `Nombre Mun` INT(11) NOT NULL AFTER `Nombre Empleado`,
ADD COLUMN `CLIENTE_Nro Documento` INT(11) NOT NULL AFTER `Nombre Mun`,
ADD COLUMN `CLIENTE_Codigo Municipio` VARCHAR(45) NOT NULL AFTER
`CLIENTE_Nro Documento`,
ADD COLUMN `CLIENTE_MUNICIPIO_Nombre Mun` INT(11) NOT NULL AFTER
`CLIENTE_Codigo Municipio`,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`Monto Solicitud`, `REFERENCIA_REF. FAMILIAR_Ref Familiar`,
`REFERENCIA_REF. PERSONAL_Ref Familiar`, `Nombre Empleado`, `Nombre Mun`,
`CLIENTE_Nro

Documento`,

`CLIENTE_Codigo

Municipio`,

`CLIENTE_MUNICIPIO_Nombre Mun`),
ADD

INDEX

`fk_SOLICITUD_REFERENCIA1_idx`

(`REFERENCIA_REF.

FAMILIAR_Ref Familiar` ASC, `REFERENCIA_REF. PERSONAL_Ref Familiar` ASC),


ADD INDEX `fk_SOLICITUD_EMPLEADO1_idx` (`Nombre Empleado` ASC, `Nombre
Mun` ASC),

11

ADD INDEX `fk_SOLICITUD_CLIENTE1_idx` (`CLIENTE_Nro Documento` ASC,


`CLIENTE_Codigo Municipio` ASC, `CLIENTE_MUNICIPIO_Nombre Mun` ASC),
RENAME TO `mydb`.`SOLICITUD` ;
ALTER TABLE `mydb`.`sucursal`
DROP COLUMN `MUNICIPIO_Nombre Mun`,
ADD COLUMN `MUNICIPIO_Nombre Mun` INT(11) NOT NULL AFTER `Nros
Empelados`,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`MUNICIPIO_Nombre Mun`),
ADD INDEX `fk_SUCURSAL_MUNICIPIO1_idx1` (`MUNICIPIO_Nombre Mun` ASC),
DROP INDEX `fk_SUCURSAL_MUNICIPIO1_idx` ;
CREATE TABLE IF NOT EXISTS `mydb`.`REF. PERSONAL` (
`Ref Personal` VARCHAR(45) NULL DEFAULT NULL,
`Nro Documento` VARCHAR(45) NULL DEFAULT NULL,
`Tipo CC/CE` VARCHAR(45) NULL DEFAULT NULL,
`Nombre Cliente` VARCHAR(45) NULL DEFAULT NULL,
`Apellido Cliente` VARCHAR(45) NULL DEFAULT NULL,
`Tel` VARCHAR(45) NULL DEFAULT NULL,
`REFERENCIA_SUCURSAL_Monto Solicitud` INT(11) NOT NULL,
`REFERENCIA_SUCURSAL_CLIENTE_Nro Documento` INT(11) NOT NULL,
`REFERENCIA_SUCURSAL_CLIENTE_Codigo Municipio` VARCHAR(45) NOT NULL,
`REFERENCIA_SUCURSAL_CLIENTE_MUNICIPIO_Nombre Mun` INT(11) NOT
NULL,
`REFERENCIA_REF. FAMILIAR_Ref Familiar` INT(11) NOT NULL,
`REFERENCIA_REF. PERSONAL_Ref Familiar` INT(11) NOT NULL,
PRIMARY

KEY

(`REFERENCIA_SUCURSAL_Monto

`REFERENCIA_SUCURSAL_CLIENTE_Nro
`REFERENCIA_SUCURSAL_CLIENTE_Codigo
`REFERENCIA_SUCURSAL_CLIENTE_MUNICIPIO_Nombre

Solicitud`,
Documento`,
Municipio`,
Mun`,
12

`REFERENCIA_REF. FAMILIAR_Ref Familiar`, `REFERENCIA_REF. PERSONAL_Ref


Familiar`),
CONSTRAINT `fk_REF. PERSONAL_REFERENCIA1`
FOREIGN

KEY

(`REFERENCIA_REF.

FAMILIAR_Ref

Familiar`

`REFERENCIA_REF. PERSONAL_Ref Familiar`)


REFERENCES `mydb`.`REFERENCIA` (`REF. FAMILIAR_Ref Familiar` , `REF.
PERSONAL_Ref Familiar`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
ALTER TABLE `mydb`.`cliente`
ADD CONSTRAINT `fk_CLIENTE_MUNICIPIO1`
FOREIGN KEY (`MUNICIPIO_Nombre Mun`)
REFERENCES `mydb`.`MUNICIPIO` (`Nombre Mun`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE `mydb`.`referencias`
ADD CONSTRAINT `fk_REFERENCIA_REF. FAMILIAR1`
FOREIGN KEY (`REF. FAMILIAR_Ref Familiar`)
REFERENCES `mydb`.`REF. FAMILIAR` (`Ref Familiar`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE `mydb`.`solicitud credio`
ADD CONSTRAINT `fk_SOLICITUD_REFERENCIA1`
FOREIGN KEY (`REFERENCIA_REF. FAMILIAR_Ref Familiar` , `REFERENCIA_REF.
PERSONAL_Ref Familiar`)

13

REFERENCES `mydb`.`REFERENCIA` (`REF. FAMILIAR_Ref Familiar` , `REF.


PERSONAL_Ref Familiar`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
ADD CONSTRAINT `fk_SOLICITUD_EMPLEADO1`
FOREIGN KEY (`Nombre Empleado`)
REFERENCES `mydb`.`EMPLEADO` (`Nombre Empleado`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
ADD CONSTRAINT `fk_SOLICITUD_CLIENTE1`
FOREIGN KEY (`CLIENTE_Nro Documento` , `CLIENTE_Codigo Municipio` ,
`CLIENTE_MUNICIPIO_Nombre Mun`)
REFERENCES `mydb`.`CLIENTE` (`Nro Documento` , `Codigo Municipio` ,
`MUNICIPIO_Nombre Mun`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
ALTER TABLE `mydb`.`sucursal`
ADD CONSTRAINT `fk_SUCURSAL_MUNICIPIO1`
FOREIGN KEY (`MUNICIPIO_Nombre Mun`)
REFERENCES `mydb`.`MUNICIPIO` (`Nombre Mun`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

14

Conclusiones.
Al leer y observar los diferentes contenidos descargados, para el desarrollo de la
actividad, ayuda a mejorar las ideas que enfocan al anlisis de los conceptos propios
para dar solucin al caso hipottico planteado Banco paga si puedes y llevarlo a la
herramienta virtual MySQL.

15

Cibergrafa.
UNAD Universidad Nacional Abierta y a Distancia. Curso Base de Datos Bsicos.
Snchez, M. Directora Nacional (2014). Fundamentos de bases de datos. En M.
Snchez, Modulo bases de datos. Recuperado del siguiente enlace:
http://datateca.unad.edu.co/contenidos/301330/Entorno_Conocimiento/301330BasesDatosBasico.pdf
Scoop.it. Bases de Datos Relacional. Curated by Sanchez. M. (Videos). Modelo Entidad
Relacin de Base de Datos. Modelo e-r a modelo relacional tecnohouse. Vistos por
ltima

vez

el

14

de

febrero

de

2016.

Recuperado

del

siguiente

enlace:

http://www.scoop.it/t/bases-de-datos-relacional
Antecedentes de bases de datos: Portal el Cedazo. (13 de 04 de 2009). Recuperado del
siguiente

enlace:

http://eltamiz.com/elcedazo/2009/04/13/historia-de-un-viejo-

informatico-el-camino-hacia-las-bases-de-datos-relacionales/.
Videos de modelamiento de base de datos. Desconocido. (2010). YouTube.
Recuperado del siguiente enlace: http://www.scoop.it/t/bases-de-datos-relacional.
El concepto de bases de datos relacional: Snchez, M., & Gmez, J. (2012). El
Concepto De Bases De Datos Relacional. En U. P. Bolivariana, Memorias congreso
SOCOTE (pag. 5). Bucaramanga: Universidad Pontificia Bolivariana.
YouTube. Video Tutorial 1 SQL en espaol. Instalar MYSQL y primeras consultas SQL
con MySql Workbench. Publicado el 2 de noviembre de 2010. Publicado por edu4.java.
Recuperado del siguiente enlace: https://www.youtube.com/watch?v=oNn30HRJPr0
CCM. Descarga MySQL. Visto por ltima vez el 19 de abril de 2016. Recuperado en el
siguiente enlace: http://es.ccm.net/download/descargar-799-mysql

16

Vous aimerez peut-être aussi