Установка и настройка программного обеспечения для работы с базами данных. Следуйте инструкциям по порядку.
PostgreSQL — это объектно-реляционная система управления базами данных с открытым исходным кодом.
DBeaver Community — это бесплатный кросс-платформенный инструмент для работы с базами данных для разработчиков, администраторов баз данных, аналитиков и всех, кто работает с данными.
Учебные данные — резервная копия учебной базы данных stroy — https://nkhcode.ru/uploads/backups/stroy.sql
Хост: 185.26.121.22
Порт: 5432
База данных: postgres — с учебными данными и только для чтения, workplace — полный доступ для выполнения заданий на создание, изменение или удаление.
Пользователь: student
Пароль: ATTentiveness25
Для SELECT запросов можно использовать песочницу: https://sandbox.nkhcode.ru/ (находится в тестовом режиме)
Ссылка на PostgreSQL 17 версии (предпочтительный вариант) — https://nkhcode.ru/uploads/backups/p17.exe
Ссылка на страницу с дистрибутивом PostgreSQL — https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Альтернативная ссылка на страницу с дистрибутивом PostgreSQL для Windows — https://postgrespro.ru/windows
На MacOS устаноку можно производить через Homebrew: brew install postgresql.
Так же установку можно производить с использованием Docker — https://hub.docker.com/_/postgres
Ниже инструкция по установке PostgreSQL на примере версии 16.2 в ОС Windows 10.
Другие версии PostgreSQL в других операционных системах имеют аналогичный алгоритм. В Mac OS можно использовать Homebrew, в Linux установка происходит из репозитория.
Открыв ссылку будет выбор версии PostgreSQL с учетом операционной системы:
Как выбрать нужную версию PostgreSQL?
Если находитесь в начале изучения SQL, то скачиваете последнюю актуальную версию.
Если уже знакомы с SQL и нужно понимать различия в версионности, тогда скачиваете 10, последнюю и несколько промежуточных версий. Можно на одном компьютере запустить несколько серверов с разными версиями. В учебных целях при небольших данных сервера затрачивают незначительные ресурсы системы.
Скачав нужную версию запускаете загруженный дистрибутив для установки PostgreSQL, и нажимаете — Next
Выбираете директорию для установки PostgreSQL, нажимаете — Next
Отмечаете программные модули, которые нужно установить:
PostgreSQL Server — сервер базы данных PostgreSQL
pgAdmin4 — графический интерфейс для работы с базой данных
Stack Builder — система для установки дополнительных инструментов и драйверов для PostgreSQL
Command Line Tools — инструменты для работы с базой данных в командной строке
Выбираете первый и последний пункты.
Далее нажимаете — Next
Указываете директорию для хранения базы данных, нажимаете — Next
Устанавливаете пароль для суперпользователя базы данных.
Так как не предполагается работа с коммерческими или иными данными, то не нужно придумывать очень сложный пароль, кнопки "восстановить пароль" не будет.
Нажимаете — Next
Указываете номер порта на котором будет работать PostgreSQL, по умолчанию — 5432. Если данный порт занят другим приложением, то будет конфликт.
Если планируете установить несколько версий PostgreSQL, то для каждой версии нужно указать разные значения портов, которые должны быть свободны и не заняты другими приложениями.
Нажимаете — Next
Выбираете язык для работы с PostgreSQL. Если будет выбрано значение [Default locale], будет использован язык, который используется в операционной системе.
Нажимаете — Next
Мастер установки выведет сводную информацию перед установкой, чтобы вы могли её проверить и исправить в случае ошибки. Нажимаете кнопку — Next
Запускаете установку PostgreSQL нажатием кнопки — Next
Ждете завершения процесса установки
Установка PostgreSQL завершена. Нажимаете кнопку — Finish
Фоновый процесс PostgreSQL Server запускается в автоматическом режиме после завершения установки. Если этого не произошло — перезагрузите компьютер.
Теперь можно запускать DBeaver и создавать соединение к данному серверу PostgreSQL.
Ссылка на страницу с дистрибутивом DBeaver — https://dbeaver.io/download/
Если ссылка выше не работает, можно скачать DBeaver 25.0.3 версии — https://nkhcode.ru/uploads/backups/d.exe
Ниже инструкция по установке DBeaver на примере версии 24.0.3 в ОС Windows 10.
Другие версии DBeaver в других операционных системах имеют аналогичный алгоритм.
Переходите по ссылке https://dbeaver.io/download/ и скачиваете DBeaver Community (бесплатная версия) в соответствии с вашей операционной системой.
Если у вас 32 битная операционная система, то нужно перейти в раздел Archive, в папку с версией 6.0.0 и работать с ней, так как это последняя версия, поддерживающая 32 битные системы: https://dbeaver.io/files/6.0.0/
После скачивания установочного файла запускаете его.
Выбираете язык установки и нажимаете ОК
Пропускаете экран приветствия, нажимаете — Далее
Принимаете условия лицензионного соглашения, нажимаете — Принимаю
Выбираете для кого будет установлено программное обеспечение, то есть, для всех пользователей компьютера или только для одного пользователя. Выбираете, к примеру, пункт — For me (Имя пользователя) и нажимаете — Далее
Отмечаете компоненты, которые необходимо установить: DBeaver Community и Include Java, нажимаете — Далее. Пункта Include Java на некоторых системах может не быть, значит Java установлена и дополнительная установка не требуется.
Указываете директорию для установки DBeaver и нажимаете — Далее
Выбираете директорию в меню пуск, в которую будут помещены ярлыки DBeaver. Нажимаете — Установить
Ждете завершения процесса установки
По окончанию установки DBeaver, при необходимости ставите галочку на пункте — Create desktop Shortcut, и нажимаете — Готово
Запускаете DBeaver.
При первом запуске DBeaver предложит создать тестовую базу данных SQLite, нажимаете — Нет
Если ни одно из соединений заранее не подготовлено, то нажимаете — Отмена.
Если есть готовое соединение, то выбираете необходимое и указываете параметры подключения
Теперь можете приступать к работе.
Как настроить соединение к базе данных на примере PostgreSQL указано в другом разделе.
Ссылка на документацию DBeaver — https://dbeaver.com/docs/dbeaver/
Для того, что бы в DBeaver создать соединение к источнику данных, необходимо нажать на кнопку — Новое соединение
Выбираете PostgreSQL и нажимаете — Далее
В настройках соединения указываете следующие параметры:
Хост: если подключение локальное — localhost, если облачное решение — IP адрес внешнего сервера
Порт: по умолчанию 5432 или тот порт, который был указан при установке сервера PostgreSQL или порт внешнего сервера
База данных: по умолчанию postgres или иное название, если оно отличается от значения по умолчанию
Пользователь: по умолчанию postgres или иное имя учетной записи под которым производите подключение к источнику данных
Пароль: указываете пароль от учетной записи под которой производите подключение, при локальном подключении указываете пароль, который указывали при установке сервера PostgreSQL
Показать все базы данных: ставите галочку, что бы в подключении отображались все базы данных, а не только та к которой производите подключение
Нажимаете — Тест соединения
Для подключения к серверу PostgreSQL необходимы драйвера.
Если есть все необходимые права доступа на компьютере, нажимаете — Скачать.
Если необходимых прав доступа для установки драйвера нет, тогда нужно будет вручную скачать и установить JDBC драйвер (как это сделать описано в разделе Ручное добавление JDBC драйвера в DBeaver)
После скачивания и установки драйверов пройдет тест на подключение, если подключение есть, нажимаете — ОК.
Если подключения нет — значит допущена ошибка в настройках подключения или сервер не запущен.
Нажимаете — Готово и в левой части отобразится новое соединение
Для того, что бы отображались все необходимые служебные объекты, нажимаете правую кнопку мыши на соединении — Connection view — Advanced
На предложение о переподключении к базе данных из-за смены параметров нажимаете — Да
Теперь можете раскрыть подключение и приступить к восстановлению данных
Ссылка на резервную копию учебной базы данных stroy — https://nkhcode.ru/uploads/backups/stroy.sql
Скачиваете по ссылке файл с резервной копией данных и сохраняете в любую папку.
В DBeaver нажимаете правую кнопку мыши на базе данных postgres, выбираете Инструменты — Выполнить скрипт
Где Ввод нажимаете на иконку папки и выбираете заранее скачанный файл с резервной копией. Нажимаете — Старт
Ожидаете процесса восстановления данных
По окончании процесса нажимаете — Отмена или через крестик закрываете окно
В левой части появится схема stroy
Если нажать правую кнопку мыши на названии схемы stroy и выбрать — View Diagram, то откроется Entity Relation Diagram (Диаграмма отношений — связей)
По диаграмме можно предварительно изучить структуру данных, какие есть таблицы, столбцы в таблицах, определить примерные типы данных и ограничения
Для того, что бы начать писать запросы к данным нужно нажать правую кнопку мыши на схему stroy и выбрать — Редактор SQL — Новый редактор SQL
В редакторе можете писать запросы. Для выполнения запроса нажимаете на кнопку Выполнить SQL запрос или нажимаете сочетание клавиш Ctrl + Enter
Результат запроса отображается в нижней части DBeaver
Если отсутствует возможность автоматической установки драйверов, что бы DBeaver мог работать с PostgreSQL, то переходите в настройки соединения. Нажимаете — Настройки драйвера
Выбираете вкладку Библиотеки
Выделяете все пункты, которые есть в списке. Нажимаете — Удалить
Соглашаетесь с удалением библиотек, нажимаете — Да
Переходите по ссылке — https://jdbc.postgresql.org/download/
Выбираете последнюю версию, к примеру, Java 8 и нажимаете — Download
Выбираете место сохранения файла и сохраняете jar файл.
Важно: в дальнейшем менять местоположение файла или переименовывать файл нельзя.
В свойствах библиотек драйвера нажимаете — Добавить файл
Выбираете заранее скачанный jar файл и нажимаете — ОК
Нажимаете — ОК
Соглашаетесь с изменением параметров соединения, нажимаете — Да
Можете приступать к работе.
Если в настройках соединения в пункте Локальный клиент отсутствует указание установленной версии PostgreSQL и присутствует только одно значение Выбрать, то нажимаете — Выбрать
В левой части будут отсутствовать клиенты БД. Нажимаете — Добавить
В проводнике указываете пусть до папки с установленным сервером PostgreSQL.
По умолчанию в Windows: c:\program files\postgresql\(версия)\
По умолчанию в Mac OS: \library\postgresql\(версия)\
Нажимаете — Выбор папки
Если пусть указан верно, то в левой части появится клиент БД и главное, что бы в пункте Версия продукта было значение, если значение отсутствует, то путь до папки с PostgreSQL указан не верно. Нажимаете — ОК
Если забыли пароль от учетной записи суперпользователя postgres, то необходимо перейти в папку data с установленным сервером PostgreSQL.
По умолчанию в Windows: c:\program files\postgresql\(версия)\data
По умолчанию в Mac OS: \library\postgresql\(версия)\data
Открываете файл pg_hba.conf в любом текстовом редакторе и опускаетесь в самый низ файла
В зависимости от версии PostgreSQL значение METHOD будет scram-sha-256 или md5. Это значение меняете на trust.
Перезагружаете компьютер.
Запускаете DBeaver.
Открываете настройки соединения. Для этого нажимаете правую кнопку мыши на соединении, выбираете — Редактировать объект "Соединение"
В пункте Пароль оставляете пустое значение и нажимаете — ОК
На предложение о переподключении к базе данных нажимаете — Да
Открываете редактор SQL и набираете запрос:
alter role postgres with password 'новый_пароль';
где в одинарных кавычках указываете новый пароль от учетной записи суперпользователя postgres.
Выполняете запрос.
После переходите в папку data с установленным сервером PostgreSQL.
Открываете файл pg_hba.conf в любом текстовом редакторе и опускаетесь в самый низ файла.
Меняете значение trust на scram-sha-256 или md5 в зависимости от версии PostgreSQL.
Перезагружаете компьютер.
Открываете DBeaver и в настройках соединения указываете новый пароль для учетной записи.
База данных stroy является учебной, не содержит персональных или коммерческих данных, может содержать ошибки или неточности в данных.
Названия различных сущностей сгенерированы с помощью Chat-GPT, остальные значения сгенерированы случайным образом средствами SQL.
База данных является фрагментом базы данных компании, занимающейся строительством и проектированием.
Диаграмма данных:
country — страны
country_id — идентификатор страны
country_name — название страны
city — города
city_id — идентификатор города
city_name — название города
country_id — идентификатор страны
address — адреса сотрудников (физических лиц) и контрагентов
address_id — идентификатор адреса
address — значение адреса, в виде улицы, номера дома, номера квартиры / офиса
city_id — идентификатор города
customer — контрагенты
customer_id — идентификатор контрагента
customer_name — наименование контрагента
phone_number — телефон
email — эмейл
address_id — идентификатор адреса контрагента
person — физические лица
person_id — идентификатор физического лица
last_name — фамилия
first_name — имя
middle_name — отчество
full_fio — вычисляемый столбец, формирует ФИО в виде одной строки
birthdate — дата рождения
phone_number — телефон
email — эмейл
address_id — идентификатор адреса регистрации
employee — сотрудники
employee_id — идентификатор сотрудника
person_id — идентификатор физического лица
hire_date — дата найма
dismissal_date — дата увольнения
description — описание
position — должности (штатное расписание)
position_id — идентификатор должности
position_name — наименование должности
manager_position_id — идентификатор прямого руководителя
unit_id — идентификатор структурного подразделения
grade — идентификатор зарплатной вилки
is_vacant — является ли должность вакантной
company_structure — структура компании
unit_id — идентификатор структурного подразделения
parent_id — идентификатор родительского структурного подразделения
unit_name — наименование структурного подразделения
unit_type — идентификатор типа структурного подразделения
unit_type — тип структурного подразделения
unit_type_id — идентификатор типа структурного подразделения
unit_type_name — наименование типа структурного подразделения
grade_salary — зарплатная вилка должности
grade — идентификатор зарплатной вилки
min_salary — минимальная граница зарплатной вилки
max_salary — максимальная граница зарплатной вилки
employee_position — связь многие ко многим между сотрудником и должностью, историчность формируется в 4 типе SCD.
employee_id — идентификатор сотрудника
position_id — идентификатор должности
salary — текущий оклад
rate — коэффициент ставки
start_date — дата с которой актуален оклад сотрудника по данной должности
type_of_work — тип работ заказываемый контрагентом
type_of_work_id — идентификатор типа работ
type_of_work_name — наименование заказываемых работ
customer_type_of_work — связь многие ко многим между контрагентом и типом работ
customer_id — идентификатор контрагента
type_of_work_id — идентификатор типа работ
project — проекты
project_id — идентификатор проекта
project_name — название проекта
customer_id — идентификатор контрагента
project_manager_id — идентификатор сотрудника (руководителя проекта)
employees_id — массив с сотрудниками, задействованными на проекте
project_cost — стоимость проекта
sign_date — дата подписания проекта
status — статус проекта, тип данных enum
description — описание проекта
project_payment — оплаты по проектам
project_payment_id — идентификатор платежа
project_id — идентификатор проекта
amount — размер платежа
payment_type — тип платежа, тип данных enum
plan_payment_date — планируемая дата оплаты
fact_transaction_timestamp — фактические дата и время оплаты
employee_salary_history — история окладов сотрудников в 4 типе SCD (необходимо для отработки автоматизации и последующего расчета бюджетов)
employee_salary_history_id — идентификатор записи
employee_id — идентификатор сотрудника
position_id — идентификатор должности
salary_old — значение старого оклада
start_date — дата с которой оклад был назначен
end_date — дата прекращения действительности оклада
project_status — статус проекта, тип данных enum
'На подписании', 'В работе', 'Завершен', 'Отменен'
payment_type — статус платежа, тип данных enum
'Авансовый', 'Промежуточный', 'Финальный', 'Гарантийное удержание', 'Корректировка'
Установка ПО:
Ресурс supabase.com на данный момент не доступен в России.