Данные для выполнения заданий - во вложенном архиве:
1) Резервная копия в формате *.backup.
2) Резервная копия в формате *.sql
Описание БД по ссылке https://letsdocode.ru/sql-materials/utmn/getting_started.php
Задания:
1. Получите общий возраст сотрудников, нанятых в 2022 году.
Результат выведите одним значением в виде «… years … months … days»
Использование более 2-х функций для работы с типом данных дата и время будет являться ошибкой.
2. Чему равна сумма полученных платежей от контрагентов из Жуковский, Россия.
В результат выведите одно значение суммы.
3. Пусть руководитель проекта получает премию в 1% от стоимости завершённых проектов. Если взять завершённые проекты, какой руководитель проекта получит самый большой бонус?
В результат выведите идентификатор руководителя проекта, его ФИО и размер бонуса.
Если таких руководителей несколько, предусмотрите вывод всех.
4. Используя рекурсию посчитайте сумму фактических окладов сотрудников из структурного подразделения с id равным 17 и всех дочерних подразделений.
В результат выведите одно значение суммы.
5. Получите накопительный итог планируемых авансовых платежей на каждый месяц в отдельности.
Выведите в результат те даты планируемых платежей, которые идут после преодоления накопительной суммой значения в 30 000 000
Пример за один месяц:
Дата Накопление
2022-06-14 28362946.20
2022-06-20 29633316.30
2022-06-23 34237017.30
2022-06-24 46248120.30
В результат должна попасть дата 2022-06-23
6.1. В схеме stroy есть таблица employee_salary_history, которая формирует отслеживание изменения оклада по 4 типу SCD. Реализуйте триггер на таблицу employee_position, который будет срабатывать после операторов update и delete и запускать функцию из задания 6.2.
6.2. Реализуйте триггерную функцию, которую запускает триггер из задания 6.1. В функции необходимо реализовать хранение истории оклада сотрудника по должности в соответствии с 4 типом SCD.
7.1. Создайте материализованное представление, которое будет хранить отчёт следующей структуры:
- идентификатор проекта
- название проекта
- дата последней фактической оплаты по проекту
- размер последней фактической оплаты
- ФИО руководителей проектов
- названия контрагентов
- в виде строки названия типов работ по каждому контрагенту
7.2. Создайте таблицу аудита обновления материализованных представлений следующей структуры:
- id
- название представления
- схема представления
- пользователь, который обновлял
- время начала обновления
- время окончания обновления
7.3. Создайте процедуру, которая будет запускать обновление материализованного представления из задания 7.1. и вносить данные по аудиту в таблицу из задания 7.2.
- для получения времени начала обновления используйте функцию transaction_timestamp() — возвращает время начала транзакции
- для получения времени окончания обновления используйте функцию clock_timestamp() — возвращает время на момент вызова функции
Решение нужно предоставить в виде SQL-файла, содержащего запросы по каждому пункту задания.
Олеся
СГУ им. Н.Г. Чернышевского
Отличный Автор! Елена - единственная, кто взялся за сложную тему! Работы выполнены на отли...
Анастасия
Московский приборостроительный техникум
Спасибо огромное,все в срок и все верно) Обязательно в следующий раз обращусь к вам!
ТИМУР
РГСУ
Спасибо за работу! Исполнитель очень ответственный и добросовестный. Всегда отличный резул...
Юлия
Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова
Не ожидала, что настолько быстро будет готова моя работа. Спасибо большое!