PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Преглед на pgModeler за PostgreSQL

Когато се проектира проект, първото нещо, за което трябва да помислите, е каква ще бъде целта му... кое е най-доброто решение и какви са алтернативите. В софтуерното инженерство всичко се прави, за да се обслужват данни, независимо дали става дума за графичен интерфейс или бизнес логика, така че не е чудно, че най-добрата отправна точка може да бъде планирането на база данни.

Официалната документация на база данни може да бъде много сложна, каквато и технология да е тя. Използването на най-добрите концепции за конкретна ситуация не е лесна задача.

pgModeler е програмата, която можете да използвате, за да увеличите производителността си с PostgreSQL. Той е безплатен, работи на Windows, Mac или Linux и предоставя начин за работа с DDL команди чрез богат интерфейс, изграден върху SVG.

Инсталиране

Инсталацията е много проста, просто я изтеглете от сайта и стартирайте файла. Някои операционни системи вече имат включен pgModeler в техните хранилища, което е алтернатива на изтеглянето му.

pgModeler е решение с отворен код и можете да го намерите в GitHub, където се публикуват нови издания.

Има опция  за платена версия, където можете да поддържате проекта и да използвате най-новите функции, например съвместимост с най-новите версии на PostgreSQL.

Ако имате нужда от запис на работния плот, проверете го по-долу. Този файл може да бъде наречен pgmodeler.desktop и можете да го поставите в /usr/share/applications/, но не забравяйте да копирате логото, представено в този блог, като го запишете в /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;

Графичен интерфейс

Учебната програма на курсовете по информационни технологии, включително колежи, съдържа дисциплини за моделиране на данни, с UML като стандарт за проектиране на проекти и документация.

Графичният интерфейс на pgModeler позволява работа с един вид диаграма, специфична за бази данни, диаграмата на връзките на обектите (ERD), възпроизвеждаща безпроблемно това, което сте изградили във вашия PostgreSQL клъстер.

Налични са няколко езика:

  • английски (en_US);
  • испански (es_ES);
  • френски (fr_FR);
  • холандски (nl_NL);
  • португалски (pt_BR); и
  • Китайски (zh_CN).

Отпечатването на създаденото от вас също е достъпно и са възможни персонализации във външния вид, промяна на шрифта и цветовете на схеми, таблици, връзки и т.н.

Функции

Функциите на pgModeler са просто инструменти, които ви помагат да навигирате между логически и физически модели.

Логически модел е диаграмата. Можете да го използвате, за да трансформирате идеята на вашия клиент в добре документиран проект, който другият човек може да разбере в бъдеще, и да правите промени в него.

Физическият модел е скриптът, SQL кодът. PostgreSQL го разбира, така и pgModeler също.

Чрез неговия алгоритъм за обратно инженерство можете да се свържете с вашия PostgreSQL клъстер и да разгледате съществуващия си модел на домейн от различна гледна точка или първо да го изградите и след това да създадете модела на домейна, изпълнявайки генерирания скрипт според това, което сте изградили в диаграмата.

Диаграма на връзките на обекти

След като разберете целта му, нека да видим как изглежда диаграмата за много прост проект, където можете да визуализирате връзката между масите клиент и филм, наречен наем.

Обърнете внимание на редовете между таблиците, те са лесни за виждане и най-важното - разбират. Първичният и външният ключ са отправните точки за визуализиране на връзките, а в краищата им се показва мощността.

Ограниченията, представляващи ключовете, могат да се видят като pk, fk и дори и NOT NULL, като nn, в зелено вдясно на всяка таблица. Схемата е наречена store, а снимката по-горе е генерирана от самата програма.

По-рано видяхме, че диаграмите са логическият модел, който може да се приложи в PostgreSQL клъстер. За да го приложите, трябва да се установи връзка, за този пример създадох клъстер, работещ в Docker контейнер.

Сега с конфигурирана и тествана връзка с базата данни, експортирането е лесно. В този момент трябва да се вземат предвид опасенията за сигурността, като например установяване на SSL с вашия клъстер.

По-долу pgModeler създава схемата на магазина в напълно нова база данни с име blog_db, както исках, без да забравя да спомена новата роля, с разрешение за влизане.

Процесът на експортиране приключи успешно! – Добре, има грешка, но със сигурност приключи успешно.

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

Заключение

Моделите на домейни са известни още като мини светове и рядко ще видите едно и също да се прилага в различни проекти. pgModeler може да ви помогне да се съсредоточите върху това, което е наистина важно, като избягвате загубата на време относно синтаксиса на SQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е сканиране на растерна памет в план за заявка?

  2. Не мога да инсталирам pg gem на Windows

  3. Създаване на postgresql DB с помощта на psycopg2

  4. Как да конвертирам интервал в брой часове с postgres?

  5. heroku, postgreSQL, django, comments, tastypie:Никой оператор не отговаря на даденото име и тип(ове) на аргумента. Може да се наложи да добавите изрични прехвърляния на типа