Sunteți pe pagina 1din 20

UNIVERSIDAD ESTATAL A DISTANCIA

ESCUELA DE CIENCIAS EXACTAS Y NATURALES


CTEDRA DESARROLLO DE SISTEMAS

Proyecto #2

Empresa ACME S.A.

Bases de Datos (826)


Tutora: Fabin Sequeira Gamboa

Gastn Gonzlez Dahmen


Grupo 01
gdachmen_123@hotmail.com

Fecha de entrega: 13/04/2014

I CUATRIMESTRE 2014

Contenido
Introduccin............................................................................................................ 3
Desarrollo.............................................................................................................. 4
Diagrama............................................................................................................... 4
Entidades............................................................................................................... 4
Atributos................................................................................................................ 6
Relaciones.............................................................................................................. 9
Normalizacin....................................................................................................... 13
Bases de Datos en SQL..................................................................................... 17
Conclusin........................................................................................................... 20
Bibliografa.......................................................................................................... 20

Introduccin
A continuacin se va a presentar la elaboracin de una base de datos, dicha base de datos
tiene como fin llevar la administracin de la informacin relevante de los distintos clientes
que tiene la empresa llamada ACME S.A.
Esta empresa tiene diferentes clientes y distintos requisitos, debido a esto se debe de
realizar un diagrama de entidad-relacin para poder identificar cada una de las entidades a
incluir en la base de datos as como tambin sus atributos y sus respectivas relaciones entre
las mismas.
Seguidamente se va a ver paso a paso como se realiz dicho diagrama. Posteriormente
vamos a ver un poco acerca del tema de normalizacin, ya que tenemos que normalizar
cada una de las tablas que se presenten en el diagrama de entidad-relacin, para as lograr la
veracidad de los datos y evitar cualquier tipo de error que se pueda presentar, cabe recalcar
que el diagrama se realizo con leguaje UML.
Continuando con el tema de normalizacin se va a presentar un ejemplo con 5 registros con
cada una de las tablas que contiene la base de datos as como sus divisiones respectivas
para poder normalizarla.
Adicionalmente en los archivos adjuntos a este trabajo escrito viene el script de la base de
datos creada en Microsoft SQL Server 2012 llamado Acme, para poder verlo nada ms se
tiene que proceder a abrir dicho archivo, se copia su contenido, y en una nueva Query se
pega el texto y se ejecuta, haciendo los anteriores pasos se crear nuestra base de datos para
la empresa ACME S.A.
Se espera cumplir con las expectativas de la empresa y que se ponga en funcionamiento
rpido dicha base de datos para as poder tener un mejor control de la informacin
importante que posee la empresa, este trabajo fue elaborado por Gastn Gonzlez Dahmen,
estudiante de la carrera Diplomado en Informtica de la Universidad Estatal a Distancia.

Desarrollo
Diagrama Entidad-Relacin
Entidades
Para iniciar la construccin de una base de datos, lo primero que se debe realizar es el
diagrama entidad-relacin el cual nos va a permitir establecer las diferentes entidades a
incluir en nuestro diagrama, atributos y relaciones. A continuacin vamos a citar el texto del
proyecto que aparece en la orientacin del curso:
Disee un modelo relacional correspondiente al siguiente supuesto:

ACME se dedica a la venta de productos de consumo masivo donde existen


proveedores y clientes mayoritarios.
Los proveedores deben relacionarse con los productos que comercializa ACME, los
cuales estn aglomerados por categoras.
Los clientes son mayoritarios (pequeos supermercados, pulperas, abastecedores,
entre otros) los cuales a su vez son intermediarios ante los clientes minoristas
(consumidores).
Debe contemplarse un archivo de pedidos que hacen los clientes.
No se considerar el proceso de facturacin.

Con base al anterior enunciado podemos ir identificando las diferentes entidades que vamos
a tener en el diagrama; vamos a iniciar mencionando la entidad CLIENTE la cual nos va
almacenar la informacin de los dos diferentes clientes que posee la empresa, cabe
mencionar que esta entidad es una entidad padre de la cual se derivan dos entidades
adicionales MAYORITARIO y PROVEEDOR que ms adelante vamos a examinarlas
detalladamente.
Luego de tener esta entidad vamos a tener una entidad necesaria la cual se llama
DIRECCION, ya que la entidad CLIENTE tiene entre sus atributos, mencionados ms
adelante, direccin la cual es compuesto, entonces se debe de tener una entidad la cual nos
divida la informacin de dicho atributo, para as poder tener un mejor rendimiento a la hora
de usar nuestra base de datos.
Seguidamente nos vamos a encontrar con la entidad PRODUCTO, la cual se nos va a
relacionar con la entidad PROVEEDOR; hay que recalcar que los productos se encuentran
aglomerados por categoras, debido a esto se debe de crear una entidad que se llama

