Cómo construir un diagrama en el banco de trabajo. Del modelo a la base de datos física en MySQL WorkBench. Crear y editar un modelo de datos

Todos los webmasters tienen que profundizar en la programación y las tecnologías de bases de datos después de desarrollar sus recursos.


Gradualmente comienzas a profundizar en cada sutileza, pero el material de entrenamiento no siempre es fácil de encontrar. Además, no todo el mundo sabe de la existencia programas útiles.

¿Cómo crear una base de datos MySQL? Puede crear tablas manualmente y establecer relaciones entre ellas, pero esto no es tan conveniente.

Creado específicamente para esto programa gratis banco de trabajo Con él, puede crear visualmente bases de datos MySQL. Modelarlos con la ayuda de un software es más fácil, más conveniente y muchas veces más rápido.

Workbench te ayudará a crear una base de datos MySQL

Con una herramienta simple, ya no tiene que describir la estructura. El programa genera código automáticamente. Descargue la utilidad de este sitio, es adecuada para cualquier sistema operativo.

Después de la instalación normal del programa, Para crear una base de datos MySQL, siga estos pasos:

  1. Primero necesitas abrir nuevo modelo, esto se hace a través del menú o la combinación de teclas Ctrl+N:

  2. El primer paso para crear una base de datos es agregar una tabla, por lo que seleccionamos la función adecuada:

  3. A continuación, se rellena la tabla. Especifique el nombre y los atributos, tenga en cuenta que uno de los atributos es la clave maestra marcada. Piense de antemano cómo se vincularán las tablas entre sí:

  4. Después de completar los datos requeridos, cree un diagrama para determinar las relaciones entre sujetos:
  5. Verá la tabla en el espacio de trabajo. Para mayor comodidad, puede expandir las estructuras de la tabla:

  6. Ahora necesita establecer los enlaces entre los elementos, esto se hace con una herramienta especial en el panel de trabajo:
  7. Como resultado, debería tener tablas en el espacio de trabajo y vínculos entre ellas:

  8. Al hacer doble clic en una conexión, se abre una ventana en la que se establecen parámetros adicionales:

Un desarrollador web crece con los proyectos que crea y desarrolla. Con el crecimiento de los proyectos, aumenta la complejidad de la parte del software, aumenta inevitablemente la cantidad de datos procesados ​​por ella, así como complejidad del esquema de datos. La comunicación con otros desarrolladores web muestra que las bases de datos MySQL son muy populares entre nosotros, y el conocido PHPMyAdmin. Pasando de proyectos pequeños a grandes, de cms a frameworks, muchos, como yo, nos mantenemos fieles a MySQL. Sin embargo, para diseñar una base de datos compleja con una gran cantidad de tablas y relaciones, faltan las capacidades de PHPMyAdmin. Así que decidí escribir una reseña. MySQL Workbench es un maravilloso programa de escritorio gratuito para trabajar con MySQL.

En la primera parte de la revisión, cubriré los conceptos básicos de trabajar con el programa, por lo que puede usar este artículo como guía de usuario novato. La segunda parte estará dedicada utilizando el banco de trabajo en combate cuando se trabaja con un servidor remoto. En él daré lo básico. instrucciones y recomendaciones para configurar una conexión de servidor y sincronización con él.

Banco de trabajo MySQL- una herramienta de diseño de base de datos visual que integra el diseño, el modelado, la creación y el funcionamiento de una base de datos en un único entorno perfecto para el sistema de base de datos MySQL.

Debo decir que el programa es realmente genial. Le permite lanzar rápidamente y con placer esquemas de datos del proyecto, diseño entidades y relaciones entre ellos, sin dolor implementar cambios en el esquema y con la misma rapidez y sin dolor sincronizar con un servidor remoto. A editor de gráficos EER-diagramas, que se asemeja a divertidas cucarachas, le permite ver la imagen general del modelo de datos y disfrutar de su ligereza y elegancia :) Después del primer intento, esta herramienta se convierte en un asistente indispensable en el arsenal de combate del programador web.

Descargar MySQL Workbench

La distribución de MySQL Workbench está disponible en esta página. La última versión del programa en el momento de escribir este artículo es Versión 6.1. Antes de descargar, debe seleccionar una de las siguientes plataformas:

