26 de junio de 2012

¿Como generar el diccionario de datos de una Base de Datos en MySQL con Workbench?

Pues bueno, después de muchos días sin agregar alguna entrada a mi blog, aquí estoy de nuevo para mostrar como generar un diccionario de datos de una forma fácil y sencilla con la ayuda de Workbench.

Hace algunos meses necesitaba generar el diccionario de datos de una BD de MySQL. La verdad no pensaba realizarlo en Word. Así que busque información en la red si existía un programa para realizarlo. Para mi fortuna encontré un script hecho por tmsanchez (http://tmsanchezdev.blogspot.mx/2010/07/reporte-en-html-de-un-modelo-en.html) para obtener el diccionario de datos para Workbench. Aunque seguí las indicaciones que indicaba en su blog no logre añadir el script al Workbench, ni siquiera con su segunda versión (http://tmsanchezdev.blogspot.mx/2011/07/nueva-version-para-generar-reporte-en.html). Pero lo bueno que en la informática casi siempre existirá alguien más que tenga el mismo problema que tu y lo resolverá, y así fue, Carlos Acuña publico un comentario donde pone un script el cual si me funciono (http://dl.dropbox.com/u/38625994/db_doc_plugin.lua) y pude así obtener mi preciado diccionario de datos.

Mi aportación, que muestro en esta entrada, es agregar un formato amigable a las tablas, agregue los comentarios de cada campo y añadí la información de las vistas en la BD.

Y pues comenzare mostrando el codigo del script:



Solo es necesario copiar el código y guardarlo en un archivo con extensión ".lua". El siguiente paso es agregarlo al Workbench, entonces una vez abierto el programa es necesario ir al menú Scripting>Install Plugin/Module File...

Después elegimos el archivo con extensión ".lua" donde se guardo el script.

Una vez hecho lo anterior se abrirá la ventana del depurador de Workbench. Si todo salió bien se mostrara un mensaje indicando que la instalación fue exitosa y después se debe reiniciar el Workbench para que surtan efecto los cambios. Al abrir de nueva cuenta el programa se mostraran dos nuevos menús como se muestran en la siguiente imagen:

La diferencia entre las dos opciones es que el primero guarda el diccionario en un archivo y el otro lo copia al "portapapeles del sistema". Se debe tener en cuenta que genera código HTML. Con esto es suficiente para que se pueda generar el diccionario de datos de una BD de MySQL. Enseguida dejo el resultado que genera para una BD que tengo.

bdrfid

    Tablas

  1. carrera (2 campos)
  2. carrera_has_institucion (2 campos)
  3. departamento (3 campos)
  4. especialidad (3 campos)
  5. estados (2 campos)
  6. institucion (3 campos)
  7. item (7 campos)
  8. municipios (3 campos)
  9. persona (15 campos)
  10. registro (6 campos)
  11. tag (3 campos)
  12. Vistas

      1. carrera

        CAMPO TIPO NULO EXTRA COMENTARIOS
        idCarrera INT(11) NO AUTO_INCREMENT
        Nombre VARCHAR(45) SI -
      2. carrera_has_institucion

        CAMPO TIPO NULO EXTRA COMENTARIOS
        carrera_idCarrera INT(11) NO -
        institucion_idInstitucion INT(11) NO -
      3. departamento

        CAMPO TIPO NULO EXTRA COMENTARIOS
        idDepartamento INT(11) NO AUTO_INCREMENT
        Nombre VARCHAR(80) SI -
        institucion_idInstitucion INT(11) NO -
      4. especialidad

        CAMPO TIPO NULO EXTRA COMENTARIOS
        idEspecialidad INT(11) NO AUTO_INCREMENT
        Nombre VARCHAR(45) SI -
        carrera_idCarrera INT(11) NO -
      5. estados

        CAMPO TIPO NULO EXTRA COMENTARIOS
        id_estado INT(11) NO AUTO_INCREMENT
        estado VARCHAR(45) SI -
      6. institucion

        CAMPO TIPO NULO EXTRA COMENTARIOS
        idInstitucion INT(11) NO AUTO_INCREMENT
        Nombre VARCHAR(100) SI -
        municipios_id_municipios INT(11) NO -
      7. item

        CAMPO TIPO NULO EXTRA COMENTARIOS
        Id_item INT(11) NO AUTO_INCREMENT
        Nombre VARCHAR(45) SI -
        Tipo VARCHAR(45) SI -
        Descripcion TEXT SI -
        EPC VARCHAR(45) SI -
        persona_Id_persona INT(11) NO -
        tag_Id_tag INT(10) NO -
      8. municipios

        CAMPO TIPO NULO EXTRA COMENTARIOS
        id_municipios INT(11) NO AUTO_INCREMENT
        nombre_municipios VARCHAR(45) SI -
        estados_id_estado INT(11) NO -
      9. persona

        CAMPO TIPO NULO EXTRA COMENTARIOS
        Id_persona INT(11) NO AUTO_INCREMENT
        Nivel VARCHAR(45) SI -
        Clasificacion VARCHAR(45) SI -
        EPC VARCHAR(100) SI -
        Nombre VARCHAR(45) SI -
        Apellido_materno VARCHAR(45) SI -
        Apellido_paterno VARCHAR(45) SI -
        Edad INT(11) SI -
        Genero VARCHAR(9) SI -
        Fotografia LONGBLOB SI -
        institucion_idInstitucion INT(11) NO -
        tag_Id_tag INT(10) NO -
        carrera_idCarrera INT(11) SI -
        especialidad_idEspecialidad INT(11) SI -
        departamento_idDepartamento INT(11) SI -
      10. registro

        CAMPO TIPO NULO EXTRA COMENTARIOS
        idRegistro INT(11) NO AUTO_INCREMENT
        Nivel BINARY(1) SI -
        Entrada_salida BINARY(1) SI -
        Fecha DATE SI -
        Hora TIME SI -
        Tag_Id_tag INT(11) NO -
      11. tag

        CAMPO TIPO NULO EXTRA COMENTARIOS
        Id_tag INT(10) NO AUTO_INCREMENT
        EPC VARCHAR(100) NO -
        Tipo VARCHAR(45) SI -
       
      Referencias:

      http://tmsanchezdev.blogspot.mx/2010/07/reporte-en-html-de-un-modelo-en.html

      http://tmsanchezdev.blogspot.mx/2011/07/nueva-version-para-generar-reporte-en.html
      http://dl.dropbox.com/u/38625994/db_doc_plugin.lua

28 de enero de 2012

Trailer del documental De Panzazo, estreno 24/02/2012

Me entere que proximamente saldra en cartelera el documental De Panzazo realizado por Juan Carlos Rulfo (Hijo del mejor escritor mexicano del siglo XX: Juan Rulfo) y Carlos Loret de Mola (Ubicado por trabajar como conductor en telerisa y ademas hijo de Rafael Loret de Mola, un excelente periodista autor del recomendadisimo libro "2012: La Sucesión"), donde muestran entrevistas y pruebas de las enormes fallas del sistema educativo nacional.

En mi humilde opinión puedo decir que documentales como este y como Presunto Culpable son necesarios, y espero que muchas personas que vean el documental pero mas que nada que hagan conciencia sobre este gran problema.


22 de enero de 2012

#Anonymous convoca al #MarzoNegro

Enseguida se muestra la informacion tomada del blog http://marzonegro.blogspot.com/ y un video de la operacion de youtube.

¿Qué es #MarzoNegro?

#MarzoNegro es una campaña en contra de la censura en Internet y el cierre de sitios Web como Megaupload.

Consiste en un boicot económico a las grandes empresas de la industria musical, cinematográfica y a los medios en general, principales impulsores de las llamadas leyes anti-piratería, como la ley SOPA, PIPA (EE.UU) o SINDE (en España).

Tenemos que dejar claro que no toleraremos la presión de la industria del entretenimiento sobre la libertad en Internet. Para ello, para que nos escuchen, golpearemos donde más les duele: en sus márgenes de beneficios.

Durante todo el mes de Marzo no compres discos, películas, videojuegos o libros. No vayas al cine, espera al siguiente mes para hacerlo.


En Marzo de 2012 se cierra el primero de los cuatro informes económicos a nivel mundial. Esta medida dejará un agujero en el margen de beneficios que la industria contemplaba para el primer cuarto de año, que será observado por los gobiernos y las empresas. Es la única forma de que nos hagan caso.


¿Cómo puedo ayudar?

Difúndelo: Ya existen multitud de páginas en facebook o Tuenti. Hazte fan, mándaselas a todos tus contactos. Habla de ello a la gente que conozcas y no tenga cuenta en redes sociales.

Mediante twitter: estamos intentando que #MarzoNegro y #BlackMarch sean Trend Topic, ayúdanos.

Puedes imprimir folletos y repartirlos por tu barrio, tu centro de estudios o tu trabajo. Puedes organizar protestas en festivales de cine, estrenos de películas y otros acontecimientos de este tipo. Hazte oir.


¿Qué hemos conseguido?

Que miles de internautas de distintos países nos apoyen, que se difunda el mensaje por foros, redes sociales y blogs, que se hable de ello en twitter.