Вы находитесь на странице: 1из 49

AO DE LA INTEGRACION Y RECONOCIMIENTO DE NUESTRA DIVERSIDAD

UNIVERSIDAD NACIONAL DE SAN MARTIN


FACULTAD DE INGENIERIA DE SISTEMAS E INFORMTICA
ESCUELA ACADMICA PROFESIONAL DE INGENIERIA DE SISTEMAS E INFORMATICA

TRABAJO MONOGRAFIA
MYSQL
DOCENTE: Ing. ANDY HIRVIN RUCOBA ESTUDIANTES: EMNY TORRES GARCIA. JIMMY ALEX GUEVARA CRUZ JINO LUIS ALVA CUEVA EVER CARLOS ROJAS ROSA ELENA SOPLOPUCO TORRES RENE RENGIFO SORIA Morales-Diciembre 2012

DEDICATORIA A m querida madre la Sra. Lidmer Garcia Torres, Al Sr: Cesar Luis Vsquez Pinchi que es como un padre para m.

AGRADECIMIENTO A DIOS por ser mi gua y sustento diario. A mis padres y esposa por su amor y apoyo incondicional. Al ing.

Andy Hirvin Rucoba por su orientacin y compartir sus conocimientos reforzando sustancialmente m Formacin profesional

NDICE Caratula Dedicatoria Agradecimiento I. II. III. ndice Introduccin Objetivos 2.1 Objetivo general 2.2 Objetivos especficos MYSQL 3.1 Evolucin histrica del gestor de base de datos 3.1.1 Como, cuando y donde se creo 3.1.2 Evolucin de versiones y mejoras hasta la fecha 3.1.3 Hechos transcendentales 3.2 Conociendo el gestor de base de datos 3.2.1 Caractersticas propias del gestor 3.2.2 Diferencia frente a otros gestores 3.2.3 Demostracin del gestor y sus herramientas bsicas (creacin de tablas, vistas, etc.) 3.3 Disponibilidad 3.3.1 Definicin de disponibilidad 3.3.2 Herramientas de disponibilidad en el gestor(copias de seguridad y restauracin) 3.3.3 Alta disponibilidad, tcnicas (ejemplo: Clustering, Replicacin, Mirroring, etc.) 3.4 Diccionario de datos 3.4.1 Definicin de metadatos 3.4.2 Definicin de diccionario de datos 3.4.3 Estndar ISO 10027 3.4.4 Demostracin del diccionario en el gestor(donde se pueda observar donde se almacenan las tablas, vistas, procedimientos almacenados ,etc. y las propias configuraciones del servidos) 3.5 Seguridad de base de datos 3.5.1 Definicin de seguridad en base de datos 3.5.2 Inicios de sesin, usuarios, roles grupos, funciones en el servidos, privilegios 3.5.3 Demostracin de la seguridad en el gestor(cree un usuario en la base de datos y ve asignndolo sus respectivos permisos y privilegios demostrando lo que pasa) 3.6 Rendimiento 3.6.1 Transacciones, estados, puntos de confirmacin y control, bloqueos 3.6.2 Control de concurrencia

3.6.3 Optimizacin de Consultas, Heurstica, Creacin de ndices, Plan de Ejecucin de Consultas 3.6.4 Estimacin de Costos de Procesamiento de consultas 3.6.5 Balanceo de Carga 3.7 Migracin de datos 3.7.1 Definicin de Migracin de Datos, Propsito de una migracin 3.7.2 Etapas Bsicas de una Migracin de Datos. 3.7.3 Clientes OLEDB, ODBC y JDBC 3.7.4 Herramientas de Migracin de Datos 3.7.5 Demostracin de Migracin de datos del Gestor hacia Otros Gestores (cree una fuente de datos y utilizando las herramientas del propio gestor migre los datos al gestor) 3.8 Base de datos distribuidas 3.8.1 Concepto de Base de Datos Distribuidas. 3.8.2 Particin Vertical y Horizontal 3.8.3 Tipos de Arquitecturas(Implementaciones) 3.8.4 Base de Datos Geogrficamente Distribuidas IV Recomendaciones tcnicas V BIBLIOGRAFIA

I.

INTRODUCCION
En la presente monografa se tratar acerca de Mysql que es un sistema de gestin de bases de datos relacional y fue creada por la empresa sueca MySQL AB, la cual tiene el copyright del cdigo fuente del servidor SQL, as como tambin de la marca. MySQL nos sirve para la administracin de bases de datos, podemos realizar desde operaciones bsicas como creacin de bases de datos, insercin, actualizacin y eliminacin de registros, hasta la creacin de funciones, procedimientos almacenados, trigger, que hacen que la gestin de nuestras bases de datos sean ms eficientes. MySQL es un excelente gestor de bases de datos que la sitan despus de Oracle cmo la mejor solucin a nivel tcnico por las siguientes caractersticas MySQL es una aplicacin de Cdigo abierto y por lo tanto es gratuita, nos permite redistribuir una aplicacin que la contenga y nos permite incluso modificar su cdigo para mejorarla o adaptarla a nuestras necesidades. Adems, existe la seguridad de contar con una importante cuota de mercado y de saber que es una solucin estable, mantenida por un buen equipo de desarrolladores y e incluso con soporte de pago. MySQL es un sistema fcil de instalar y configurar en servidores Windows, Linux... y enseguida nos permite ejecutar sencillas consultas de SQL. Adems dispone de muchas funciones vitales para el desarrollo profesional cmo puede ser el volcado online, la duplicacin... MySQL puede correr en la inmensa mayora de sistemas operativos, por lo que junto a otro lenguaje de programacin de lado de servidor de alta portabilidad como Java, PHP, Perl... nos permite el desarrollo de aplicaciones web fciles de migrar y el acceso y cpia de los datos desde cualquier Sistema Operativo. De acuerdo a la investigacin realizada en cuanto a diferentes sistemas de bases de datos y avalados por estudios recientes, se puede afirmar que MySQL es un sistema con una velocidad superior a sus rivales, incluido Oracle, a la hora de realizar instrucciones SQL.

II.

OBJETIVOS Objetivo General. Conocer e identificar las caractersticas principales del motor de la base de datos MySQL.

Objetivos Especficos. Conocer la historia y el mejoramiento que ha tenido el motor. Describir y Conocer las principales herramientas utilizadas por el motor. Diferenciar las ventajas competitivas con respecto a los dems motores.

III.
3.1

MYSQL
Evolucin histrica del gestor de base de datos 3.1.1 Como, cuando y donde se creo. Mysql fue creado en 1995 y sigue siendo desarrollado en la actualidad por MYSQL AB una compaa radicada en suecia. Fue creado porque se necesitaba una base de datos relacional capaz de manejar grandes cantidades de datos en equipos relativamente baratos. El nombre del delfn de MySQL (nuestra insignia) es "Sakila". Segn los creadores de MySql, este delfn representa los valores de la compaa y de la base de datos: rapidez, precisin, potencia y naturalidad. 3.1.2 Evolucin de versiones y mejoras hasta la fecha. La evolucin de MySQL se produce con las sugerencias de los usuarios, canalizadas por la empresa MySQL AB, que contrata a programadores de todo el mundo para que, a travs de Internet, vayan ampliando y mejorando el producto. Las versiones, como es costumbre en este tipo de software libre, se van colgando en Internet para que los usuarios puedan disponer de ellas. EVOLUCION En octubre de 2005, Oracle Corporacin adquiri innobase OY, el finlandes empresa que desarroll el tercero InnoBD motor de almacenamiento que permite a MySQL para proporcionar una funcionalidad como las transacciones y Claves foranes. Despus de la adquisicin, un Oracle comunicado de prensa menciona que los contratos que ofrecen software para la empresa MySQLAB se debera a la renovacin (y, presumiblemente, renegociacin) en algn momento en 2006. Historia empresarial 3.1.3 Hechos transcendentales. Durante la Conferencia de Usuarios de MySQL en abril de 2006, MySQL emitidos un comunicado de prensa que confirm que MySQL y Innobase OY acordaron un "varios aos" la extensin de su acuerdo de licencia. En febrero de 2006, Oracle Corporation adquiri Sleepycat Software, los responsables de la Berkeley DB, un motor de base de datos que proporciona la base para otro motor de almacenamiento de MySQL. Esto tuvo poco efecto, como Berkeley DB

