sql >> Databasteknik >  >> RDS >> PostgreSQL

En översikt av pgModeler för PostgreSQL

När ett projekt designas är det första att tänka på vad syftet kommer att vara... vad som är den bästa lösningen och vilka alternativen finns. Inom mjukvaruteknik görs allt för att betjäna data, oavsett om det är ett grafiskt gränssnitt eller affärslogik, så det är inte konstigt att den bästa utgångspunkten kan vara databasplanering.

Den officiella dokumentationen av en databas kan vara mycket komplicerad, vilken teknik det än kan vara. Att använda de bästa koncepten för en specifik situation är ingen lätt uppgift.

pgModeler är programmet du kan använda för att öka din produktivitet med PostgreSQL. Det är gratis, fungerar på Windows, Mac eller Linux och ger ett sätt att arbeta med DDL-kommandon genom ett rikt gränssnitt byggt ovanpå SVG.

Installation

Installationen är väldigt enkel, ladda bara ner den från webbplatsen och kör filen. Vissa operativsystem har redan pgModeler inkluderat i sina arkiv, vilket är ett alternativ till att ladda ner det.

pgModeler är en öppen källkodslösning, och du kan hitta den på GitHub, där nya utgåvor publiceras.

Den har ett alternativ för betald version, där du kan stödja projektet och använda de senaste funktionerna, till exempel kompatibilitet med de senaste versionerna av PostgreSQL.

Om du behöver ett skrivbordsinlägg, kolla in det nedan. Den här filen kan heta pgmodeler.desktop, och du kan placera den på /usr/share/applications/, men glöm inte att kopiera logotypen som presenteras i den här bloggen, spara den på /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;

Grafiskt gränssnitt

Läroplanen för informationsteknologikurser, inklusive högskolor, innehåller datamodelleringsdiscipliner, med UML som standard för projektdesign och dokumentation.

Det grafiska gränssnittet för pgModeler gör det möjligt att arbeta med ett slags diagram specifikt för databaser, Entity Relationship Diagram (ERD), som sömlöst reproducerar det du har byggt inuti ditt PostgreSQL-kluster.

Flera språk är tillgängliga:

  • Engelska (en_US);
  • Spanska (es_ES);
  • Franska (fr_FR);
  • holländska (nl_NL);
  • Portugisiska (pt_BR); och
  • Kinesiska (zh_CN).

Att skriva ut det du har byggt är också tillgängligt, och anpassningar är möjliga i utseendet, ändra teckensnitt och färger på scheman, tabeller, relationer, etc.

Funktioner

Funktionerna i pgModeler är helt enkelt verktyg som hjälper dig att navigera mellan logiska och fysiska modeller.

En logisk modell är diagrammet. Du kan använda den för att omvandla idén om din kund till ett väldokumenterat projekt som andra personer kan förstå i framtiden, och göra ändringar på det.

Den fysiska modellen är skriptet, SQL-koden. PostgreSQL förstår det, och så pgModeler också.

Genom sin omvända konstruktionsalgoritm kan du ansluta till ditt PostgreSQL-kluster och titta på din befintliga domänmodell med ett annat perspektiv, eller bygga den först och sedan skapa domänmodellen som exekverar skriptet, genererat av det du har byggt i diagrammet.

Diagram för entitetsrelationer

När du förstår dess syfte, låt oss se hur ett diagram ser ut för ett mycket enkelt projekt där du kan visualisera förhållandet mellan tabellerna kund och film, som heter hyra.

Observera linjerna mellan tabellerna, de är lätta att se, och viktigast av allt, förstå. Primära och främmande nycklar är utgångspunkterna för att visualisera relationerna, och vid deras kanter visas kardinaliteten.

Begränsningarna som representerar nycklarna kan ses som pk, fk och även NOT NULL, som nn, i grönt till höger om varje tabell. Schemat heter butik och bilden ovan har skapats av själva programmet.

Tidigare såg vi att diagram är den logiska modellen, som kan appliceras i ett PostgreSQL-kluster. För att kunna tillämpa det måste en anslutning upprättas, för det här exemplet skapade jag ett kluster som kördes inuti en Docker-behållare.

Nu med databasanslutningen konfigurerad och testad är exporten enkel. Säkerhetsproblem måste övervägas vid denna tidpunkt, som att etablera SSL med ditt kluster.

I det följande skapar pgModeler butiksschemat, inuti en helt ny databas med namnet blog_db, som jag ville, utan att glömma att nämna den nya rollen, med inloggningsbehörighet.

Exportprocessen avslutades! – Okej, det är ett misstag, men det har definitivt avslutats.

[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    |                                                   | {}

Slutsats

Domänmodeller är också kända som minivärldar, och sällan kommer du att se samma tillämpas på olika projekt. pgModeler kan hjälpa dig att fokusera på det som verkligen är viktigt och undvika slöseri med tid med SQL-syntaxen.


  1. Hur kan jag infoga data i en MySQL-databas?

  2. Hur man kör Skapa tabell DDL med UTFÖR Omedelbart i Oracle Database

  3. Vad är Unique Constraint i SQL Server - SQL Server / TSQL Tutorial Del 95

  4. Hur man installerar, säkrar och prestandajustering av MariaDB Database Server