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
  1. Выполнить команду:

iptables-restore -n /etc/iptables.conf
  1. Создать файл:

/etc/systemd/system/iptables.service
  1. Сохранить в файл:

[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
  1. Включить 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).

  1. В строке поиска Ubuntu Software введите название программы DBeaver (см. search_DBeaver).

Поиск DBeaver

Рисунок - 8.1 Поиск DBeaver

  1. В предложенном списке (см.рис. выше) выберите программу DBeaver.

  2. Запустите установку программы, для этого нажмите кнопку Install (см. install_DBeaver).

Установка DBeaver

Рисунок - 8.2 Установка DBeaver

  1. Дождитесь окончания процесса копирования файлов (см. file_copy).

Процесс копирования файлов программы

Рисунок - 8.3 Процесс копирования файлов программы

  1. После завершения копирования файлов на экране монитора отобразится окно с сообщением об успешной установке программы (см. install_ready).

Завершение установки программы

Рисунок - 8.4 Завершение установки программы

8.1.1.2. Установка DBeaver для ОС Windows

  1. Запустите установочный файл от имени администратора (см. install_admin).

Запуск установочного файла от имени администратора

Рисунок - 8.5 Запуск установочного файла от имени администратора

  1. В открывшемся окне (см. lang) выберите язык установки:

Выбор языка установки

Рисунок - 8.6 Выбор языка установки

  1. В окне «Мастер установки DBeaver Community» нажмите кнопку Далее (см. master_install).

Окно «Мастер установки DBeaver Community»

Рисунок - 8.7 Окно «Мастер установки DBeaver Community»

  1. В открывшемся окне «Лицензионное соглашение» нажмите кнопку Принимаю (см. lisence).

Лицензионное соглашение

Рисунок - 8.8 Лицензионное соглашение

  1. В окне «Выбор пользователя» выберите пользователей компьютера, которым будет доступна программа и нажмите кнопку Далее (см. select_user_lite).

Выбор пользователя

Рисунок - 8.9 Выбор пользователя

  1. В окне «Компоненты устанавливаемой программы» выберите компоненты программы, которые требуется установить (см. select_component) и нажмите кнопку Далее.

Выбор компонентов программы для установки

Рисунок - 8.10 Выбор компонентов программы для установки

  1. В открывшемся окне «Выбор папки установки» вы можете выбрать папку установки или оставить путь к папке установки по умолчанию. Чтобы изменить папку установки нажмите кнопку Обзор и выберите требуемую папку. Для продолжения установки нажмите кнопку Далее (см. select_folder).

Выбор папки установки

Рисунок - 8.11 Выбор папки установки

  1. В окне «Папка в меню «Пуск» выберите папку, в которую будет помещен ярлык программы или установите маркер в поле «Не создавать ярлыки», в этом случае ярлык программы не будет создан (см. select_folder_start). Нажмите кнопку Установить для продолжения процесса установки.

Выбор папки в меню «Пуск»

Рисунок - 8.12 Выбор папки в меню «Пуск»

  1. В окне «Копирование файлов» будет отображен процесс копирования установочных файлов программы (см. soft_copy).

Копирование файлов программы

Рисунок - 8.13 Копирование файлов программы

  1. Дождитесь окончания процесса копирования файлов. После завершения процесса установки на экране монитора отобразится окно «Завершение работы мастера установки» (см. master_end). Нажмите кнопку Готово.

Завершение работы мастера установки

Рисунок - 8.14 Завершение работы мастера установки

8.1.2. Установка и настройка JDBC-драйвера

Для дальнейшей работы c программой оператору необходимо настроить подключение к базам данных программы. Для этого необходимо установить и настроить JDBC-драйвер.

Дистрибутив с актуальной версией JDBC-драйвер находится в установочном пакете с программой.

8.1.2.1. Установка и настройка JDBC-драйвера для ОС Windows

Чтобы установить JDBC-драйвер и настроить подключение к базам данных в программе Dbeaver, работающей под операционной системой Windows, выполните следующие действия:

  1. Откройте программу Dbeaver.

  2. В главном меню программы выберите «Базы данных» и нажмите пункт Управление драйверами (см. drivers).

Управление драйверами

Рисунок - 8.15 Управление драйверами

  1. В открывшемся окне «Менеджер драйверов» нажмите кнопку Новый (см. driver_manager).

Окно «Менеджер драйверов»

Рисунок - 8.16 Окно «Менеджер драйверов»

  1. В открывшемся окне «Создать драйвер» (см. driver_create) заполните следующую информацию:

  • Имя драйвера: DtmDriver;

  • Имя класса: ru.datamart.prostore.jdbc.Driver;

  • Шаблон URL: jdbc:prostore://{host}:{port}.

Окно «Создать драйвер»

Рисунок - 8.17 Окно «Создать драйвер»

  1. Установите маркер в поле «Без авторизации» и «Пустой пароль».

  2. Перейдите на вкладку Библиотека (см. library), нажмите кнопку Добавить файл и укажите путь к jar-файлу JDBC-драйвера.

