Книга: К. Дж. Дейт «Введение в системы баз данных. Дейт К. Введение в системы баз данных - файл 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).
¦ Защита и поддержка целостности данных
СУБД должна контролировать пользовательские запросы и пресекать любые попытки нарушения ограничений защиты и целостности данных, определенные АБД (см. предыдущий раздел). Этот контроль может осуществляться во время компиляции, во время выполнения или на обоих этих этапах обработки запроса.
¦ Восстановление данных и поддержка параллельности
СУБД или другой связанный с ней программный компонент, обычно называемый диспетчером транзакций или диспетчером выполнения транзакций, должен обеспечивать необходимый контроль над восстановлением данных и управление параллельной обработкой.
¦ Словарь данных
СУБД должна поддерживать функцию ведения словаря данных. Сам словарь данных вполне можно считать самостоятельной базой данных (но не пользовательской, а системной). Словарь содержит "данные о данных", т.е. в нем находятся определения других объектов системы, а не просто обычные данные. В частности, в словаре данных должны быть записаны исходные и объектные формы всех существующих схем (внешних, концептуальной и т.д.) и отображений, а также установленные ограничения защиты и целостности данных.