3.3. Денормализация. Хранилища данных   ............................................................ 64
3.3.1. Недостатки нормализованной базы данных   .......................................... 64
3.3.2. OLTP и OLAP-системы. Data Mining   ..................................................... 65
3.3.3. Хранилища данных   ................................................................................. 68
4. Язык SQL   .................................................................................................................. 73
4.1. Язык DDL. Основные объекты базы данных   ................................................ 75
4.1.1. Общий вид команд DDL   ......................................................................... 75
4.1.2. Основные объекты БД   ............................................................................. 76
4.2. Команды DDL для работы с таблицами   ......................................................... 79
4.2.1. Создание таблицы  .................................................................................... 79
4.2.2. Удаление таблиц и изменение их структуры   ........................................ 85
4.2.3. Пример создания базы данных   ............................................................... 86
4.2.4. Создание таблиц на основе других таблиц   ............................................ 87
4.3. Команды манипулирования данными   ............................................................ 87
4.3.1. Команда INSERT   ..................................................................................... 88
4.3.2. Команда DELETE   .................................................................................... 89
4.3.3. Команда UPDATE   ................................................................................... 90
4.4. Команда выборки данных (SELECT)   ............................................................. 91
4.4.1. Запросы на выборку по одной таблице   .................................................. 91
4.4.2. Соединение таблиц в запросах   ............................................................. 101
4.4.3. Вложенные запросы   .............................................................................. 107
4.4.4. Комбинированные запросы   .................................................................. 113
4.5. Представления (VIEW)   .................................................................................. 113
4.5.1. Понятие представления   ......................................................................... 113
4.5.2. Создание и удаление представлений   ................................................... 116
4.5.3. Обновление представлений   .................................................................. 117
4.5.4. Стандартные представления словаря данных Oracle   .......................... 118
4.6. Хранимый код. Триггеры   .............................................................................. 119
4.6.1. Процедурные расширения языка SQL   ................................................. 119
4.6.2. Использование команд SQL в хранимом коде   .................................... 122
4.6.3. Хранимые процедуры и функции  ......................................................... 125
4.6.4. Триггеры   ................................................................................................. 129
5. Управление доступом к данным   ........................................................................... 134
5.1. Система безопасности СУБД   ........................................................................ 134
5.1.1. Разграничение доступа пользователей   ................................................ 134
5.1.2. Привилегии и роли   ................................................................................ 137
5.1.3. Аудит действий пользователей   ............................................................ 140
5.2. Поддержка транзакций   .................................................................................. 143
5.2.1. Свойства транзакции   ............................................................................. 143
5.2.2. Поддержка транзакций в языке SQL   .................................................... 145
5.2.3. Механизмы СУБД для поддержки транзакций   ................................... 146
5.3. Настройка производительности. Индексы   ................................................... 150
5.3.1. Понятие индекса   .................................................................................... 150
5.3.2. Обзор индексов Oracle   .......................................................................... 152
Заключение   ................................................................................................................. 159
Библиографический список
  ...................................................................................... 159