Después de elegir una plataforma, se le solicitará que se registre o inicie sesión en Oracle. Si no quieres, hay un enlace más abajo. "No gracias, solo inicia mi descarga"- Haz click en eso ;)

Comienzo del trabajo

La pantalla de inicio del programa refleja las áreas principales de su funcionalidad: el diseño de modelos de bases de datos y su administración:

En la parte superior de la pantalla hay una lista de conexiones a Servidores MySQL sus proyectos y una lista de modelos de datos abiertos recientemente en la parte inferior de la pantalla. El trabajo suele comenzar con crear un esquema de datos o cargando una estructura existente en MySQL Workbench. ¡Pongámonos a trabajar!

Crear y editar un modelo de datos

Para agregar un modelo, haga clic en el signo más junto al encabezado "Modelos" o seleccione "Archivo → Nuevo modelo" (Ctrl + N):

En esta pantalla, ingrese el nombre de la base de datos, seleccione la codificación predeterminada y, si es necesario, complete el campo de comentarios. Puedes empezar a crear tablas.

Agregar y editar una tabla

La lista de bases de datos del proyecto y la lista de tablas dentro de la base de datos se ubicarán en la pestaña "Esquemas físicos". Para crear una tabla, haga doble clic en "+Agregar tabla":

Se abrirá una interfaz conveniente para editar la lista de campos y sus propiedades. Aquí podemos establecer el nombre del campo, el tipo de datos, así como establecer varios atributos para los campos: asignar un campo clave principal (PK), márcalo No nulo (NN), binario (BIN), único (UQ) y otros, puestos para el campo incremento automático (IA) Y valor por defecto.

Gestión de índices

Puede agregar, eliminar y editar índices de tablas en la pestaña "Índices" interfaz de gestión de tablas:

Ingresamos el nombre del índice, seleccionamos su tipo, luego marcamos la lista de campos que participan en este índice en el orden requerido. El orden de los campos corresponderá al orden en que se marcaron las casillas de verificación. En este ejemplo, agregué un índice único al campo nombre de usuario.

Relaciones entre tablas

La configuración de claves foráneas y la vinculación de tablas solo es posible para tablas InnoDB(este sistema de almacenamiento está seleccionado por defecto). Para administrar las relaciones en cada tabla hay una pestaña "Llaves extranjeras":

Para agregar un enlace, abra la pestaña "Llaves extranjeras" mesa infantil, introduzca el nombre de la clave externa y seleccione tabla principal. Más en la parte media de la pestaña en la columna. Columna seleccione el campo clave de la tabla secundaria, y en la columna Columna referenciada- el campo correspondiente de la tabla principal (los tipos de campo deben coincidir). Al crear claves foráneas los índices correspondientes se crean automáticamente en la tabla secundaria.

en el capitulo Opciones de clave externa configurar el comportamiento de la clave foránea cuando cambia el campo correspondiente (EN ACTUALIZACIÓN) y eliminación (EN ELIMINAR) entrada principal:

  • RESTRINGIR- lanza un error al cambiar/eliminar la entrada principal
  • CASCADA- actualice la clave externa cuando cambie el registro principal, elimine el registro secundario cuando se elimine el principal
  • ESTABLECER NULO- establecer el valor de la clave externa NULO al cambiar/eliminar un padre (inaceptable para los campos que tienen la marca establecida ¡NO NULO!)
  • SIN ACCIÓN- no hacer nada, pero de hecho el efecto es similar a RESTRINGIR

En el ejemplo anterior, agregué a la tabla secundaria Perfil del usuario clave externa para vincular a la tabla principal usuario. Al editar un campo ID de usuario y eliminando posiciones de la mesa usuario cambios similares se automáticamente sucede con los registros relacionados de la tabla Perfil del usuario.

Al crear un proyecto, a menudo es necesario agregar datos de inicio a la base de datos. Pueden ser categorías raíz, usuarios administradores, etc. Hay una pestaña para esto en la administración de tablas de MySQL Workbench "Inserciones":

Como puede ver en el ejemplo, si necesita aplicar alguna función de MySQL a los datos antes de escribir en la base de datos, esto se hace usando la sintaxis \func functionName("datos"), Por ejemplo, \func md5("contraseña").

Creación de un diagrama EER (Diagrama entidad-relación)

