You are on page 1of 25

Ingeniería en Sistemas de Computación

Bases de Datos II

Profesor: Ing. Freisy Valverde Solís

Taller Práctico

Realizado por:

Allen Aguilar Azofeifa


Adrián Ulate Chavarría
Gustavo Sánchez Delgado
Ezequiel Silva Carrillo
Carlos Ulate Hernández

I Cuatrimestre

2007
______________________________________________________Taller Práctico MySQL

Índice

1 Introducción-----------------------------------------------------------------------------------------3
2 Desarrollo--------------------------------------------------------------------------------------------4
2.1 Diagramas por cada etapa de modelamiento de la base de datos distribuida4
2.2 Diagrama de Entidad Relación........................................................................6
2.3 Diccionario de Datos........................................................................................6
2.4 Diseño de la Base de Datos Distribuida........................................................22
2.4.1 Estrategia Empleada...............................................................................23
2.4.2 Diseño de la Distribución.........................................................................23
2.4.3 Tipo de Base de Datos Distribuida..........................................................23
2.4.4 Clasificación de la Base de Datos Distribuida.........................................23
2.4.5 Tipos de Transacciones...........................................................................23
Conclusión............................................................................................................24

________________________________________________________Bases de Datos II 2
______________________________________________________Taller Práctico MySQL

1 Introducción
Como ya sabemos la globalización ya no es un mito sino toda una realidad, hoy en
día las medianas y grandes compañías no se encuentran ubicadas en solo lugar
geográfico sino que se distribuyen en diferentes puntos cardinales y por todo el
orbe.

Con todo este crecimiento es necesario buscar métodos que agilicen el trato de
información de una manera eficiente como si estuviera en el punto mismo donde
fue generada inicialmente. Es de gran importancia para el gran gerente poder
tener la información global en su pc personal y poder ver como se está moviendo
su negocio en un momento dado en todo el mundo.

De esta gran necesidad de control ágil de la información en puntos diferentes del


globo surge el concepto sistema de bases de datos distribuida (SBDD) que es
un sistema en el cual múltiples sitios de bases de datos están ligados por un
sistema de comunicaciones, de tal forma que, un usuario en cualquier sitio puede
acceder los datos en cualquier parte de la red exactamente como si los datos
estuvieran almacenados en su propio sitio.

Para explicar mejor y poder entender más ampliamente este concepto a


continuación desarrollaremos un ejemplo de cómo aplicar este concepto partiendo
del hecho de que tenemos oficinas ubicadas en 3 diferentes países, esperando
que al finalizar el desarrollo de este trabajo el concepto de SBDD haya quedado
claro y que sea de su total satisfacción lo aprendido.

________________________________________________________Bases de Datos II 3
______________________________________________________Taller Práctico MySQL

2 Desarrollo

2.1 Diagramas por cada etapa de modelamiento de la base de datos


distribuida

2.1.1 Definición de Entidades

CONCEPTOS

Bodega Contabilidad Distribución Admin

Producción Tecnología Rec Humanos Ventas

2.1.2 Atributos por entidad.

________________________________________________________Bases de Datos II 4
______________________________________________________Taller Práctico MySQL

2.1.2 Llaves Primarias y llaves Candidatas.

________________________________________________________Bases de Datos II 5
______________________________________________________Taller Práctico MySQL

2.2 Diagrama de Entidad Relación

2.3 Diccionario de Datos

2.3.1 Concepto Diccionario de Datos


Un diccionario de datos contiene las características lógicas de los datos que se
van a utilizar en el sistema que estamos programando, incluyendo nombre,
descripción, alias, contenido y organización.
Estos dicccionarios se desarrollan durante el análisis de flujo de datos y ayuda a
los analistas que participan en la determinación de los requerimientos del sistema,
su contenido también se emplea durante el diseño del proyecto.

________________________________________________________Bases de Datos II 6
______________________________________________________Taller Práctico MySQL

t_departamentos
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_dept Rango 0..9999
Significado Código del departamento correspondiente
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
descripcion Rango N/A
Significado Descripción del departamento
correspondiente
Unicidad No
Soporte de Nulo Si

________________________________________________________Bases de Datos II 7
______________________________________________________Taller Práctico MySQL

t_empleados
Atributos Características Tipo
Tipo Dato Varchar
Longitud 9
cedula Rango N/A
Significado Número de cedula del empleado
correspondiente
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
nombre Rango N/A
Significado Nombre del empleado correspondiente
Unicidad No
Soporte de Nulo No

Tipo Dato Varchar


Longitud 9
apellidos Rango N/A
Significado Apellidos del empleado correspondiente
Unicidad No
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
direccion Rango N/A
Significado Dirección del empleado correspondiente
Unicidad No
Soporte de Nulo Si

Tipo Dato Character


Longitud 8
telefono Rango N/A
Significado Telefono del empleado correspondiente
Unicidad No
Soporte de Nulo Si

