Когато се проектира проект, първото нещо, за което трябва да помислите, е каква ще бъде целта му... кое е най-доброто решение и какви са алтернативите. В софтуерното инженерство всичко се прави, за да се обслужват данни, независимо дали става дума за графичен интерфейс или бизнес логика, така че не е чудно, че най-добрата отправна точка може да бъде планирането на база данни.
Официалната документация на база данни може да бъде много сложна, каквато и технология да е тя. Използването на най-добрите концепции за конкретна ситуация не е лесна задача.
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.