Вкладка «Библиотека»

Рисунок - 8.18 Вкладка «Библиотека»

  1. Нажмите кнопку «Ок».

  2. Проверьте, что драйвер был добавлен в программу. Для этого откройте окно «Менеджер драйверов» (База данных > Управление драйверами) и в поисковой строке введите название драйвера – DtmDriver (см. dtmDriver).

Поиск DtmDriver в Менеджере драйверов

Рисунок - 8.19 Поиск DtmDriver в Менеджере драйверов

8.1.2.2. Подключение к базе данных

Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:

  1. Откройте Dbeaver.

  2. В главном меню программы выберите пункт База данных > Новое соединение.

  3. В окне «Создать соединение» в поисковой строке введите dtmdriver (см. new_connect_lite).

Установка нового соединения с базой данных

Рисунок - 8.20 Установка нового соединения с базой данных

  1. Выберите DtmDriver и нажмите кнопку Далее

В окне «Настройка соединения» (см. set_connect) заполните следующие поля:

  • Хост - DNS-name или IP адрес сервера базы данных. Например, 172.16.0.17.

  • Порт - порт для сервера базы данных, например, 9090.

В результате выполненных действий, в поле JDBC URL будет отображено следующее значение jdbc:prostore://172.16.0.17:9090 (см. рис. ниже).

Настройка соединения

Рисунок - 8.21 Настройка соединения

  1. Нажмите кнопку Тест соединения для проверки подключения.

В случае успешного подключение отобразится сообщение о корректном подключении (см. success_connect).

Сообщение об успешном подключении к БД

Рисунок - 8.22 Сообщение об успешном подключении к БД

  1. Закройте окно проверки соединения, для этого нажмите кнопку ОК.

  2. В окне «Настройка базового соединения» нажмите кнопку Готово.

8.1.2.3. Установка и настройка драйвера JDBC-драйвер для ОС Linux

(В данном разделе описан процесс установки драйвера в Dbeaver, работающий под управлением операционной системы Linux Ubuntu, версия 20.04).

Чтобы установить драйвер и настроить подключение к базам данных, выполните следующие действия:

  1. Откройте программу Dbeaver.

  2. В главном меню программы выберите «Database» и нажмите пункт Driver Manager (см. driver_manager_linux).

Управление драйверами

Рисунок - 8.23 Управление драйверами

  1. В открывшемся окне «Driver Manager» нажмите кнопку New (см. new_driver).

Окно «Driver Manager»

Рисунок - 8.24 Окно «Driver Manager»

  1. В открывшемся окне «Create new driver» (см. new_driver_create) заполните следующую информацию:

  • Driver Name: DtmDriver;

  • Class Name: ru.datamart.prostore.jdbc.Driver;

  • URL Template: jdbc:prostore://{host}:{port}.

Окно «Create new driver»

Рисунок - 8.25 Окно «Create new driver»

  1. Установите маркер в поле «No authentication» и «Allow Empty Password».

  2. Во вкладке «Libraries» укажите путь к jar-файлу с JDBC-драйвер.

  3. Нажмите кнопку Ок.

  4. Проверьте, что драйвер был добавлен в программу. Для этого в окне «Driver Manager» в поисковой строке введите название драйвера – DtmDriver (см. driver_search).

Окно «Поиск DtmDriver в Driver Manager»

Рисунок - 8.26 Окно «Поиск DtmDriver в Driver Manager»

8.1.2.4. Подключение к базе данных

Для подключения к базам данных через JDBC-драйвер, выполните следующие действия:

  1. Откройте программу Dbeaver.

  2. В главном меню программы выберите пункт Database > Connect to a Database.

  3. В окне «Connect to a Database» в поисковой строке введите dtmdriver (см. driver_search_new).

Поиск DtmDriver при создании нового подключения

Рисунок - 8.27 Окно Поиск DtmDriver при создании нового подключения

  1. Выберите DtmDriver (см. driver_select).

Установка нового соединения с базой данных

Рисунок - 8.28 Установка нового соединения с базой данных

  1. В окне «Connection Settings» (см. connection_set) заполните следующие поля:

  • Хост - DNS-name или IP адрес сервера базы данных. Например, 172.16.0.17.

  • Порт - порт для сервера базы данных, например, 9090.

Настройка базового подключения

Рисунок - 8.29 Настройка базового подключения

  1. Нажмите кнопку «Connection test» для проверки подключения.

  2. В случае успешного подключение отобразится сообщение об успешном подключении (см. connection_test).

Сообщение об успешном подключении к БД

Рисунок - 8.30 Сообщение об успешном подключении к БД

  1. Нажмите кнопку Ok

8.1.3. Проверка загрузки данных в БД