no era ampliamente utilizado, y est desfasada (debido a la falta de uso) en MySQL 5.1.12, una versin pre-GA de MySQL 5.1 lanzado en octubre de 2006. En enero de 2008, Sun Microsystems compra MySQL por dlares de los EE.UU. 1 mil millones. En abril de 2009, Oracle Corporation lleg a un acuerdo para comprar SunMicrosystems, a continuacin, los propietarios de los derechos de autor y marca registrada de MySQL. La junta directiva de Sol de directores aprob por unanimidad el acuerdo, que tambin fue aprobada por los accionistas de Sol, y por el gobierno de los EE.UU. el 20 de agosto de 2009. 3.2 Conociendo el gestor de base de datos 3.2.1 Caractersticas propias del gestor Est desarrollado en C/C++. Se distribuyen ejecutables para cerca de diecinueve plataformas diferentes. La API se encuentra disponible en C, C++, Eiffel , Java, Perl, PHP, Python, Ruby y TCL Un sistema de reserva de memoria muy rpido basado en threads. Joins muy rpidos usando un multi-join de un paso optimizado. Transacciones y claves forneas. Conectividad segura. Replicacin. Bsqueda e indexacin de campos de texto. El servidor est disponible como un programa separado para usar en un entorno de red cliente/servidor.

3.2.2 Diferencia frente a otros gestores MySQL se ha convertido en el gestor de bases de datos ms utilizado desde hace aos a la hora de desarrollar cualquier aplicacin web, gracias a su rapidez, facilidad de uso y a la posibilidad de contar con una gran cantidad de libreras y herramientas compatibles con todos los lenguajes de programacin. Otros factores que han hecho que MySQL sea muy popular es que se trata de un software libre y que las empresas de alojamiento web, como es el caso de Hostalia, lo instalen en todos sus servidores. Las bases de datos MySQL ofrecen la posibilidad de elegir entre varios motores de almacenamiento, siendo MyISAM e

InnoDB los ms utilizados. A continuacin vamos a explicar cul es el ms til para nuestra base de datos.

La imagen nos muestra todas las utilidades que nos aporta el servidor MySQL para la gestin de nuestras bases de datos

A la hora de crear las tablas, la mayora de los usuarios no tiene en cuenta el motor de almacenamiento, y se limita a usar el que viene por defecto en la base de datos. Esto es un error, ya que dependiendo de la funcionalidad que le demos a nuestra aplicacin ser mejor utilizar MyISAM o InnoDB. Por ejemplo, si nuestra aplicacin realiza gran cantidad de operaciones de inserciones, actualizaciones o selecciones de datos, ser mejor utilizar el tipo MyISAM, ya que ejecutar estas instrucciones de forma ms rpida. Sin embargo necesitan hacer muchsimas consultas para recuperar informacin almacenada, es mejor utilizar el tipo InnoDB, que adems aporta una mayor integridad de datos. 3.2.3 Demostracin del gestor y sus herramientas bsicas (creacin de tablas, vistas, etc.) 3.3 Disponibilidad 3.3.1 Definicin de disponibilidad La disponibilidad es la caracterstica, cualidad o condicin de la informacin de encontrarse a disposicin de quienes deben acceder a ella, ya sean personas, procesos o aplicaciones. A groso modo, la

disponibilidad es el acceso a la informacin y a los sistemas por personas autorizadas en el momento que lo requieran. Lo cual se puede tener una ecuacin para calcular la disponibilidad: D=( TMEF )/(TMEF+TMRF) Donde D es el grado de disponibilidad expresado como porcentaje, TMEF es el tiempo medio entre fallas, y TMRF es el mximo tiempo para reparar o resolver un problema particular.

3.3.2 Herramientas de disponibilidad en el gestor(copias de seguridad y restauracin) Copia de Seguridad Una copia de seguridad o backup (su nombre en ingls) en tecnologa de la informacin o informtica es una copia de seguridad - o el proceso de copia de seguridad - con el fin de que estas copias adicionales puedan utilizarse para restaurar el original despus de una eventual prdida de datos. Fundamentalmente son tiles para tres cosas: Primero: recuperarse de una catstrofe informtica, Segundo: recuperar una pequea cantidad de archivos que pueden haberse eliminado accidentalmente o corrompido. La prdida de datos es muy comn: El 66% de los usuarios de internet han sufrido una seria prdida de datos Ya que los sistemas de respaldo contienen por lo menos una copia de todos los datos que vale la pena salvar, deben de tenerse en cuenta los requerimientos de almacenamiento. La organizacin del espacio de almacenamiento y la administracin del proceso de efectuar la copia de seguridad son tareas complicadas. Para brindar una estructura de almacenamiento es conveniente utilizar un modelo de almacenaje de datos. Actualmente (noviembre de 2010), existen muchos tipos diferentes de dispositivos para almacenar datos que son tiles para hacer copias de seguridad, cada uno con sus ventajas y desventajas a tener en cuenta para elegirlos, como duplicidad, seguridad en los datos y facilidad de traslado. Restaurar copias de seguridad Muchas veces hemos hablado de la necesidad de hacer las copias de seguridad de los datos de nuestras empresas. Es muy importante contar con un respaldo adecuado a la hora de recuperar la informacin en caso de prdida, por eso debemos prestar especial atencin a la restauracin datos de las copias de seguridad. Es un aspecto que muchas veces cuando elegimos un gestor de copias de backup no valoramos adecuadamente. Tan importante como tener las copias correctamente hechas, con un plan de

ejecucin adecuado y secuencial es poder recuperar la informacin para que nuestra empresa est operativa lo antes posible. Para ello debemos tener en cuenta algunos aspectos importantes: Medio fsico en el que realizamos las copias de seguridad. No tendremos la misma velocidad de lectura escritura en un cinta magntica, DDS o DAT que en un CD o en un disco duro externo. A la hora de volver a restaurar los datos ser igualmente importante desde donde los copiamos. Etiquetado del medio ya sea a nivel lgico como a nivel fsico. En este aspecto debemos tener en cuenta como llama el servidor a la cinta cuando quiere restaurar los datos. Esta bien que etiquetemos con nombres de da de la semana, o del mes, pero lo normal es que haya un nmero secuencial de etiquetado interno que ser el que mande. Adems debemos comprobar que el etiquetado lgico coincide con el fsico, para conseguir una coherencia y no perder tiempo buscando en que cinta o dvd tenemos la informacin que necesitamos. Facilidad de restauracin que en este caso debemos comprobar tanto a la hora de realizar recuperacin de archivos de copias incrementales como de copias completas. Pruebas de restauracin es fundamental realizarlas peridicamente para comprobar no slo que la copia se ejecuta correctamente sino que podemos recuperar distintos archivos con normalidad, que al fin y al cabo es el objetivo de esta tarea. Por lo tanto no podemos fijarnos slo en la facilidad de creacin de las tareas de copia, ejecucin de las mismas y la consola del programa de copias de seguridad. Tambin es muy importante la segunda parte de la tarea que consiste en restaurar los archivos del formato fsico de copia a nuestro servidor o equipo informtico. Que se ejecute correctamente y en el menor tiempo posible son factores importantes a la hora de elegir uno u otro sistema de copia. 3.3.3 Alta disponibilidad, tcnicas (ejemplo: Clustering, Replicacin, etc.) Replicacin o La replicacin es la copia sincronizada entre dos servidores de bases de datos de forma que cualquiera de los dos puede entregar los mismos resultados a sus clientes.

