Основы проектирования безопасных баз данных
Ли И. В., Гарькушев А. Ю., Липис А. В., Бунас И. Л., Холопов С. С.
- ISBN
- 978-5-9729-3228-3
- Кол-во страниц
- 204
- Формат
- 148х210
- Переплет
- Твердый
- Год
- 2027
- Вес
- 0,359
Библиографическая запись
О-75 Основы проектирования безопасных баз данных : учебное пособие / [Ли И. В. и др.]. – Москва ; Вологда : Инфра-Инженерия, 2027. – 204 с. : ил., табл.
Посвящено формированию фундаментальных знаний в области проектирования и разработки безопасных систем баз данных. Рассматриваются архитектурные основы современных СУБД в контексте технологического суверенитета, практические аспекты разработки с использованием PostgreSQL 18, а также методы обеспечения целостности, отказоустойчивости и производительности промышленных систем. Особое внимание уделено отечественному технологическому стеку, в частности, сертифицированным решениям Postgres Pro Enterprise. Для обучающихся 3-го курса направлений подготовки 10.05.03 «Информационная безопасность автоматизированных систем» и 10.03.01 «Информационная безопасность». Может быть использовано специалистами по информационной безопасности и администраторами баз данных.
Содержание
ВВЕДЕНИЕ
РАЗДЕЛ I
АРХИТЕКТУРНЫЕ ОСНОВЫ И ВЫБОР ТЕХНОЛОГИЙ
1.1. Экосистема СУБД
1.2. Эволюция парадигм: ACID, BASE, CAP
1.3. Классификация моделей данных
1.3.1. Реляционная модель (SQL/ACID)
1.3.2. NoSQL-модели
1.3.3. Отечественный стек СУБД
1.4. Критерии выбора СУБД
1.5. Область применения PostgreSQL
1.5.1. Оптимальные сценарии применения
1.5.2. Ограничения и альтернативы
Вопросы и задания
2. ОСНОВЫ POSTGRESQL
2.1. Установка PostgreSQL и создание рабочего окружения
2.1.1. Основные понятия
2.1.2. Установка из пакетного репозитория PGDG
2.1.3. Сборка из исходных кодов (в виртуальной среде)
2.2. Терминал psql и создание базы данных
2.2.1. Подключение к серверу
2.2.2. Основные мета-команды psql
2.2.3. Создание рабочей базы данных
2.3. Пример: проектирование системы учёта энергоресурсов
2.3.1. Создание таблиц с ограничениями целостности
2.3.2. Заполнение таблиц тестовыми данными
2.3.3. Выборка данных (SELECT)
2.3.4. Обновление данных и логическое удаление
2.3.5. Контроль целостности и транзакции
2.3.6. Анализ временных рядов: выявление аномалий
2.3.7. Транзакции как средство обеспечения атомарности
Вопросы и задания
3. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ
3.1. Основные понятия реляционной модели
3.2. Нормализация баз данных
3.3. Денормализация и оптимизация производительности
Вопросы и задания
РАЗДЕЛ II
ПРАКТИЧЕСКИЕ ОСНОВЫ РАЗРАБОТКИ НА SQL
4. ПРОЕКТИРОВАНИЕ СТРУКТУР ДАННЫХ. ЯЗЫК DDL
4.1. Базы данных и схемы
4.2. Таблицы и типы данных
4.3. Ограничения целостности
4.3.1. Первичные ключи
4.3.2. Уникальные ограничения
4.3.3. Обязательность и значения по умолчанию
4.3.4. Проверочные ограничения
4.3.5. Внешние ключи
4.3.6. Комплексные ограничения на примере
4.4. Миграции схемы данных
4.4.1. Database-as-Code
4.4.2. Идемпотентность миграции
4.4.3. Безопасные изменения таблиц
4.4.4. Управление индексами
4.4.5. Миграции для систем критической инфраструктуры
Вопросы и задания
5. ЯЗЫК DML И УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ
5.1. Операторы манипуляции данными
5.1.1. Вставка данных
5.1.2. Модификация данных
5.1.3. Удаление данных
5.2. Транзакции и свойства ACID
5.2.1. Свойства ACID
5.2.2. Управление транзакциями
5.2.3. Транзакционные операции
5.2.4. Транзакционные операции
5.3. Уровни изоляции
5.3.1. Сравнение уровней изоляции
5.3.2. Демонстрация уровней изоляции
5.4. Блокировки и конкурентный доступ
5.4.1. Виды блокировок
5.4.2. Явное управление блокировками
5.4.3. Взаимоблокировки (Deadlocks)
Вопросы и задания
6. ЯЗЫК ЗАПРОСОВ (DQL). ВЫБОРКА И АНАЛИЗ ДАННЫХ
6.1.1. Проекция и преобразование столбцов
6.1.2. Фильтрация данных
6.1.3. Сортировка (ORDER BY) и уникальность
6.2. Соединения таблиц (JOIN)
6.2.1. Типы соединений
6.2.2. Пример: отчёт по исправности оборудования
6.3. Агрегация и оконные функции
6.3.1. Базовая агрегация
6.3.2. Специальные агрегаты
6.3.3. Оконные функции
6.3.4. Пример: Сменный отчёт по выработке
6.4. Подзапросы и обобщённые табличные выражения (CTE)
6.4.1. Скалярные подзапросы
6.4.2. Обобщённые табличные выражения
6.4.3. Рекурсивные CTE
6.4.4. Пример: прослеживаемость деталей с рекурсивным CTE
6.5. Оптимизация запросов и современные возможности
6.5.1. Антипаттерны запросов
6.5.2. Операции с JSON и JSONB
Вопросы и задания
7. АДМИНИСТРИРОВАНИЕ СУБД И УПРАВЛЕНИЕ ДОСТУПОМ
7.1. Системные каталоги
7.2. Ролевая модель
7.3. Управление привилегиями и разграничение доступа
Вопросы и задания
РАЗДЕЛ III
АРХИТЕКТУРА, НАДЁЖНОСТЬ И ПРОИЗВОДИТЕЛЬНОСТЬ ПРОМЫШЛЕННЫХ СИСТЕМ
8. АРХИТЕКТУРА POSTGRESQL
8.1. Клиент-серверная архитектура и процессы
8.2. Физическая организация данных
8.3. Многопользовательский доступ и MVCC
8.4. Журнал предзаписи (WAL)
Вопросы и задания
9. НАДЁЖНОСТЬ, ОТКАЗОУСТОЙЧИВОСТЬ И ВОССТАНОВЛЕНИЕ
9.1. Стратегии резервного копирования
9.2. Логическое резервное копирование
9.3. Физическое резервное копирование и PITR
9.4. Репликация и высокий уровень доступности
Вопросы и задания
10. ПРОИЗВОДИТЕЛЬНОСТЬ И МОНИТОРИНГ
10.1. Индексы: стратегии и типы
10.2. Анализ и оптимизация планов запросов
10.3. Настройка параметров PostgreSQL
10.4. Мониторинг СУБД
Вопросы и задания
ЗАКЛЮЧЕНИЕ
БИБИОГРАФИЧЕСКИЙ СПИСОК
ГЛОССАРИЙ