¿Con qué frecuencia se ha preguntado acerca de la estructura de una base de datos existente? Podría ser un sistema heredado de 5 años o un nuevo proyecto de código abierto. Echemos un vistazo al diagrama ERD de la base de datos detrás del sistema de gestión de contenido más famoso:WordPress.
¿Qué es WordPress y cómo funciona?
WordPress es un CMS (sistema de administración de contenido) de código abierto que se lanzó inicialmente en 2003. Comenzó como una plataforma de blogs, pero se ha desarrollado tanto que hoy en día se puede usar para casi cualquier cosa.
Debido a que WordPress es un proyecto de código abierto, muchos desarrolladores han ampliado sus funcionalidades a lo largo de los años. Se pueden encontrar miles de widgets, temas y complementos desarrollados para WordPress. Entonces, como dice WordPress.org, “WordPress está limitado solo por tu imaginación. (Y habilidades tecnológicas)”. Detrás de escena, el lenguaje de secuencias de comandos del lado del servidor PHP y la base de datos MySQL brindan el poder.
Para el propósito de este artículo, instalé WordPress localmente siguiendo estos pasos:
- Descargué e instalé WampServer, un entorno de desarrollo web de Windows para Apache, PHP y MySQL (Nota:primero se deben instalar las variantes correctas de Visual C++ Redistributable). Este paso implicó principalmente hacer clic en el botón "Siguiente".
- Luego, creé una base de datos MySQL llamada "wordpress_database" usando phpMyAdmin; por supuesto, puede elegir cualquier nombre y referencia posterior a él.
- Terminé descargando e instalando el programa actual de WordPress. Nuevamente, esto fue principalmente hacer clic en "Siguiente".
Durante la instalación de WordPress, se le pedirá que proporcione un nombre de usuario, el nombre de la base de datos que utilizará WordPress y los detalles de la conexión. Debe proporcionar el nombre de una base de datos MySQL existente. Además, puede elegir el prefijo que se usará para nombrar tablas dentro de la base de datos. (Elegí “wp_”.) Comenzar los nombres de las tablas con un prefijo es una práctica común en MySQL. Si todo va bien, se generará una contraseña aleatoria para su proyecto y podrá iniciar sesión. Después de iniciar sesión, verá el panel de control de WordPress, que se ve así:
[
No hablaremos más sobre las opciones de WordPress porque no están relacionadas con el diseño de la base de datos. Hay toneladas de materiales en línea, y en libros, por supuesto; lee libros ☺, que cubren estos temas bastante a fondo.
El proceso de exportación/importación de WordPress
Nuestro próximo paso es mirar la base de datos MySQL que está detrás de nuestra página de WordPress. Para hacerlo, tenemos que abrir phpMyAdmin . La pantalla principal se muestra a continuación.
En el lado izquierdo de la pantalla, puede ver la base de datos llamada “wordpress_database” con su lista de tablas ampliada. Tenga en cuenta que todas las tablas tienen el “wp_” prefijo. El siguiente paso es exportar la estructura de la base de datos desde phpMyAdmin e importarlo a Vertabelo.
Para hacer eso, use el botón "Exportar", luego seleccione el método de exportación "Personalizado". Elija el nombre de la base de datos que desea exportar y seleccione su estructura en Opciones específicas del formato. En este caso, se creará y guardará en el disco un archivo SQL con sentencias DDL.
Después de eso, inicie sesión en Vertabelo.com e importe su archivo SQL al nuevo modelo de base de datos. En el tablero, haga clic en el botón "CREAR NUEVO MODELO". Complete el cuadro de texto "Nombre del modelo" con el nombre del modelo Vertabelo deseado y elija MySQL 5.5 en la lista "Motor de base de datos".
En la mayoría de los casos, queremos comenzar con una base de datos en blanco, lo que hará clic en el botón "INICIAR MODELADO". Pero en este caso, queremos usar un archivo SQL existente. Para lograrlo debemos:
- Seleccione "Desde SQL" en la sección "Modelo inicial".
- Haga clic en el botón "Elegir archivo" y recupere el archivo de nuestra computadora usando el botón "Examinar".
- Haga clic en el botón "Importar SQL".
Si todo salió bien, verá "El modelo se importó correctamente". Asimismo, se habilitará el botón “INICIAR MODELADO”. Haga clic en él y comience a usar su modelo existente.
Ahora podemos agregar nuevas funciones, o simplemente podemos estar orgullosos de nosotros mismos y de nuestro diseño de base de datos que se muestra con buen gusto. Recuerda, ¡esa imagen vale más que mil palabras!
En este punto, el modelo se abrirá en Vertabelo y finalmente veremos nuestras tablas, y no solo como código SQL. Obtendremos algo como esto (he reorganizado un poco las mesas):
Lo primero que notaremos es la ausencia de relaciones entre las tablas. Esto se debe a que la instalación estándar de WordPress no impone la integridad referencial. WordPress usa el motor de almacenamiento MyISAM, que brinda más funcionalidad y mejor rendimiento, pero no admite claves externas.
A los efectos de este artículo, creé un proyecto de WordPress vacío y lo único que puedo ver es una página en blanco. Puede sonar tonto, pero eso es suficiente para explorar el modelo de base de datos de WordPress. No importa cuán complicado sea un sitio de WordPress, siempre usa las mismas tablas. El uso del mismo código central y metacampos le da a WordPress suficiente flexibilidad para ejecutar sitios sin importar cuán diferente sea su función, diseño o estilo.
Todavía hay más WordPress para ver
Hemos hecho de WordPress nuestro ejemplo porque es ampliamente utilizado y conocido por su simplicidad. Sin embargo, podríamos haber utilizado cualquier otro CMS o cualquier otro proyecto que tenga una base de datos detrás. Apuesto a que puede pensar en muchas situaciones en las que le gustaría mover su proyecto de base de datos existente a una herramienta de diseño de base de datos. Vertabelo ofrece la opción de importar modelos previamente diseñados y continuar trabajando en ellos dentro del sistema. Durante la formación de este artículo, utilicé Importar desde el archivo con las declaraciones DDL.
En nuestro próximo artículo, estableceremos relaciones entre tablas y veremos más de cerca las definiciones de las tablas. Mientras tanto, no dude en compartir sus ideas y comentarios en la sección de comentarios a continuación.