o MySQL incluye la posibilidad de replicacin con las siguientes caractersticas: o Funciona con el esquema maestro-esclavo: existe un servidor maestro que lleva el control central y uno o varios servidores esclavos que se mantienen sincronizados con el servidor maestro. o La rplica se realiza mediante un registro de los cambios realizados en la base de datos: no se realizan las copias de las bases de datos para mantenerlas sincronizadas, en su lugar se informa de las operaciones realizadas en el servidor maestro (insert, delete, update...) para que las realicen a su vez los servidores esclavos. o No es posible realizar cambios en los servidores esclavos, son exclusivamente para consultas. o Este sencillo esquema permite la creacin de replicas sin mayores complicaciones obteniendo los siguientes beneficios: o Se distribuye la carga de trabajo. o El sistema es redundante, por lo que en caso de desastre hay menos probabilidades de perder los datos. o Es posible realizar los respaldos de un esclavo sin interrumpir el trabajo del servidor maestro. o La replicacin en MySQL se basa en un servidor maestro que toma nota de todos los cambios en las bases de datos (actualizaciones, borrados, y as) en los logs binarios. Por lo tanto, para usar replicacin, debe activar el log binario en el servidor maestro. o Cada servidor esclavo recibe del maestro las actualizaciones guardadas que el maestro ha guardado en su log binario, de forma que el esclavo puede ejecutar las mismas actualizaciones en su copia de los datos. MySQLCluster o Es un mecanismo ms robusto que el MySQLReplication, sin embargo a diferencia de otras soluciones es una tecnologa que permite el clustering de bases de datos en memoria en un ambiente de no comparticin. La arquitectura de no comparticin permite que el sistema gestor de base de datos (SGBD) funcione utilizando

hardware no muy costoso y con requerimientos mnimos tanto de software como de hardware. o En su implementacin ms sencilla, un clster MySQL integra un servidor MySQL estndar y un motor de almacenamiento en memoria llamado NDB clster, funcionando en un conjunto de una o ms computadoras. Cada una de estas computadoras ejecutando uno o ms procesos, que pueden consistir en procesos de MySQL server, nodos de almacenamiento de datos, servidor administrador del clster, o programas especializados para acceder a los datos.

Replicacin de clusters o A partir de la versin 5.1.6 (febrero 2006), MySQL soporta escenarios de alta disponibilidad en el que los clusters pueden ser replicados completamente de forma automtica. Para estos escenarios, MySQL brinda una arquitectura en la cual los distintos servidores funcionan en un escenario de maestro-esclavo.

3.3.4 Demostracin de la Disponibilidad en el Gestor (Haga un ejemplo de cmo sacar una copia de seguridad y como restaurarlo, adems de ciertas opciones de configuracin de copias de seguridad propias de cada gestor) Copias de Seguridad usando comandos Conocer la ubicacin y estructura del directorio de datos. Parar el servicio MySQL mientras se realiza la copia. En cuanto a la ubicacin y estructura del directorio, recordemos que la distribucin de MySQL ubica el directorio de datos en /usr/local/mysql/var, las distribuciones GNU/Linux basadas en paquetes como DEB o RPM ubican, por lo general, los datos en /var/lib/mysql. Si por algn motivo no encontramos el directorio de datos, podemos consultarlo a MySQL. El comando show variables nos muestra todas las variables disponibles, basta realizar un filtro con la clausula like:

Una vez ubicados los archivos, detenemos la ejecucin del servidor: un modo sencillo de asegurarnos de que la base de datos no ser modificada mientras terminamos la copia: Finalmente, copiamos el directorio completo con todas las bases de datos:

Copias de Seguridad usando PhpMyadmin Vamos al navegador que estemos utilizando accedemos escribiendo
localhost/phpmyadmin

Encontraremos un listado en la barra lateral izquierda con la base o bases de datos de nuestro alojamiento. Nuestras bases de datos siempre empezaran por el nombre de usuario de nuestro panel de control:

Tendremos que escoger la base de datos de la cual queremos realizar una copia de seguridad o backup.

Una vez dentro de nuestra base de datos veremos un reporte de todas las tablas de contenido y en el men superior encontraremos la opcin Exportar.

Nos aparecern listadas las tablas de nuestra base de datos y seleccionadas por defecto - Ms abajo aparecer Enviar (genera un archivo descargable) que es justo lo que deseamos hacer, generar un archivo y descargarlo en local en nuestro ordenador. Podemos elegir la opcin comprimido con gzip por ejemplo para que la descarga sea ms gil y pulsamos Continuar.

Nos saltar una ventana para guardemos el archivo con la base de datos en el lugar de nuestro ordenador que deseemos y de esta forma tendremos un respaldo de nuestra base de datos.

Restauracin de copia de Seguridad usando Comandos En algn momento, sea por el motivo que sea, necesitaremos realizar la restauracin de nuestras bases de datos. Si tenemos una copia binaria del directorio de datos, bastar con copiarla al directorio original y reiniciar el servidor:

Podemos consultar el estado de integridad de una tabla con el comando checktable, que realiza algunas verificaciones sobre la tabla en busca de errores y nos entrega un informe con las siguientes columnas de informacin:

MySQL no permite realizar consultas sobre una tabla daada y enviar un mensaje de error sin desplegar resultados parciales:

Restauracin de copia de Seguridad usando Comandos Para efectuar la restauracin (Restore), debemos crear primero la base de datos. Luego seleccionamos la opcin IMPORT. Buscamos el fichero y lo cargamos. Si dividimos en varios bloques cargar uno detrs de otro los distintos bloques.

3.4

En teora la base de datos ya tiene que funcionar correctamente.

Diccionario de datos 3.4.1 Definicin de metadatos Los metadatos son informacion documentada a traves de herramientas de tecnoogia de la informacion que mejora la comprension, tanto tecnica como comercial de los datos y los procesos relacionados con ellos. Los metadatos describen las caractersticas de los datos. Una forma sencilla de definirlos sera la siguiente: los metadatos son datos acerca de los datos. stos proveen informacin (general o detallada) estructurada y organizada sobre un conjunto de datos, contienen elementos que describen su semntica, calidad, autor, modo de identificacin, restricciones de uso, mantenimiento, sistema de referencia y contenido, entre otros. Todo esto permite consultar, evaluar, comparar, acceder y/o utilizar la informacin Funciones Apoyar el acceso a los documentos; Apoyar y documentar la gestin y la preservacin de documentos digitales. Los metadatos deben ser registrados durante todo el ciclo de vida de los documentos, incluyendo las actividades de: creacin, identificacin, descripcin, acceso, almacenamiento y preservacin.

