ПРЕДИСЛОВИЕ ....6
ЧАСТЬ 1. ПРОЕКТИРОВАНИЕ
И ПРОГРАММИРОВАНИЕ БАЗ ДАННЫХ ....9
Тема 1. ДАННЫЕ КАК ОБЪЕКТ УПРАВЛЕНИЯ ....9
1.1 Вводные замечания и определения ....9
1.2 Практические задания ....13
Тема 2. КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ДАННЫХ ....16
2.1 Три уровня моделирования данных ....16
2.2 Примеры концептуальных (ER-) моделей ....18
2.2.1 Описательные и ключевые атрибуты сущностей ....18
2.2.2 Представление бинарных связей на ЕR-диаграммах ....18
2.2.3 Унарные и бинарные связи вида «обобщение» ....19
2.2.4 Слабые сущности ....20
2.2.5 Моделирование таксономий ....24
2.3 Практические задания ....29
2.3.1 Определение состава атрибутов сущностей предметной
области ....29
2.3.2 Формирование ЕR-модели предметной области ....30
2.3.3 Использование «слабых сущностей» ....31
2.3.4 Разработка ЕR-моделей таксономий ....33
Тема 3. РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ ....36
3 .1 Примеры ....36
3.1.1 Использование выражений реляционной алгебры ....37
3.1.2 Использование реляционного исчисления кортежей ....38
3.1.3 Преобразование ЕR-модели в схему реляционной БД ....38
3.2 Практические задания ....39
3.2.1 Реляционная алгебра ....39
3.2.2 Реляционное исчисление ....41
3.2.2 Правила преобразования ЕR-модели в исходную R-схему БД ....41
3.2.3 Реляционная реализация таксономий ....43
3.2.4 Нормализация реляционной БД ....45
Тема 4. Язык SQL ....49
4.1 Примеры использования SQL-операторов ....49
4.1.1 DDL-команды ....49
4.1.2 DСL-команды ....50
4.1.3 DМL-операторы ....50
4.1.4 Хранимые представления ....54
4.1.5 Подчиненные запросы ....55
4.1.6 GROUP ВУ и НА VING ....56
4.2 Практические задания ....57
КОНТРОЛЬНЫЕ ЗАДАНИЯ ....65
Вариант 1.1. Библиотечная система ....65
Вариант 1.2. Система торгово-складского учета интернет-магазина
компьютерной и оргтехники ....73
Вариант 1.3. Система управления образовательной платформой ....80
Вариант 1.4. Система автоматизированного документооборота ....91
ЧАСТЬ 2. УПРАВЛЕНИЕ И АДМИНИСТРИРОВАНИЕ ....97
Тема 5. ФИЗИЧЕСКАЯ МОДЕЛЬ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ ....97
5 .1 Примеры управления физической моделью данных ....97
5 .1.1 Файлы и группы файлов ....97
5 .1.2 Файловые страницы ....100
5.1.3 Экстенты ....103
5 .2 Практические задания ....105
Тема 6. ИНДЕКСЫ ....110
6.1 Примеры анализа структур данных ....110
6 .1.1 Структура типа «куча» (heap) ....110
6 .1.2 Индексные структуры данных ....111
6.2 Практические задания ....120
Тема 7. ПРОЦЕДУРНЫЕ ПЛАНЫ ВЫПОЛНЕНИЯ SQL-ЗAПPOCOB ....123
7.1 Типовой алгоритм трансляции SQL-зaпpoca ....123
7.2 Примеры анализа процедурных планов ....124
7.3 Практические задания ....127
Тема 8. УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ И БЛОКИРОВКАМИ ....138
8.1 Свойства и уровни изолированности транзакций ....138
8.2 Общие методические указания и используемые инструменты ....139
8.3 Пример ....141
8. 4 Практические задания ........................................................................... 14 7
8.5 Контрольные вопросы ....173
Тема 9. ЗАЩИТА ДАННЫХ ....175
9.1 Триада CIA ....175
9.2 Примеры ....176
9.2.1 Управление доступом к данным ....176
9.2.2 Безопасность уровня строк таблиц ....183
9.2.3 Динамическое маскирование данных ....190
9.2.4 Шифрование данных ....193
9. 3 Практические задания ....196
ЧАСТЬ 3. ПОСТРЕЛЯЦИОННЫЕ РЕШЕНИЯ ....205
Тема 10. МНОГОМЕРНЫЕ МОДЕЛИ ДАННЫХ ....205
1 О .1 Примеры ....206
10.2 Практические задания ....211
Тема 11. NoSQL-MOДEЛИ ДАННЫХ ....212
11.1 Реляционный подход ....212
11.2 Подход NOSQL ....213
11. 3 Примеры ....213
11. 3 Практические задания ....220
Тема 12. ОБЪЕКТНО-РЕЛЯЦИОННЫЕ ОТОБРАЖЕНИЯ ....221
12.1 Паттерны взаимодействия с реляционными базами данных ....221
12.2 Установка SQLAlchemy ....224
12.3 Пример 1. SQLAlchemy - работа с DBAPI ....226
12.4 Пример 2. SQLAlchemy ОRМ ....235
12.5 Практические задания ....242
КОНТРОЛЬНЫЕ ЗАДАНИЯ ....250
Общие методические указания ....250
Вариант 3.1. Библиотека ....251
Вариант 3.2. Управление заказами ....251
Вариант 3.3. Учет успеваемости студентов ....251
Вариант 3.4. Подготовка и проведение научной конференции ....252
Вариант 3.5. Продажи автомобилей с пробегом ....253
УЧЕБНО-МЕТОДИЧЕСКИЕ МАТЕРИАЛЫ
И ИНФОРМАЦИОННЫЕ РЕСУРСЫ ....254
Пособие входит в состав учебно-методического комплекса модуля «Управление данными», компоненты которого традиционно представлены в образовательных программах IТ-специальностей различных уровней - от среднего специального образования до магистратуры, и содержит практические задания по основным тематическим разделам этого модуля: данные, как объект управления, концептуальная ЕR-модель, реляционная модель данных, SQL-программирование, управление физической моделью реляционной БД, управление производительностью и безопасностью систем баз данных. Рассмотрены также объектно-реляционные отображения и постреляционные решения - многомерные модели и NoSQL-бaзы данных.
Пособие предназначено для студентов IТ-специальностей и может быть использовано преподавателями при проведении практических и лабораторных занятий, подготовке контрольных и аттестационных заданий, формировании тематики курсовых проектов.