CATEGORIA donde se van a almacenar las diferentes categoras que van a tener la
empresa.
Por ltimo vamos a tener la entidad PEDIDO la cual nos va a servir para poder almacenar
los datos importantes referentes al pedido que realiza un cliente, en este caso sera el cliente
mayorista. Para tener una mejor visin de las entidades vamos a proceder a listarlas y luego
mostraremos su respectiva implementacin en UML:
-

CLIENTE
DIRECCION
MAYORITARIO
PROVEEDOR
PRODUCTO
CATEGORIA
PEDIDO
CLIENTE

DIRECCION

PRODUCTO

MAYORITARIO

CATEGORIA

PROVEEDOR

PEDIDO

Atributos
Ya por haber establecido las diferentes entidades requeridas en nuestra base de datos, el
siguiente paso va a consistir en agregarle a cada entidad sus atributos que la caracterizan o
definen, dichos atributos nos van a servir para poder definir relaciones, entre otras cosas.
Vamos a empezar diciendo que la primera entidad que tenemos y para mi parecer una de las
ms importantes es la entidad CLIENTE, ya que en esta entidad se almacena los datos ms
relevantes de todos los clientes de la empresa, en esta caso tanto proveedores como clientes
mayoristas son clientes de la empresa, solamente que uno provee a la empresa de productos
y el otro compra los productos de la misma. Se ha decidido meterlos en una misma entidad
ya que los dos tienen los mismos atributos. Los atributos fueron considerados los ms
importantes que se de ben de tener para poder identificar un cliente y son: Identificacion,
Nombre, Direccion y Telefono.
CLIENTE
Identificacion
Nombre
Direccion
Telefono

En la anterior entidad tenemos un atributo que necesita de otra tabla para poder darle un
mejor rendimiento a la base de datos, y as poder tener en un mejor orden los datos
almacenados, dicha entidad se llama DIRECCION el cual nos va a establecer los atributos
Identificacion, Provincia, Distrito, Canton y OtrosDetalles. Esto nos va a servir para poder
tener en forma ms clara la informacin de la direccin del cliente. Usamos el atributo
Identificacion para as de esta manera poder relacionarlo con la entidad CLIENTE.
DIRECCION
Identificacion
Provincia
Distrito
Canton
OtrosDetalles

Vamos a continuar hablando de la entidad CLIENTE, ya que de esta entidad se van a


derivar otras entidades, aplicando as la herencia de los atributos, llamadas
MAYORITARIO y PROVEEDOR, dichas entidades lo que tiene es el IDMayoritario e
Identificacion, el IDProveedor e Identificacion como atributos respectivamente, son los
nicos dos atributos que tienen ya que nos va a servir para relacionarnos con la tabla
principal CLIENTE y adems con los pedidos y productos ms adelante. Como estamos
aplicando la herencia entonces por consecuencia los atributos de la entidad CLIENTE
tambin va a ser atributos de las entidades MAYORITARIO y PROVEEDOR.
MAYORITARIO

PROVEEDOR

Identificacion
IDMayoritario

Identificacion
IDProveedor

Seguidamente aparece la entidad PRODUCTO la cual tiene una relacin con la entidad
PROVEEDOR, debido a esto le tenemos que agregar un atributo a la entidad PRODCUTO
llamado IDProveedor aparte de este tambin tiene los atributos IDProducto, IDCategoria y
Precio.
PRODUCTO
IDProducto
IDProveedor
IDCategoria
Precio

Ya que el enunciado nos indica que los productos se encuentran aglomerados en categoras,
entonces tenemos que crear una entidad llamada CATEGORIA el cual va a contener
atributos como IDCategoria, Nombre, Caractersticas. El atributo Nombre se relaciona con
el atributo Nombre de la entidad Producto.

CATEGORIA
IDCategoria
Nombre
Caracteristicas

