2024/2025





Продвинутый SQL
Статус:
Маго-лего
Когда читается:
3, 4 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Программа дисциплины
Аннотация
1. Курс является практическим, он не дублирует курс «Теория баз данных», а предназначен, в первую очередь, для глубокого изучения языка SQL.
2. Для изучения курса «Продвинутый SQL» требуется предварительное знакомство с основами языка SQL.
3. Язык SQL изучается в среде свободной СУБД PostgreSQL.
4. Используется учебная база данных «Авиаперевозки», разработанная специалистами компании «Постгрес Профессиональный». Она содержит большой объем правдоподобных данных.
5. Будут рассмотрены приемы разработки функций и процедур на языках SQL и PL/pgSQL, использование общих табличных выражений для решения различных задач, аналитические возможности PostgreSQL (оконные функции и различные группировки), триггеры для таблиц и представлений, создание пользовательских типов данных, операторов и агрегатов, а также технология разработки расширений СУБД на различных языках (SQL, PL/pgSQL, Python, C/C++).
Цель освоения дисциплины
- Основная цель освоения дисциплины «Продвинутый SQL» – получение студентами глубоких знаний языка SQL в среде СУБД с открытым программным кодом PostgreSQL и с учетом специфики этой СУБД.
- Задачи:
- – изучение приемов разработки функций и процедур на языках SQL и PL/pgSQL;
- – изучение приемов использования общих табличных выражений для решения различных задач;
- – изучение аналитических возможностей PostgreSQL (оконные и агрегатные функции и различные группировки);
- – изучение приемов разработки триггеров для таблиц и представлений;
- –изучение технологии разработки расширений для PostgreSQL на различных языках (SQL, PL/pgSQL, Python, C/C++).
Планируемые результаты обучения
- Знать назначение, возможности и ограничения общих табличных выражений;
- Знать аналитические возможности PostgreSQL;
- Знать правила и приемы создания функций и процедур на языках SQL и PL/pgSQL;
- Знать управляющие конструкции языка PL/pgSQL;
- Знать категории изменчивости функций и их влияние на выполнение запросов;
- Знать назначение и виды триггеров;
- Знать понятия методов доступа, классов и семейств операторов;
- Знать механизмы поддержания зависимостей между объектами базы данных.
- Уметь использовать общие табличные выражения для обработки иерархий и графов общего вида;
- Уметь использовать динамическое формирование команд на языке PL/pgSQL;
- Уметь использовать курсоры;
- Уметь создавать пользовательские типы данных, операторы и агрегатные функции;
- Уметь разрабатывать триггерные функции и триггеры для таблиц и представлений;
- Уметь разрабатывать расширения на различных языках (SQL, PL/pgSQL, Python, C/C++).
- Владеть навыками использования оконных функций;
- Владеть навыками использования группировок GROUPING SETS, CUBE и ROLLUP.
Содержание учебной дисциплины
- Общие табличные выражения
- Аналитические возможности PostgreSQL
- Конструкция LATERAL команды SELECT
- Подпрограммы
- Язык PL/pgSQL
- Триггеры
- Расширяемость PostgreSQL
- Расширяемость PostgreSQL.
Элементы контроля
- ДЗ 1 ... ДЗ 7Домашние задания выдаются преподавателем по каждой теме: ДЗ 1. Общие табличные выражения ДЗ 2. Аналитические возможности PostgreSQL ДЗ 3. Конструкция LATERAL команды SELECT ДЗ 4. Подпрограммы ДЗ 5. Язык PL/pgSQL ДЗ 6. Триггеры ДЗ 7. Расширяемость PostgreSQL
- Финальное задание
Промежуточная аттестация
- 2024/2025 4th moduleИТОГ = ДЗ_1 * 0,08 + ДЗ_2 * 0,08 + ДЗ_3 * 0,04 + ДЗ_4 * 0,12 + ДЗ_5 * 0,12 + ДЗ_6 * 0,08 + ДЗ_7 * 0,08 + ФЗ * 0,4 где ДЗ — оценка за домашнее задание 1 – 7, ФЗ — оценка за финальное задание.
Список литературы
Рекомендуемая основная литература
- SQL. Полное руководство, Грофф, Дж., 2018
Рекомендуемая дополнительная литература
- Базы данных. Проектирование, реализация и сопровождение. : теория и практика : пер. с англ., Коннолли, Т., 2003
- Введение в системы баз данных, Дейт, К. Дж., 2005
- Основы баз данных : учеб. пособие, Кузнецов, С. Д., 2012
- Основы технологий баз данных / Новиков Б. А. , Горшкова Е. А., Графеева Н. Г. — 2-е изд. — Москва : ДМК Пресс, 2020. — 582 с. — ISBN 978-5-97060-841-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/179477. — Режим доступа: для авториз. пользователей.
- Системы базы данных : полный курс : пер. с англ., Гарсиа-Молина, Г., 2003