Книга: К. Дж. Дейт «Введение в системы баз данных. Дейт К. Введение в системы баз данных - файл n1.doc

AN INTRODUCTION TO

Database Systems

SEVENTH EDITION

ВВЕДЕНИЕ В

системы

баз данных

СЕДЬМОЕ ИЗДАНИЕ


Москва Санкт-Петербург Киев 2001


К. Дж. Дейт

ББК 32.973.26-018.2.75 Д27

Издательский дом "Вильяме"

Перевод с английского канд.физ.-мат.наук Ю Г Гордиенко, В В Репецкого, А.В. Слепцова Под редакцией А.В. Слепцова

По общим вопросам обращайтесь в Издательский дом "Вильяме" по адресу: info @ williamspublishing . com , http :// www . williamspublishing com

Дейт, К., Дж.

Д27 Введение в системы баз данных, 7-е издание.: Пер. с англ. - М. : Издательский дом "Вильяме", 2001. - 1072 с. : ил. - Парал. тит. англ.

ISBN 5-8459-0138-3 (рус.)

Новое издание фундаментального труда Криса Дейта- одного из наиболее уважаемых во всем мире экспертов и мыслителей в области технологии баз данных - несомненно, вызовет интерес у программистов-профессионалов, научных работников и студентов, изучающих соответствующие курсы в высших учебных заведениях. Эта книга содержит исчерпывающее изложение как классических идей в области реляцион- ной теории, так и развернутое обсуждение наиболее современных практических решений и технологий в области проектирования, реализации и сопровождения баз данных. Несмотря на исключительную глубину рассмотрения предмета, материал излагается простым и ясным языком и сопровождается большим количеством практических примеров. Книга, безусловно, будет полезна всем, кому приходится иметь дело с базами данных или кто просто интересуется данной темой.

ББК 32.973.26-018.2.75

Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм

Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства Addison - Wesley Publishing Company , Inc

Authorized translation from the English language edition published by Addison-Wesley Publishing Company, Inc. Copyright © 2000

All rights reserved No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher

Russian language edition published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright © 2001

Isbn 5-8459-0138-3 (рус) isbn 0-201-38590-2 (англ)

© Издательский дом " Вильяме ", 2001 © Addison-Wesley Longman, lnc, 2000

Эта книга посвящается моей жене Линди и памяти моей матери Риме

ЧАСТЬ I. ОСНОВНЫЕ ПОНЯТИЯ 31

Глава 2. Архитектура системы баз данных 65

ЧАСТЬ I!. РЕЛЯЦИОННАЯ МОДЕЛЬ 149

Глава 6. Реляционная алгебра 192

Глава 7. Реляционное исчисление 243

Глава 8. Целостность данных 301

Глава 9. Представления 350

ЧАСТЬ III . ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ 397

Глава 10. Функциональные зависимости 400

Глава 11. Дальнейшая нормализация: формы 1НФ, 2НФ, ЗНФ и НФБК 422 Глава 12. Дальнейшая нормализация: более высокие нормальные формы 469

Глава 13. Семантическое моделирование 505

ЧАСТЬ IV. УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ 543

Глава 14. Восстановление 544

Глава 15. Параллельность 566

ЧАСТЬ V. ДОПОЛНИТЕЛЬНЫЕ АСПЕКТЫ 601

Глава 16. Защита данных 602

Глава 17. Оптимизация 639

Глава 18. Отсутствующая информация 693

Глава 19. Наследование типов 725

Глава 20. Распределенные базы данных 767

Глава 21. Поддержка принятия решений 813

Глава 22. Хронологические базы данных 853

Глава 23. Логические системы управления базами данных 899

ЧАСТЬ VI. ОБЪЕКТНЫЕ И ОБЪЕКТНО-РЕЛЯЦИОННЫЕ

БАЗЫ ДАННЫХ 943

Глава 24. Объектные базы данных 944

Глава 25. Объектно-реляционные базы данных 999

ПРИЛОЖЕНИЯ 1027

Приложение А. Выражения языка SQL 1028

Приложение Б. Обзор языка SQL3 1041

Приложение В. Сокращения и специальные символы 1058

Предисловие к седьмому изданию 24

ЧАСТЬ I

Основные понятия 31

