- •Isbn 5-8459-0138-3 (рус) isbn 0-201-38590-2 (англ)
- •Глава 2. Архитектура системы баз данных 65
- •Глава 6. Реляционная алгебра 192
- •Глава 7. Реляционное исчисление 243
- •Глава 8. Целостность данных 301
- •Глава 9. Представления 350
- •Часть 111
- •Часть IV
- •Глава 14. Восстановление 544 14.1. Введение 544
- •Глава 15. Параллельность 566
- •Часть V
- •Глава 16. Защита данных 602
- •Глава 17. Оптимизация 639
- •Глава 18. Отсутствующая информация 693
- •Глава 19. Наследование типов 725
- •Глава 20. Распределенные базы данных 767
- •Глава 21. Поддержка принятия решений 813
- •Глава 22. Хронологические базы данных 853
- •Глава 23. Логические системы управления базами данных 899
- •Часть VI
- •Глава 24. Объектные базы данных 944
- •Глава 25. Объектно-реляционные базы данных 999
- •Часть I (четыре главы) — это обширное введение в теорию баз данных вообще и реляционных баз данных в частности. Здесь также излагаются основы стандартно- го языка баз данных sql.
- •Часть IV. Две главы данной части — это несколько пересмотренные и расширен- ные версии глав 13 и 14 предыдущего издания.
- •Часть VI. Глава 24 является полностью переписанной и значительно улучшенной версией глав 22-24. Глава 25 почти полностью обновлена.
- •Часть I
- •Часть I состоит из четырех вводных глав.
- •1.1. Вводный пример
- •1.2. Что такое система баз данных
- •1.3. Что такое база данных Перманентные данные
- •1.4. Назначение баз данных
- •1.5. Независимость данных
- •1.6. Реляционные и другие системы
- •1.7. Резюме
- •2.1. Введение
- •2.2. Три уровня архитектуры
- •Внешний уровень (представления отдельных пользователей)Концептуальный уровень (обобщенное представление пользователей)
- •2.3. Внешний уровень
- •Отображение "внешний/концептуальный" схемы
- •Определение структур хранения (внутренняя схема)
- •Внешнее представление а Концептуальная схема
- •2.4. Концептуальный уровень
- •2.5. Внутренний уровень
- •2.6. Отображения
- •2.7. Администратор базы данных
- •2.8. Система управления базой данных
- •2.9. Система управления передачей данных
- •2.10. Архитектура "клиент/сервер"
- •2.11. Утилиты
- •2.12. Распределенная обработка
- •2.13. Резюме
- •3.1. Введение
- •3.2. Реляционная модель
- •3.3. Отношения и переменные-отношения
- •3.4. Смысл отношений
- •3.5. Оптимизация
- •3.6. Каталог
- •3.7. Базовые переменные-отношения и представления
- •3.8. Транзакции
- •3.9. База данных поставщиков и деталей
- •3.10. Резюме
- •Глава 4
- •4.1. Введение
- •4.2. Обзор языка sql
- •4.3. Каталог
- •4.4. Представления
- •4.5. Транзакции
- •4.6. Внедрение sql-операторов
- •4.7. Несовершенство языка sql
- •4.8. Резюме
- •Часть 9. Управление внешними данными (sql/med) Часть 10. Связь с объектным языком (sql/olb)
- •Часть II
- •Глава 5
- •5.1. Введение
- •5.2. Домены
- •5.3. Значения отношений
- •5.4. Переменные-отношения
- •5.5. Средства sql
- •5.6. Резюме
- •6.1. Введение
- •6.2. Реляционная замкнутость
- •6.3. Синтаксис
- •6.4. Семантика
- •6.5. Примеры
- •6.5.1. Получить имена поставщиков детали с номером 'р2'
- •6.5.2. Получить имена поставщиков по крайней мере одной красной детали
- •6.5.3. Получить имена поставщиков всех типов деталей
- •6.5.4. Получить номера поставщиков по крайней мере тех типов деталей, которые поставляет поставщик с номером 's2'
- •6.5.5. Получить все пары номеров поставщиков, находящихся в одном городе
- •6.5.6. Получить имена поставщиков, которые не поставляют деталь с номером 'р2'
- •6.6. Зачем нужна реляционная алгебра
- •6.7. Дополнительные операторы
- •6.8. Группирование и разгруппирование
- •6.9. Реляционные сравнения
- •6.10. Резюме
- •7.1. Введение
- •7.2. Исчисление кортежей
- •7.3. Примеры
- •7.3.5. Найти имена поставщиков по крайней мере одной детали, поставляемой поставщиком с номером 's2'
- •7.3.6. Выбрать имена поставщиков всех типов деталей
- •7.3.7. Определить имена поставщиков, которые не поставляют деталь с номером 'р2'
- •7.3.8. Определить номера поставщиков по крайней мере всех типов деталей, поставляемых поставщиком с номером *s2'
- •7.4. Сравнительный анализ реляционного исчисления и реляционной алгебры
- •7.5. Вычислительные возможности
- •7.5.1. Определить номера и вес в граммах всех типов деталей, вес которых превышает 10 ооо г
- •7.6.1. Выбрать номера поставщиков из Парижа со статусом, большим 20
- •7.7.1. Указать цвета деталей и названия городов, в которых находятся детали "не из Парижа" с весом, превышающим 10 фунтов
- •7.7.2. Для всех деталей указать номер и вес в граммах
- •7.7.3. Выбрать информацию обо всех парах поставщиков и деталей, находящихся в одном городе
- •7.7.4. Найти все пары названий городов, таких, что поставщик из первого города поставляет деталь, находящуюся во втором городе
- •7.7.5. Выбрать все пары номеров поставщиков, таких, что оба поставщика в каждой паре находятся
Глава 6. Реляционная алгебра 192
6.1. Введение 192
Обзор операций начальной алгебры 192
Реляционная замкнутость 195
Синтаксис 197
Семантика 199
Объединение 199
Пересечение 200
Вычитание 200
Произведение 201
Выборка 202
Проекция 203
Соединение 205
Деление 207
Ассоциативность и коммутативность 208
6.5. Примеры 209
Получить имена поставщиков детали с номером 'Р2' 209
Получить имена поставщиков по крайней мере одной красной детали 209
Получить имена поставщиков всех типов деталей 209
Получить номера поставщиков по крайней мере тех типов деталей, которые поставляет поставщик с номером 'S2' 210
Получить все пары номеров поставщиков, находящихся в одном городе 210
Получить имена поставщиков, которые не поставляют деталь с номером 'Р2' 210
Зачем нужна реляционная алгебра 211
Дополнительные операторы 213
Полусоединение 214
Полувычитание 214
Операция расширения 215
Операция обобщения 218
Транзитивное замыкание 221
Группирование и разгруппирование 222
Реляционные сравнения 225
6.10. Резюме 227 Упражнения 227
Упражнения по составлению запросов 228
Список литературы 231
Ответы к некоторым упражнениям 234
Глава 7. Реляционное исчисление 243
Введение 243
Исчисление кортежей 245
Синтаксис 245
Переменные кортежей 247
Свободные и связанные переменные кортежей 248
Кванторы 249
Еще раз о свободных и связанных переменных 251
Реляционные операции 252
7.3. Примеры 253
Определить номера поставщиков из Парижа со статусом, большим 20 254
Найти все такие пары номеров поставщиков, в которых два поставщика находятся в одном городе 254
Определить имена поставщиков детали с номером 'Р2' 254
Определить имена поставщиков по крайней мере одной красной детали 254
Найти имена поставщиков по крайней мере одной детали, поставляемой поставщиком с номером 'S2' 255
Выбрать имена поставщиков всех типов деталей 255
Определить имена поставщиков, которые не поставляют деталь с номером 'Р2' 255
Определить номера поставщиков по крайней мере всех типов деталей, поставляемых поставщиком с номером 'S2' 256
Получить номера деталей, которые либо весят более 16 фунтов, либо поставляются поставщиком с номером 'S2', либо и то, и другое 256
Сравнительный анализ реляционного исчисления и реляционной алгебры 257
Вычислительные возможности 262
Определить номера и вес в граммах всех типов деталей, вес которых превышает 10 ООО г 262
Выбрать сведения обо всех поставщиках, добавив для каждого из них литеральное значение 'Поставщик' 262
Выбрать сведения о каждой поставке и указать полные данные о входящих в нее типах деталей и общий вес поставки 263
Для каждой детали выбрать номер и общий объем поставки в штуках 263
Определить общее количество поставляемых деталей 263
7.5.6. Для каждого поставщика указать номер и общий объем поставки
в штуках 263
7.5.7. Указать названия городов, в которых находится более пяти красных деталей 263
7.6. Исчисление доменов 263
7.6.1. Выбрать номера поставщиков из Парижа со статусом, большим 20 265
7.6.2. Найти все такие пары номеров поставщиков, в которых два поставщика находятся в одном городе 265
7.6.3. Определить имена поставщиков по крайней мере одной красной детали 265
7.6.4. Определить номера поставщиков всех типов деталей, поставляемых поставщиком с номером 'S2' 265
7.6.5. Выбрать имена поставщиков всех типов деталей 265
7.6.6. Определить имена поставщиков, которые не поставляют деталь с номером 'Р2' 266
7.6.7. Определить номера поставщиков всех типов деталей, поставляемых поставщиком с номером 'S2' 266
7.6.8. Получить номера деталей, которые либо весят более 16 фунтов, либо поставляются поставщиком с номером 'S2', либо и то, и другое 266
7.7. Средства языка SQL 266
7.7.1. Указать цвета деталей и названия городов, в которых находятся детали "не из Парижа" с весом, превышающим 10 фунтов 267
7.7.2. Для всех деталей указать номер и вес в граммах 269
Выбрать информацию обо всех парах поставщиков и деталей, находящихся в одном городе 269
Найти все пары названий городов, таких, что поставщик из первого города поставляет деталь, находящуюся во втором городе 270
Выбрать все пары номеров поставщиков, таких, что оба поставщика
в каждой паре находятся в одном городе 270
7.7.6. Определить общее количество поставщиков 271
7.7.7. Определить в поставках максимальное и минимальное количество деталей с номером 'Р2' 271
7.7.8. Для каждой поставляемой детали указать номер и общий объем поставки в штуках 272
7.7.9. Указать номера всех типов деталей, поставляемых более чем одним поставщиком 273
Определить имена поставщиков детали с номером 'Р2' 273
Определить имена поставщиков по крайней мере одной красной детали 274
Указать номера поставщиков, статус которых меньше текущего максимального статуса в таблице S 274
Указать имена поставщиков детали с номером 'Р2' 274
Выбрать имена поставщиков, которые не поставляют деталь с номером 'Р2' 275
Определить имена поставщиков всех типов деталей 275
7.7.16. Определить номера деталей, которые либо весят более 16 фунтов, либо поставляются поставщиком с номером 'S2', либо и то, и другое 276
7.8. Резюме 277
Упражнения 278
Упражнения по запросам 280
Список литературы 280
Ответы к некоторым упражнениям 284