Tipos 1. Administrativo 2. Estructurales 3. Descriptivos Administrativos o Auxilia en la gestin de documentos, la gestin de derechos y la gestin de la preservacin. o Registra caractersticas tcnicas. Estructurales Describen las relaciones entre documentos y la estructura interna de documentos complejos documentos complejos (formados por diversos archivos relacionados) Ejemplos bases de datos, pginas de la web, correos electrnicos con anexos. 3.4.2 Definicin de diccionario de datos Un diccionario de datos es un conjunto de metadatos que contiene las caractersticas lgicas de los datos que se van a utilizar en el sistema que se programa, incluyendo nombre, descripcin, alias, contenido y organizacin. Estos diccionarios se desarrollan durante el anlisis de flujo de datos y ayuda a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo del proyecto. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la informacin, se desarrolla durante el anlisis de flujo de datos y auxilia a los analistas que participan en la determinacin de los requerimientos del sistema, su contenido tambin se emplea durante el diseo. En un diccionario de datos se encuentra la lista de todos los elementos que forman parte del flujo de datos de todo el sistema. Los elementos mas importantes son flujos de datos, almacenes de datos y procesos. El diccionario de datos guarda los detalles y descripcin de todos estos elementos.

OBJETIVOS El objetivo de un diccionario de datos es dar precisin sobre los datos que se manejan en un sistema, evitando as malas interpretaciones o ambigedades. Define con precisin los datos de entrada, salida, componentes de almacenes, flujos, detalles de las relaciones entre almacenes, etc.

IMPORTANCIA Los analistas usan los diccionarios de datos por cinco razones principales: Manejar los detalles en sistemas grandes. Comunicar un significado comn para todos los elementos del sistema. Documentar las caractersticas del sistema. Facilitar el anlisis de los detalles con la finalidad de evaluar las caractersticas y determinar donde efectuar cambios en el sistema. Localizar errores y omisiones en el sistema

3.4.3 Estndar ISO 10027 La Organizacin Internacional de Normalizacin (la Organizacin Internacional de Normalizacin) e IEC (la Comisin Electrotcnica Internacional) forman el Sistema especializado para standardiz-ation mundial. Los cuerpos nacionales que son miembros de Organizacin Internacional de Normalizacin o IEC participan del desarrollo de Normas Internacionales a travs de comits tcnicos establecidos por la organizacin respectiva para tratar de campos particulares de actividad tcnica. La Organizacin Internacional de Normalizacin e IEC comits tcnicos colaboran en campos de inters mutual. Otras organizaciones internacionales, gubernamentales y no gubernamentales, en enlace con Organizacin Internacional de Normalizacin e IEC, tambin toman parte en el trabajo. En el campo informtico, la Organizacin Internacional de Normalizacin e IEC han establecido a un comit tcnico unido, Organizacin Internacional de Normalizacin IEC JTC 1. Las normas internacionales en borrador adoptadas por el comit tcnico unido son circuladas para cuerpos nacionales para votar. La publicacin como un Estndar Internacional requiere aprobacin por al menos 75 070 de los cuerpos nacionales lanzando un voto. ISOAEC Estndar internacional 10027 es una de una serie de Normas Internacionales en Diccionario de Recurso de Informacin Systems. ISO 10027 (1990a). "Information Resource Dictionary System (IRDS). Framework". Se utiliza principalmente para guiar el desarrollo de otras normas Iba a ser la base de una serie de normas IRDS, pero se evapor el soporte del proveedor Conceptos bsicos desde incorporados a Fondo OMG Meta Object (MOF)

ISO 10027 (1991b). "Information Resource Dictionary System (IRDS). Services Interface" Razones para su utilizacin: 1- Para manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades de datos, aun en los sistemas mas chicos hay gran cantidad de datos. Los sistemas al sufrir cambios continuos, es muy difcil manejar todos los detalles. Por eso se registra la informacin, ya sea sobre hoja de papel o usando procesadores de texto. Los analistas mas organizados usan el diccionario de datos automatizados diseados especficamente para el anlisis y diseo de software. 2- Para asignarle un solo significado a cada uno de los elementos y actividades del sistema. Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema y registrando detalles adicionales relacionadas con el flujo de datos en el sistema, de tal manera que todo pueda localizarse con rapidez. 3- Para documentar las caractersticas del sistema, incluyendo partes o componentes as como los aspectos que los distinguen. Tambin es necesario saber bajo que circunstancias se lleva a cabo cada proceso y con que frecuencia ocurren. Produciendo una comprensin ms completa. Una vez que las caractersticas estn articuladas y registradas, todos los participantes en el proyecto tendrn una fuente comn de informacin con respecto al sistema. 4- Para facilitar el anlisis de los detalles con la finalidad de evaluar las caractersticas y determinar donde efectuar cambios en el sistema. Determina si son necesarias nuevas caractersticas o si estn en orden los cambios de cualquier tipo. Se abordan las caractersticas: Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema. Preguntas: solicitudes para la recuperacin o procesamiento de informacin para generar una respuesta especfica. Archivos y bases de datos: detalles de las transacciones y registros maestros que son de inters para la organizacin. Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos

5- Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un informe. Aun en los manuales, se revelan errores. 3.4.4 Demostracin del diccionario en el gestor(donde se pueda observar donde se almacenan las tablas, vistas, procedimientos almacenados, etc. y las propias configuraciones del servidos) Generar diccionario de datos desde MySQL Workbench WB Datadict Plugin es un plugin escrito en python que permite generar diccionarios de datos en formato HTML apartir del esquema de base de datos que tengamos en nuestro servidor MySQL. Instalacin del plugin (solo se realizara la primera vez): 1. Vamos a la direccin http://www.mediafire.com/?161lyjvy2x63xsa y descargamos el archivo. 2. Ahora descomprimimos la carpeta que esta dentro del paquete que descargamos. 3. Abrimos MySQL Workbench y seleccionamos en el menu superior la opcin Scripting y luegoInstall Plugin/Module.

4. Se abrir una ventana y buscamos el archivo datadict_grt.py en la carpeta que descomprimimos en el paso 2. 5. Aparecer el resultado de la instalacin. 6. Reiniciamos MySQL Workbench.

Ahora si como generar el diccionario de datos. 1. Abrimos nuestro modelo ERR (al que queremos generar nuestro diccionario) en el apartado Data Modeling.

2. Una vez abierto vamos al men superior y seleccionamos la opcin Plugins, luego Catalog, y por ultimo Generate HTML Data Dictionary.

3. Aparecer una ventana donde daremos nombre al archivo a generar y seleccionaremos la ruta donde queremos almacenar el archivo .html, damos click en el botn guardar aparecer el resultado de la accin.

4. Ahora si buscamos el archivo en la ruta indicada y lo abrimos se abrira nuestro navegador web con el diccionario de datos. Ejemplo del mio:

3.5

Seguridad de base de datos 3.5.1 Definicin de seguridad en base de datos Consiste en las acciones que toma el diseador de base de datos al momento de crear la base de datos, tomando en cuenta el volumen de las transacciones y las restricciones que tiene que especificar en el acceso a los datos; esto permitir que el usuario adecuado sea quin visualice la informacin adecuada. El objetivo: Es proteger la Base de Datos contra accesos no autorizados. Se llama tambin privacidad. Necesidad de proteger totalmente la

Base de Datos contra todos los tipos de ataques posibles: intercepcin pasiva de paquetes, reproduccin de comandos, y denegacin de servicio. En relacin al SGBD, debe mantener informacin de los usuarios, su tipo y los accesos y operaciones permitidas a stos.