Глава 1. Базы данных и управление ими 32

    Вводный пример 32

    Что такое система баз данных 35

Аппаратное обеспечение 37

Программное обеспечение 38

Пользователи 39

1.3. Что такое база данных 40

Перманентные данные 40

Сущности и связи 41

Свойства 43

Данные и модели данных 44

1.4. Назначение баз данных 45

Администрирование данных и администрирование базы данных 46

Преимущества централизованного подхода к управлению данными 47

    Независимость данных 50

    Реляционные и другие системы 56

    Резюме 59 Упражнения 59 Список литературы 61 Ответы к некоторым упражнениям 62

Глава 2. Архитектура системы баз данных 65

    Введение 65

    Три уровня архитектуры 65

    Внешний уровень 68

    Концептуальный уровень 72

    Внутренний уровень 73

    Отображения 74

    Администратор базы данных 74

    Система управления базой данных 77

    Система управления передачей данных 81

    Архитектура "клиент/сервер" 81

    Утилиты 83

    Распределенная обработка 84

Упражнения 88

Список литературы 90

Глава 3. Введение в реляционные базы данных 92

    Введение 92

    Реляционная модель 92

    Отношения и переменные-отношения 97

    Смысл отношений 99

    Оптимизация 101

    Каталог 104

    Базовые переменные-отношения и представления 105

    Транзакции 109

    База данных поставщиков и деталей 110

3.10. Резюме 113 Упражнения 115 Список литературы 116 Ответы к некоторым упражнениям 117

Глава 4. Введение в язык SQL 119

    Введение 119

    Обзор языка SQL 120

    Каталог 124

    Представления 125

    Транзакции 126

    Внедрение SQL-операторов 126

Операции, не использующие курсоры 130

Операции, использующие курсоры 131

Динамический SQL 134

    Несовершенство языка SQL 136

    Резюме 136 Упражнения 137 Список литературы 140 Ответы к некоторым упражнениям 145

ЧАСТЬ II

Реляционная модель 149

Глава 5. Домены, отношения и базовые переменные-отношения 151

    Введение 151

    Домены 152

Каждое значение имеет тип 154

Определение типа 155

Допустимые представления 156

Определение операторов 159

Преобразование типов 161

Заключительные замечания 162

5.3. Значения отношений 163

Свойства отношений 166

Атрибуты, значениями которых являются отношения 168

Отношения и их интерпретация 169

5.4. Переменные-отношения 169

Определение базовых переменных-отношений 169

Обновление переменных-отношений 171

5.5. Средства SQL 174

Домены 174

Базовые таблицы 177

5.6. Резюме 178 Упражнения 180 Список литературы 181 Ответы к некоторым упражнениям 185

Новое издание фундаментального труда Криса Дейта "Введение в системы баз данных" представляет собой исчерпывающее введение в очень обширную в настоящее время теорию систем баз данных. С помощью этой книги читатель сможет приобрести фундаментальные знания в области технологии баз данных, а также ознакомиться с направлениями, по которым рассматриваемая сфера деятельности, вероятно, будет развиваться в будущем. Книга предназначена для использования в основном в качестве учебника, а не справочника, поэтому, несомненно, вызовет интерес у программистов-профессионалов, научных работников и студентов, изучающих соответствующие курсы в высших учебныхзаведениях. В ней сделан акцент на усвоении сути и глубоком понимании излагаемого материала, а не просто на его формальном изложении. Книга "Введение в системы базданных", безусловно, будет полезна всем, кому приходится работать с базами данных или просто пользоваться ими.

Издательство: "Вильямс" (2016)

Формат: 70x100/16, 1328 стр.

ISBN: 978-5-8459-0788-2, 0-321-19784-4

На Озоне

Отзывы о книге:

Достоинства: Очень подробно про реляционную модель данных, местами даже чересчур подробно. Недостатки: Честно говоря, не совсем то что я ожидал. Каких-то алгоритмических находок которые можно было бы использовать при создании новой СУБД очень немного, привязки к уже существующим СУБД тоже практически нет. Советов в конструировании эффективных запросов или в построении моделей данных тоже нет. Итого, это скорее такой труд, описывающий теорию построения СУБД (что вот есть данные, а вот еще есть отношения, и куча интуитивно-понятных операций с ними). Список литературы в конце каждой главы иногда по размеру сопоставим с самой главой. Очень много воды, возможно поэтому книжка размером в 1300 страниц. Отдельно разочарован главой про транзакции, которым уделено всего 20 страничек, и весьма поверхностно. В то же время картинка поясняющая что такое пересечение, объединение или разница (на примитивном примере пересекающихся прямоугольников) может занимать почти всю страницу. Комментарий: Поставил три звезды только из уважения к автору за титанический труд объединить и разложить по главам все что известно про СУБД. Практический смысл в этой книге невелик, теория тут расписана весьма неравномерно, где-то будем жевать что такое отображение на сотнях страниц, а где-то про рекурсивный поиск все уместим в два предложения.

Stepanov Sergey0

В целом книга представляет собой огромный академический труд гуру по реляционным базам данных. Концепция данной монографии хорошо продумана: все изложено последовательно, с постепенным усложнением материала. В начале автор излагает математические основы реляционных систем, базовые понятия и определения. Если их не усвоить с самого начала, то потом беседовать с автором будете на разных языках. Кроме изложения всех основных моментов, в книге присутствуют детальные примеры использования описанных выше теоретических подходов. Все разобрано достаточно четко, нужно просто много думать. Как и в любой монографии крупного специалиста, в книге присутствует личное мнение автора, которое всегда аргументируется, но не всегда, на мой взгляд, бесспорно. Особенно это касается объектного подхода к базам данных. Лично мне показалось, что книга написана скорее для будущих разработчиков систем управления баз данных, чем для администраторов, например. Автор детально разбирает все операции, которые происходят под покровом запросов, опираясь на реляционную модель. Из плюсов книги можно отметить адекватный перевод, большое количество заданий разного уровня сложности, огромный список дополнительной литературы по всем затронутым вопросам. К минусам я бы отнес академичность изложения и достаточно высокую сложность изложенного материала. Я совсем не сторонник разжевывания каждой детали, но предварительная база в области теории множеств и исчисления предикатов намного упростит понимание материала. Мне очень помогли мои университетские курсы. Я рекомендую книгу для покупки тем, кто очень хочет реально понять внутренние механизмы баз данных, готов потратить значительное время на изучение вопроса и имеет пытливый ум.

Денис, 29, Екатеринбург

