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 cod_dept Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código del departamento correspondiente Si (Es campo llave) No Varchar 50 N/A Descripción del departamento correspondiente No Si

descripcion

________________________________________________________Bases de Datos II

7

______________________________________________________Taller Práctico MySQL t_empleados Atributos cedula Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Varchar 9 N/A Número de cedula del empleado correspondiente Si (Es campo llave) No Varchar 50 N/A Nombre del empleado correspondiente No No Varchar 9 N/A Apellidos del empleado correspondiente No No Varchar 50 N/A Dirección del empleado correspondiente No Si Character 8 N/A Telefono del empleado correspondiente No Si Integer 4 0..9999 Código del departamento donde labora el empleado Si (Es campo llave) No 8

nombre

apellidos

direccion

telefono

cod_depto

________________________________________________________Bases de Datos II

______________________________________________________Taller Práctico MySQL t_asientos Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código del asiento de diario correspondiente Si (Es campo llave) No Integer 4 0..9999 Código de una cuenta Si (Es campo llave) No Numeric 9 0..999999999 Cantidad de dinero No No Varchar 1 N/A Tipo de movimiento específico No No

cod_sucu

cod_asiento

cod_cuenta

monto

tipo_movimiento

________________________________________________________Bases de Datos II

9

______________________________________________________Taller Práctico MySQL t_catalogos Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código de cuenta Si (Es campo llave) No Varchar 50 0..9999 Descripción del catalogo correspondiente No No

cod_sucu

cod_cta

descripcion

________________________________________________________Bases de Datos II 10

______________________________________________________Taller Práctico MySQL t_facturacion Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código de factura Si (Es campo llave) No Integer 4 0..9999 Código de Artículo Si (Es campo llave) No Integer 4 0..9999 Código de Cliente No No Integer 4 0..9999 Cantidad No No

cod_sucu

cod_fact

cod_art

cod_cliente

cantidad

________________________________________________________Bases de Datos II 11

______________________________________________________Taller Práctico MySQL Atributos precio Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Money 8 0..99999999 Monto de dinero No No Money 8 0..99999999 Cantidad de dinero No No Datetime 8 N/A Fecha No No

monto

fecha

________________________________________________________Bases de Datos II 12

______________________________________________________Taller Práctico MySQL

t_clientes Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código de Cliete Si (Es campo llave) No Integer 4 0..9999 Código de zona No No Varchar 50 N/A Nombre de Cliente No No Varchar 8 N/A teléfono No Si

cod_sucursal

cod_cliente

cod_zona

nombre

telefono

________________________________________________________Bases de Datos II 13

______________________________________________________Taller Práctico MySQL

Atributos email

Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo

Tipo Varchar 30 N/A Dirección de correo electrónico No Si

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

cod_sucu

cod_zona

descripcion

________________________________________________________Bases de Datos II 14

______________________________________________________Taller Práctico MySQL

t_reparto Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código de Zona Si (Es campo llave) No Varchar 50 N/A Número de Placa Si (Es campo llave) No

cod_sucu

cod_zona

num_placa

________________________________________________________Bases de Datos II 15

______________________________________________________Taller Práctico MySQL

t_vehiculo Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Varchar 50 N/A Número de placa Si (Es campo llave) No Varchar 50 N/A Nombre de marca del vehículo No Si Varchar 50 N/A Categoría de vehículo, camión, carro etc No Si

cod_sucu

num_placa

marca

tipo_vehiculo

________________________________________________________Bases de Datos II 16

______________________________________________________Taller Práctico MySQL

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

cod_sucu

cod_lote

cod_prod

cod_prod2

cod_maquina

________________________________________________________Bases de Datos II 17

______________________________________________________Taller Práctico MySQL

Atributos cantidad

Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo

Tipo Integer 4 0..9999 Cantidad No No Char 1 N/A Orden en proceso o no No No Datetime 8 N/A fecha No No

estado

fecha

________________________________________________________Bases de Datos II 18

______________________________________________________Taller Práctico MySQL

t_tecnologia Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código de máquina Si (Es campo llave) No Varchar 50 N/A No No

cod_sucu

cod_maquina

descripcion

t_inventario ________________________________________________________Bases de Datos II 19

______________________________________________________Taller Práctico MySQL Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de sucursal Si (Es campo llave) No Integer 4 0..9999 Código de producto Si (Es campo llave) No Numeric 9 0..999999999 Cantidad No Si Numeric 9 0..999999999 Precio de venta No Si Numeric 9 0..999999999 Precio de costo No Si t_productos

cod_sucu

cod_prod

cant

precio

costo

________________________________________________________Bases de Datos II 20

______________________________________________________Taller Práctico MySQL Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código de Producto Si (Es campo llave) No Integer 4 0..9999 Código de Bodega No No Varchar 50 N/A Descripción de Bodega No No Varchar 2 N/A Tipo de Artículo No No t_bodega

cod_sucu

cod_prod

cod_bod

descripción

tipo_art

________________________________________________________Bases de Datos II 21

______________________________________________________Taller Práctico MySQL Atributos cod_cia Características Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Dato Longitud Rango Significado Unicidad Soporte de Nulo Tipo Integer 4 0..9999 Código de Compañía Si (Es campo llave) No Integer 4 0..9999 Código de Sucursal Si (Es campo llave) No Integer 4 0..9999 Código de Bodega Si (Es campo llave) No Varchar 50 N/A Descripción de la bodega No No

cod_sucu

cod_bod

descripcion

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

Sign up to vote on this title
UsefulNot useful