Tipo Dato Integer


Longitud 4
cod_depto Rango 0..9999
Significado Código del departamento donde labora el
empleado
Unicidad Si (Es campo llave)
Soporte de Nulo No

________________________________________________________Bases de Datos II 8
______________________________________________________Taller Práctico MySQL

t_asientos
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_asiento Rango 0..9999
Significado Código del asiento de diario correspondiente
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_cuenta Rango 0..9999
Significado Código de una cuenta
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Numeric


Longitud 9
monto Rango 0..999999999
Significado Cantidad de dinero
Unicidad No
Soporte de Nulo No

Tipo Dato Varchar


Longitud 1
tipo_movimiento Rango N/A
Significado Tipo de movimiento específico
Unicidad No
Soporte de Nulo No

________________________________________________________Bases de Datos II 9
______________________________________________________Taller Práctico MySQL

t_catalogos
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_cta Rango 0..9999
Significado Código de cuenta
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
descripcion Rango 0..9999
Significado Descripción del catalogo correspondiente
Unicidad No
Soporte de Nulo No

________________________________________________________Bases de Datos II 10
______________________________________________________Taller Práctico MySQL

t_facturacion
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_fact Rango 0..9999
Significado Código de factura
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_art Rango 0..9999
Significado Código de Artículo
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_cliente Rango 0..9999
Significado Código de Cliente
Unicidad No
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cantidad Rango 0..9999
Significado Cantidad
Unicidad No
Soporte de Nulo No

________________________________________________________Bases de Datos II 11
______________________________________________________Taller Práctico MySQL

Atributos Características Tipo


Tipo Dato Money
Longitud 8
precio Rango 0..99999999
Significado Monto de dinero
Unicidad No
Soporte de Nulo No

Tipo Dato Money


Longitud 8
monto Rango 0..99999999
Significado Cantidad de dinero
Unicidad No
Soporte de Nulo No

Tipo Dato Datetime


Longitud 8
fecha Rango N/A
Significado Fecha
Unicidad No
Soporte de Nulo No

________________________________________________________Bases de Datos II 12
______________________________________________________Taller Práctico MySQL

t_clientes
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucursal Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_cliente Rango 0..9999
Significado Código de Cliete
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_zona Rango 0..9999
Significado Código de zona
Unicidad No
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
nombre Rango N/A
Significado Nombre de Cliente
Unicidad No
Soporte de Nulo No

Tipo Dato Varchar


Longitud 8
telefono Rango N/A
Significado teléfono
Unicidad No
Soporte de Nulo Si

________________________________________________________Bases de Datos II 13
______________________________________________________Taller Práctico MySQL

Atributos Características Tipo


Tipo Dato Varchar
Longitud 30
email Rango N/A
Significado Dirección de correo electrónico
Unicidad No
Soporte de Nulo Si

t_zona
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_zona Rango 0..9999
Significado Código de zona
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
descripcion Rango 0..9999
Significado Descripción de zona
Unicidad No
Soporte de Nulo No

________________________________________________________Bases de Datos II 14
______________________________________________________Taller Práctico MySQL

t_reparto
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_zona Rango 0..9999
Significado Código de Zona
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
num_placa Rango N/A
Significado Número de Placa
Unicidad Si (Es campo llave)
Soporte de Nulo No

________________________________________________________Bases de Datos II 15
______________________________________________________Taller Práctico MySQL

t_vehiculo
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
num_placa Rango N/A
Significado Número de placa
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
marca Rango N/A
Significado Nombre de marca del vehículo
Unicidad No
Soporte de Nulo Si

Tipo Dato Varchar


Longitud 50
tipo_vehiculo Rango N/A
Significado Categoría de vehículo, camión, carro etc
Unicidad No
Soporte de Nulo Si

________________________________________________________Bases de Datos II 16
______________________________________________________Taller Práctico MySQL

t_produccion
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_lote Rango 0..9999
Significado Código de Lote
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_prod Rango 0..9999
Significado Código de Producto
Unicidad No
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_prod2 Rango 0..9999
Significado
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_maquina Rango 0..9999
Significado Código de máquina
Unicidad No
Soporte de Nulo No

________________________________________________________Bases de Datos II 17
______________________________________________________Taller Práctico MySQL

Atributos Características Tipo


Tipo Dato Integer
Longitud 4
cantidad Rango 0..9999
Significado Cantidad
Unicidad No
Soporte de Nulo No

Tipo Dato Char


Longitud 1
estado Rango N/A
Significado Orden en proceso o no
Unicidad No
Soporte de Nulo No

Tipo Dato Datetime


Longitud 8
fecha Rango N/A
Significado fecha
Unicidad No
Soporte de Nulo No

________________________________________________________Bases de Datos II 18
______________________________________________________Taller Práctico MySQL

t_tecnologia
Atributos Características Tipo
Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_maquina Rango 0..9999
Significado Código de máquina
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
descripcion Rango N/A
Significado
Unicidad No
Soporte de Nulo No