Другие книги схожей тематики:

    Автор Книга Описание Год Цена Тип книги
    Дейт К. Дж. Новое издание фундаментального труда Криса Дейта "Введение в системы баз данных" представляет собой исчерпывающее введение в очень обширную в настоящее время теорию систем баз данных. С помощью этой… - Диалектика, (формат: 70x100/16, 1328 стр.) 2019
    6657 бумажная книга
    К. Дж. Дейт Новое издание фундаментального труда Криса Дейта "Введение в системы баз данных" представляет собой исчерпывающее введение в очень обширную в настоящее время теорию систем баз данных. С помощью этой… - Вильямс, (формат: 70x100/16, 1328 стр.) 2016
    3291 бумажная книга
    К. Дж. Дейт Новое издание фундаментального труда Криса Дейта представляет собой исчерпывающее введение в очень обширную в настоящее время теорию систем баз данных. С помощьюэтой книги читатель сможет приобрести… - Вильямс, (формат: 70x100/16, 1328 стр.) 2006
    3053 бумажная книга
    Крис Дейт От издателя:8-е издание фундаментального труда Криса Дейта представляет собой исчерпывающее введение в очень обширную в настоящее время теорию систем баз данных - (формат: 70x100/16 (~170х240 мм), 1328стр. (таблицы, схемы) стр.) 2008
    1254 бумажная книга
    Гради Буч Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль… - ДМК Пресс, Классика программирования электронная книга
    479 электронная книга
    Гради Буч Введение в UML от создателей языка Эта книга будет изготовлена в соответствии с Вашим заказом по технологии Print-on-Demand. Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для… - ДМК Пресс, - 2010
    618 бумажная книга
    Введение в UML от создателей языка Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль… - ДМК-Пресс, Классика программирования 2015
    1031 бумажная книга
    Буч Г., Рамбо Д., Якобсон И. Введение в UML от создателей языка 496 с. Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая… - ДМК, (формат: 70x100/16, 1328 стр.) Классика программирования 2011
    799 бумажная книга
    Гради Буч, Джеймс Рамбо, Ивар Якобсон Введение в UML от создателей языка Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль… - ДМК Пресс, (формат: 70x100/16, 1328 стр.) Классика программирования 2012
    799 бумажная книга
    Рамбо Джеймс, Якобсон Ивар, Буч Гради Введение в UML от создателей языка Унифицированный язык моделирования (Unified Modeling Language, UML) является графическим языком для визуализации, специфицирования, конструирования и документирования систем, в которых большая роль… - ДМК Пресс, (формат: 70x100/16, 496 стр.) Классика программирования 2015
    1106 бумажная книга
    • Название: Microsoft Word - bdc.doc

    Предпросмотр документа

    Введение в системы
    баз данных

    An Introduction to
    Database Systems
    C.J.Date

    Boston . San Francisco . New York
    London . Toronto . Sydney . Tokyo . Singapore . Madrid
    Mexico City . Munich . Paris . Cape Town . Hong Kong . Montreal

    Введение в системы

    Баз данных
    К. Дж. Дейт

    Москва. Санкт-Петербург. Киев
    2005

    №.
    ББК 32.973.26-018.2.75
    Д27
    УДК 681.3.07

    Издательский дом "Вильяме"
    Зав. редакцией С.Н. Тригуб Перевод с
    английского и редакция К.А. Птицына
    По общим вопросам обращайтесь в Издательский дом "Вильяме" по адресу:
    [email protected], http://www.williamspublishing.com
    115419, Москва, а/я 783; 03150, Киев, а/я 152

    Дейт, К. Дж.
    Д27

    Введение в системы баз данных, 8-е издание.: Пер. с англ. — М.: Издательский
    дом "Вильяме", 2005. — 1328 с.: ил. — Парал. тит. англ.
    ISBN 5-8459-0788-8 (рус.)

    Новое издание фундаментального труда Криса Дейта представляет собой исчерпывающее
    введение в очень обширную в настоящее время теорию систем баз данных. С помощью этой
    книги читатель сможет приобрести фундаментальные знания в области технологии баз
    данных, а также ознакомиться с направлениями, по которым рассматриваемая сфера
    деятельности, вероятно, будет развиваться в будущем. Книга предназначена для использования
    в основном в качестве учебника, а не справочника, и поэтому, несомненно, вызовет интерес у
    программистов-профессионалов,
    научных
    работников
    и
    студентов,
    изучающих
    соответствующие курсы в высших учебных заведениях. В ней сделан акцент на усвоении сути и
    глубоком понимании излагаемого материала, а не просто на его формальном изложении.
    Книга, безусловно, будет полезна всем, кому приходится работать с базами данных или
    просто пользоваться ими.
    ББК 32.973.26-018.2.75
    Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм.
    Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни
    было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства
    Addison-Wesley Publishing Company, Inc.
    Authorized translation from the English language edition published by Addison-Wesley, Copyright 2004
    All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
    electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
    without permission from the Publisher.
    Russian language edition published by Williams Publishing House according to the Agreement with R&I
    Enterprises International, Copyright 2005
    ISBN 5-8459-0788-8 (рус.)
    ISBN 0-321-19784-4 (англ.)

    Издательский дом "Вильяме", 2005
    by Pearson Education, Inc., 2004

    Предисловие к восьмому изданию

    ЧАСТЬ I. ОСНОВНЫЕ ПОНЯТИЯ

    Глава 4. Введение в язык SQL

    ЧАСТЬ II. РЕЛЯЦИОННАЯ МОДЕЛЬ

    Глава 5. Типы

    Глава 6. Отношения

    Глава 7. Реляционная алгебра

    Глава 9. Целостность данных

    Глава 10. Представления

    ЧАСТЬ III. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ

    Глава 11. Функциональные зависимости

    Глава 12. Дальнейшая нормализация: формы 1НФ, 2НФ, ЗНФ и НФБК

    Глава 13. Дальнейшая нормализация: нормальные формы более
    высокого порядка

    Глава 14. Семантическое моделирование

    ЧАСТЬ IV. УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ

    Глава 15. Восстановление

    Глава 16. Параллельность

    ЧАСТЬ V. ДОПОЛНИТЕЛЬНЫЕ ТЕМЫ

    Глава 17. Защита данных

    Глава 18. Оптимизация

    Глава 19. Отсутствующая информация

    Глава 20. Наследование типов

    Глава 21. Распределенные базы данных

    Глава 22. Поддержка принятия решений

    Глава 23. Хронологические базы данных

    Глава 24. Логические системы управления базами данных

    ЧАСТЬ VI. ОБЪЕКТЫ, ОТНОШЕНИЯ И ЯЗЫК XML

    Глава 25. Объектные базы данных

    Глава 26. Объектно-реляционные базы данных

    Глава 27. World Wide Web и XML

    ЧАСТЬ VII. ПРИЛОЖЕНИЯ

    Приложение А. Модель TransRelational™

    Приложение Б. Выражения SQL

    Приложение В. Сокращения и специальные символы

    Приложение Г. Структуры хранения и методы доступа

    Приложение Д. Ответы к отдельным упражнениям

    Предметный указатель

    29
    31
    31
    31
    32
    33
    34
    35
    37
    37
    39

    ЧАСТЬ I. ОСНОВНЫЕ ПОНЯТИЯ

    Глава 1. Базы данных и управление ими
    1.1 Вводный пример
    1.2 Общее определение системы баз данных
    Данные
    Аппаратное обеспечение
    Программное обеспечение
    Пользователи
    1.3.Общее определение базы данных
    Перманентные данные
    Сущности и связи
    Свойства
    Данные и модели данных

    43
    43
    46
    47
    49
    49
    50
    51
    51
    52
    55
    56

    1.4.Назначение баз данных
    Администрирование данных и администрирование базы данных
    Преимущества подхода, предусматривающего использование базы данных
    1.5 Независимость отданных
    1.6 Реляционные и другие системы
    1.7 Резюме
    Упражнения

    58
    59
    59
    62
    68
    71
    72

    Список литературы

    Глава 2. Архитектура системы баз данных

    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 Резюме
    Упражнения
    Список литературы

    75
    76
    79
    82
    83
    84
    85
    87
    91
    92
    94
    95
    99
    100
    101

    Глава 3. Введение в реляционные базы данных
    3.1 Введение
    3.2 Реляционная модель
    Более формальное определение
    3.3 Отношения и переменные отношения
    3.4 Смысл отношений
    3.5 Оптимизация
    3.6 Каталог
    3.7 Базовые переменные отношения и представления
    3.8 Транзакции
    3.9 База данных поставщиков и деталей
    3.10 Резюме
    Упражнения
    Список литературы

    103
    103
    103
    108
    109
    111
    114
    116
    117
    122
    123
    125
    127
    128

    Глава 4. Введение в язык SQL
    4.1.введение
    4.2.Обзор языка SQL
    4.3.Каталог
    4.4.Представления
    4.5.Транзакции
    4.6.Внедрение операторов SQL
    Операции, в которых не используются курсоры
    Операции, в которых используются курсоры
    Динамический язык SQL и интерфейс SQL/CLI
    4.7.Несовершенство языка SQL
    4.8.Резюме
    Упражнения
    Список литературы

    133
    133
    135
    138
    139
    140
    140
    144
    145
    148
    152
    152
    153
    155

    Содержание
    ЧАСТЬ II. РЕЛЯЦИОННАЯ МОДЕЛЬ
    Глава 5. Типы
    5.1 Введение
    5.2 Определение значений и переменных
    Типизация значений и переменных
    5.3 Определения типов и форматов представления
    Определения скалярных и нескалярных типов
    Возможные форматы представления, селекторы и операторы ТНЕ_
    5.4 Определение типа
    5.5 Операторы
    Преобразования типов
    Заключительные замечания
    5.6 Генераторы типов
    5.7 Средства SQL
    Встроенные типы
    Типы DISTINCT
    Структурированные типы
    Генераторы типов
    5.8. Резюме
    Упражнения
    Список литературы
    Глава 6. Отношения
    6.1 Введение
    6.2 Кортежи
    Свойства кортежей
    Генератор типа TUPLE
    Операции с кортежами
    Сравнение типов кортежей и возможных представлений
    6.3.Типы отношений
    Генератор типа RELATION
    6.4.Значения отношений
    Сравнение отношений и таблиц
    Атрибуты со значениями в виде отношения
    Отношения без атрибутов
    Операции с отношениями
    6.5.Переменные отношения
    Определение базовой переменной отношения
    Обновление переменных отношения
    Переменные отношения и их интерпретация
    6.6.Средства SQL
    Строки
    Типы таблиц
    Значения и переменные таблицы
    Структурированные типы
    6.7.Резюме
    Упражнения
    Список литературы

    163
    165
    165
    167
    168
    169
    170
    170
    175
    178
    181
    183
    184
    186
    186
    188
    191
    194
    196
    198
    200
    201
    201
    201
    203
    203
    204
    206
    207
    209
    209
    212
    214
    216
    217
    219
    219
    221
    224
    225
    225
    226
    227
    229
    232
    234
    236

    Cодержание

    Глава 7. Реляционная алгебра
    7.1. Введение
    7.2. Дополнительные сведения о реляционном свойстве замкнутости
    7.3. Оригинальная алгебра — синтаксис
    7.4. Оригинальная алгебра - семантика
    Объединение
    Пересечение
    Разность
    Произведение
    Сокращение
    .
    Проекция
    Соединение
    Деление
    7.5. Примеры
    7.5.1.Определить имена поставщиков, которые поставляют деталь Р2
    7.5.2.Определить имена поставщиков, которые поставляют по меньшей.
    мере одну деталь красного цвета
    7.5.3.Определить имена поставщиков, которые поставляют все детали
    7.5.4.Определить номера поставщиков, поставляющих, по меньшей мере,
    все детали, поставляемые поставщиком S2
    7.5.5.Определить все пары номеров поставщиков, таких что рассматриваемые поставщики находятся в одном городе
    7.5.6.Определить имена поставщиков, которые не поставляют деталь Р2
    7.6 Общее назначение алгебры
    7.7 Некоторые дополнительные замечания
    Ассоциативность и коммутативность
    Некоторые эквивалентности
    Некоторые обобщения
    7.8.Дополнительные операции
    Полусоединение
    Полуразность
    Расширение
    Агрегирование
    Транзитивное замыкание
    7.9.Группирование и разгруппирование
    7.10.Резюме
    Упражнения
    Упражнения по составлению запросов
    Список литературы
    Глава 8. Реляционное исчисление
    8.1. Введение
    8.2. Исчисление кортежей
    Синтаксис
    Переменные области значений
    Свободные и связанные переменные области значении
    Кванторы

    241
    241
    244
    246
    249
    249
    250
    251
    251
    252
    254
    255
    258
    260
    260
    261
    261
    261
    261
    262
    263
    265
    265
    266
    266
    267
    268
    268
    268
    272
    275
    276
    279
    281
    282
    285
    289
    289
    291
    291
    293
    294
    295

    Содержание
    Дополнительные сведения о свободных и связанных переменных
    297
    Реляционные операции
    298
    8.3. Примеры
    300
    8.3.1 Определить номера поставщиков из Парижа со статусом, большим 20 300
    8.3.2 Найти все пары номеров таких поставщиков, которые находятся
    в одном городе (повторение примера 7.5.5)
    300
    8.3.3 Получить полную информацию о поставщиках детали с номером Р2
    (модифицированная версия примера 7.5.1)
    301
    8.3.4 Определить имена поставщиков по крайней мере одной детали
    красного цвета (повторение примера 7.5.2)
    301
    8.3.5. Найти имена поставщиков по крайней мере одной детали,
    поставляемой поставщиком с номером S2
    302
    8.3.6.Получить имена поставщиков всех типов деталей
    (повторение примера 7.5.3)
    302
    8.3.7.Определить имена поставщиков, которые не поставляют деталь
    с номером Р2 (повторение примера 7.5.6)
    302
    8.3.8. Определить номера поставщиков, по крайней мере, тех деталей, которые
    поставляет поставщик сномером S2 (повторение примера 7.5.4)
    302
    8.3.9. Получить номера деталей, которые весят более 16 фунтов, поставляются
    поставщиком с номером S2 или соответствуют обоим условиям 303
    8.4 Сравнительный анализ реляционного исчисления и реляционной алгебры
    303
    8.5 Вычислительные возможности
    308
    8.5.1. Определить номера и вес в граммах всех типов деталей,
    вес которых превышает 10000 г
    309
    8.5.2. Выбрать сведения обо всех поставщиках и обозначить каждого из них
    литеральным значением "Supplier"
    309
    8.5.3. Получить полные сведения о каждой поставке, включая общий
    вес поставки
    309
    8.5.4. Для каждой детали получить номер детали и общий объем поставки
    в штуках
    309
    8.5.5. Определить общее количество поставляемых деталей
    309
    8.5.6. Для каждого поставщика получить номер поставщика и общий объем
    поставки в штуках
    309
    8.5.7. Указать названия таких городов, в которых хранятся детали, что в них
    находится больше пяти деталей красного цвета
    309
    8.6.
    Средства языка SQL
    309
    8.6.1. Указать цвета деталей и названия городов для деталей, которые имеют
    вес свыше 10 фунтов и хранятся в городах, отличных от Парижа
    310
    8.6.2. Для всех деталей указать номер детали и вес в граммах (упрощенная
    версия примера 8.5.1)
    312
    8.6.3. Получить все комбинации данных о поставщиках и деталях,
    находящихся в одном городе
    313
    8.6.4. Найти все пары названий городов, таких что поставщик, находящийся
    в первом городе, поставляет деталь, хранящуюся во втором городе 313
    8.6.5. Получить все пары номеров поставщиков, таких что оба поставщика
    в каждой паре находятся водном городе (см. пример 8.3.2)
    314
    8.6.6. Определить общее количество поставщиков
    314

    8.6.7. Определить максимальное и минимальное количество деталей
    с номером Р2
    315
    8.6.8. Для каждой поставляемой детали указать номер детали и общий объем
    поставки в штуках (модифицированная версия примера 8.5.4)
    315
    8.6.9. Определить номера всех деталей, поставляемых больше чем одним
    поставщиком
    316
    8.6.10. Определить имена поставщиков детали с номером Р2
    (см. пример 7.5.1)
    316
    8.6.11. Определить имена поставщиков по крайней мере одной детали

    317
    8.6.12. Определить номера поставщиков, имеющих статус меньше того,
    который в данное время является максимальным в таблице S
    317
    8.6.13. Определить имена поставщиков детали с номером Р2
    317
    8.6.14. Определить имена поставщиков, которые не поставляют деталь
    с номером Р2 (пример 8.3.7)
    318
    8.6.15. Определить имена поставщиков, которые поставляют детали

    318
    8.6.16. Определить номера деталей, которые либо весят более 16 фунтов, либо
    поставляются поставщиком с номером S2, либо соответствуют и тому,
    и другому условию (см. пример 8.3.9)
    319
    8.6.17. Определить номер детали и вес в граммах для каждой детали
    с весом > 10 000 г (см. пример 8.5.1)
    320
    8.7. Исчисление доменов
    321
    8.7.1. Определить номера поставщиков из Парижа со статусом больше 20
    (упрощенная версия примера 8.3.1)
    322
    8.7.2. Найти все такие пары номеров поставщиков, в которых два поставщика
    находятся в одном городе (см. пример 8.3.2)
    322
    8.7.3. Определить имена поставщиков по крайней мере одной детали
    красного цвета (см. пример 8.3.4)
    322
    8.7.4 Определить имена поставщиков, которые поставляют хотя бы один тип
    деталей, поставляемых поставщиком с номером S2 (см. пример 8.3.5) 323
    8.7.5. Определить имена поставщиков, которые поставляют детали
    всех типов (см. пример 8.3.6)
    323
    8.7.6. Определить имена поставщиков, которые не поставляют деталь
    с номером Р2 (см. пример 8.3.7)
    323
    8.7.7. Определить номера поставщиков, которые поставляют,
    по меньшей мере, детали всех типов, поставляемых
    поставщиком с номером S2 (см. пример 8.3.8)
    323
    8.7.8. Получить номера деталей, которые либо весят более16 фунтов, либо
    поставляются поставщиком с номером S2, либо соответствуют
    и тому, и другому условию (см. пример 8.3.9)
    323
    8.8. Язык запросов по образцу
    323
    8.8.1. Определить номера поставщиков, находящихся в Париже, которые
    имеют статус > 20 (пример 8.7.1)
    324
    8.8.2. Определить номера всех поставляемых деталей, удалив ненужные
    дубликаты
    325

    Содержание
    13
    8.8.3. Получить номера и данные о статусе поставщиков, находящихся
    в Париже, вначале выполнив сортировку в порядке убывания
    статуса, а затем—в порядке возрастания номеров
    325
    8.8.4. Получить номера и данные о статусе поставщиков, которые либо
    находятся в Париже, либо имеют статус > 20, либо соответствуют
    обоим условиям (модифицированная версия примера 8.8.1)
    326
    8.8.5. Определить детали, вес которых находится в пределах от 16
    до 19 включительно
    326
    8.8.6. Для всех деталей определить номер детали и вес детали в граммах
    (пример 8.6.2)
    326
    8.8.7. Определить номера поставщиков, которые поставляют деталь

    Функции СУБД Дейт, К. Дж. Введение в системы базы данных [текст]/ К. Дж. Дейт. - М.: изд-во Вильямс, 2006. - 1328 с. - ISBN 5-5489-0788-8.

    Более точно, к числу функций СУБД принято относить следующие:

    ¦ Определение данных

    СУБД должна предоставлять средства определения данных в виде исходной формы и преобразования этих определений в соответствующую объектную форму. Иначе говоря, СУБД должна включать в себя компоненты процессора ЯОД (языка определения данных) или компилятора ЯОД для каждого из поддерживаемых ею языков определения данных. СУБД должна также правильно трактовать синтаксис языка определения данных, чтобы ей можно было, например, сообщить, что внешние записи EMPLOYEE включают поле SALARY. Эту информацию СУБД должна использовать при анализе и выполнении запросов обработки данных.

    ¦ Манипулирование данными

    СУБД должна быть способна обрабатывать запросы пользователя на выборку, изменение или удаление данных, уже существующих в базе, или на добавление в нее новых данных. Другими словами, СУБД должна включать в себя компонент процессора ЯМД или компилятора ЯМД, обеспечивающего поддержку языка манипулирования данными(ЯМД).

    В целом, запросы ЯМД подразделяются на планируемые и непланируемые.

    • а) Планируемый запрос -- это запрос, необходимость выполнения которого была предусмотрена заранее. Администратор базы данных, возможно, должен будет разработать физический проект базы данных таким образом, чтобы гарантировать достаточное быстродействие выполнения подобных запросов.
    • б) Непланируемый запрос -- это, наоборот, некоторый произвольный запрос на выборку или (что менее вероятно) на обновление, необходимость выполнения которого не была предусмотрена заранее и возникла по какой-то особой причине.

    ¦ Оптимизация и выполнение

    Запросы ЯМД, планируемые или непланируемые, должны быть обработаны таким компонентом, как оптимизатор, назначение которого состоит в поиске достаточно эффективного способа выполнения каждого из запросов. Затем оптимизированные запросы выполняются под управлением диспетчера этапа прогона (run-time manager).

    ¦ Защита и поддержка целостности данных

    СУБД должна контролировать пользовательские запросы и пресекать любые попытки нарушения ограничений защиты и целостности данных, определенные АБД (см. предыдущий раздел). Этот контроль может осуществляться во время компиляции, во время выполнения или на обоих этих этапах обработки запроса.

    ¦ Восстановление данных и поддержка параллельности

    СУБД или другой связанный с ней программный компонент, обычно называемый диспетчером транзакций или диспетчером выполнения транзакций, должен обеспечивать необходимый контроль над восстановлением данных и управление параллельной обработкой.

    ¦ Словарь данных

    СУБД должна поддерживать функцию ведения словаря данных. Сам словарь данных вполне можно считать самостоятельной базой данных (но не пользовательской, а системной). Словарь содержит "данные о данных", т.е. в нем находятся определения других объектов системы, а не просто обычные данные. В частности, в словаре данных должны быть записаны исходные и объектные формы всех существующих схем (внешних, концептуальной и т.д.) и отображений, а также установленные ограничения защиты и целостности данных.



    Есть вопросы?

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам: