Математика | ||||
Базы данных на Паскале - Ульман Дж. М.: Машиностроение, 1990.—368.: ил. | ||||
Базы данных на Паскале - Ульман Дж. М.: Машиностроение, 1990.—368.: ил.
Ульман Дж. 51 Базы данных на Паскале/Пер, с англ. М. В. Сергиевского, А. В. Шалашова; Под ред. Ю. И. Топчеева. —М.: Машиностроение, 1990.—368.: ил. ISBN 5-217-00628-5 В книге английского автора процесс создания баз данных впервые описывается с позиций инженера-программиста. Многочисленные примеры структур данных и запросов дают возможность читателю быстро овладеть мощными языковыми средствами и могут быть легко обобщены на ситуациях, возникающих в технических областях. Основное внимание автор уделяет широко распространенным реляционным базам данных, реализуемых на мини- и микроЭВМ, в частности на персональных компьютерах. Для инженеров-разработчиков и пользователей баз данных во всех областях техники. 2404090000—614 ОГЛАВЛЕНИЕ Введение.............................. 9 Глава I. ВВЕДЕНИЕ В ПРОБЛЕМЫ ОБРАБОТКИ ДАННЫХ 1.1. Информация как объект обработки............ 12 1.2. Прием заказов...................... 12 1.2.1. Заказ от клиента................. 12 1.2.2. Файлы и их компоненты............. 13 1.2.3. Файлы, используемые при составлении заказа на товары...................... 14 1.2.4. Процедура оформления наряда.......... 17 1.3. Доставка товаров и оформление счетов.......... 18 1.3.1. Комплектование заказанных товаров........ 18 .3.2. Счета на оплату товаров............. 20 .3.3. Файл архива нарядов на продажу......... 22 1.4. Операции с поставщиками ................ 22 .4.1. Поставщики................... 22 .4.2. Оформление заказов на закупку товаров. ... 23 .4.3. Прием товаров.................. 24 1.5. Проблемы бухгалтерского учета.............. 25 1.5.1. Расчетный счет как файл............. 25 1.5.2. Счета дебиторов.................. 25 1.6. Счета кредиторов..................... 27 1.6.1. Прием счетов на оплату ............. 27 1.6.2. Выплаты поставщикам .............. 28 1.7. Главная бухгалтерская книга............... 28 1.7.1. План бухгалтерских счетов............ 28 1.7.2. Контрольный поиск................ 31 1.8. Файл служащих и платежная ведомость.......... 31 1.8.1. Файл служащих ................. 31 1.8.2. Обработка платежной ведомости.......... 33 1.8.3. Файл архива служащих ............. 34 1.8.4. Файл штатного расписания............ 35 1.9. Упражнения....................... 35 Глава 2. РЕЛЯЦИОННАЯ АЛГЕБРА ............. 37 2.1. Введение ........................ 37 2.2. Музыкальные файлы................... 37 2.3. Операции и операнды .................. 41 2.4. Проектирование..................... 41 2.5. Выбор.......................... 42 2.6. Простейшие запросы................... 43 2.7. Соединение ....................... 44 5 2.7.1. Соединение по одному полю............ 44 2.7.2. Использование соединения при ответах на запросы 48 2.7.3. Соединение по нескольким полям......... 471 2.8. Упражнения....................... 48 2.9. Объединение....................... 49 2.10. Пересечение....................... 50 2.11. Вычитание.............."......... 51 2.12. Деление ........................ 51 2.13. Умножение....................... Щ 2.14. Упражнения....................... 54 2.15. Оптимизация запросов.................. 55 2.16. Языки запросов и вычисления.............. 56 2.17. Дополнительные возможности языков запросов...... 57 Глава 3. ПРИНЦИПЫ НОРМАЛИЗАЦИИ........... 57 3.1. Распределение полей по файлам ............. 57 3.2. Полная декомпозиция .................. 57 3.3. Дублирование информации................ 58 3.3.1. Примеры дублирования.............. 58, 3.3.2. Ключи-кандидаты................. 60 3.4. Присоединенные записи.................. 61 3.5. Нормализация...................... 64 3.5Л. Пятая нормальная форма............. 64 3-5.2. Упражнения................... 65 3.6. Функциональная зависимость............... 67 3.6.1. Определение функциональной зависимости..... 67 3.6.2. Теорема Хита .................. 70 3.7. Нормализация на основе функциональной зависимости ... 71 3.7.1. Псрвяя нормальная форма............. 71 3.7.2. Вторая нормальная форма ............ 71 3.7.3. Третья нормальная форма............ 72 3.7.4. Нормальная форма Бойса—Кодда......... 73 3.8. Упражнения....................... 74 3.9. Четвертая нормальная форма.............. 75 ЗЛО. Объекты и атрибуты .................. 78 ЗЛО.!. Функциональная зависимость атрибутов от объектов 78 3.10.2. Построение набора файлов по эмпирическим данным 81 3.10.3. Преобразование набора файлов.......... 84 3.11. Упражнения....................... 86 Глава 4. ФАЙЛЫ, ЗАПИСИ И УКАЗАТЕЛИ ЯЗЫКА ПАСКАЛЬ 92 4.1. Введение ........................ 92 4.2. Текстовые файлы..................... 93 4.3. Объявления типов.................... 97 4.4. Комбинированные типы и переменные........... 103 4.4.1. Объявления комбинированных типов*....... 103 4.4.2. Инструкция WITH................ 106 4.4.3. Записи с вариантами............... 108 • 4.5. Двоичные файлы..................... 111 ; 4.6. Файловые буфера..................... 113 4.7. Упражнения....................... 118 ; 4.8. Указатели........................ 119 : 4.8.1. Ссылочные типы................. 119 . 4.8.2. Связанные списки '................ 122 .; 4.9. Упражнения....................... 134 Глава 5. ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ПЕРЕ- < МЕННЫХ, СОХРАНЯЮЩИХ СВОИ ЗНАЧЕНИЯ. . . 5.1. Высокий и низкий уровни программирования....... 138 ' 5.2. Описание баз данных на Паскале............. 139 j 6 , о Программы, обращающиеся к базе данный ........ 140 с. V Указатели, сохраняющие свои значения.......... 144 55 О дополнительных возможностях Паскаля по работе с базами ' данных.......................... J53 5 6. Упражнения....................... *оо а в а 'б. ВВЕДЕНИЕ В ОРГАНИЗАЦИЮ ФАЙЛОВ...... 157 6 1 Организация файлов и доступ к ним............ 157 бУ. Сортировка....................... 157 6 3 Простые последовательные файлы............. loo 6.3.1. Доступ к записям в простых последовательный файлах 158 6.3.2. Групповая обработка............... 159 6.3.3. Буфер файлового блока.............. 161 6.3.4. Блоки, связанные в цепь............. 164 6 4. Коэффициент активности файла и эффективности доступа . . . 166 б'б! Определение адреса ................... 167 6.5.1. Прямая адресация................ 167 6.5.2. Методы хэширования............... 169 6.5.3. Непригодность файлов с кэш-адресацией к групповой обработке..................... 176 6.5.4. Упражнения................... 176 6.6. Индексно-последователыше файлы............. 179 6.6.1. Введение в индексно-последовательную организацию 179 6.6.2. Включения и удаления (переполнение отсутствует) . 181 6.6.3. Переполнение .................. 182 6.6.4. Иерархические индексы для индексно-последователь- ных файлов.................... 188 6.6.5. Упражнения................... 189 6.7. Сопровождение файлов.................. 192 6.8. В-деревья........................ 193 6.8.1. Основная терминология.............. 199 6.8.2. Поиски в В-деревьях............... 194 6.8.3. Основные свойства В-деревьев........... 196 6.8.4. Высота В-дерева................. 197 6.8.5. Включение записи в В-дерево........... 198 6.8.6. Удаление записи из В-дерева........... 199 6.8.7. Объявление В-деревьев.............. 201 6.8.8. Процедуры, предназначенные для работы с В-де-ревьями..................... 203 6.8.9. Упражнения................... 207 Глава 7. РЕАЛИЗАЦИЯ ОПЕРАЦИЙ ВЫБОРА......... 210 7.1. Введение ........................ 210 7.1.1. Выбор по первичному ключу........... 210 7.1.2. Владельцы и члены индексов........... 210 7.2. Категории индексов.................... 211 7.2.1. Первичные и вторичные индексы.......... 211 7.2.2. Плотные и разреженные индекса.......... 213 7.2.3. Прямые и косвенные индексы..........« 213 7.3. Реализация доступа к членам............... 214 7.3.1. Хранение членов индекса вне файлов данных . . . . 214 7 л г/'^'2' Использование указателей в записях файла данных 219 (Л. Реализация доступа к владельцам записей........ 227 '•5. Операции выбора по нескольким ключам......... 231 7.5.1. Условие И.................... 231 7.5.2. Условие ИЛИ.................. 233 '•о. Косвенная адресация................... 234 7.6.1. Плотные первичные индексы ........... 234 7 7 л/'6'2' Многоступенчатая косвенная адресация.....„ 236 '•'• Упражнения....................... 238 7 Глава 8. РЕАЛИЗАЦИЯ СОЕДИНЕНИЙ............ 24) 8.1. Иерархические межфайловые индексы........... 24! 8.2. Двунаправленные межфайловые индексы.......... 245 8.2.1. Наборы ..................... 245 8.2.2. Реализация операций соединения в случае отношения «многие ко многим*................ 25( 8.3. Упражнения....................... 2(Й 8.4. Рабочая группа по базам данных КОДАСИЛ....... 261 8.4.1. Введение..................... 2® 8.4.2. Схемы КОДАСИЛ................ 27! 8.4.3. ЯМД КОДАСИЛ................. 271 8.5. СУБД TOTAL...................... 271 8.6. СУБД ADABAS..................... 28( 8.7. Реализация соединений с помощью вторичных индексов. . . 281 8.8. Упражнения....................... 28J Глава 9. ОРГАНИЗАЦИОННЫЕ ПРОБЛЕМЫ......... 291 9.1. Целостность данных................... 291 9.1.1. Контроль типов ................. 291 9.1.2. Контроль изменений............... 291 9.1.3. Дублирование ключей .............. 29J 9.1.4. Связи, объединяющие различные поля....... 295 9.1.5. Предварительный контроль данных........ 293 9.2. Восстановление данных.................. 294 9.2.1. Типы отказов .................. 294 9.2.2. Отказы транзакций................ 29S 9.2.3. Дубликаты записей................. 296 9.2.4. Образы скорректированных записей........ 296 9.2.5. Дампы...................... 297 9.2.6. Развертывание базы данных............ 298 9.3. Управление параллельным доступом............ 298 9.3.1. Понятие параллелизма.............. 298 9.3.2. Блокировки ................... ЗОС 9.3.3. Зависания и тупиковые ситуации......... 301 9.3.4. Упорядоченность................. 303 9.3.5. Флажки..................... 303 9.4. Управление доступом................... 304 9.4.1. Средства защиты баз данных........... 309 9.4.2. Таблицы доступа................. 304 9.4.3. Пароли ........."............ 305 9.4.4. Пропускная система................ 306 9.4.5. Шифрование................... 306 9.5. Модели и подсхемы ................... 308 9.6. Независимость данных.................. 310 9.7. Администратор базы данных ............... 311 9.8. Справочники данных................... 312 Ответы к упражнениям....................... 314 ВВЕДЕНИЕ Обширный предмет исследований и разработок, объединяемых под общим названием «Технология проектирования баз данных», принадлежит к числу важнейших разделов современной информатики. Этим определяется и место данного предмета в профессиональной подготовке будущих специалистов по вычислительной технике. Настоящая книга адресована в первую очередь студентам университетов и технических вузов, изучающим Паскаль в качестве базового языка программирования. Автор считал одной из своих главных задач продемонстрировать связь технологии проектирования баз данных и методологии Паскаля. По его мнению, такой подход расширяет кругозор студентов, стимулирует формирование у них представления о вычислительной технике как единой области знаний. Гораздо менее этому способствует традиционное изложение предмета в виде набора изолированных ДИСЦИПЛИН. Автор стремился построить книгу таким образом, чтобы изучение технологии проектирования баз данных могло вестись на более раннем этапе цикла, посвященного вычислительной технике, чем это принято в настоящее время. Опыт преподавания показывает, что такие понятия, как пятая нормальная форма или структуры данных КОДАСИЛ, вполне доступны хорошо успевающему первокурснику. Между тем, раннее знакомство с технологией проектирования баз данных представляется желательным по многим соображениям. а- Очень важно, чтобы уже в самом начале обучения основам вычислительной техники студент приобщался к ее практическому применению, и базы данных предоставляют для этого самый разнообразный материал. Технология баз данных включает ряд весьма изящных ма- матических построений, особенно в теории нормализации. Зна- мство с ним может послужить стимулом для углубленного изу- чия проблем вычислительной техники. о Цена: 300руб. |
||||