Все фотографии и приложения можно увидеть в файлах Лабораторная работа №1
- Выбрала тему информационная система супермаркета
- Составила логическую модель, где указаны отношения
- Составила ER-диаграмму
Лабораторная работа №2
- Создала базу данных на pgAdmin
- Создала 5 таблиц
- Добавила в каждую таблицу по 4-5 записи
- Соединила 2 таблицы с помощью JOIN
Лабораторная работа №3
- Создала 3 представления 1.1. Соединяет две таблицы по ключам (e.post_id = ps.id), т.е. в таблице Employee “post” будет сопоставляться таблице Post столбцу id. Представление выводит объединение таблиц и сортирует по id таблицы Employee 1.2. Выводит по возрастанию ключей ФИО, год рождения и опыт работы сотрудников 1.3. Соединяет 3 таблицы, для красивого текстового отображения таблицы, которая собирает данные про продажи (кто, что, сколько, во сколько). Сортируется по времени продажи.
Лабораторная работа №4
- Заполнила таблицу данными с помощью Java (получилось 100_000 записей). Заполняла строки с помощью рандома (int)(Math.random()*(b-a+1))+a, записывала значения в текстовый файл
- Выполнение запроса до создания индекса заняло 99 секунд. Запрос состоит в том, чтобы вывести id, имя, отчество, год рождения, опыт работы и пол работника у тех работников, у кого год рождения больше 1960 и отсортировать по возрастанию лет. Запрос идет последовательным сканированием
- Чтобы ускорить выборку и сортировку создала индекс в таблице Employee по полю birth_year
- Выполнение запроса после создания индекса заняло 47 мс. Запрос использует созданный индекс.
- Если изменить условие и выводить людей с годами рождения меньше 1960, то запрос будет для сортировки использовать Bitmap сканирование, а для выборки созданный индекс
Лабораторная работа №5
- Создала таблицу log, чтобы записывать какая операция DML была проведена над таблицей Employee
- Создала функцию, результатом которой является триггер. Функция добавляет информацию об операциях в таблицу log
- Создала триггер на изменения в таблице Employee
- Протестировала, добавив, изменив и удалив несколько значений в таблицу Employee
- Получила результат