3.5.2 Inicios de sesin, usuarios, roles grupos, funciones en el servidos, privilegios El DBA, tiene permitidas todas las operaciones, conceder privilegios y establecer usuarios: Usuario con derecho a crear, borrar y modificar objetos y que adems puede conceder privilegios a otros usuarios sobre los objetos que ha creado. Usuario con derecho a consultar, o actualizar, y sin derecho a crear o borrar objetos. Medidas de seguridad Fsicas: Comprende el control de quienes acceden al equipo. Personal: Determinacin del personal que tiene el acceso autorizado. SO: Tcnicas que se establecen para proteger la seguridad del Sistema Operativo SGBD: Utilizacin de las herramientas que facilita el SGBD

Subsistema de seguridad y autorizacin Autorizacin: usar derechos de acceso dados por el terminal, por la operacin que puede realizar o por la hora del da. Uso de tcnicas de cifrado: para proteger datos en Base de Datos distribuidas o con acceso por red o internet. Diferentes tipos de cuentas: en especial del ABD con permisos para: creacin de cuentas, concesin y revocacin de privilegios y asignacin de los niveles de seguridad.

Manejo de la tabla de usuarios con cdigo y contrasea, control de las operaciones efectuadas en cada sesin de trabajo por cada usuario y anotadas en la bitcora.

La seguridad (fiabilidad) del sistema Es necesario proteger a los sistemas de los ataques externos. Controlar los fallos o cadas del software o equipo. Controlar el manejo del administrador frente a errores que se pueden cometer. LAS TRES SEGURIDAD PRINCIPALES CARACTERSTICAS DE LA

Que se deben mantener en una base de datos son la confidencialidad, la integridad y la disponibilidad de la informacin. Confidencialidad: No mostrar datos a usuarios no autorizados.

Accesibilidad / Disponibilidad: Integridad: PRIVILEGIOS Autentificar a un usuario que se conecta desde un host y asociarle privilegios de base de datos Asegurar que los usuarios hacen aquello que se les permite hacer Identidad: Host desde el que se conecta el usuario y Nombre del usuario El sistema concede privilegios de acuerdo ala identidad (quin, dnde) lo que se quiere hacer Permite asegurar que los datos no se han falseado Que la informacin se encuentre disponible.

Principales privilegios: SELECT, INSERT, UPDATE y DELETE permiten realizar operaciones sobre filas de una BD. INDEX permite crear o eliminar ndices ALTER permite modificar una tabla (ALTER TABLE) CREATE y DROP permiten crear y eliminar BD y tablas GRANT permite ceder a otro usuario los privilegios que se poseen FILE permite leer cualquier fichero del servidor y situarlo en una tabla, que puede entonces consultarse con select. SHUTDOWN permite detener el servidor. PROCESS permite ver el texto (cdigo) correspondiente auna consulta en ejecucin.

3.5.3 Demostracin de la seguridad en el gestor(cree un usuario en la base de datos y ve asignndolo sus respectivos permisos y privilegios demostrando lo que pasa) MySQL Administrator introduciremos el "Server Host" (ip nombre de red del servidor de MySQL), el "Port" (puerto), por defecto 3306, el "Username" (nombre de usuario con suficientes permisos como para crear esquemas), el "Password" (contrasea del usuario anterior). Pulsaremos OK para conectarnos:

Los roles consisten en crear una lista de privilegios comunes, para poder asignarlos a los usuarios, en vez de asignarle privilegios de uno por uno El Query Browser de My SQL ni los scripts de MySQL no soportan la creacin de roles

3.6

Rendimiento 3.6.1 Transacciones, estados, puntos de confirmacin y control, bloqueos. Una transaccin es una unidad atmica de trabajo que es completada enteramente o no realizada ninguna parte de ella. La coleccin de operaciones fsicas que forman una transaccin constituye una unidad lgica de proceso. Para propsitos de recuperacin, el sistema necesita conocer cuando una transaccin comienza, aborta o termina BEGIN: Esta operacin marca el comienzo de la ejecucin de la
transaccin. READ WRITE: Especifican operaciones de lectura y/o escritura de tems que son ejecutadas como parte de una transaccin.

COMMIT: Seala un final adecuado de la transaccin y que cualquier modificacin de tems ejecutada por la transaccin puede ser transferida definitivamente a la BD y no ser desecha. ROLLBACK (ABORT): Indica que la transaccin ha concluido de forma inadecuada y por tanto, cualquier cambio o efecto que la transaccin haya podido tener sobre la BD debe ser desecho. UNDO: Parecido a rollback, excepto que se aplica a una operacin s imple en vez de a una transaccin completa. REDO: Especifica que ciertas operaciones de la transaccin deben ser rehechas para asegurar que todas las operaciones han sido sucesivamente aplicadas a la BD. END: Indica que las operaciones de lectura y escritura de la transaccin han concluido y marca el fin de la ejecucin de la transaccin. Diagrama de transicin de estados de una transaccin

Propiedades de las Transacciones Atomicidad: Una transaccin es una unidad atmica de procesamiento; es realizada enteramente o no es realizada en nada. Preservacin de la Consistencia: Una correcta ejecucin de una transaccin debe pasar la BD desde un estado consistente a otro tambin consistente. Durabilidad o permanencia: Cuando una transaccin cambia la BD y los cambios son confirmados, estos cambios nunca deben perderse por fallos posteriores. Aislamiento: Una transaccin no deber hacer visibles sus modificaciones a otras transacciones hasta que est confirmada.

Punto de Confirmacin Una transaccin T ha llegado al estado confirmado (punto de confirmacin punto commit) cuando todas las operaciones de T que acceden a la BD han sido ejecutadas y concluidas, los efectos

de todas las operaciones de la transaccin sobre la BD han sido registrados en la bitcora. Puntos de Control (checkpoints) Un punto de control es registrado en la bitcora peridicamente en el momento en que el sistema ha grabado en la BD en disco los efectos de todas las operaciones de escritura de las transacciones confirmadas Bloqueos Protocolos basados en bloqueo. Tambin reciben el nombre de candado. En realidad, un bloqueo es una variable asociada con un tem de la BD; utilizada para almacenar el estado de ese tem con respecto a posibles operaciones que le puedan ser aplicadas. Usamos los bloqueos como un medio de sincronizar los accesos de transacciones concurrentes a los tems de la BD. 3.6.2 Control de concurrencia. En un gestor de bases de datos es simplemente el mecanismo que se utiliza para evitar que lecturas o escrituras simultneas a la misma porcin de datos terminen en inconsistencias o efectos no deseados. Problemas de un mal control de concurrencias Pueden perder actualizaciones provocando que los efectos de algunas transacciones no se reflejen en la base de datos. Pueden presentarse recuperaciones de informacin inconsistentes. Control de concurrencias en MySql
MySQL a partir de las versiones 4.0 instala por defecto el motor de base de datos InnoDB.

Su caracterstica principal es que soporta transacciones de tipo ACID, bloqueo de registros e integridad referencial. Mecanismo para el control de concurrencias en MySQL(InnoDB): Intencin compartida (Intention shared): La transaccin T trata de establecer bloqueos Compartidos en t registros individuales de la tabla T. Intencin exclusiva (Intention exclusive):