t_inventario

________________________________________________________Bases de Datos II 19
______________________________________________________Taller Práctico MySQL

Atributos Características Tipo


Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_prod Rango 0..9999
Significado Código de producto
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Numeric


Longitud 9
cant Rango 0..999999999
Significado Cantidad
Unicidad No
Soporte de Nulo Si

Tipo Dato Numeric


Longitud 9
precio Rango 0..999999999
Significado Precio de venta
Unicidad No
Soporte de Nulo Si

Tipo Dato Numeric


Longitud 9
costo Rango 0..999999999
Significado Precio de costo
Unicidad No
Soporte de Nulo Si

t_productos

________________________________________________________Bases de Datos II 20
______________________________________________________Taller Práctico MySQL

Atributos Características Tipo


Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_prod Rango 0..9999
Significado Código de Producto
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_bod Rango 0..9999
Significado Código de Bodega
Unicidad No
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
descripción Rango N/A
Significado Descripción de Bodega
Unicidad No
Soporte de Nulo No

Tipo Dato Varchar


Longitud 2
tipo_art Rango N/A
Significado Tipo de Artículo
Unicidad No
Soporte de Nulo No

t_bodega

________________________________________________________Bases de Datos II 21
______________________________________________________Taller Práctico MySQL

Atributos Características Tipo


Tipo Dato Integer
Longitud 4
cod_cia Rango 0..9999
Significado Código de Compañía
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_sucu Rango 0..9999
Significado Código de Sucursal
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Integer


Longitud 4
cod_bod Rango 0..9999
Significado Código de Bodega
Unicidad Si (Es campo llave)
Soporte de Nulo No

Tipo Dato Varchar


Longitud 50
descripcion Rango N/A
Significado Descripción de la bodega
Unicidad No
Soporte de Nulo No

2.4 Diseño de la Base de Datos Distribuida

________________________________________________________Bases de Datos II 22
______________________________________________________Taller Práctico MySQL

2.4.1 Estrategia Empleada

La estrategia que hemos empleado en nuestra solución es descendente, esto por


que la empresa Electronics S.A. nos ha proporcionado los requerimientos para
modelarles y diseñarles una base de datos que permita almacenar el registro
diario de su operatividad en cuanto a la producción y distribución de los productos
la empresa.

2.4.2 Diseño de la Distribución

En el diseño de la distribución de la base de datos se utiliza fragmentación debido


al alto volumen de información que maneja la empresa así como también los
métodos de replicación ya que la empresa requiere un ambiente distribuido
además de las grandes transacciones que se ejecutan en línea.

2.4.3 Tipo de Base de Datos Distribuida

El tipo de la base de datos que manejamos es homogénea ya que cada sitio va


tener el mismo Sistema Gestor de Base de Datos relacionada con la metodología
de replicación que se va a utilizar.

2.4.4 Clasificación de la Base de Datos Distribuida

En este aspecto la base de datos es totalmente replicada, esto con el fin de que
todos los nodos tengan la garantía de la misma información de manera inmediata
y también que no haya una independencia de información entre los distintos
nodos.

2.4.5 Tipos de Transacciones

Los tipos de transacciones que se van a utilizar son:

 Globales: Son las transacciones que involucran varias tablas de otros


nodos y son administrados por el SGBDD.

________________________________________________________Bases de Datos II 23
______________________________________________________Taller Práctico MySQL

 Locales: Son las transacciones que involucran una o varias tablas de un


nodo y son administrados por el SGBD local.
Ejemplo: INSERT INTO ELEC_JP.DEPTO_JP (DEPTO_JP.JP_COD_CIA,
DEPTO_JP.JP_COD_SUCURSAL, DEPTO_JP.JP_COD_DPTO,
DEPTO_JP.JP_DPTO_NOMBRE) VALUES (1,1,1,’Contabilidad’);

Conclusión

________________________________________________________Bases de Datos II 24
______________________________________________________Taller Práctico MySQL

Me parece que el trabajo se le pudo haber sacado un mayor provecho. Tal vez
falto un poco mas de guía por parte del profesor y más motivación y entusiasmo
de parte nuestra. Sin embargo creo que logramos entender el concepto sistema
de bases de datos distribuida (SBDD).
Es un sistema muy interesante con el cual se pueden obtener grandes resultados
y muy eficientes pero como en todos también tienen sus puntos débiles que a
nuestro parecer son la minoría. Por mencionar alguno al replicar por ejemplo
consume bastante ancho de banda la transmisión de información de un punto a
otro, pero una vez que esa información a sido replicada se obtienen resultados a
la vista.
Nos parece que en la actualidad es uno de los mejores métodos y uno de los más
eficientes ya que este, bien que mal, me garantiza resultados excelente siempre y
cuando se haga de la manera correcta.

________________________________________________________Bases de Datos II 25

You might also like