Para finalizar con nuestros atributos vamos a mencionar los de la entidad PEDIDO, los
cuales nos va a servir para poder almacenar la informacin de cada pedido que realice el
cliente mayoritario a la empresa. Los atributos con los que cuenta son: IDPedido,
IDMayoritario, IDProducto y Fecha; en esta entidad aparecen los atributos IDMayoritario y
IDProducto la cual nos van a servir paira poder relacionarnos con las entidades
MAYORITARIO y PRODUCTO respectivamente.
PEDIDO
IDPedido
IDMayoritario
IDCategoria
Fecha

Relaciones
11

Ya11
por tener establecidas las entidades y sus atributos correspondientes, es hora de poner
las relaciones de cada tabla, para iniciar este tema vamos a proceder a mencionar la primera
relacin de la base de datos, la cual tiene el nombre de CLIENTE-DIRECCION, dicha
relacin va a ser de 1 a 1 ya que un cliente tiene al menos una direccin. Para establecer
dicha relacin se usa el atributo Identificacion.
CLIENTE
Identificacion
Nombre
Direccion
Telefono

DIRECCION
Identificacion
Provincia
Distrito
Canton
OtrosDetalles

Luego de esto vamos a presentar la herencia de la entidad CLIENTE con las entidades
MAYORITARIO y PROVEEDOR para as tener una mejor comprensin a la hora de ver
las relaciones de dichas entidades.
CLIENTE
Identificacion
Nombre
Direccion
Telefono

MAYORITARIO

PROVEEDOR

Identificacion
IDMayoritario

Identificacion
IDProveedor

Ya por saber cmo es la estructura de la entidad CLIENTE podemos empezar a hablar


acerca de las relaciones de los dos distintos clientes, para iniciar est la entidad
PROVEEDOR, la cual va a tener una relacin con los productos que distribuye la empresa.
Esta relacin se va a llamar PROVEEDOR-PRODUCTO, la cual va a ser de 1 a N ya que
un proveedor puede proveer muchos productos.
PROVEEDOR

11

Identificacion
IDProveedor

PRODUCTO

0*

IDProducto
IDProveedor
IDCategoria
Precio

Luego como los productos se encuentran aglomerados por categora entonces aparece otra
relacin llamada PRODUCTO-CATEGORIA, la cual se va a establecer con el atributo
Nombre. Y dicha relacin va a ser de 1 a 1 ya que un producto pertenece a una nica
categora.

PRODUCTO
IDProducto
IDProveedor 11
IDCategoria
Precio

CATEGORIA

11

IDCategoria
Nombre
Caracteristicas

Para seguir con nuestras relaciones vamos a proceder a mencionar la relacin llamada
MAYORITARIO-PEDIDO, la cual se va realizar mediante el atributo IDMayoritario, la
cual va a ser de 1 a N ya que un solo cliente puede realizar muchos pedidos. Cabe
mencionar que al tener que hacer un archivo de pedidos tiene que relacionarse tambin con
la entidad PRODUCTO para as poder determinar qu tipo de producto es el que se est
llevando el cliente, ac es donde aparece nuestra ltima relacin llamada PEDIDOCATEGORIA, donde el atributo que nos va a servir para hacer dicha relacin es
IDCategoria y esta relacin va a ser de N a M ya que muchos productos pueden aparecer en
varios pedidos.

MAYORITARIO
Identificacion
IDMayoritario

11

0*

PEDIDO
IDPedido
IDMayoritario
0*
IDCategoria
Fecha
0*

CATEGORIA
IDCategoria
Nombre
Caracteristicas

Ya por haber finalizado con todas las relaciones ahora slo nos falta mostrar todo el
diagrama
11 entidad-relacin.
11

CLIENTE

CLIENTEDIRECCION
Identificacion
Provincia
Distrito
Canton
OtrosDetalles

Identificacion
Nombre
Direccion
Telefono

MAYORITARIO

PROVEEDOR

Identificacion
IDMayoritario

Identificacion
IDProveedor
IDProveedor

1
1

PROVEEDORPRODUCTO

MAYORITARIO-PEDIDO

IDProducto
IDProveedor
IDCategoria
Precio

PEDIDO

0
*

IDPedido
IDMayoritario
IDCategora
Fecha

0
*

PEDIDOCATEGORIA

CATEGORIA
0
*

IDCategoria
Nombre
Caracteristicas

0
*
1
PR
O
D
U
CT
OCA
TE

