Математика | ||||
Предложения КОДАСИЛ по управлению базами данных-Олле Т. В | ||||
Олле Т. В.
Предложения КОДАСИЛ по управлению базами дан-' ных / Пер. с англ. В. И. Филиппова и С. М. Круговой. — М.: Финансы и статистика, 1981. — 286 с., ил. В пер.: 1 р. 30 к. В книге наряду с изложением формальных правил и возможностей баз данных рассматриваются предложения КОДАСИЛ: как историяески развивалась предлагаемые конструкции, каковы их достоинства и недостатки, в каких Ьяфаях пользователю рекомендуется их применять. Представлены наиболее распространенные действующие системы управления базами данных (СУБД). Для пользователей и разработчиков СУБД во всех отраслях народного хозяйства, а также для специалистов по системам обработки данных; может быть «о-лезна аспирантам и студентам, занимающимся системным программированием • обработкой данных. ОГЛАВЛЕНИЕ Предисловие к русскому изданию..................... Предисловие............................. 8 Глава 1. Исторический обзор.................... ч 1.1. Введение.......................... а 1.2. Происхождение терминов................. э 1.3. Ранний период деятельности КОДАСИЛ......... . 1U 1.4. События 1971—1976 гг.................... 13 1.5. Текущее положение дел........,........... 14 Литература.......................... . 14 Глава 2. Компоненты СУБД.............'...... 15 2.1. Введение........................... 15 2.2. Понятие схемы................,....... 15 2.2.1. Понятие базы данных.................. 15 2.3. Язык описания данных схемы (ЯОД схемы)......... 16 2.4. Понятие подсхемы...................... 16 2.4.1. Язык описания данных подсхемы (ЯОД подсхемы) ... 17 2.5. Язык манипулирования данными (ЯМД)......... 18 2.5.1. Методы реализации ЯМД............, . . 18 2.5.2. Системы с несколькими включающими языками ..... 19 2.6. Резидентный исполнительный модуль СУБД........ 19 2.6.1. Выполнение прикладной программы.......... 20 2.7. Язык управления размещением на внешних носителях (ЯУВН) 21 Литература........................ 21 Глава 3. Основные средства определения структур........ 22 3.1 Тип записи........................ 22 \.2. Тип записи для пользователей Алгола и Фортрана...... 22 3.2.1. Групповые элементы.............., . 2Г, 3.2.2. Работа с таблицами.................. 2-'; 3.2.3. Квалификация..................... 25 3.2.4. Заключительные замечания.............. 26 3.3. Сравнение внутренних и внешних структур записей...... 26 3.4. Типы набора......................... 27 3.4.1. Наборы (экземпляры наборов)............. 29 3.5. Назначение типа набора................. 29 3.6. Построение структур с помощью типа набора......... 30 Литература............................ 32 Глава 4. Представление типов записи во внешней памяти..... 32 4.1. Введение........................ 32 4.2. Ключ базы данных..................... 32 4.3. Понятие о способе размещения............... 33 4.3.1 Замечание о синтаксисе................. 34 4.3.2. Идентификаторы и имена базы данных......... 35 4.4. Возможные способы размещения............... 36 4.5. Способ размещения CALG................. 36 4.5.1. Дубликаты значений ключа............. 37 4.5.2. Коллизии (синонимы)..............• . • 38 279 4.5.3. Нестандартные CALC-алгоритмы....... .... 38 4.5.4. Выбор ключа . . .'.................. 39 4.6. Способ размещения DIRECT (ПРЯМОЙ).......... 39 • 4.6.1. Назначение элементов типа ключа базы данных ..... 40 4.6.2. Применение способа размещения DIRECT ....... 41 4.6.3. Выборка записей................... 42 4.7. Способ размещения VIA SET (ЧЕРЕЗ НАБОР)....... 42 4.7.1. Выборка записей.................... 44 4.8. Области.......................... 44 4.8.1. Приписка типа записи к области........... 45 4.8.2. Временные области................• 46 4.9. Заключение....................... 47 4.9.1. Пример....................• . . . . 48 Литература..........................• 48 Глава 5. Представление типоя набора во внешней памяти .... 49 5.1. Введение.......................... 49 6.2. Методика представления.................. 50 5.3. Виды представления наборов...............• 50 5.4. Цепочное представление набора............... 50 5.5. Цепочка с указателем следующей записи.......... 51 5.5.1. Проблема коррекции указателей..........• 52 5.5.2. Применение цепочек с указателем следующей записи . . 52 5.6. Цепочки с указателем следующей и предыдущей записей ... 53 5.6.1. Случай типа набора с несколькими типами записей-членов 53 5.6.2. Недостаток цепочек с указателем следующей и предыдущей записей......................... 53 5.7. Цепочки с указателем владельца............... 54 5.8. Массивы указателей...................... 55 5.9.1. Реализация массивов указателей............. 56 5.9. Отказ КЯОД от указания вида представления набора .... 57 5.10. Синтаксис вида представления набора............ 57 5.10.1. Примеры описания наборов............. 58 Литература . ,.......................... 59 Глава 6. Упорядоченность набора и ключи поиска......... 60 6.1. Введение.......................... 60 6.2. Упорядоченность набора...............- • 60 6.2.1. Зачем упорядочивают наборы?............ 60 6.2.2. Кто выбирает вид упорядочения?........... 61 6.3. Сортируемые наборы.................. 61 6.3.1. Сортируемый одночленный тип набора.......... 61 6.3.2. Индексированные типы набора............. 63 6.3.3. Многочленные сортируемые типы набора ......... 63 6.4. Хронологические типы набора................ 67 6.4.1. Магазины и очереди.................. 67 6.4.2. Влючение «следующей» и «предыдущей»........ 69 6.4.3. Многочленные хронологические типы набора...... 71 6.5. Неоп)«деленный порядок набора.............. 71 6.6. Постоянное и временное упорядочение наборов........ 71 6.7. Синтаксис упорядочения набора.............. 72 6.8. Примеры упорядочения наборов............... 73 6.9. Выбор варианта упорядочения набора............ 75 6.10. Поисковые ключи.................... 76 6.10.1. Синтаксис...................... 77 6.10.2. Примеры поисковых ключей............. 78 6.10.3. Предложения по расширению концепции поискового ключа............................ 79 Глава 7. Способ включения и допустимость исключения....... 79 7.1. Введение....................... 79 7.2, Способ включения в набор..........•...... °° 280 • 7.2.1. Неприсоединенные записи............... 81 • 7.2.2. Двойное включение................... 82 7.3. Допустимость исключения.................. 83 7.4. Замечания о реализации.................. 83 -7.5. Синтаксис определения способа включения и допустимости ис- • ключения ........................... 83 7.6. Пример........................... 84 Глава 8. Варианты выбора набора..................8Л 8.1. Введение.......................... 84 8.2. Критерий выбора набора.................. 85 8.3. Выбор набора по индикатору текущего состояния...... 85 8.4. Выбор набора по способу размещения CALC........ 86 8.5. Выбор набора по элементу типа ключа базы данных ..... 87 8.6. Иерархический выбор набора................ 88 8.7. Синтаксис.......................... 89 8.8. Использование более простых вариантов выбора набора . . 91 8.9. Особенность критерия выбора набора . ............ 91 Глава 9. Внутренняя структура типа записи............93 9.1. Введение..........,............... 93 9.2. Исторические предпосылки................. 94 9.3. Назначение внутренней структуры записи.......... 94 9.4. Типы элементов ........................ 95 9.5. Повторяющиеся группы (или агрегаты).........' . . . 96 9.6. Шаблоны....... :.................. 97 9.7. Элементы-коп-ии...................... 98 9.8. Проверка достоверности элементов.............. 99 9.9. Подстатья элемента данных................ 100 9.10. Примеры..........................102 Глава 10. Дополнительные возможности администратора данных . . 102 10.1. Введение.........................102 10.2. Классификация возможностей ЯОД схемы..........103 10.3. Процедуры базы данных.................104 10.4. Предложение ON (ПРИ).................104 10.5. Процедурно управляемое размещение в памяти........105 I 10.6. Процедуры базы данных на уровне элементов данных . . . 106 10.6.1. Предложение CHECK (ПРОВЕРКА).........106 10.6.2. Элементы-результаты (RESULT)...........106 10.6.3. Предложение ENCODING/DECODING (КОДИРОВАНИЕ/ДЕКОДИРОВАНИЕ) .............108 Глава 11. Синтаксис ЯОД схемы................109 11.1. Введение..........................109 11.2. Общая структура синтаксиса................109 11.3. Статья схемы .....................109 11.4. Статья области.....'...................НО 11.5. Статья записи................„•......ПО 11.6. Статья набора.....................111 11.7. Заключение.......................113 Глава 12. Подсхемы........................113 12.1. Введение.........................113 12.2. Связь с включающим языком...............113 12.3. Определение подсхемы..................114 12.4. Рабочие области записей (рабочая область пользователя) . 114 12.5. Переопределение имен..................116 12.6. Преобразования между схемой и подсхемой........116 12.6.1. Преобразования на уровне записи...........117 12.6г2. Преобразования на уровне групповых элементов или агрегатов ............................117 12.6.3. Преобразования на уровне элементов данных.....118 12.6.4. Заключительное замечание.............119 12.7. Изменение критерия выбора набора............119 12.8. Синтаксис ЯОД подсхемы Кобола............ 120 12.9. Общий синтаксис.................. . 121 12.10. Раздел заглавия.....................122 12.11. Раздел отображения —секция псевдонимов.......122 12.12. Раздел структуры....................122 12.12.1. Секция областей...................123 12.12.2. Секция записей...................123 12.12.3. Секция наборов..................124 12.13. Транслятор ЯОД подсхемы Кобола............. 125 Глава 13. Язык манипулирования данными............ 125 13.1. Введение........................125 13.2. Взаимодействие с включающим языком.........125 13.3. Привязка к подсхеме..................126 13.4. Прикладные программы и процессы............127 13.5. Регистры базы данных..................128 13.6. Индикаторы текущего состояния.............130 13.7. Общие принципы ЯМД..................131' 13.8. Операторы ЯМД.....................132 13.8.1. Оператор READY..................133 13.8.2. Оператор FINISH.................133 13.8.3. Оператор FIND...................133 13.8.4. Оператор STORE..................133 13.8.5. Оператор GET.....................133 13.8.6. Оператор ERASE..................134 13-8.7. Оператор MODIFY..................134 13.8.8. Операторы CONNECT и DISCONNECT........134 13.8.9. Оператор ORDER.................134 13.8.10. Оператор ACCEPT.................134 13.8.11. Оператор IF.....................135 13.8.12. Оператор USE.................... 135 13.8ЛЗ. Операторы KEEP, FREE и REMONITOR......135 13.9. Заключение.........................135 Глава 14. Операторы READY и FINISH..............135 14.1. Введение................г.......135 14.2. Синтаксис оператора READY...............136 14.2.1. Режимы использования............... . 137 14.2.2. Монопольный режим доступа..............137 14.2.3. Защищенный режим доступа............. 138 14.2.4. Режим неограниченного доступа........... 139 14.2.5. Общий обзор режимов использования.........139 14.2.6. Открытие нескольких областей............140 14.2.7. Тупиковые ситуации.......,.........141 14.2.8. Возможные исключительные состояния базы данных 142 14.3. Оператор FINISH....................143 14.4. Синтаксические ошибки в READY и FINISH........143 Глава 15. Операторы FIND и GET.................144 15.1. Оператор FIND. Введение.........».........144 15.2. Общий формат оператора FIND .............. 144 15.3. Категории оператора FIND................ 145 15.4. Непосредственный вариант FIND............145 15.4.1. Поиск записей по способу размещения CALC...... 145 15.4.2. Поиск записи в наборе................ 147 ' 15.4.3. Поиск первой и последней записей в области...... 148 15.5. Относительный вариант FIND............. . 149 15.5.1. Поиск с применением связей в типе набора ...... 149 2К2 15.5.2. Поиск дубликатов 7.7...............152 15.5.3. Поиск записи-владельца..............152 15.5.4. Поиск в наборе...................153 15.5.5. Поиск дубликатов в наборе..............154 15.5.6. Поиск следующей или предыдущей записи в области ... 156 15.6. Повторный вариант FIND.................156 15.6.1. Поиск по значениям индикаторов текущего состояния .. 157 15.6.2. Поиск по значениям элементов типа ключа базы данных 158 15.7. Исключительные состояния базы данных..........159 15.8. Оператор GET. Введение..................160 158.1. Общие положения..................160 15.8.2. GET без параметров................16.1 15.8.3. GET имя-записи..................162 15.8.4. GET элементы...................162 15.8.5. Исключительные состояния базы данных.......162 15.9. Соотношение между FIND и (ЗЕТ.............163 Глава 16. Обновляющие операторы ЯМД............. 163 16.1. Введение.........................163 16.2. Оператор MODIFY....................164 16.1.2. Возможные осложнения при выполнении MODIFY . 165 16.2.2. Исключительные состояния базы данных.......166 16.3. Оператор ERASE....................166 16.3.1. Простой ERASE................... 167 16.3.2. Вариант ERASE ALL ............... 167 16.2.3. Вариант ERASE PERMANENT........... 168 16.3.4. Вариант ERASE SELECTIVE............ 168 16.3.5. Исключительные состояния базы данных....... 168 16.4. Оператор STORE.................... 169 16.4.1. Фраза WITHIN................... 170 16.4.2. Декларации способа размещения.......... 170 16.4.3. Декларации типов, набора и способов включения . . . 171 16.4.4. Критерий выбора набора............... 171 16.4.5. Упорядоченность набора................. 172 16.4.6. Поисковые ключи.................. 173 16.4.7. Вид представления набора.............. 173 16.4.8. Исключительные состояния базы данных....... 173 16.5. Оператор CONNECT................. 174 16.5.1. Исключительные состояния базы данных.......175 16.6. Оператор DISCONNECT.................175 16.6.1. Исключительные состояния базы данных ........ 176 Глава 17. Другие операторы ЯМД.................176 17.1. Введение.........................176 17.2. Управление одновременным доступом...........177 17.2.1. Оператор KEEP.................. 177 17.2.2. Оператор FREE . ................. 178 17.2.3. Оператор REMONITOR............. 179 17.2.4. Заключительные замечания............. 179 17.3. Оператор упорядочения набора............. . 180 17.4. Считывание системных регистров ............. 181 17.4.1. Считывание значений индикаторов текущего состояния 182 17.4.2. Считывание имен областей.............182 17.5. Проверка условий базы данных.............. 183 17.5.1. Условия принадлежности к набору .......... 183 17.5.2. Условия наличия членов в наборе.......... 184 17.5.3. Условия неопределенности значений . . ....... 184 17.5.4. Еще одно полезное условие............, . 185 17.6.^Проверка исключительных состояний базы данных . . . . . 185 Глава 18. Система контроля доступа..............187 18.1. Введение......................... 187 18.2. Компоненты подсистемы контроля доступа . ,......187 18.3. Предложении РГБД по контролю доступа.........188 18.3.1. Замки, определеляемые в схеме...........188 18.3.2. Замки, определяемые в подсхеме ..........189 18.3.3. Программно-определяемые ключи..........191 18.4. Виды замков и ключей..................194 18.4.1. Замки-литералы................... 194 18.4.2. Замки-переменные................ 195 18.4.3. Замки-процедуры................. 196 '.8.5. Критический обзор подхода КОДАСИЛ к контролю доступа 197 18.5.1. Защита данных и определение привилегий программиста 198 18.5.2. От кого защищаются данные?.............199 18.5.3. Вынесение описаний замков защиты из ЯОД схемы . . . 199 18.5.4. Замок защиты для СОРУ...............200 18.6. Предлагаемый подход к контролю доступа..........201 18.6.1. Служебная программа определения полномочий . . . 201 18.6.2. Язык защиты данных...............201 18.6.3. Язык привилегий программиста.......... 203 Глава 19. Язык управления размещением на внешних носителях . . . 205 .19.1. Введение . . . .....................205 19.2. Взаимосвязь ЯОХД и ЯОД схемы.............205 19.3. Возможности ЯОХД...................207 19.3.1. Уровень областей.................. 207 19.3.2. Уровень записей................... 208 19.3.3. Уровень типа набор'а . <............... 209 . 19.4. Способы предоставления средств ЯОХД........... 209 Литература ........................... 210 Глава 20. Реструктуризация..................2!0 20.1. Замечания РГБД по реструктуризации...........210 20.2. Уточняющие формулировки КЯОД............212 20.3. Реструктуризация и реорганизация............212 20.4. Спецификация реструктуризации на уровне схемы и ЯОХД . ?13 20.4.1. Спецификация реорганизации............ 213 20.5. Процесс реструктуризации................ 213 20.5.1. Следствия реструктуризации............. 214 20.6. Реструктуризация на уровне схемы............ 214 20.6.1. Дополнения схемы.............. . . . • • • 214 20.6.2. Сокращения схемы..................215 20.6.3. Модификации схемы.................216 20.7. Заключение........................217 Глава 21. Система TOTAL..................... 217 21.1. Основные компоненты..................217 21.2. Реализация ЯМД.....................218 21.3. Концепция структурирования...............218 21.3.1. Структуры связи между записями.........219 21.3.2. Внутренняя структура записи...........220 21.4. Представление типа записи в памяти............221 21.5. Представление типа набора в памяти............222 21.6. Упорядочение набора...................222 21.7. Поисковые ключи.....................223 21.8. Способ включения и допустимость исключения.......223 21.9. Выбор набора.......................224 21.10. Подсхема........................224 21.11. Концепции ЯМД....................225 21.12. Операторы ЯМД . , .................225 21.13. Операторы ЯМД, применяемые для записей-владельцев и записей-членов...................... 226 21.13.1. Операторы S1NON, READY и FINISH........226 21.13.2. Многоцелевой оператор READ........... 227 21.13.3. Условный оператор FIND..............229 21.14. Операторы ЯМД, применяемые для типа записи-владельца . 230 21.14.1. Операторы поиска.................231 21.14.2. Операторы обновления..............232 21.15. Операторы ЯМД, применяемые для записей-членов . . . 232 21.15.1. Операторы поиска ................232 21.15.2. Операторы обновления...............233 21.16.Заключение.......................234 Глава 22. Система IMS....................235 22.1. Основные компоненты...................235 22.2. Реализация ЯМД....................236 22.3. Концепции структурирования..............236 22.3.1. Внутренняя структура записи............238 22.3.2. Типы набора ......'................238 22.4. Представление типа записи в памяти............240 22.5. Представление типа набора в памяти...........241 22.6. Упорядочение набора...................244 22.7. Поисковые ключи....................244 22.8. Способ включения и допустимость исключения.......245 22.9. Выбор набора.......................245 22.10. Подсхема... Цена: 150руб. |
||||