Para representar el esquema de datos, las entidades y sus relaciones en forma gráfica, MySQL Workbench tiene un editor de diagramas EER. Para crear un diagrama en la parte superior de la pantalla de administración de la base de datos, haga doble clic en el icono "+AñadirDiagrama":

En su interfaz, puede crear y editar tablas, agregar enlaces entre ellas varios tipos. Para agregar una tabla que ya existe en el diagrama al diagrama, simplemente arrástrela desde el panel árbol de catálogo.

Para exportar un esquema de datos a archivo gráfico seleccionar "Archivo → Exportar" y luego una de las opciones (PNG, SVG, PDF, archivo PostScript).

Importar esquema de datos existente (desde el volcado de SQL)

Si ya tenemos un esquema de datos, se puede importar fácilmente a MySQL Workbench para seguir trabajando. Para importar el modelo desde el archivo SQL, seleccione "Archivo → Importar → Ingeniería inversa MySQL Create Script...", luego seleccione el archivo SQL deseado y haga clic en "Ejecutar >"

MySQL Workbench también permite importar y sincronizar el modelo de datos directamente con un servidor remoto. Para esto necesitas crear conexión de acceso remoto a MySQL, del que hablaré en la continuación de esta revisión.

El proyecto de demostración del artículo está disponible para su descarga en este enlace. ¡Te deseo éxito y hermosos esquemas de cucarachas!


Cualquiera que sea el desarrollador de la base de datos: un principiante (en particular) o un profesional barbudo, siempre es más fácil y más visual para él imaginar en qué está trabajando, qué está desarrollando. Personalmente, me coloco en la primera categoría y para entender el material, me gustaría ver visualmente lo que diseño / desarrollo.

Hasta la fecha, hay varios programas y herramientas que hacen frente a una tarea similar: algunas mejores, otras peores. Pero hoy me gustaría hablar un poco sobre MySQL WorkBench, una herramienta visual de diseño de bases de datos que integra diseño, modelado, creación y operación de bases de datos en un único entorno perfecto para el sistema de bases de datos MySQL, que es el sucesor de DBDesigner 4 de FabForce.( C) Wikipedia. MySQL WorkBench se distribuye en dos sabores: OSS-Edición comunitaria(distribuido bajo la LGPL) y SE - edición estándar- versión para la que los desarrolladores piden dinero. Pero creo que para muchos será suficiente y OSS versiones (especialmente para principiantes y aquellos que no quieren o consideran inapropiado pagar por software, así como seguidores de programas de código abierto), especialmente porque la versión OSS tiene una rica funcionalidad.

Entonces, como su nombre indica, esta herramienta está diseñada para trabajar con mysql bases de datos, y admite una gran cantidad de diferentes tipos de modelos MySQL (ver captura de pantalla a continuación) y se convertirá en una herramienta indispensable para una mejor comprensión y estudio de bases de datos relacionales (en particular MySQL) para principiantes:

Así, cualquier desarrollador de MySQL encontrará lo que necesita. Además Banco de trabajo MySQL le permite conectar una base de datos existente, realizar Consultas SQL y scripts SQL, editar y administrar objetos de base de datos, pero para aquellos que recién comienzan a dominar las bases de datos relacionales, lo más interesante, en mi opinión, es la capacidad de crear Modelos EER Base de datos. En otras palabras, esta es una representación visual de todas las relaciones entre las tablas de su base de datos que, si es necesario, puede presentarse fácilmente como un script SQL, editarse o crear una nueva vista. Pero más sobre eso más adelante. Primero, veamos cómo se ve el ojo principal. Banco de trabajo MySQL(5.2.33 rev. 7508):
Para crear un modelo EER de su base de datos, seleccione " Crear nuevo modelo EER". Como resultado, tendremos una pestaña en la que podemos agregar / crear diagramas, tablas, vistas, procedimientos; establecer varios derechos de acceso para los usuarios; crear un modelo usando scripts SQL. Esta pestaña se ve así:
No consideraremos el proceso de creación de tablas y bases de datos, porque todo es simple aquí. Daré solo la versión final del modelo terminado (vea las capturas de pantalla a continuación). Además, si pasa el cursor sobre la línea de enlace (línea discontinua) de las tablas, el "enlace", la clave principal y la clave externa se resaltarán en un color diferente. Si pasa el cursor sobre una tabla, se resaltará la tabla en sí, así como todos los enlaces que pertenecen a la tabla seleccionada.