Normalizacin
Ahora por tener todas nuestras tablas de la base de datos tenemos que verificar que todo se
encuentre adecuado, para esto se va a inventar 5 registros de cada tabla en el diagrama y se
van a usar la normalizacin para poder verificar que todo est correctamente.
En esta base de datos se ha utilizado la normalizacin en las entidades CLIENTE y
PRODUCTO, dado que las otras entidades tales como DIRECCION y CATEGORIA son
pequeas y los datos siempre van a ser seguros, con lo que respecta a los datos de PEDIDO
considero que es una entidad dbil la cual slo existe si el cliente lo efecta aparte que es
una recoleccin de informacin de los atributos de las otras entidades. Sin embargo se
estaran mostrando algunos ejemplos de dichas tablas para ver su forma y consistencia.
Vamos a iniciar con la entidad CLIENTE:
CLIENTE (Identificacion, Nombre, Direccion, Telefono)
Identificacio
n
116548423

Nombre
Allan

267865637
674674563
487465325
356354324

Maria
Roberto
Allan
Roberto

Direccion
San Jose, Coronado, San Rafael
Heredia, Santa Barbara, San
Pedro
Puntarenas, Osa, Sierpes
Alajuela, San Mateo, Desmonte
Cartago, Alvarado, Pacayas

Telefono
22946578
22965743
25647384
26748936
27549835

Ac podemos notar que el atributo telfono no se encuentra en la primera forma normal por
lo que podemos acomodarlo en las dos siguientes tablas:
Identificacio
n
116548423
267865637
674674563
487465325
353635424

Identificacio
Nombre
n
Allan
116548423
267865637
Maria
674674563
Roberto
487465325
Allan
356354324
Roberto

Telefono

Direccion
San Jose, Coronado, San Rafael
22946578
Heredia, Santa Barbara, San
22965743
Pedro
25647384
Puntarenas, Osa, Sierpes
26748936
Alajuela, San Mateo, Desmonte
27549835
Cartago, Alvarado, Pacayas

As con esto podemos decir que ya estamos en la primera forma normal, luego de esto
podemos notar que gracias a la llave de identificacin podemos obtener tanto el nombre
como la direccin esto se refleja a continuacin:

Identificacio
n
116548423
267865637
674674563
487465325
356354324

Nombre
Allan
Maria
Roberto
Allan
Roberto

Identificacio
n
Direccion
116548423 San Jose, Coronado, San Rafael
Heredia, Santa Barbara, San
267865637
Pedro
674674563
Puntarenas, Osa, Sierpes
487465325 Alajuela, San Mateo, Desmonte
356354324
Cartago, Alvarado, Pacayas
Luego de haber visto las anteriores tablas vamos a proceder a poner un ejemplo de la tabla
de DIRECCION (Identificacion, Provincia, Distrito, Canton, OtrosDetalles):
Identificacio
n

Provincia

Distrito

116548423

San Jos

267865637
674674563
487465325
356354324

Heredia
Puntarenas
Alajuela
Cartago

Coronado
Santa
Barbara
Osa
Mateo
Alvarado

Canton OtrosDetalles
San
Rafael
Varios
San
Pedro
Varios
Sierpes
Varios
Desmonte
Varios
Pacaya
Varios

Ac lo que se podra realizar son tablas catlogo en las cuales se enumeren las provincias,
los distritos y los cantones para as tener un mejor control a continuacin se va a presentar
un ejemplo de una tabla catlogo respectiva a la Provincia:

IDProvincia Provincia
1
San Jos
2
Heredia
3
Cartago
4
Alajuela
5
Guanacaste

6
7

Puntarenas
Limn

Las otras tablas catlogo no se muestran por el espacio que ocuparan debido a la gran
variedad de distritos y a cantones, tambin es de suma importancia mencionar que se est
asumiendo que la empresa ACME slo va a comercializar sus productos dentro del pas.
Seguidamente vamos a mencionar la tabla Producto (IDProducto, IDProveedor,
IDCategoria, Precio):
IDProducto IDProveedor IDCategoria
621
456435
546
634
456435
256
453
456734
345
453
574768
345
643
366856
876

Precio
1300
1200
1600
1500
550

Como podemos notar hay datos que se encuentran repetidos, esto lo podemos solucionar de
la siguiente manera:
Ac podemos decir que gracias al ID de la categora podemos encontrar el ID del producto.
IDCategori
a
IDProducto
546
621
256
634
345
453
876
643

En la siguiente tabla el ID del proveedor nos relaciona al precio del producto que brinda.
IDProveedo
r
456435
456435
456734
574768
366856

Precio
1300
1200
1600
1500
550

