
- •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. Выбрать все пары номеров поставщиков, таких, что оба поставщика в каждой паре находятся
Часть IV
Управление транзакциями 543
Глава 14. Восстановление 544 14.1. Введение 544
Транзакции 545
Восстановление транзакции 547
ACID-свойства транзакций 549
Восстановление системы 550
Восстановление носителей 552
Двухфазная фиксация 553
Поддержка языка SQL 554
Резюме 556 Упражнения 557 Список литературы 558 Ответы к некоторым упражнениям 563
Глава 15. Параллельность 566
Введение 566
Три проблемы параллельности 567
Проблема потери результатов обновления 567
Проблема зависимости от незафиксированных результатов 567
Проблема несогласованной обработки данных 569
Блокировка 569
Устранение трех проблем параллельности 572
Проблема потери результатов обновления 572
Проблема зависимости от незафиксированных результатов 572
Проблема несогласованной обработки данных 573
Взаимная блокировка 575
Упорядочиваемость 576
Уровни изоляции 578
Блокировка намерения 580
Средства языка SQL 583
Уровни изоляции 583
15.10. Резюме 585 Упражнения 586 Список литературы 588 Ответы к некоторым упражнениям 596
Часть V
Дополнительные аспекты 601
Глава 16. Защита данных 602
16.1. Введение 602
Общие соображения 602
16.2. Избирательная схема управления доступом 605
Модификация запроса 609
Контрольное слежение 610
16.3. Мандатная схема управления доступом 611
Многоуровневая защита 613
Статистические базы данных 615
Шифрование данных 621
Стандарт шифрования данных 622
Шифрование на основе открытого ключа 623
16.6. Средства языка SQL 626
Представления и защита данных 626 Операторы GRANT и REVOKE ^ 628
16.7. Резюме 630 Упражнения 631 Список литературы 632 Ответы к некоторым упражнениям 635
Глава 17. Оптимизация 639
Введение 639
Пример выполнения оптимизации 641
Оптимизация запросов 642
Стадия 1. Преобразование запроса во внутреннюю форму 643
Стадия 2. Преобразование запроса в каноническую форму 644
Стадия 3. Выбор потенциальных низкоуровневых процедур 645 Стадия 4. Генерация различных вариантов планов вычисления запроса
и выбор плана с минимальными затратами 646
17.4. Преобразование выражений 647
Выборки и проекции 647
Распределительный закон 648
Коммутативность и ассоциативность 649
Идемпотентность 650
Вычисляемые скалярные выражения 650
Логические выражения 650
Семантические преобразования 651
Заключительные замечания 653
Статистические показатели базы данных 653
Стратегия по принципу "разделяй и властвуй" 654
Реализация реляционных операторов 658
Последовательный просмотр 659
Поиск по индексу 661
Поиск по хеш-таблице 662
Метод слияния 662
Хеширование 663
17.8. Резюме 663 Упражнения 665 Список литературы 668 Ответы к некоторым упражнениям 691
Глава 18. Отсутствующая информация 693
Введение 693
Обзор концепции трехзначной логики 695
Логические выражения 695
Кванторы EXISTS и FORALL 696
Вычисляемые скалярные выражения 697
LTNK — это не ипк . 698
Могут ли домены содержать величину UNK 698
Реляционные выражения 699
Операции обновления 700
Ограничения целостности 700
18.3. Некоторые следствия изложенной схемы 700
Преобразование выражений 701
Пример с базой данных отделов и сотрудников 702
Проблема интерпретации 703
Еще раз о предикатах 704
18.4. Отсутствующие значения и ключи 704
Первичные ключи 705
Внешние ключи 706
Внешнее соединение 707
Специальные значения 711
Поддержка неопределенных значений в языке SQL 711
Определение данных 712
Табличные выражения 712
Условные выражения 712
Скалярные выражения 713
Ключи 714
Внедренные SQL-операторы 715
18.8. Резюме 715 Упражнения 717 Список литературы 719 Ответы к некоторым упражнениям 723