La transaccin T trata de establecer bloqueos Exclusivos en los registros. 3.6.3 Optimizacin de Consultas, Heurstica, Creacin de ndices, Plan de Ejecucin de Consultas Optimizacin de consultas Es una eleccin de una estrategia de ejecucin eficaz para procesar cada consulta sobre la base de datos. La Optimizacin consiste en minimizar el tiempo de respuesta para cada peticin y maximizar el rendimiento de todo el sistema disminuyendo el trfico de red, el acceso a disco y el tiempo de CPU. El optimizador de consulta en MySQL Comparando columnas que tengan el mismo tipo Intente hacer que las columnas indexadas permanezcan solas en las comparaciones No utilice comodines al comienzo de un patrn LIKE Ayude al optimizador a estimar mejor la efectividad de los ndices Use EXPLAIN para verificar la operacin del optimizador. Las pruebas sustituyen a los formularios de las consultas, pero se ejecuta ms de una vez. Heurstica De encontrar la solucin de manera emprica, es decir haciendo una prueba, analizando los resultados y formulando nuevas pruebas a base de los errores anteriores. La idea de este mtodo es utilizarlo en los ndices de bsqueda para encontrar el atributo de la condicin porque usan las estadsticas de ocurrencia de los atributos que forman el ndice. INDICES Un ndice es una estructura de datos que permite recuperar las filas de una tabla de forma ms rpida adems de proporcionar una ordenacin distinta a la natural de la tabla. Un ndice se define sobre una columna o sobre un grupo de columnas, y las filas se ordenarn segn los valores contenidos en esas columnas.

3.6.4 Estimacin de Costos de Procesamiento de consultas. El costo de un plan es la suma de los costos de los operadores que contiene El costo de cada operador es estimado obteniendo informacin del catlogo, tal como tamaos de las tablas, organizacin fsica y estructuras de bsquedas definidas. Tambin se requiere para esto estimar los tamaos de los resultados de los operadores internos, porque ellos sern usados para otros operadores cuyo costo de ejecucin depende del tamao de sus operandos. La mtrica usada para la estimacin de costos es el nmero de operaciones de entrada y salida que se requieren en el plan. El volumen de operaciones en memoria principal o tiempo de CPU, en general, no es considerado en el costo de los planes en consultas a bases de datos por ser este un problema ligado al acceso a disco (I/O Bound) y no ligado a memoria o CPU (Memory Bound o CPU Bound). 3.6.5 Balanceo de Carga Metodologa para distribuir la carga de trabajo entre varios equipos o un clster de ordenadores, conexiones de red, unidades centrales de procesamiento, unidades de disco u otros recursos, para lograr la utilizacin ptima de los recursos, maximizar el rendimiento, minimizar el tiempo de respuesta y evitar la sobrecarga.

3.7

Migracin de datos 3.7.1 Definicin de Migracin de Datos, Propsito de una migracin Hablamos de migracin de datos cuando nos referimos al traspaso de informacin entre bases de datos. Si tenemos una aplicacin sobre una base de datos como por ejemplo Access y posteriormente "crecemos" de manera que nos hace falta un sistema gestor de bases de datos potente, lo ms seguro es que nos decantemos por mysql, Oracle, DB2, Informix, SQLServer o similares. En este caso, los datos, que estarn en formato "access" debern pasar a formato "sqlserver" o formato para "oracle". La migracin de los datos consiste en convertir los datos desde un sistema de base de datos a otro. Esta migracin conlleva la creacin de tablas o modificacin de las existentes, cambios en algunos tipos de datos que existen en una base de datos pero no en otras, etc. Especialmente delicados son los campos fecha, los numricos (enteros, reales, etc), los de tipo "memo" o campos de extensin superior a 256 caracteres, campos para imgenes, etc, ya que cada SGBD los trata o los "espera" de manera diferente. Actualmente la mayora de SGBD incluyen herramientas de ayuda a la migracin ms o menos "fiables". No obstante, ni que decir tiene que

el proceso de migracin de datos es lo suficientemente delicado como para realizarlo en un entorno de pruebas, contemplando toda la casustica posible en cuanto a tipos de datos a manejar, tablas involucradas y sus relaciones, etc. Slo en el momento en el que estemos seguros de que la migracin se ha realizado con xito, sin problemas de interpretacin de datos ni prdida de ellos, podemos pasar a un entorno de produccin. Teniendo en cuenta que una migracin mal realizada podra dar por terminada una estructura de informacin completa. 3.7.2 Etapas Bsicas de una Migracin de Datos. Planeacin Lo ms importante al migrar una Base de Datos es llevar a cabo un proceso de planeacin y anlisis del trabajo, puesto que aunque pareciera tomarse algn tiempo adicional, ste ser retribuido en el xito de la operacin y menos costos por errores de datos. Es importante que esto sea aplicado cuando la Base de Datos destino est en produccin. Contador de registros Si la migracin se realiza de forma manual, mediante alguna consulta de insercin es recomendable inicializar un contador para cada registro insertado con xito y otro para los no insertados, as obviamente, la suma de ambos debe ser igual a los registros originales. Mapeador de Tipos de datos Algunas plataformas no soportan algunos tipos de datos, as que es necesario planificar el mapeo de los campos en la nueva base de datos. Restricciones y Trigers Antes de iniciar la migracin de la BD, es recomendable deshabilitar los Trigers y/o restricciones que nos puedan generar error al momento que el DBMS ejecute el proceso de escritura de los datos. Codificacin de Caracteres Cuando el copiado se realiza de forma automtica, es necesario identificar la codificacin de caracteres que la BD destino espera, pues as evitaremos el reemplazo automtico de caracteres o en su caso, prdida de los mismos.

3.7.3 Clientes OLEDB, ODBC y JDBC OLEDB (algunas veces escrito como OLEDB u OLE-DB) es la sigla de Object Linking and Embedding for Databases ("Enlace e incrustacin de objetos para bases de datos") y es una tecnologa desarrollada por Microsoft usada para tener acceso a diferentes fuentes de informacin, o bases de datos, de manera uniforme. Open DataBase Connectivity (ODBC) es un estndar de acceso a las bases de datos desarrollado por SQL Access Group en 1992. El objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicacin, sin importar qu sistema de gestin de bases de datos (DBMS) almacene los datos. ODBC logra esto al insertar una capa intermedia (CLI) denominada nivel de Interfaz de Cliente SQL, entre la aplicacin y el DBMS. El propsito de esta capa es traducir las consultas de datos de la aplicacin en comandos que el DBMS entienda. Para que esto funcione tanto la aplicacin como el DBMS deben ser compatibles con ODBC, esto es que la aplicacin debe ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versin 2.0 el estndar soporta SAG y SQL. El software funciona de dos modos, con un software manejador en el cliente, o una filosofa cliente-servidor. En el primer modo, el driver interpreta las conexiones y llamadas SQL y las traduce desde el API ODBC hacia el DBMS. En el segundo modo para conectarse a la base de datos se crea una DSN dentro del ODBC que define los parmetros, ruta y caractersticas de la conexin segn los datos que solicite el creador o fabricante. Java Database Connectivity (JDBC) es un derivado inspirado en el mismo, una interfaz de programacin de aplicaciones que permite la ejecucin de operaciones sobre bases de datos desde ellenguaje de programacin Java independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice. Java Database Connectivity, ms conocida por sus siglas JDBC, es una API que permite la ejecucin de operaciones sobre bases de datos desde el lenguaje de programacin Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice. El API JDBC se presenta como una coleccin de interfaces Java y mtodos de gestin de manejadores de conexin hacia cada modelo especfico de base de datos. Un manejador de conexiones hacia un modelo de base de datos en particular es un conjunto de clases que implementan las interfaces Java y que utilizan los mtodos de