Para editar la tabla, simplemente haga clic derecho en la tabla que necesitamos y seleccione " Editar tabla...". Como resultado, aparecerá un área adicional de edición de tablas en la parte inferior de la ventana, en la que puede cambiar el nombre de la tabla, las columnas, las claves externas y mucho más. Para exportar una tabla a un SQL script, simplemente haga clic derecho en la tabla que necesitamos y elija " Copiar SQL al Portapapeles", y luego péguelo desde el portapapeles a la ubicación/programa/archivo deseado.

Y ahora directamente sobre instalación Banco de trabajo MySQL. Naturalmente, primero debe descargar MySQL WorkBench. Para hacer esto, vaya a la página de descarga de MySQL WorkBench, en la parte inferior de la página en la lista desplegable, seleccione la que necesitamos Sistema operativo. Como resultado, se nos ofrecerán varias opciones de descarga:

  • para sistema operativo ventanas puede descargar el instalador MSI, el archivo zip del programa, así como el archivo con el código fuente. Para este sistema operativo Banco de trabajo MySQL solo se puede descargar para Windows de 32 bits;
  • para los usuarios ubuntu la elección es un poco más rica que para los usuarios de Windows: se nos ofrece descargar Banco de trabajo MySQL para versiones de Ubuntu 10.04, 10.10 (en el momento de escribir este artículo) y versiones de paquetes deb de 32 o 64 bits;
  • Para basado en rpm distribuciones, y en este caso es Fedora, Suse Linux y RedHat/Oracle Linux, Banco de trabajo MySQL se presentan ensamblajes para sistemas operativos de 32 y 64 bits;
  • Los usuarios de Macintosh tampoco han sido olvidados: para ellos hay un ensamblaje solo para un sistema operativo de 32 bits;
  • y por supuesto puedes descargar fuente programas;

Por lo tanto, seleccione la opción de descarga deseada y haga clic en Descargar. Luego, se nos pedirá amablemente que nos presentemos: para usuarios registrados, para ingresar un nombre de usuario y contraseña, para principiantes, para registrarse. Si no desea presentarse, seleccione la opción a continuación " "¡No gracias, solo llévame a las descargas!" y elija el espejo más cercano para descargar. Además, antes de instalar, asegúrese de haber instalado cliente mysql,.de lo contrario, MySQL WorkBench se negará a instalar.

Cosas para recordar y saber para los usuarios de Linux:

Naturalmente, como en el caso de Windows, no te olvides del Cliente MySQL. Para usuarios de Ubuntu: debe descargar la versión del programa, de acuerdo con la versión de su Ubuntu.Durante la instalación, mire cuidadosamente los mensajes de error, si los hay, que probablemente le indicarán qué paquetes faltan en su sistema operativo. Lea sobre esto a continuación.

Cómo están las cosas con las distribuciones rmp-base, lamentablemente no lo sé, porque. Nunca he usado este tipo de distribuciones, pero creo que es casi lo mismo que con las basadas en Debian.

Es posible que haya notado que no hay montaje. Banco de trabajo MySQL para sistema operativo Debian GNU/Linux. Pero, como ha demostrado la práctica, está bien. Para instalacion Banco de trabajo MySQL en Debian 6.0 (Squeeze) usaremos debutante- paquete para Ubuntu 10.04(no te olvides del bitness de tu SO: x86 o x64). Déjame recordarte que para instalar el paquete deb descargado, puedes usar la utilidad gdebi o ingrese el siguiente comando en la consola como root:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb Por ejemplo, recibí el siguiente error al instalar MySQL WorkBench:
dpkg: las dependencias del paquete impiden la personalización del paquete mysql-workbench-gpl:
mysql-workbench-gpl depende de libcairomm-1.0-1 (>= 1.6.4), sin embargo:
El paquete libcairomm-1.0-1 no está instalado.
mysql-workbench-gpl depende de libctemplate0, sin embargo:
El paquete libctemplate0 no está instalado.
mysql-workbench-gpl depende de libgtkmm-2.4-1c2a (>= 1:2.20.0), sin embargo:
El paquete libgtkmm-2.4-1c2a no está instalado.
mysql-workbench-gpl depende de libpangomm-1.4-1 (>= 2.26.0), sin embargo:
El paquete libpangomm-1.4-1 no está instalado.
mysql-workbench-gpl depende de libzip1 (>= 0.9), sin embargo:
El paquete libzip1 no está instalado.
mysql-workbench-gpl depende de python-paramiko, sin embargo:
El paquete python-paramiko no está instalado.
mysql-workbench-gpl depende de python-pysqlite2, sin embargo:
El paquete python-pysqlite2 no está instalado.
dpkg: no se pudo procesar la opción mysql-workbench-gpl (--install):
problemas de dependencia: dejar sin configurar
Ocurrieron errores al procesar los siguientes paquetes:
mysql-workbench-gpl