Данная проверка описывает возможность загрузки данных и проверку того, что данные были загружены. Для проверки загрузки данных следует выполнить следующие действия:

  • создать в программе тестовую базу данных test_upload_data с тремя таблицами: Passenger, Ticket и Trip;

  • проверить, что записи в таблицах отсутствуют;

  • загрузить через CSV-uploader в таблицы Ticket и Trip тестовые данные;

  • проверить, что данные в таблицы Ticket и Trip были загружены, а в таблице Passenger записи отсутствуют.

Внимание

Проверку загрузки данных следует проводить на тестовом стенде.

Внимание

В случае использования VPN следует проверить его настройки и подключение.

8.1.4. Создание тестовой БД

  1. Откройте программу Dbeaver, установите подключение к БД программы и проверьте, что логическая БД test_upload_data отсутствует, для этого выполните следующий sql-запрос:

SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');
  1. Убедитесь, что БД отсутствует (см. test_upload_data).

Проверка БД *test_upload_data*: База данных отсутствует

Рисунок - 8.31 Проверка БД test_upload_data: База данных отсутствует

  1. Подготовьте 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>
  1. Откройте web-интерфейс CSV-uploader.

  2. Во вкладке «Загрузка структуры», в поле выбора файла XML для загрузки в Витрину выберите XML-файл (MetadataRequest_test_upload_data.xml) созданный в п.2.

  3. Нажмите кнопку «Загрузить» (см. xml_load).

Загрузка XML-файла со структурой витрины

Рисунок - 8.32 Загрузка XML-файла со структурой витрины

  1. В случае успешной загрузки, отобразится сообщение «Структура витрины успешно создана» (см. structure_create).

Сообщение «Структура витрины успешно создана»

Рисунок - 8.33 Сообщение «Структура витрины успешно создана»

  1. Откройте программу Dbeaver, установите подключение к БД программы и проверьте, что логическая БД test_upload_data создана, для этого выполните запрос:

SELECT *
FROM INFORMATION_SCHEMA.schemata
WHERE schema_name = UPPER('test_upload_data');

SQL-запрос вернул одну строку, в которой поле SCHEMA_NAME имеет значение TEST_UPLOAD_DATA (см. test_upload_data_4).

Проверка БД *test_upload_data*: База данных создана

Рисунок - 8.34 Проверка БД test_upload_data: База данных создана

  1. Убедитесь, что в созданной БД существуют таблицы: Passenger, Ticket и Trip. Для этого выполните запрос к БД:

SELECT *
FROM INFORMATION_SCHEMA.tables
WHERE table_schema = UPPER('test_upload_data');

SQL-запрос вернул записи о созданных логических таблицах (см. test_upload_data_5).

Проверка таблиц БД

Рисунок - 8.35 Проверка таблиц БД

  1. Проверьте количество записей в таблицах: 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-запрос вернул нулевое значении (см. test_upload_data_6). Это значит, что записи в таблицах отсутствуют.

Проверка таблиц БД

Рисунок - 8.36 Проверка таблиц БД

8.1.5. Загрузка данных

  1. Скачайте CSV-файлы (tickets.csv, trips.csv).

  2. Откройте web-интерфейс CSV-uploader и перейдите на вкладку Загрузка.

  3. Выберите режим «Вставка».

  4. Установите переключатель в режим Автоматическое определение таблицы.

  5. В поле CSV выберите CSV-файлы (tickets.csv и trips.csv) для загрузки в БД (см. test_upload_data_7).

Загрузка данных из CSV-файла

Рисунок - 8.37 Загрузка данных из CSV-файла

  1. Отобразится сообщение Отправка запроса на загрузку… (см. test_upload_data_8).

Отправка запроса на загрузку

Рисунок - 8.38 Отправка запроса на загрузку

В случае успешной загрузки файла отобразится сообщение Операция выполнена успешно (см. test_upload_data_9).

Сообщение «Операция выполнена успешно»

Рисунок - 8.39 Сообщение «Операция выполнена успешно»

  1. Выполните проверку загрузки данных. Для этого последовательно выполните следующие запросы к БД:

Проверка таблицы passenger

SELECT COUNT(*) FROM test_upload_data.passenger;

SQL-запрос вернул нулевое значении т.к загрузки данных в эту таблицу не было (см. test_upload_data_10).

Проверка таблицы *passenger*

Рисунок - 8.40 Проверка таблицы passenger

Проверка таблицы ticket

SELECT COUNT(*) FROM test_upload_data.ticket;

SQL-запрос вернул значение 5000 (см. test_upload_data_11).

Проверка таблицы *ticket*

Рисунок - 8.41 Проверка таблицы ticket

Проверка таблицы trip

SELECT COUNT(*) FROM test_upload_data.trip;

SQL-запрос вернул значение 500 (см. test_upload_data_12).

Проверка таблицы *trip*

Рисунок - 8.42 Проверка таблицы trip

С дополнительной информацией по работе с программой Dbeaver (настройка, выполнение запросов, просмотр таблиц и т.д.) можно ознакомиться на официальном сайте разработчика программы https://dbeaver.io/.