diff --git a/labs/lab1/report.pdf b/labs/lab1/report.pdf index 06cbfa6..dbeb948 100644 Binary files a/labs/lab1/report.pdf and b/labs/lab1/report.pdf differ diff --git a/labs/lab1/report.typ b/labs/lab1/report.typ index 10ba2eb..210d8dd 100644 --- a/labs/lab1/report.typ +++ b/labs/lab1/report.typ @@ -1,5 +1,13 @@ #set text(size: 1.3em) #show link: underline +#set page(footer: context { + if counter(page).get().first() > 1 [ + #align(center)[ + #counter(page).display("1") + ] + ] +}) + #show raw.where(block: false): box.with( fill: luma(240), @@ -25,7 +33,7 @@ \ \ #align(center)[Практическая работа №1] -#align(center)[Установка и первоначальная настройка СУБД PostgreSQL. Создание и исследование баз данных Demo и HR] +#align(center)[Установка и первоначальная настройка субд postgresql.] \ \ \ //#align(center)[Вариант 19] @@ -50,47 +58,43 @@ === Цель работы: -Освоить базовые приёмы установки и настройки СУБД PostgreSQL, научиться использовать pgAdmin для администрирования, развернуть учебную базу данных Demo и ознакомиться с её структурой, а также закрепить навыки создания баз данных и схем на примере учебной БД HR. +Освоить базовые приёмы установки и настройки субд "postgresql", научиться использовать pgadmin для администрирования, развернуть учебную базу данных "demo" и ознакомиться с её структурой, а также закрепить навыки создания баз данных и схем на примере учебной бд "hr". === Задачи, решаемые при выполнении работы. -- Установить и настроить СУБД PostgreSQL и клиент pgAdmin. -- Проверить корректность работы сервера с помощью выполнения тестового SQL-запроса. -- Развернуть учебную базу данных Demo из предоставленного SQL-дампа и убедиться в доступности её объектов. -- Ознакомиться со структурой базы данных Demo и проанализировать основные сущности. -- Создать учебную базу данных HR двумя способами: через графический интерфейс pgAdmin и с помощью SQL-оператора `CREATE DATABASE`. -- Создать в базе данных HR схемы для группировки объектов (через GUI и SQL). +- Установить и настроить субд postgresql и клиент pgadmin. +- Проверить правильность работы сервера с помощью выполнения тестового запроса. +- Развернуть учебную базу demo и убедиться в доступности её объектов. +- Ознакомиться со структурой базы demo и проанализировать основные сущности. +- Создать учебную базу данных двумя способами: через графический интерфейс и с помощью `CREATE DATABASE`. +- Создать в базе данных hr схемы для группировки объектов. === Исходные данные. -- Сервер с установленными Docker и контейнерами: - - postgres:16 — сервер СУБД PostgreSQL, +- Сервер с установленными docker и контейнерами: + - postgres:16 — сервер субд postgresql, - dpage/pgadmin4 — веб-интерфейс для администрирования. -- Учебный SQL-дамп базы данных Demo (`demo-medium-20170815.sql`), предоставленный разработчиками Postgres Pro. -- Методические материалы по практической работе №1. -- Доступ к веб-интерфейсу pgAdmin 4 для подключения и выполнения SQL-запросов. +- Учебная база данных demo. === Выполнение работы. ==== Задание 1. Установка необходимого ПО. -Для выполнения работы была установлена система управления базами данных PostgreSQL и клиентское приложение pgAdmin. Установка производилась в среде Docker. +Для выполнения работы была установлена субд postgresql и приложение pgadmin. Установка производилась в среде docker. -- На сервере был установлен Docker и запущены контейнеры: - - `postgres:16` - сервер СУБД PostgreSQL, - - `dpage/pgadmin4` - веб-интерфейс pgAdmin для администрирования. +На сервере был установлен docker и запущены контейнеры: `postgres:16`, `dpage/pgadmin4`. #align(center)[#image("assets/18.png")] -- Контейнеры были объединены в общую сеть Docker, чтобы pgAdmin мог напрямую подключаться к Postgres. +Контейнеры были объединены в общую сеть docker, чтобы pgadmin мог напрямую подключаться к postgres. #align(center)[#image("assets/19.png")] -- pgAdmin 4 стал доступен по адресу #link("https://db.fymio.us")[db.fymio.us] +pgadmin стал доступен по адресу #link("https://db.fymio.us")[db.fymio.us] #align(center)[#image("assets/20.png")] -- В pgAdmin был зарегистрирован новый сервер. В настройках подключения были указаны следующие параметры: +В pgadmin был зарегистрирован новый сервер. В настройках подключения были указаны следующие параметры: #align(center)[#image("assets/16.png")] #align(center)[#image("assets/17.png")] @@ -130,24 +134,7 @@ SELECT * FROM bookings.aircrafts_data; ==== Задание 3. Ознакомление с учебной БД. -Я открыл в pgAdmin дерево объектов и изучил структуру. В схеме `booking` находятся основные таблицы: - -#align(center)[ - #table(columns: 2)[*Таблица*][*Описание*][bookings][содержит данные о бронированиях][tickets][хранит информацию о билетах и пассажирах][flights][сведения о рейсах][airports][справочник аэропортов][aircrafts][справочник моделей самолетов][seats][информация о местах в самолётах и классах обслуживания][ticket_flights][связь билетов и рейсов][boarding_passes][посадочные талоны с указанием мест в самолёте] -] - -Для проверки содержимого таблиц я выполнил несколько тестовых запросов, например: - -```sql -SELECT * FROM bookings.bookings LIMIT 5; -SELECT * FROM bookings.tickets LIMIT 5; -SELECT * FROM bookings.flights LIMIT 5; -``` - -#align(center)[#image("assets/21.png")] -#align(center)[#image("assets/22.png")] -#align(center)[#image("assets/23.png")] - +Я ознакомился с описанием БД на сайте #link("https://postgrespro.ru/education/demodb")[postgrespro.ru/education/demodb] ==== Задание 4. Создание учебной базы данных HR средствами pgAdmin. @@ -212,18 +199,9 @@ AUTHORIZATION postgres; === Выводы. -В ходе выполнения работы я освоил базовые приёмы установки и настройки СУБД PostgreSQL, а также работу с клиентским приложением pgAdmin. Было развернуто необходимое программное обеспечение в контейнерах Docker. +В ходе выполнения работы я освоил базовые приёмы установки и настройки субд postgresql, а также работу с клиентским приложением pgadmin. Было развернуто необходимое программное обеспечение в контейнерах Docker. -В процессе работы удалось: +В процессе работы удалось установить postgresql и pgadmin, загрузить и подключить учебную базу данных и выполнить тестовые запросы к ней, ознакомиться со структурой demo и основными сущностями, создать учебную базу данных двумя способами, через графический интерфейс pgadmin и с использованием `CREATE DATABASE`, создать в базе две схемы: одну средствами pgadmin, вторую — с помощью sql-запроса. -- установить PostgreSQL и pgAdmin -- загрузить и подключить учебную базу данных и выполнить тестовые запросы к ней -- ознакомиться со структурой Demo и основными сущностями -- создать учебную базу данных двумя способами — через графический интерфейс pgAdmin и с использованием SQL-оператора `CREATE DATABASE` -- создать в базе две схемы: одну средствами pgAdmin, вторую — с помощью SQL-запроса. - -При выполнении работы возникли следующие трудности: - -- при создании базы данных через SQL возникала ошибка с параметрами локали. Она была устранена с помощью указания `TEMPLATE template0` и нейтральной локали `C` -- при подключении pgAdmin к серверу пришлось настраивать отдельную Docker-сеть и регистрировать контейнеры, чтобы обеспечить доступность сервиса по адресу `db.fymio.us`. +При выполнении работы возникли следующие трудности: при создании базы данных через SQL возникала ошибка с параметрами локали. Она была устранена с помощью указания `TEMPLATE template0` и нейтральной локали `C`. При подключении pgadmin к серверу пришлось настраивать отдельную docker-сеть и регистрировать контейнеры, чтобы обеспечить доступность сервиса по адресу #link("https://db.fymio.us")[`db.fymio.us`].