Para corregir este error, solo tuve que escribir un comando en la consola para instalar algunos paquetes:

# aptitude install libzip1 libcairomm-1.0-dev libctemplate0 libgtkmm-2.4-1c2a

Para instalar los paquetes anteriores, necesitará paquetes adicionales que el administrador apto amablemente ofrezca descargar. Después de instalar todos los paquetes necesarios, MySQL WorkBench se instala sin problemas.

Todo: MySQL WorkBench está correctamente instalado y listo para aprender a trabajar.

actualización:
Si no me equivoco, desde Ubuntu 12.04 se puede encontrar MySQL WorkBench en los repositorios de la distribución. Por lo tanto, el proceso de instalación es mucho más fácil y sin muletas.
Para instalar MySQL WorkBench, simplemente ingrese el siguiente comando en la terminal:
sudo aptitude install mysql-workbench

Atención, dado que WorkBench se actualizó, escribí este artículo, que consiste en la teoría y práctica de construir una base de datos desde WorkBench.

en el capitulo “Opciones de clave externa” configurar el comportamiento de la clave foránea cuando cambia el campo correspondiente (EN ACTUALIZACIÓN) y eliminación (EN ELIMINAR) entrada principal:

  • RESTRINGIR– lanzar un error al cambiar / eliminar el registro principal
  • CASCADA– actualizar la clave externa cuando cambia el registro principal, eliminar el registro secundario cuando se elimina el principal
  • ESTABLECER NULO- establecer el valor de la clave externa NULO al cambiar/eliminar un padre (inaceptable para los campos que tienen la marca establecida ¡NO NULO!)
  • SIN ACCIÓN– no hacer nada, pero de hecho el efecto es similar a RESTRINGIR

Guardar desde el modelo a la base de datos real/física

“Archivo → Exportar → Reenviar ingeniería MySQL Create Script…”

Marcamos las casillas de verificación necesarias, solo necesitaba una Generate INSERT Statements for Tables. Si necesita guardar el script en un archivo, ingrese el directorio en el campo de arriba.

En la siguiente ventana, puede configurar qué objetos exportaremos. Si observa detenidamente, solo tenemos 2 tablas creadas.

Ejecutar un script: crear una base de datos y tablas

Haga clic en la "casa" en la esquina superior izquierda del programa ...

Luego haga doble clic en MyConnection….

Tenemos una pestaña como esta...

Esta es nuestra conexión con el servidor, aquí es donde ejecutaremos nuestro script. Tenga en cuenta, a la izquierda, las bases de datos que se crearon en el programa WorkBench ....

Ahora, debe dar el comando para ejecutar este script, para esto, haga clic en el menú superior, Ejecutar consulta (Todo o Selección)

Entonces, si todo está bien, en la ventana de salida inferior, verá todas las "marcas de verificación verdes". Y cuando presiona Actualizar en Menú de contexto en la lista de bases de datos, verá la base de datos recién creada mydatabase1.

Finalmente, construyamos un diagrama ER. ER significa Entity Relation, un exitoso modelo Entity-Relationship que, en particular, fue desarrollado por Peter Chen. Entonces, regrese a la pestaña del modelo y haga clic en Agregar diagrama ...

Hemos creado una relación de uno a muchos. Varios alumnos pueden estudiar en la misma facultad. Tenga en cuenta que el enlace junto a la tabla de Estudiantes está dividido; esto significa "a muchos".

Así, hemos creado un modelo, a partir de él, mediante la ejecución de un script, una base de datos real con tablas. Y también creó un diagrama ER.




Arriba