sql >> Base de Datos >  >> RDS >> PostgreSQL

Una descripción general de pgModeler para PostgreSQL

Cuando se está diseñando un proyecto, lo primero que hay que pensar es cuál será su propósito... cuál es la mejor solución, y cuáles son las alternativas. En la ingeniería de software, todo se hace para brindar datos, ya sea una interfaz gráfica o una lógica comercial, por lo que no es de extrañar que el mejor punto de partida sea la planificación de la base de datos.

La documentación oficial de una base de datos puede ser muy complicada, sea cual sea la tecnología que sea. Usar los mejores conceptos para una situación específica no es tarea fácil.

pgModeler es el programa que puede usar para aumentar su productividad con PostgreSQL. Es gratis, funciona en Windows, Mac o Linux y proporciona una forma de trabajar con comandos DDL a través de una interfaz enriquecida construida sobre SVG.

Instalación

La instalación es muy simple, simplemente descárguela del sitio y ejecute el archivo. Algunos sistemas operativos ya tienen incluido pgModeler en sus repositorios, que es una alternativa a descargarlo.

pgModeler es una solución de código abierto y puede encontrarla en GitHub, donde se publican nuevos lanzamientos.

Tiene una  opción de versión paga, donde puedes apoyar el proyecto y usar las últimas funciones, por ejemplo, compatibilidad con las últimas versiones de PostgreSQL.

Si necesita una entrada de escritorio, compruébelo a continuación. Este archivo puede llamarse pgmodeler.desktop y puede colocarlo en /usr/share/applications/, pero no olvide copiar el logotipo presentado en este blog y guardarlo en /etc/pgmodeler/pgmodeler_logo.png.

[Desktop Entry]
Name=pgModeler
GenericName=PostgreSQL Database Modeler
Comment=Program with nice Qt interface for visual modeling PostgreSQL on Entity Relationship Diagram
Exec=pgmodeler
Icon=/etc/pgmodeler/pgmodeler_logo.png
Terminal=false
Type=Application
Categories=Qt;Database;Development;

Interfaz gráfica

El plan de estudios de los cursos de tecnología de la información, incluidas las universidades, contiene disciplinas de modelado de datos, con UML como estándar para el diseño y la documentación de proyectos.

La interfaz gráfica de pgModeler permite trabajar con un tipo de diagrama específico para bases de datos, el Diagrama de Relación de Entidades (ERD), reproduciendo lo que ha construido dentro de su clúster de PostgreSQL sin problemas.

Varios idiomas disponibles:

  • Inglés (en_US);
  • Español (es_ES);
  • francés (fr_FR);
  • Holandés (nl_NL);
  • portugués (pt_BR); y
  • Chino (zh_CN).

También está disponible la impresión de lo que ha creado, y las personalizaciones son posibles en la apariencia, cambiando la fuente y los colores de esquemas, tablas, relaciones, etc.

Características

Las características de pgModeler son simplemente herramientas para ayudarlo a navegar entre modelos lógicos y físicos.

Un modelo lógico, es el diagrama. Puede usarlo para transformar la idea de su cliente en un proyecto bien documentado que otra persona pueda entender en el futuro y hacer modificaciones en él.

El modelo físico es el script, el código SQL. PostgreSQL lo entiende, y pgModeler también.

A través de su algoritmo de ingeniería inversa, puede conectarse a su clúster de PostgreSQL y mirar su modelo de dominio existente con una perspectiva diferente, o construirlo primero y luego crear el modelo de dominio ejecutando el script, generado por lo que has construido en el diagrama.

Diagrama de relación de entidad

Una vez que comprenda su propósito, veamos cómo se ve un diagrama para un proyecto muy simple donde puede visualizar la relación entre las tablas cliente y película, llamado alquiler.

Observe las líneas entre las tablas, son fáciles de ver y, lo que es más importante, de entender. Las claves primarias y externas son los puntos de partida para visualizar las relaciones, y en sus bordes se muestra la cardinalidad.

Pueden verse las restricciones que representan las claves, como pk, fk y incluso el NOT NULL, como nn, en verde a la derecha de cada tabla. El esquema se llama store y la imagen de arriba ha sido generada por el propio programa.

Anteriormente vimos que los diagramas son el modelo lógico, que se puede aplicar a un clúster de PostgreSQL. Para aplicarlo, se debe establecer una conexión, para este ejemplo, creé un clúster que se ejecuta dentro de un contenedor Docker.

Ahora, con la conexión a la base de datos configurada y probada, exportar es fácil. Las cuestiones de seguridad deben tenerse en cuenta en este punto, como establecer SSL con su clúster.

A continuación, pgModeler crea el esquema de la tienda, dentro de una base de datos completamente nueva llamada blog_db, como quería, sin olvidar mencionar el nuevo rol, con permiso de inicio de sesión.

¡El proceso de exportación finalizó con éxito! – Vale, hay un error, pero se ha finalizado con éxito, seguro.

[email protected]:~$ psql -U thiago -w -d blog_db;
psql (10.10 (Debian 10.10-1.pgdg90+1))
Type "help" for help.
blog_db=> set search_path to store;
SET
blog_db=> \dt
        List of relations
Schema |   Name | Type  | Owner
--------+----------+-------+--------
store  | customer | table | thiago
store  | film   | table | thiago
store  | rental   | table | thiago
(3 rows)
blog_db=> \du
                                  List of roles
Role name |                         Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
thiago    |                                                   | {}

Conclusión

Los modelos de dominio también se conocen como mini mundos, y rara vez verá que se aplica lo mismo en diferentes proyectos. pgModeler puede ayudarlo a concentrarse en lo que es realmente importante, evitando pérdidas de tiempo relacionadas con la sintaxis SQL.