diff --git a/labs/lab1/report.pdf b/labs/lab1/report.pdf index 5f583af..3d96e09 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 71d00e8..985b5de 100644 --- a/labs/lab1/report.typ +++ b/labs/lab1/report.typ @@ -167,12 +167,12 @@ pgadmin стал доступен по адресу #link("https://db.fymio.us") ) ] -Затем я нажал ПКМ по базе "postgres" и выбрал инструмент "Querry Tool" (Рис. 7): +Затем я нажал ПКМ по базе "postgres" и выбрал инструмент "Query Tool" (Рис. 7): #align(center)[ #figure( image("part1/assets/2.png"), - caption: [Открытие Querry Tool.], + caption: [Открытие Query Tool.], supplement: [Рис] ) ] @@ -200,7 +200,7 @@ unzip demo-medium.zip docker exec -i postgres psql -U postgres -d postgres < demo-medium-20170815.sql ``` -После появления базы данных "demo", в "Querry Tool" я выполнил следующий скрипт (Рис. 9): +После появления базы данных "demo", в "Query Tool" я выполнил следующий скрипт (Рис. 9): ```sql SELECT * FROM bookings.aircrafts_data; @@ -272,7 +272,7 @@ SELECT * FROM bookings.aircrafts_data; ===== Задание 5. Создание учебной базы данных HR средствами PL/pgSQL -Я открыл "Querry Tool" базы данных `postgres`. И прописал следующий скрипт (Рис. 15). +Я открыл "Query Tool" базы данных `postgres`. И прописал следующий скрипт (Рис. 15). ```sql CREATE DATABASE hr @@ -324,7 +324,7 @@ CREATE DATABASE hr ) ] -Чтобы создать вторую схему, я открыл "Querry Tool" к базе `hr`. И прописал следующие запросы (Рис. 19): +Чтобы создать вторую схему, я открыл "Query Tool" к базе `hr`. И прописал следующие запросы (Рис. 19): ```cs CREATE SCHEMA IF NOT EXISTS "countries" @@ -468,57 +468,119 @@ CREATE TABLE "EmployeesDepartments"."LOCATIONS" ===== Задание 3. Изменение таблицы. -В querry tool я ввел следующее: +В query tool я ввел следующее (Рис. 30): ```sql ALTER TABLE "EmployeesDepartments"."LOCATIONS" ADD STATE_PROVINCE character varying(25) NULL; ``` -#align(center)[#image("part2/assets/11.png")] +#align(center)[ + #figure( + image("part2/assets/11.png"), + caption: [Исполнение скрипта в query tool.], + supplement: [Рис] + ) +] -Изменил столбец CITY следующим кодом: -``` +Изменил столбец CITY следующим кодом (Рис. 31): + +```sql ALTER TABLE "EmployeesDepartments"."LOCATIONS" ADD CONSTRAINT "PK_LokationId" PRIMARY KEY (LOCATION_ID); ``` -#align(center)[#image("part2/assets/12.png")] +#align(center)[ + #figure( + image("part2/assets/12.png"), + caption: [Исполнение скрипта query tool.], + supplement: [Рис] + ) +] -Таблица locations: +Таблица locations (Рис. 32): -#align(center)[#image("part2/assets/13.png")] +#align(center)[ + #figure( + image("part2/assets/13.png"), + caption: [Таблица locations.], + supplement: [Рис] + ) +] -Затем я прописал текст скрипта `script1_create.sql`: -#align(center)[#image("part2/assets/14.png")] +Затем я прописал текст скрипта `script1_create.sql` (Рис. 33, 34): -#align(center)[#image("part2/assets/15.png")] +#align(center)[ + #figure( + image("part2/assets/14.png"), + caption: [Скрипт `script1_create.sql` в query tool.], + supplement: [Рис] + ) +] + +#align(center)[ + #figure( + image("part2/assets/15.png"), + caption: [Новые таблицы в Object Explorer.], + supplement: [Рис] + ) +] ===== Задание 4. Создание отношения графическим интерфейсом pgadmin. -Я нажал ПКМ по таблице EmployeesDepartments.LOCATIONS и выбрал меню создания внешнего ключа: +Я нажал ПКМ по таблице EmployeesDepartments.LOCATIONS и выбрал меню создания внешнего ключа (Рис. 35): -#align(center)[#image("part2/assets/16.png")] +#align(center)[ + #figure( + image("part2/assets/16.png"), + caption: [Меню создания внешнего ключа.], + supplement: [Рис] + ) +] -Затем я ввел задание название отношения: +Затем я ввел задание название отношения (Рис. 36): -#align(center)[#image("part2/assets/17.png")] +#align(center)[ + #figure( + image("part2/assets/17.png"), + caption: [Настройки создания Foreign Key.], + supplement: [Рис] + ) +] -После, я добавил столбец кнопкой add: +После, я добавил столбец кнопкой add (Рис. 37): -#align(center)[#image("part2/assets/18.png")] +#align(center)[ + #figure( + image("part2/assets/18.png"), + caption: [Настройки создания Foreign Key.], + supplement: [Рис] + ) +] -Вкладка sql: +Вкладка sql (Рис. 38): -#align(center)[#image("part2/assets/19.png")] +#align(center)[ + #figure( + image("part2/assets/19.png"), + caption: [SQL код создания Foreign Key.], + supplement: [Рис] + ) +] -Ограничения locations: +Ограничения locations (Рис. 39): -#align(center)[#image("part2/assets/20.png")] +#align(center)[ + #figure( + image("part2/assets/20.png"), + caption: [Ограничения LOCATIONS.], + supplement: [Рис] + ) +] -Затем я создал отношение с помощью ddl оператора alter table: +Затем я создал отношение с помощью ddl оператора alter table (Рис. 40): ```sql ALTER TABLE "Countries"."COUNTRIES" @@ -526,7 +588,14 @@ ADD CONSTRAINT "COUNTR_REG_ID_FK1" FOREIGN KEY ("REGION_ID") REFERENCES "Countries"."REGIONS" ("REGION_ID"); ``` -#align(center)[#image("part2/assets/21.png")] +#align(center)[ + #figure( + image("part1/assets/21.png"), + caption: [Выполнение скрипта в query tool.], + supplement: [Рис] + ) +] + ===== Задание 5. Создания индекса с помощью графического интерфейса pgadmin. @@ -602,7 +671,7 @@ select * from "Countries"."CURRENCIES"; #align(center)[#image("part2/assets/38.png")] #align(center)[#image("part2/assets/39.png")] -Затем, в querry tool я ввел следующий код: +Затем, в query tool я ввел следующий код: ```sql INSERT INTO "EmployeesDepartments"."EMPLOYEES"("FIRST_NAME", "LAST_NAME", "EMAIL", "PHONE_NUMBER", "JOB_ID", "SALARY", "COMMISSION_PCT", "MANAGER_ID", "DEPARTMENT_ID")