Базы данных. Проектирование баз данных: учебно-практическое пособие
Год издания: 2024
Автор: Градусов А. Б., Шутов А. В.
Издательство: Изд-во ВлГУ
ISBN: 978-5-9984-1888-4
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 261
Описание: Изложены основы теории проектирования баз данных. Рассмотрены этапы инфологического, логического и физического проектирования баз данных.
Предназначено для студентов вузов всех форм обучения направлений подготовки 09.03.03 – Прикладная информатика и 27.03.04 – Управление в технических системах.
Рекомендовано для формирования профессиональных компетенций в соответствии с ФГОС ВО.
Примеры страниц (скриншоты)
Оглавление
ПРЕДИСЛОВИЕ .............................................................................. 7
Глава 1. МЕТОДОЛОГИЯ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ ................. 9
1.1. Требования, предъявляемые к базам данных........................ 9
1.2. Этапы проектирования базы данных................................... 11
1.3. Последовательность проектирования базы данных ........... 15
Вопросы для самопроверки .......................................................... 16
Глава 2. ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ ........... 17
2.1. Конструктивные элементы модели «сущность – связь» ... 18
2.1.1. Сущности предметной области ......................................... 18
2.1.2. Описание атрибутов сущностей ........................................ 19
2.1.2.1. Домен атрибута. ............................................................... 21
2.1.2.2. Выбор ключа сущности. .................................................. 23
2.1.3. Описание связей .................................................................. 27
2.2. Категориальная сущность и иерархия наследования ......... 31
2.3. Атрибуты связи ...................................................................... 33
2.4. Рекурсивная связь .................................................................. 37
2.5. Сложные связи ....................................................................... 38
2.6. Проблемы инфологического моделирования ..................... 40
2.7. Построение диаграммы «сущность – связь» ....................... 45
Вопросы для самопроверки .......................................................... 54
Практические задания.................................................................. 55
Глава 3. ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ .................. 57
3.1. Преобразование концептуальной модели
в реляционную ....................................................................... 57
3.1.1. Преобразование сущностей ............................................... 58
3.1.2. Преобразование бинарных связей ..................................... 59
3.1.2.1. Связь один-к-одному ....................................................... 59
3.1.2.2. Связь один-ко-многим ..................................................... 65
3.1.2.3. Связь многие-ко-многим ................................................. 67
3.1.3. Преобразование связи «иерархия наследования» ........... 69
3.1.4. Преобразование рекурсивной связи .................................. 70
3.1.5. Преобразование связей, имеющих атрибуты ................... 71
3.1.6. Преобразование сложных типов связи ............................. 72
Вопросы для самопроверки .......................................................... 73
Практические задания.................................................................. 73
3.2. Нормализация таблиц реляционной базы данных ............. 74
3.2.1. Избыточное дублирование данных ................................... 74
3.2.2. Аномалии ввода, удаления и обновления ........................ 75
3.2.3. Функциональные зависимости .......................................... 77
3.2.4. Метод нормальных форм ................................................... 79
Вопросы для самопроверки .......................................................... 92
Практические задания.................................................................. 93
3.3. Целостность баз данных ....................................................... 94
3.3.1. Понятие целостности данных ............................................ 94
3.3.2. Способы реализации ограничений целостности .................. 97
3.4. Пример логического проектирования базы данных ................ 108
Вопросы для самопроверки ........................................................ 117
Практические задания................................................................ 117
Глава 4. ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ ................ 118
4.1. Выбор СУБД ........................................................................ 119
4.2. Перенос логической модели в среду выбранной СУБД ............ 121
4.2.1. Описание таблиц базы данных ........................................ 121
4.2.2. Команда создания таблицы CREATE TABLE ........................ 124
Вопросы для самопроверки ........................................................ 131
Практические задания................................................................ 131
4.3. Процедурная поддержка ограничений целостности
базы данных ......................................................................... 132
4.3.1. Процедурная логика языка Transact-SQL ....................... 133
4.3.1.1. Определение и использование переменных ................ 133
4.3.1.2. Условные команды IF и CASE ..................................... 139
4.3.1.3. Команда цикла WHILE .................................................. 143
4.3.1.4. Команда RETURN .......................................................... 145
4.3.1.5. Конструкция TRY…CATCH ............................................... 146
4.3.2. Хранимые процедуры ....................................................... 148
4.3.2.1. Понятие хранимой процедуры ..................................... 148
4.3.2.2. Хранимые процедуры в среде MS SQL Server.
Типы хранимых процедур ....................................................... 149
Вопросы для самопроверки ........................................................ 161
Практические задания................................................................ 161
4.3.3. Триггеры ............................................................................ 162
4.3.3.1. Основные сведения о триггерах MS SQL Server ............ 162
4.3.3.2. Создание триггера ........................................................... 163
4.3.3.3. Примеры использования триггеров .............................. 166
Вопросы для самопроверки ........................................................ 172
Практические задания................................................................ 173
4.3.4. Функции пользователя ..................................................... 173
4.3.4.1. Понятие функции пользователя ................................... 173
4.3.4.2. Скалярные функции Scalar ............................................ 175
4.3.4.3. Табличные функции Inline ............................................ 178
4.3.4.4. Многооператорные функции Multi-statement ............. 180
Вопросы для самопроверки ........................................................ 183
Практические задания................................................................ 183
4.3.5. Транзакции и управление транзакциями ........................ 184
4.3.5.1. Понятие транзакции ...................................................... 184
4.3.5.2. ACID-свойства транзакций ........................................... 186
4.3.5.3. Управление транзакциями в СУБД MS SQL Server ........... 188
4.3.5.4. Вложенные транзакции ................................................. 196
Вопросы для самопроверки ........................................................ 198
Практические задания................................................................ 199
4.3.6. Транзакции и работа в многопользовательском режиме ...... 200
4.3.6.1. Проблемы работы в многопользовательском режиме ........ 200
4.3.6.2. Модели одновременного конкурентного доступа .............. 204
4.3.6.3. Блокировка транзакций ................................................. 205
4.3.6.4. Взаимоблокировки ......................................................... 210
4.3.6.5. Уровни изоляции транзакций ....................................... 214
4.3.6.6. Переопределение блокировок на уровне запросов ......... 222
4.3.6.7. Уровни изоляции, основанные на управлении
версиями строк ........................................................................ 227
Вопросы для самопроверки ........................................................ 234
4.3.7. Журнал транзакций ........................................................... 235
Вопросы для самопроверки ........................................................ 238
4.3.8. Индексирование таблиц .................................................. 238
4.3.8.1. Способы размещения данных и доступа к данным
в реляционных базах данных .................................................... 238
4.3.8.2. Кластеризованные и некластеризованные индексы ......... 240
4.3.8.3. Создание индексов ....................................................... 244
4.3.8.4. Выбор способа индексации ............................................ 249
4.3.8.5. Удаление индексов ....................................................... 252
Вопросы для самопроверки ........................................................ 253
Практические задания................................................................ 253
ЗАКЛЮЧЕНИЕ ............................................................................ 255
БИБЛИОГРАФИЧЕСКИЙ СПИСОК .................................................. 256
ПРИЛОЖЕНИЕ ............................................................................ 257