Введение. 5
1. Основные понятия. 6
1.1 Терминология, базовые принципы.. 6
1.1.1 Понятие базы данных, СУБД и информационной системы.. 6
1.1.2 База данных и СУБД.. 10
1.1.3 Принципы построения информационных систем.. 13
1.2 Архитектуры информационных систем.. 17
1.2.1 Понятие архитектуры информационной системы.. 17
1.2.2 Архитектура «файл-сервер». 18
1.2.3. Архитектура «клиент-сервер». 19
1.2.4 Многозвенные архитектуры.. 22
1.2.5. Информационные системы на основе web-архитектуры.. 23
1.2.6. Информационные системы, функционирующие в терминальном режиме 25
1.3 Модели данных. 26
1.3.1 Сравнительная характеристика моделей данных. 26
1.3.2 Неформальное введение в реляционную модель. 32
2. Реляционная модель. 40
2.1 Реляционная модель. Структурная и целостная части. 40
2.1.1 Структурная часть. 40
2.1.2 Атрибуты и домены. Схема отношения. 41
2.1.3 Кортежи. Отношение. 42
2.1.4 Потенциальные ключи. Первичный ключ. 43
2.1.5 Внешние ключи. 44
2.1.6 Целостная часть реляционной модели. 45
2.2 Манипуляционная часть реляционной модели. 48
2.2.1 Реляционная алгебра. 49
2.2.2. Реляционное исчисление. 54
3. Проектирование базы данных. 57
3.1 Семантический анализ предметной области. 57
3.1.1 Трехуровневая модель ANSI/SPARC.. 58
3.1.2 Диаграммы «сущность - связь». 60
3.1.3 CASE-технологии и CASE-системы.. 65
3.1.4 Методология IDEF1. 67
3.2 Нормализация базы данных. 70
3.2.1 Определение функциональной зависимости. 70
3.2.2 Математические свойства ФЗ, теоремы.. 72
3.2.3 Процедура нормализации. Декомпозиция отношений. 74
3.2.4 Нормальные формы.. 76
3.3 Денормализация. Хранилища данных. 84
3.3.1 Недостатки нормализованной базы данных. 84
3.3.2 OLTP и OLAP-системы. Data Mining. 86
3.3.3 Хранилища данных. 90
4. Язык SQL. 97
4.1 Язык DDL. Основные объекты базы данных. 100
4.1.1 Общий вид команд DDL. 100
4.1.2 Основные объекты БД.. 101
4.2 Команды DDL для работы с таблицами. 105
4.2.1 Создание таблицы.. 105
4.2.2 Удаление таблиц и изменение их структуры.. 113
4.2.3 Пример создания базы данных. 114
4.2.4 Создание таблиц на основе других таблиц. 116
4.3 Команды манипулирования данными. 117
4.3.1 Команда INSERT. 117
4.3.2 Команда DELETE. 119
4.3.3 Команда UPDATE. 121
4.4 Команда выборки данных (SELECT) 122
4.4.1 Запросы на выборку по одной таблице. 123
4.4.2 Соединение таблиц в запросах. 137
4.4.3 Вложенные запросы.. 146
4.4.4 Комбинированные запросы.. 153
4.5 Представления (VIEW) 154
4.5.1 Понятие представления. 154
4.5.2 Создание и удаление представлений. 157
4.5.3 Обновление представлений. 159
4.5.4 Стандартные представления словаря данных Oracle. 161
4.6 Хранимый код. Триггеры.. 162
4.6.1 Процедурные расширения языка SQL. 162
4.6.2 Использование команд SQL в хранимом коде. 167
4.6.3 Хранимые процедуры и функции. 171
4.6.4 Триггеры.. 176
5. Управление доступом к данным.. 183
5.1 Система безопасности СУБД.. 183
5.1.1 Разграничение доступа пользователей. 184
5.1.2 Привилегии и роли. 187
5.1.3 Аудит действий пользователей. 192
5.2 Поддержка транзакций. 196
5.2.1 Свойства транзакции. 196
5.2.2 Поддержка транзакций в языке SQL. 199
5.2.3 Механизмы СУБД для поддержки транзакций. 201
5.3 Настройка производительности. Индексы.. 205
5.3.1 Понятие индекса. 206
5.3.2 Обзор индексов Oracle. 208
Заключение. 218
Библиографический список. 218