Base de Datos para un Banco
Enviado por Joseph Dean Hendricks • 4 de Febrero de 2017 • Documentos de Investigación • 1.554 Palabras (7 Páginas) • 1.335 Visitas
[pic 1]
BASE DE DATOS I
PROYECTO FINAL
Base de Datos para un Banco
Profesor:
Raúl Eduardo Pérez
Integrantes:
Karla Samudio 4-753-398
Nelson Mendoza 8-876-1252
Edwin Cedeño 8-851-2411
Joseph Quezada 8-879-2161
Michael Nuño 3-116-1508
Fecha de Entrega:
13 de diciembre del 2016
Introducción
Una base de datos proporciona a los usuarios el acceso a datos, que pueden visualizar, ingresar ó actualizar, en concordancia con los derechos de acceso que se les hayan otorgado. En éste trabajo realizado aplicaremos todos los temas que aprendimos durante el curso, siendo así de nuestra elección la creación de la base de datos para un banco. Utilizando MySql, mostremos el diagrama de entidad-relación, las respectivas tablas con sus relaciones y atributos, su modelo jerérquico, los diferentes comandos de Sql. También se veremos aplicada a nuestra base de datos la primera y la segunda forma normal.
Diagrama Entidad-Relación
Implementación del diagrama de Entidad-Relación de la base de datos para un banco.
El diagrama que elaboramos cuenta con 4 tablas llamadas: Transactions, Customers, Account, Office, las cuales guardan relación entre todas a través de la tabla Account.[pic 2]
La tabla llamada Account se estableció para que hiciera conexión con las demás tablas creadas que utilizamos para nuestra base de datos para un banco.
Cardinalidad entre las tablas:
Customers | 1-M | Account | Un cliente puede tener más de una cuenta |
Customers | 1-M | Transactions | Un cliente puede ejecutar más de una transacción |
Offices | 1-M | Transactions | En una sucursal se realizan más de una transacción |
Offices | 1-M | Account | En una sucursal puede estar asociada a más de una cuentas. |
Account | 1-M | Transactions | En una cuenta se pueden generar más de una transacción. |
Para simplificar el trabajo de manera eficiente y evadir problemas , se evitó trabajar con modelos de cardinalidad de muchos a muchos utilizando tablas intermediarias (Account ).
Diagrama de Entidad-Relación en MySQL:
[pic 3]
Se puede visualizar que nuestro diagrama de entidad relación Como se puede observar en la imagen, podemos ver el diagrama de E-R que se realizó a través de MySQL. Dentro de algunas tablas: Account, Transactions se observa que algunos atributos tienen un “rombo rojo” a su izquierda. Esto significa que son llaves foráneas, las cuales nos ayudan a establecer una relación entre las tablas. Las llaves foráneas entre las tablas nos facilitan la obtención de la información a través de una normalización.
Reducción del Diagrama E-R a tablas
Se presenta a continuación las tablas de nuestra base de datos:
Tabla Customers:
[pic 4]
Tabla Account :
[pic 5]
Tabla Office
[pic 6]
Tabla Office
[pic 7]
Primera y Segunda Forma Normal
Son las técnicas para prevenir las anomalías en las tablas. Dependiendo de su estructura, una tabla puede estar en primera forma normal, segunda forma normal o en cualquier otra.
Aplicación de la normalización en primera y segunda normal a nuestra base de datos:
Como se pudo observar al principio de este trabajo, utilizamos 4 tablas de manera que no fuera tan tedioso a la hora de actualizar, buscar, borrar o consultar la información. Para ilustrar, tomemos en cuenta la siguiente tabla (ES UNA SOLA TABLA, pero tuvimos que dividirla en 2 líneas debido al espacio). Esta tabla no contiene TODOS los atributos de nuestras 4 tablas, se hiso de esta manera para una mejor explicación.
Tabla Bank:[pic 8]
[pic 9]
Una sola tabla con tanta información puede complicar a la hora de ejecutar las instruciones INSERT, UPDATE o DELETE.
La normalización ofrece diversas ventajas, entre las que se incluyen:
- Mayor rapidez en la ordenación y en la creación de índices.
- Un número mayor de índices clúster.
- Índices más estrechos y compactos.
- Menor número de índices por tabla. De esta forma, se mejora el rendimiento de las instrucciones INSERT, UPDATE y DELETE.
- Menor número de valores NULL y menos oportunidades para generar incoherencias. De esta forma, aumenta el rendimiento.
Con solo observar una tabla así, los procesos de la información se vuelven más tediosos. Por eso normalizamos de la siguiente manera:
Nuestra base de datos se llamará “Banco”. Crearemos la primera tabla llamada “Customers” en las cuales tendremos la información de nuestros clientes. Esta tabla tendrá los atributos que estaban en la primera tabla “Banco” los cuales identifican la información de un cliente. [pic 10]
Así de esta manera, vamos simplificando la información en más de 1 tabla y evitando que exista información de todo tipo en una sola tabla.
Ahora creamos nuestra 2da tabla llamada Account que contiene la información de las Cuentas.la tabla “Account”, esta tabla como ya mencionamos anteriormente es nuestra “Tabla intermediaria”. La tabla “Account” es la que nos permite la conexión entre las tablas. A través de ella podemos obtener información que tienen conexiones con otras tablas. Esto es posible utilizando “llaves foráneas”. La tabla “Cuentas” quedaría de la siguiente manera:
...