registro para declarar los tipos de localizadores a base de datos (URL) que pueden manejar. Para utilizar una base de datos particular, el usuario ejecuta su programa junto con la biblioteca de conexin apropiada al modelo de su base de datos, y accede a ella estableciendo una conexin; para ello provee el localizador a la base de datos y los parmetros de conexin especficos. A partir de all puede realizar cualquier tipo de tarea con la base de datos a la que tenga permiso: consulta, actualizacin, creacin, modificacin y borrado de tablas, ejecucin de procedimientos almacenados en la base de datos, etc. 3.7.4 Herramientas de Migracin de Datos Conversor de Bases de Datos de MySQL a MS Excel (MySQL to MS Excel Database Converter) 4.0.1.6 MySQL to MS Excel database converter MySQL to MS Excel Database Converter Software es un servicio diseado por un equipo de desarrolladores ampliamente experimentados, capaces de suministrarle la mejor y ms econmica herramienta para transformar bases de datos de un formato a otro.MySQL to MS Excel Database Converter Software soporta totalmente todas las claves limitantes preexistentes en otras bases de datos, brindando satisfaccin completa a pequeas, medianas y grandes empresas. Es una aplicacin avanzada y profesional de migracin de bases de datos que funciona con facilidad y es de utilidad a diversos sectores comerciales. Viobo MySQL to MSSQL Data Migrator Pro. (Viobo MySQL to MSSQL Data Migrator Pro.) 1.5 Viobo Software Viobo MySQL to MSSQL Data Migrator es una herramienta de migracin entre bases de datos que no requiere un entorno oficial de sistema de bases de datos ni experiencia en administracin de bases de datos (DBA, por sus siglas en ingls). Este programa puede migrar datos MySQL hacia sistemas de bases de datos MSSQL rpida y fcilmente, usted puede arrastrar y soltar los objetos de las estructuras en forma de rbol de las bases de datos para migrar, convertir o respaldar los datos; es compatible con todas las versiones de los sistemas de gestin de bases de datos, tales como MySQL, MSSQL, etc., y admite todos los juegos de caracteres estndar. Programa de Migracin de Datos MySQL a MSSQL de Viobo (Viobo MySQL to MSSQL Data Migrator Bus.) 1.5 Viobo Software

Viobo MySQL to MSSQL Data Migrator es una herramienta de migracin entre bases de datos que no requiere un entorno oficial de sistema de bases de datos ni experiencia en administracin de bases de datos (DBA, por sus siglas en ingls). Este programa puede migrar datos MySQL hacia sistemas de bases de datos MSSQL rpida y fcilmente, usted puede arrastrar y soltar los objetos de las estructuras en forma de rbol de las bases de datos para migrar, convertir o respaldar los datos; es compatible con todas las versiones de los sistemas de gestin de bases de datos, tales como MySQL, MSSQL, etc., y admite todos los juegos de caracteres estndar. Explorador de Bases de Datos (MyDbExplorer) 3.0 TheSolutionsChannel Esta es una herramienta cliente front-end de bases de datos y actualmente puede conectarse a bases de datos de SQLServer, Oracle, IBM DB2, MySQL, SQLite y Microsoft Access. Esta herramienta para explorar bases de datos, le permite ver varios objetos del esquema tales como Tablas, Vistas, Procedimientos Almacenados, UDFs, etc. MyDbExplorer puede abrir mltiples ventanas de ejecucin SQL (pestaas) por conexin y puede abrir mltiples conexiones simultneas a diferentes tipos de bases de datos. 3.7.5 Demostracin de Migracin de datos del Gestor hacia Otros Gestores (cree una fuente de datos y utilizando las herramientas del propio gestor migre los datos al gestor) Pasos para migrar datos en MYSQL 1.-Debemos checar la integridad de la tabla de la BD que queremos importar muchas veces el cliente tiene un desmadre en sus datos por lo que debemos verificar que los campos se han respetados como fueron declarados desde un inicio es decir que en un campo que diga numero halla realmente nmeros, en un campo que sea sealado como Not Null realmente siempre tenga informacin etc.

2.-DESPUES DE HABER CHECADO LA INTEGRIDAD DE TABLA PROCEDEMOS A CREAR NUESTRO ARCHIVO DE TEXTO

SEGUIMOS LAS SIG IMAGENES:

CLICK DERECHO SOBRE LA TABLA QUE VAMOS A EXPORTAR

SE DEBE ESCOJER ARCHIVO DE TEXTO ES DECIR PARA QUE EL ARCHIVO SEA DE LA FORMA "D:\ ALGO.TXT"

EN ESTA VENTANA VAMOS A ESCOJER LA OPCION Delimited "Delimitado"

SOLO MARCAREMOS TAB "TABULACION" TODO LO DEMAS VA EN BLANCO COMO SE VE EN LA PANTALLA

HEMOS GENERADO NUESTRO ARCHIVO DE TEXTO PLANO. 3.-AHORA PROCEDEREMOS A CREAR NUESTRA TABLA EN MYSQL DONDE VACIAREMOS LA INFORMACION CONTENIDA EN NUESTRO ARCHIVO DE TEXTO .ES IMPORTANTE ESTE PASO YA QUE DEBE HABER UNA CONCORDANCIA A LA HORA DE DISEAR

NUESTRA BD BASANDONOS EN EL ARCHIVO DE TEXTO QUE GENERAMOS. DESDE PHPMYADMIN PODEMOS GENERAR DE UNA MANERA GRAFICA Y MAS AMIGABLE LA TABLA O DESDE EL SHELL DE MYSQL. EJEMPLO mysql> CREATE TABLE MARCAS ( -> ID INT(20) NOT NULL AUTO_INCREMENT, -> MARCA VARCHAR(50) NOT NULL, -> PRIMARY KEY (ID) -> ) ; Query OK, 0 rows affected (0.86 sec) mysql> 4.- YA HABIENDO CREADO LA TABLA AHORA PROCEDEMOS A LLENARLA CON LA INFORMACION DE NUESTRO ARCHIVO DE NUEVO EN EL SHELL DE MY SQL PONEMOS EL SIG QUERY: mysql>LOAD DATA INFILE 'e:\articulos.txt' INTO TABLE articulos ; Si file_name.txt se encuentra en un directorio, debes poner la ruta 'c:\ruta\file_name.txt' y si no te funciona utiliza 'c:/ruta/file_name.txt' cambiando '\' a '/'. Si todo lo anterior lo hicimos bien debemos de haber obtenido un resultado satisfactorio puedes checar el contenido de la tabla A travs de un query desde el shell de mysql o desde phpmyadmin de manera grfica.

3.8

Base de datos distribuidas 3.8.1 Concepto de Base de Datos Distribuidas. Una Base de Datos Distribuida (BDD) es un conjunto de mltiples bases de datos lgicamente relacionados las cuales se encuentran distribuidas entre diferentes sitios interconectados por una red de comunicaciones, los cuales tienen la capacidad de procesamiento autnomo lo cual indica que puede realizar operaciones locales o distribuidas. En un sistema distribuido de bases de datos se almacenan en varias computadoras

3.8.2 Particin Vertical y Horizontal La divisin o fragmentacin horizontal trabaja sobre las tuplas, dividiendo la relacin en subrelaciones que contienen un subconjunto de las tuplas que alberga la primera. La fragmentacin vertical, en cambio, se basa en los atributos de la relacin para efectuar la divisin. Estos dos tipos de particin podran considerarse los fundamentales y bsicos. Sin embargo, existen otras alternativas. Fragmentacin Horizontal
Como se ha explicada anteriormente, la fragmentacin horizontal se realiza sobre las tuplas de la relacin. Cada fragmento ser un subconjunto de las tuplas de la relacin. Existen dos variantes de la fragmentacin horizontal: la primaria y la derivada. La fragmentacin horizontal primaria de una relacin se desarrolla empleando los predicados definidos en esa relacin. Por el contrario, la fragmentacin horizontal derivada consiste en dividir una relacin partiendo de los predicados definidos sobre alguna otra.

