7. Приложение 1. Настройка firewall (Iptables)
Утилита iptables - это межсетевой экран для операционных систем Linux.
Настройка iptables производится в командной строке, с помощью правил iptables можно разрешать или блокировать прохождение трафика.
Для выполнения настройки межсетевого экрана необходимо создать конфигурационный файл iptables.conf в папке etc/:
/etc/iptables.conf
Далее, необходимо скопировать в файл следующие настройки:
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:FILTERS - [0:0]
:DOCKER-USER - [0:0]
-F INPUT
-F DOCKER-USER
-F FILTERS
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type any -j ACCEPT
-A INPUT -j FILTERS
-A DOCKER-USER -o docker0 -j FILTERS
-A FILTERS -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A FILTERS -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT
-A FILTERS -j REJECT --reject-with icmp-host-prohibited
COMMIT
Выполнить команду:
iptables-restore -n /etc/iptables.conf
Создать файл:
/etc/systemd/system/iptables.service
Сохранить в файл:
[Unit]
Description=Restore iptables firewall rules
Before=network-pre.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore -n /etc/iptables.conf
[Install]
WantedBy=multi-user.target
Включить iptables, для этого выполнить команду:
sudo systemctl enable --now iptables
или выполнить следующие две команды:
sudo systemctl enable iptables
sudo systemctl start iptables
После обновления правил в файле /etc/iptables.conf, выполнить следующую команду:
sudo systemctl restart iptables
8. Приложение 2. Просмотр выполнения загрузки данных в программу
В данном приложении описан порядок проверки загрузки данных в программу, а также необходимые настройки для подключения к базе данных программы.
8.1. Настройка подключения к базе данных
Для подключения к базе данных программы необходимо выполнить следующие действия:
получить у системного программиста учетные записи для доступа к базе данных (название БД, логин и пароль пользователя БД);
установить и настроить программу DBeaver (менеджер баз данных);
установить и настроить JDBC-драйвер для работы с базой данных программы;
выполнить проверку подключения к базе данных.
8.1.1. Установка программы DBeaver
DBeaver — это бесплатное программное обеспечение с открытым исходным кодом для управления базами данных (БД). Для взаимодействия с реляционными БД в программе используется программный интерфейс JDBC (через JDBC-драйвер).
С помощью программы DBeaver оператор может выполнить следующие действия:
настроить доступ и подключится к БД;
проверить работоспособность БД.
Для установки DBeaver скачайте дистрибутив программы с официального сайта https://dbeaver.io/download/.
Внимание
Необходимо выбрать дистрибутив программы для операционной системы, которая установлена на вашем компьютере.
8.1.1.1. Установка DBeaver для ОС Linux
(В данном разделе описан процесс установки DBeaver, в операционную систему Linux Ubuntu, версия 20.04).
В строке поиска Ubuntu Software введите название программы DBeaver (см. Рисунок - 8.1).
Рисунок - 8.1 Поиск DBeaver
В предложенном списке (см.рис. выше) выберите программу DBeaver.
Запустите установку программы, для этого нажмите кнопку Install (см. Рисунок - 8.2).
Рисунок - 8.2 Установка DBeaver
Дождитесь окончания процесса копирования файлов (см. Рисунок - 8.3).
Рисунок - 8.3 Процесс копирования файлов программы
После завершения копирования файлов на экране монитора отобразится окно с сообщением об успешной установке программы (см. Рисунок - 8.4).
Рисунок - 8.4 Завершение установки программы
8.1.1.2. Установка DBeaver для ОС Windows
Запустите установочный файл от имени администратора (см. Рисунок - 8.5).
Рисунок - 8.5 Запуск установочного файла от имени администратора
В открывшемся окне (см. Рисунок - 8.6) выберите язык установки:
Рисунок - 8.6 Выбор языка установки
В окне «Мастер установки DBeaver Community» нажмите кнопку Далее (см. Рисунок - 8.7).
Рисунок - 8.7 Окно «Мастер установки DBeaver Community»
В открывшемся окне «Лицензионное соглашение» нажмите кнопку Принимаю (см. Рисунок - 8.8).
Рисунок - 8.8 Лицензионное соглашение
В окне «Выбор пользователя» выберите пользователей компьютера, которым будет доступна программа и нажмите кнопку Далее (см. Рисунок - 8.9).
Рисунок - 8.9 Выбор пользователя
В окне «Компоненты устанавливаемой программы» выберите компоненты программы, которые требуется установить (см. Рисунок - 8.10) и нажмите кнопку Далее.
Рисунок - 8.10 Выбор компонентов программы для установки
В открывшемся окне «Выбор папки установки» вы можете выбрать папку установки или оставить путь к папке установки по умолчанию. Чтобы изменить папку установки нажмите кнопку Обзор и выберите требуемую папку. Для продолжения установки нажмите кнопку Далее (см. Рисунок - 8.11).
Рисунок - 8.11 Выбор папки установки
В окне «Папка в меню «Пуск» выберите папку, в которую будет помещен ярлык программы или установите маркер в поле «Не создавать ярлыки», в этом случае ярлык программы не будет создан (см. Рисунок - 8.12). Нажмите кнопку Установить для продолжения процесса установки.
Рисунок - 8.12 Выбор папки в меню «Пуск»
В окне «Копирование файлов» будет отображен процесс копирования установочных файлов программы (см. Рисунок - 8.13).
Рисунок - 8.13 Копирование файлов программы
Дождитесь окончания процесса копирования файлов. После завершения процесса установки на экране монитора отобразится окно «Завершение работы мастера установки» (см. Рисунок - 8.14). Нажмите кнопку Готово.
Рисунок - 8.14 Завершение работы мастера установки
8.1.2. Установка и настройка JDBC-драйвера
Для дальнейшей работы c программой оператору необходимо настроить подключение к базам данных программы. Для этого необходимо установить и настроить JDBC-драйвер.
Дистрибутив с актуальной версией JDBC-драйвер находится в установочном пакете с программой.
8.1.2.1. Установка и настройка JDBC-драйвера для ОС Windows
Чтобы установить JDBC-драйвер и настроить подключение к базам данных в программе Dbeaver, работающей под операционной системой Windows, выполните следующие действия:
Откройте программу Dbeaver.
В главном меню программы выберите «Базы данных» и нажмите пункт Управление драйверами (см. Рисунок - 8.15).
Рисунок - 8.15 Управление драйверами
В открывшемся окне «Менеджер драйверов» нажмите кнопку Новый (см. Рисунок - 8.16).
Рисунок - 8.16 Окно «Менеджер драйверов»
В открывшемся окне «Создать драйвер» (см. Рисунок - 8.17) заполните следующую информацию:
Имя драйвера:
DtmDriver;Имя класса:
ru.datamart.prostore.jdbc.Driver;Шаблон URL:
jdbc:prostore://{host}:{port}.
Рисунок - 8.17 Окно «Создать драйвер»
Установите маркер в поле «Без авторизации» и «Пустой пароль».
Перейдите на вкладку Библиотека (см. Рисунок - 8.18), нажмите кнопку Добавить файл и укажите путь к jar-файлу JDBC-драйвера.
Рисунок - 8.18 Вкладка «Библиотека»
Нажмите кнопку «Ок».
Проверьте, что драйвер был добавлен в программу. Для этого откройте окно «Менеджер драйверов» (База данных > Управление драйверами) и в поисковой строке введите название драйвера –
DtmDriver(см. Рисунок - 8.19).
Рисунок - 8.19 Поиск DtmDriver в Менеджере драйверов
8.1.2.2. Подключение к базе данных
Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:
Откройте Dbeaver.
В главном меню программы выберите пункт База данных > Новое соединение.
В окне «Создать соединение» в поисковой строке введите
dtmdriver(см. Рисунок - 8.20).
Рисунок - 8.20 Установка нового соединения с базой данных
Выберите DtmDriver и нажмите кнопку Далее
В окне «Настройка соединения» (см. Рисунок - 8.21) заполните следующие поля:
Хост- DNS-name или IP адрес сервера базы данных. Например,172.16.0.17.Порт- порт для сервера базы данных, например,9090.
В результате выполненных действий, в поле JDBC URL будет отображено следующее значение jdbc:prostore://172.16.0.17:9090 (см. рис. ниже).
Рисунок - 8.21 Настройка соединения
Нажмите кнопку Тест соединения для проверки подключения.
В случае успешного подключение отобразится сообщение о корректном подключении (см. Рисунок - 8.22).
Рисунок - 8.22 Сообщение об успешном подключении к БД
Закройте окно проверки соединения, для этого нажмите кнопку ОК.
В окне «Настройка базового соединения» нажмите кнопку Готово.
8.1.2.3. Установка и настройка драйвера JDBC-драйвер для ОС Linux
(В данном разделе описан процесс установки драйвера в Dbeaver, работающий под управлением операционной системы Linux Ubuntu, версия 20.04).
Чтобы установить драйвер и настроить подключение к базам данных, выполните следующие действия:
Откройте программу Dbeaver.
В главном меню программы выберите «Database» и нажмите пункт Driver Manager (см. Рисунок - 8.23).
Рисунок - 8.23 Управление драйверами
В открывшемся окне «Driver Manager» нажмите кнопку New (см. Рисунок - 8.24).
Рисунок - 8.24 Окно «Driver Manager»
В открывшемся окне «Create new driver» (см. Рисунок - 8.25) заполните следующую информацию:
Driver Name:
DtmDriver;Class Name:
ru.datamart.prostore.jdbc.Driver;URL Template:
jdbc:prostore://{host}:{port}.
Рисунок - 8.25 Окно «Create new driver»
Установите маркер в поле «No authentication» и «Allow Empty Password».
Во вкладке «Libraries» укажите путь к jar-файлу с JDBC-драйвер.
Нажмите кнопку Ок.
Проверьте, что драйвер был добавлен в программу. Для этого в окне «Driver Manager» в поисковой строке введите название драйвера – DtmDriver (см. Рисунок - 8.26).
Рисунок - 8.26 Окно «Поиск DtmDriver в Driver Manager»
8.1.2.4. Подключение к базе данных
Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:
Откройте программу Dbeaver.
В главном меню программы выберите пункт Database > Connect to a Database.
В окне «Connect to a Database» в поисковой строке введите
dtmdriver(см. Рисунок - 8.27).
Рисунок - 8.27 Окно Поиск DtmDriver при создании нового подключения
Выберите DtmDriver (см. Рисунок - 8.28).
Рисунок - 8.28 Установка нового соединения с базой данных
В окне «Connection Settings» (см. Рисунок - 8.29) заполните следующие поля:
Хост- DNS-name или IP адрес сервера базы данных. Например,172.16.0.17.Порт- порт для сервера базы данных, например,9090.
Рисунок - 8.29 Настройка базового подключения
Нажмите кнопку «Connection test» для проверки подключения.
В случае успешного подключение отобразится сообщение об успешном подключении (см. Рисунок - 8.30).
Рисунок - 8.30 Сообщение об успешном подключении к БД
Нажмите кнопку Ok
8.1.3. Проверка загрузки данных в БД
Данная проверка описывает возможность загрузки данных и проверку того, что данные были загружены. Для проверки загрузки данных следует выполнить следующие действия:
создать в программе тестовую базу данных
test_upload_dataс тремя таблицами:Passenger,TicketиTrip;проверить, что записи в таблицах отсутствуют;
загрузить через CSV-uploader в таблицы
TicketиTripтестовые данные;проверить, что данные в таблицы
TicketиTripбыли загружены, а в таблицеPassengerзаписи отсутствуют.
Внимание
Проверку загрузки данных следует проводить на тестовом стенде.
Внимание
В случае использования VPN следует проверить его настройки и подключение.
8.1.4. Создание тестовой БД
Откройте программу Dbeaver, установите подключение к БД программы и проверьте, что логическая БД
test_upload_dataотсутствует, для этого выполните следующий sql-запрос:
SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');
Убедитесь, что БД отсутствует (см. Рисунок - 8.31).
Рисунок - 8.31 Проверка БД test_upload_data: База данных отсутствует
Подготовьте XML-файл (
MetadataRequest_test_upload_data.xml) со следующим содержанием:
<?xml version='1.0' encoding='utf-8'?>
<ns:PODDMetadataRequest
xmlns:ns="urn://x-artefacts-podd-gosuslugi-local/metadata/datamart/2/1.6.0"
xmlns:ns1="urn://x-artefacts-podd-gosuslugi-local/metadata/types/1.4.0">
<ns:requestId>00000000-0000-0000-0000-000000000001</ns:requestId>
<ns:metadata>
<ns1:datamart>
<ns1:id>1806436d-437a-400d-b32e-aa15c1a2d4bc</ns1:id>
<ns1:mnemonic>test_upload_data</ns1:mnemonic>
<ns1:description>test_upload_data</ns1:description>
<ns1:tenantId>c52f062e-af97-4a44-a33f-d1a94024d0cf</ns1:tenantId>
<ns1:version>
<ns1:major>1</ns1:major>
<ns1:minor>0</ns1:minor>
</ns1:version>
<ns1:supportedFrom>2021-01-01T00:00:00</ns1:supportedFrom>
<ns1:datamartClass>
<ns1:id>4c4ff97b-938b-4db6-9f4d-ae21046e4d20</ns1:id>
<ns1:mnemonic>Passenger</ns1:mnemonic>
<ns1:description>Passenger</ns1:description>
<ns1:classAttribute>
<ns1:id>6fe29bdb-7db1-405a-a05c-b49c541c92bd</ns1:id>
<ns1:mnemonic>Code</ns1:mnemonic>
<ns1:description>Code</ns1:description>
<ns1:type>LONG</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>e590e7b3-b611-4891-bbd1-a5e256105e73</ns1:id>
<ns1:mnemonic>Id</ns1:mnemonic>
<ns1:description>Id</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>c97a8102-6ad0-4dbd-934d-c82b83a4d83f </ns1:id>
<ns1:mnemonic>FirstName</ns1:mnemonic>
<ns1:description>FirstName</ns1:description>
<ns1:type>STRING</ns1:type>
<ns1:length>36</ns1:length>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>d2312bfb-7ec0-4c95-9026-0f6dea48c5d9</ns1:id>
<ns1:mnemonic>MiddleName</ns1:mnemonic>
<ns1:description>MiddleName</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>7b63db89-bd0e-4c92-8bc0-e609175937b9</ns1:id>
<ns1:mnemonic>LastName</ns1:mnemonic>
<ns1:description>LastName</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>8f3e7f95-f66b-4d4a-b2eb-55a3e6134c3e</ns1:id>
<ns1:mnemonic>Birthday</ns1:mnemonic>
<ns1:description>Birthday</ns1:description>
<ns1:type>DATE</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>e3658240-b405-4838-99af-d32cd063c463</ns1:id>
<ns1:mnemonic>Passport</ns1:mnemonic>
<ns1:description>Passport</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:primaryKey>
<ns1:id>6fe29bdb-7db1-405a-a05c-b49c541c92bd</ns1:id>
<ns1:mnemonic>Code</ns1:mnemonic>
<ns1:description>Code</ns1:description>
<ns1:type>
<ns1:id>00000000-0000-0000-0000-000000000001</ns1:id>
<ns1:value>LONG</ns1:value>
</ns1:type>
</ns1:primaryKey>
</ns1:datamartClass>
<ns1:datamartClass>
<ns1:id>cafe41db-3878-4796-ba60-cbd54f042c63</ns1:id>
<ns1:mnemonic>Ticket</ns1:mnemonic>
<ns1:description>Ticket</ns1:description>
<ns1:classAttribute>
<ns1:id>bc90563b-168a-4faa-9394-7b7390dd0d92</ns1:id>
<ns1:mnemonic>Id</ns1:mnemonic>
<ns1:description>Id</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>ac93618f-752b-44d5-a77c-23a3c9eb069b</ns1:id>
<ns1:mnemonic>PassengerId</ns1:mnemonic>
<ns1:description>PassengerId</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>51355519-2d59-426e-b199-9589930acaaa</ns1:id>
<ns1:mnemonic>TripId</ns1:mnemonic>
<ns1:description>TripId</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>fe92c245-929e-4684-b9c9-22bda6939c09</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>LONG</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>4a32ded4-c970-4874-b0b1-2e3eed8b6483</ns1:id>
<ns1:mnemonic>ByCard</ns1:mnemonic>
<ns1:description>ByCard</ns1:description>
<ns1:type>BOOLEAN</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>35f59c80-fcc3-483c-9cd3-dc3afb606d66</ns1:id>
<ns1:mnemonic>Price</ns1:mnemonic>
<ns1:description>Price</ns1:description>
<ns1:type>DOUBLE</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>8b46ff55-6853-458c-851d-6e1666da918b</ns1:id>
<ns1:mnemonic>Sold</ns1:mnemonic>
<ns1:description>Sold</ns1:description>
<ns1:type>TIMESTAMP</ns1:type>
</ns1:classAttribute>
<ns1:primaryKey>
<ns1:id>fe92c245-929e-4684-b9c9-22bda6939c09</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>
<ns1:id>00000000-0000-0000-0000-000000000001</ns1:id>
<ns1:value>LONG</ns1:value>
</ns1:type>
</ns1:primaryKey>
</ns1:datamartClass>
<ns1:datamartClass>
<ns1:id>76268090-60ee-4960-8268-1b91f4186e87</ns1:id>
<ns1:mnemonic>Trip</ns1:mnemonic>
<ns1:description>Trip</ns1:description>
<ns1:classAttribute>
<ns1:id>bd173e24-ea7e-4869-9d43-9f57f5b0a82f</ns1:id>
<ns1:mnemonic>Id</ns1:mnemonic>
<ns1:description>Id</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>1ed32816-8bdb-4d35-9f66-8c08df13ad28</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>INTEGER</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>78f587fa-b53e-4912-b631-0c4a249d20b6</ns1:id>
<ns1:mnemonic>Duration</ns1:mnemonic>
<ns1:description>Duration</ns1:description>
<ns1:type>STRING</ns1:type>
</ns1:classAttribute>
<ns1:classAttribute>
<ns1:id>1750c564-20a7-4e07-988a-b382227123e4</ns1:id>
<ns1:mnemonic>Length</ns1:mnemonic>
<ns1:description>Length</ns1:description>
<ns1:type>FLOAT</ns1:type>
</ns1:classAttribute>
<ns1:primaryKey>
<ns1:id>1ed32816-8bdb-4d35-9f66-8c08df13ad28</ns1:id>
<ns1:mnemonic>Number</ns1:mnemonic>
<ns1:description>Number</ns1:description>
<ns1:type>
<ns1:id>00000000-0000-0000-0000-000000000002</ns1:id>
<ns1:value>INTEGER</ns1:value>
</ns1:type>
</ns1:primaryKey>
</ns1:datamartClass>
</ns1:datamart>
</ns:metadata>
</ns:PODDMetadataRequest>
Откройте web-интерфейс CSV-uploader.
Во вкладке «Загрузка структуры», в поле выбора файла
XMLдля загрузки в Витрину выберите XML-файл (MetadataRequest_test_upload_data.xml) созданный в п.2.Нажмите кнопку «Загрузить» (см. Рисунок - 8.32).
Рисунок - 8.32 Загрузка XML-файла со структурой витрины
В случае успешной загрузки, отобразится сообщение «Структура витрины успешно создана» (см. Рисунок - 8.33).
Рисунок - 8.33 Сообщение «Структура витрины успешно создана»
Откройте программу Dbeaver, установите подключение к БД программы и проверьте, что логическая БД
test_upload_dataсоздана, для этого выполните запрос:
SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');
SQL-запрос вернул одну строку, в которой поле SCHEMA_NAME имеет значение TEST_UPLOAD_DATA (см. Рисунок - 8.34).
Рисунок - 8.34 Проверка БД test_upload_data: База данных создана
Убедитесь, что в созданной БД существуют таблицы:
Passenger,TicketиTrip. Для этого выполните запрос к БД:
SELECT *
FROM INFORMATION_SCHEMA.tables
WHERE table_schema = UPPER('test_upload_data');
SQL-запрос вернул записи о созданных логических таблицах (см. Рисунок - 8.35).
Рисунок - 8.35 Проверка таблиц БД
Проверьте количество записей в таблицах:
Passenger,TicketиTrip. Для этого выполните запрос к БД:
SELECT COUNT(*) FROM test_upload_data.passenger;
SELECT COUNT(*) FROM test_upload_data.ticket;
SELECT COUNT(*) FROM test_upload_data.trip;
SQL-запрос вернул нулевое значении (см. Рисунок - 8.36). Это значит, что записи в таблицах отсутствуют.
Рисунок - 8.36 Проверка таблиц БД
8.1.5. Загрузка данных
Скачайте CSV-файлы (
tickets.csv,trips.csv).Откройте web-интерфейс CSV-uploader и перейдите на вкладку Загрузка.
Выберите режим «Вставка».
Установите переключатель в режим Автоматическое определение таблицы.
В поле CSV выберите CSV-файлы (
tickets.csvиtrips.csv) для загрузки в БД (см. Рисунок - 8.37).
Рисунок - 8.37 Загрузка данных из CSV-файла
Отобразится сообщение Отправка запроса на загрузку… (см. Рисунок - 8.38).
Рисунок - 8.38 Отправка запроса на загрузку
В случае успешной загрузки файла отобразится сообщение Операция выполнена успешно (см. Рисунок - 8.39).
Рисунок - 8.39 Сообщение «Операция выполнена успешно»
Выполните проверку загрузки данных. Для этого последовательно выполните следующие запросы к БД:
Проверка таблицы passenger
SELECT COUNT(*) FROM test_upload_data.passenger;
SQL-запрос вернул нулевое значении т.к загрузки данных в эту таблицу не было (см. Рисунок - 8.40).
Рисунок - 8.40 Проверка таблицы passenger
Проверка таблицы ticket
SELECT COUNT(*) FROM test_upload_data.ticket;
SQL-запрос вернул значение 5000 (см. Рисунок - 8.41).
Рисунок - 8.41 Проверка таблицы ticket
Проверка таблицы trip
SELECT COUNT(*) FROM test_upload_data.trip;
SQL-запрос вернул значение 500 (см. Рисунок - 8.42).
Рисунок - 8.42 Проверка таблицы trip
С дополнительной информацией по работе с программой Dbeaver (настройка, выполнение запросов, просмотр таблиц и т.д.) можно ознакомиться на официальном сайте разработчика программы https://dbeaver.io/.