En esta tabla el ID del proveedor nos pueda ayudar a encontrar el ID del producto.
IDProveedo
r
IDProducto
456435
621
456435
634
456734
453
574768
453
366856
643
Despus vamos a proceder a ver la entidad CATEGORIA, que al menos a mi pensamiento
la considero como una tabla catalogo, un ejemplo se muestra a continuacin:
IDCategori
a
256
546
474
345
876

Nombre Caracteristica
Huevo
Varias
Leche
Varias
Carne
Varias
Cigarrilos
Varias
Agua
Varias

Por ltimo tenemos la tabla del pedido, que es una recoleccin de todos los datos de las
anteriores tablas, considero que es un entidad dbil y que slo se efecta si el cliente llega
a realizar el pedido. Un ejemplo se muestra en la siguiente tabla:

IDPedido
2167342
7354698
7634569
8973587
3456743

IDMayoritari
o
IDProducto
Fecha
7234
546
15/01/2014
5446
546
15/01/2014
5446
256
15/01/2014
5446
256
09/12/2013
6543
876
09/12/2013

Sin embargo podemos indicar que gracias al IDMayoritario podemos obtener el ID del
producto, de esta manera evitamos un poco la repetitividad de datos, sin embargo es un
pedido en la cual se pueden repetir varios datos. La tabla es:
IDMayoritari
o
7234

IDProducto
546

5446
5446
6543

546
256
876

Finalmente hemos terminado con nuestra primera parte de la construccin de la base de


datos que va a ayudar a la empresa ACME a tener un mejor control en los datos que tiene
acerca de sus diferentes clientes.

Bases de Datos en SQL


Ya por haber visto y comprendido este trabajo escrito podemos proseguir a ver la base de
datos creada en Microsoft SQL Server 2012, para poder ver dicha base de datos se tiene que
abrir el script de nombre Acme adjunto a este trabajo escrito, y copiar su contenido,
proceder a abrir una nueva Query, pegamos el texto copiado y lo ejecutamos, y listo as
creamos nuestra base de datos.
Dentro de esta base de datos vamos a poder apreciar nuestras distintas tablas mencionadas
anteriormente, a cada una de estas se ha creado de la siguiente manera:

La tabla CATEGORIA:

La tabla CLIENTE

La tabla DIRECCION

La tabla MAYORITARIO

La tabla PEDIDO

La tabla PRODUCTO

La tabla PROVEEDOR

En los diseos anteriores se pueden verificar el nombre de los atributos y sus respectivos
tipos; adicionalmente a esto se han creado unos Stored Procedures para poder insertar
datos en las diferentes tablas dichos Stored Procedures son los siguientes:

Dichos Stored Procedures nos sirvieron para introducir los datos en las diferentes tablas.

Conclusin
Se espera que al haber finalizado dicho trabajo se tenga un mejor panorama acerca de lo
que contiene la base de datos y aparte de esto que se tenga un mejor conocimiento acerca
de los temas de diagramas de entidad-relacin y normalizacin y construccin de una base
de datos en Microsoft SQL Server 2012.
1

Con respecto al diseo de la base de datos en Microsoft SQL Server se han creado unos
Stored Procedures con el fin de poder introducir algunos datos en las diferentes tablas de la
base de datos acme, sin embargo al poner a ejecutar el script no se cargan los datos, y si se
ponen en una query por aparte los diferentes exec solamente se llenan las tablas
CLIENTE, DIRECCION, MAYORITARIO y PROVEEDOR, pero las tablas PRODUCTO,
CATEGORIA y PEDIDO, no se rellenan, cualquier retroalimentacin acerca de este
problema ser bien recibida..
Se espera haber cumplido con las expectativas con dicho proyecto, de igual forma cualquier
retroalimentacin es bien recibida para as ir mejorando la base de datos que ms adelante
se va a presentar completamente construida y en funcionamiento.

Bibliografa
-

http://cvva.wordpress.com/2007/12/04/normalizacion-de-bases-de-datos-las-3formas-normales/
http://es.wikipedia.org/wiki/Primera_forma_normal
http://es.wikipedia.org/wiki/Segunda_forma_normal
http://es.wikipedia.org/wiki/Tercera_forma_normal
http://es.wikipedia.org/wiki/Modelo_entidad-relaci%C3%B3n
Kroenke, David M. Procesamiento de Bases de Datos Fundamentos, diseos e
implementacin. Pearson Educacin, Mxico 2003. Pgs.: 688.

S-ar putea să vă placă și