Fragmentacin horizontal derivada Una fragmentacin horizontal derivada se define sobre una relacin miembro de acuerdo a una operacin de seleccin especificada sobre su propietaria. Se deben dejar claros dos puntos. Primero, el enlace entre las relaciones propietaria y miembro se define como un equiyunto. Segundo, un equi-yunto puede desarrollarse a travs de semiyuntos. Este segundo punto es especialmente importante para nuestros propsitos, ya que deseamos fraccionar una relacin miembro segn la fragmentacin de su propietaria, adems es necesario que el fragmento resultante se defina nicamente sobre los atributos de la relacin miembro. Fragmentacin Vertical Recurdese que la fragmentacin vertical de una relacin R produce una serie de fragmentos R1, R2,..., Rr, cada uno de los cuales contiene un subconjunto de los atributos de R as como la clave primaria de R. El objetivo de la fragmentacin vertical consiste en dividir la relacin en un conjunto de relaciones ms pequeas tal que algunas de las aplicaciones de usuario slo hagan uso de un fragmento. Sobre este marco, una fragmentacin ptima es aquella que produce un esquema de divisin que minimiza el tiempo de ejecucin de las aplicaciones que emplean esos fragmentos Existen dos enfoques heursticos para la fragmentacin vertical de relaciones: Agrupacin. Comienza asignando cada atributo a un fragmento, y en cada paso, junta algunos de los fragmentos hasta que satisface un determinado criterio. La agrupacin sugiri en principio para bases de datos centralizadas y se us posteriormente para las bases de datos distribuidas. Escisin. A partir de la relacin se deciden que fragmentos resultan mejores, basndose en las caractersticas de acceso de las aplicaciones a los atributos. Esta tcnica se present, tambin, para bases de datos centralizadas. Posteriormente, se extendi al entorno distribuido. Grado de Fragmentacin Cuando se va a fragmentar una base de datos deberamos sopesar qu grado de fragmentacin va a alcanzar, ya que ste ser un factor que influir notablemente en el desarrollo de la ejecucin de las consultas. El grado de fragmentacin puede variar desde una ausencia de la divisin, considerando a las relaciones unidades de fragmentacin; o

bien, fragmentar a un grado en el cada tupla o atributo forme un fragmento. Ante estos dos casos extremos, evidentemente se ha de buscar un compromiso intermedio, el cual debera establecerse sobre las caractersticas de las aplicaciones que hacen uso de la base de datos. Dichas caractersticas se podrn formalizar en una serie de parmetros Reglas de correccin de la fragmentacin CONPLECIN. Esta propiedad extremadamente importante asegura que los datos de la relacin global se proyectan sobre los fragmentos sin prdida alguna. Tenga en cuenta que en el caso horizontal el elemento de datos, normalmente, es una tupla, mientras que en el caso vertical es un atributo. RECONSTRUCCIN. Si una relacin R se descompone en una serie de fragmentos R1, R2,..., Rn, puede definirse una operador relacional tal que el operador ser diferente dependiendo de las diferentes formas de fragmentacin. Disyuncin. Si una relacin R se descompone horizontalmente en una serie de fragmentos R1, R2,..., Rn, y un elemento de datos di se encuentra en algn fragmento Rj, entonces no se encuentra en otro fragmento Rk (k j). Esta regla asegura que los fragmentos horizontales sean disjuntos. Si una relacin R se descompone verticalmente, sus atributos primarios clave normalmente se repiten en todos sus fragmentos.

3.8.3 Tipos de Arquitecturas(Implementaciones) Arquitectura centralizada Se basa en la existencia de una mquina servidora que almacena los datos y las aplicaciones que los procesan. Los clientes se comportan como terminales y slo sirven para introducir datos desde teclado. Ventajas Gran nivel de seguridad Fcil de administrar Inconvenientes Alto coste

Mquina servidora muy cargada

Arquitectura Servidor de Archivos Se basa en la existencia de una o varias mquinas servidoras que almacenan datos y estaciones de trabajo que ejecutan aplicaciones que los procesan. Los clientes en este tipo de arquitecturas son activos.
Ventajas

Bajo coste Escalable

Inconvenientes Clientes potentes Fuerte dependencia de las comunicaciones.

Arquitectura Cliente/Servidor Se basa en la existencia de dos tipos de aplicaciones ejecutndose de forma independiente. Una de las aplicaciones acta como servidora y la otra como cliente. Ventajas Fcil de escalar Reparto de cargas

Inconvenientes Nuevas aplicaciones Importancia de las comunicaciones

3.8.4 Base de Datos Geogrficamente Distribuidas


POR Ejemplo Considere un banco que tiene tres sucursales, en cada sucursal, un computador controla las terminales de la misma y el sistema de cuentas. Cada computador con su sistema de cuentas local en cada sucursal constituye un "sitio" de la BDD; las computadoras estn conectadas por la red. Durante las operaciones normales, las aplicaciones en las terminales de la sucursal necesitan solo accesar la BD de la misma. Como solo accedan la misma red local, se les llaman aplicaciones locales.

Desde el punto de vista tecnolgico, aparentemente lo importante es la existencia de algunas transacciones que accesen informacin en ms de una sucursal. Estas transacciones son llamadas transacciones globales o transacciones distribuidas. La existencia de transacciones globales ser considerada como una caracterstica que nos ayude a discriminar entre las BDD y un conjunto de base de datos locales. Una tpica transaccin global sera una transferencia de fondos de una sucursal a otra. Esta aplicacin requiere de actualizar datos en dos diferentes sucursales y asegurarse de la real actualizacin en ambos sitios o en ninguno.

IV.

Recomendaciones tcnicas

Se recomienda usar el sistema gestor de base de datos MySQL porque es una aplicacin de Cdigo abierto y por lo tanto es gratuita, es un sistema fcil de instalar y configurar en servidores Windows, adems nos permite el desarrollo de aplicaciones web fciles de migrar y el acceso y cpia de los datos desde cualquier Sistema Operativo.

V.

BIBLIOGRAFIA

http://es.wikipedia.org/wiki/Diccionario_de_datos http://www.taringa.net/posts/apuntes-y-monografias/1080478/Diccionarios-de-Datos.html http://dev.mysql.com http://www.myappgen.com/files/Docu/Spanish/1-%20Diccionario%20de%20Datos.pdf http://www.monografias.com/trabajos14/tecnolcomp/tecnolcomp2.shtml http://es.wikipedia.org/wiki/Copia_de_seguridad http://www.tecnologiapyme.com/hardware/restauracion-datos-de-las-copias-de-seguridad http://csrlima.wordpress.com/2012/04/28/generar-diccionario-de-datos-desde-mysqlworkbench/ http://www.ubicuos.com/2010/07/25/obtener-el-diccionario-de-datos-de-una-tabla-demysql-con-c/ http://es.wikipedia.org/wiki/Migraci%C3%B3n_de_datos http://es.wikipedia.org/wiki/JDBC http://es.wikipedia.org/wiki/ODBC http://es.wikipedia.org/wiki/OLE_DB

Вам также может понравиться