Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634932)
Контекстум
Руконтекст антиплагиат система

Проектирование и реализация систем управления базами данных (6000,00 руб.)

0   0
Первый авторСьоре
ИздательствоМ.: ДМК Пресс
Страниц468
ID795230
АннотацияВ книге рассматриваются системы баз данных с точки зрения разработчика ПО. Автор подробно разбирает исходный код полностью функциональной, но при этом простой для изучения учебной базы данных SimpleDB и предлагает читателям, изменяя отдельные ее компоненты, разобраться в том, к чему это приведет. Это отличный способ погрузиться в тему и изучить, как работают базы данных на уровне исходного кода. В начале книги приводится краткий обзор систем баз данных; рассказывается о том, как написать приложение базы данных на Java; подробно описываются отдельные компоненты типичной системы баз данных, начиная с самого низкого уровня абстракции (управление дисками и диспетчер файлов) и заканчивая самым верхним (интерфейс клиента JDBC). Заключительные главы посвящены эффективной обработке запросов. В конце каждой главы приводятся практические упражнения и список дополнительных ресурсов. Издание предназначено для студентов вузов, изучающих курс информатики, а также всех, кто хочет научиться создавать системы баз данных. Предполагается, что читатель знаком с основами программирования на Java.
ISBN978-5-97060-488-5
УДК4.655
ББК32.973.26-018.2
Сьоре. Проектирование и реализация систем управления базами данных / Сьоре .— Москва : ДМК Пресс, 2021 .— 468 с. — ISBN 978-5-97060-488-5 .— URL: https://rucont.ru/efd/795230 (дата обращения: 28.04.2024)

Предпросмотр (выдержки из произведения)

Проектирование_и_реализация_систем_управления_базами_данных.pdf
УДК 004.655 ББК 32.973.26-018.2 C96 C96 Проектирование и реализация систем управления базами данных / пер. с анг. А. Н. Киселева; научн. ред. Е. В. Рогов. – М.: ДМК Пресс, 2021. – 466 с.: ил. Эдвард Сьоре ISBN 978-5-97060-488-5 В книге рассматриваются системы баз данных с точки зрения разработчика ПО. Автор подробно разбирает исходный код полностью функциональной, но при этом очень простой для изучения системы баз данных SimpleDB и предлагает читателям, изменяя отдельные ее компоненты, разобраться в том, к чему это приведет. Это отличный способ погрузиться в тему и изучить, как работают базы данных, на уровне исходного кода. В начале книги приводится краткий обзор систем баз данных; рассказывается о том, как написать приложение базы данных на Java. Далее подробно описываются отдельные компоненты типичной системы баз данных, начиная с самого низкого уровня абстракции (управление дисками и диспетчер файлов) и заканчивая самым верхним (интерфейс клиента JDBC). Заключительные главы посвящены эффективной обработке запросов. В конце каждой главы приводятся практические упражнения и список дополнительных ресурсов. Издание предназначено для студентов вузов, изучающих курс информатики, а также всех, кто хочет научиться создавать системы баз данных. Предполагается, что читатель знаком с основами программирования на Java. УДК 004.655 ББК 32.973.26-018.2 All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN (анг.) 978-3-030-33835-0 ISBN (рус.) 978-5-97060-488-5 © Springer Nature Switzerland AG 2021 © Оформление, издание, перевод, ДМК Пресс, 2021
Стр.5
Оглавление Предисловие от издательства .....................................................................9 Вступление ........................................................................................................10 Об авторе ...........................................................................................................14 Глава 1. Системы баз данных ....................................................................15 1.1. Зачем нужны системы баз данных? ..............................................................15 1.2. Система баз данных Derby .............................................................................20 1.3. Механизмы баз данных .................................................................................22 1.4. Система баз данных SimpleDB ......................................................................24 1.5. Версия SQL, поддерживаемая в SimpleDB ....................................................25 1.6. Итоги ...............................................................................................................26 1.7. Для дополнительного чтения ........................................................................27 1.8. Упражнения ....................................................................................................27 Глава 2. JDBC .....................................................................................................29 2.1. Ядро JDBC .......................................................................................................29 2.2. Дополнительные инструменты JDBC ............................................................39 2.4. Итоги ...............................................................................................................57 2.5. Для дополнительного чтения ........................................................................59 2.6. Упражнения ....................................................................................................59 Глава 3. Управление дисками и файлами .............................................61 3.1. Долговременное хранилище данных ...........................................................61 3.2. Интерфейс блочного доступа к диску ...........................................................73 3.3. Интерфейс файлов для доступа к диску .......................................................74 3.4. Система баз данных и операционная система ............................................78 3.5. Диспетчер файлов в SimpleDB ......................................................................79 3.6. Итоги ...............................................................................................................86 3.7. Для дополнительного чтения ........................................................................88 3.8. Упражнения ....................................................................................................89 Глава 4. Управление памятью....................................................................93 4.1. Два принципа управления памятью баз данных .........................................93 4.2. Управление журналом ...................................................................................95 4.3. Диспетчер журнала в SimpleDB .....................................................................97
Стр.6
6  Оглавление 4.4. Управление пользовательскими данными .................................................102 4.5. Диспетчер буферов в SimpleDB ...................................................................107 4.6. Итоги .............................................................................................................114 4.7. Для дополнительного чтения ......................................................................114 4.8. Упражнения ..................................................................................................115 Глава 5. Управление транзакциями ......................................................118 5.1. Транзакции ...................................................................................................118 5.2. Использование транзакций в SimpleDB .....................................................121 5.3. Управление восстановлением .....................................................................123 5.4. Диспетчер конкуренции ..............................................................................138 5.5. Реализация транзакций в SimpleDB ...........................................................157 5.6. Итоги .............................................................................................................161 5.7. Для дополнительного чтения ......................................................................163 5.8. Упражнения ..................................................................................................165 Глава 6. Управление записями ................................................................172 6.1. Архитектура диспетчера записей ...............................................................172 6.2. Реализация файла с записями ....................................................................178 6.3. Страницы записей в SimpleDB ....................................................................183 6.4. Сканирование таблиц в SimpleDB ...............................................................191 6.5. Итоги .............................................................................................................196 6.6. Для дополнительного чтения ......................................................................197 6.7. Упражнения ..................................................................................................198 Глава 7. Управление метаданными .......................................................201 7.1. Диспетчер метаданных ................................................................................201 7.2. Метаданные таблиц ......................................................................................202 7.4. Статистические метаданные .......................................................................207 7.5. Метаданные индексов ..................................................................................212 7.6. Реализация диспетчера метаданных ..........................................................215 7.7. Итоги ..............................................................................................................219 7.8. Для дополнительного чтения ......................................................................220 7.9. Упражнения ..................................................................................................221 Глава 8. Обработка запросов ...................................................................223 8.1. Реляционная алгебра ...................................................................................223 8.2. Образ сканирования ....................................................................................226 8.3. Обновляемые образы ...................................................................................229 8.4. Реализация образов сканирования.............................................................230 8.5. Конвейерная обработка запросов ...............................................................235 8.6. Предикаты ....................................................................................................236 8.7. Итоги .............................................................................................................242 8.8. Для дополнительного чтения ......................................................................243 8.9. Упражнения ..................................................................................................244
Стр.7
Оглавление  7 Глава 9. Синтаксический анализ .............................................................247 9.1. Синтаксис и семантика ................................................................................247 9.2. Лексический анализ .....................................................................................248 9.3. Лексический анализатор в SimpleDB ..........................................................250 9.4. Грамматика ...................................................................................................253 9.5. Алгоритм рекурсивного спуска ...................................................................256 9.6. Добавление действий в синтаксический анализатор ................................258 9.7. Итоги .............................................................................................................268 9.8. Для дополнительного чтения ......................................................................269 9.9. Упражнения ..................................................................................................270 Глава 10. Планирование ............................................................................275 10.1. Проверка .....................................................................................................275 10.2. Стоимость выполнения дерева запросов .................................................276 10.3. Планы ..........................................................................................................281 10.4. Планирование запроса ..............................................................................285 10.5. Планирование операций изменения ........................................................288 10.6. Планировщик в SimpleDB ..........................................................................290 10.7. Итоги ...........................................................................................................294 10.8. Для дополнительного чтения ....................................................................295 10.9. Упражнения ................................................................................................295 Глава 11. Интерфейсы JDBC .....................................................................300 11.1. SimpleDB API ...............................................................................................300 11.2. Встроенный интерфейс JDBC ....................................................................302 11.3. Вызов удаленных методов .........................................................................306 11.4. Реализация удаленных интерфейсов .......................................................309 11.5. Реализация интерфейсов JDBC .................................................................311 11.6. Итоги ...........................................................................................................313 11.7. Для дополнительного чтения ....................................................................313 11.8. Упражнение ................................................................................................314 Глава 12. Индексирование ........................................................................317 12.1. Ценность индексирования ........................................................................317 12.2. Индексы в SimpleDB ...................................................................................320 12.4. Расширяемое хеширование .......................................................................326 12.5. Индексы на основе B-дерева .....................................................................331 12.6. Реализации операторов с поддержкой индексов ....................................351 12.7. Планирование обновления индекса .........................................................356 12.8. Итоги ...........................................................................................................359 12.9. Для дополнительного чтения ....................................................................360 12.10. Упражнения ..............................................................................................362 Глава 13. Материализация и сортировка ...........................................367 13.1. Цель материализации ................................................................................367
Стр.8
8  Оглавление 13.2. Временные таблицы...................................................................................368 13.3. Материализация .........................................................................................369 13.4. Сортировка .................................................................................................372 13.5. Группировка и агрегирование ...................................................................384 13.6. Соединение слиянием ...............................................................................389 13.7. Итоги ...........................................................................................................395 13.8. Для дополнительного чтения ....................................................................396 13.9. Упражнения ................................................................................................397 Глава 14. Эффективное использование буферов ...........................401 14.1. Использование буферов в планах запросов .............................................401 14.2. Многобуферная сортировка ......................................................................402 14.3. Многобуферное прямое произведение ....................................................404 14.4. Определение необходимого количества буферов ...................................406 14.5. Реализация многобуферной сортировки .................................................407 14.6. Реализация многобуферного прямого произведения .............................408 14.7. Соединение хешированием .......................................................................412 14.8. Сравнение алгоритмов соединения .........................................................416 14.9. Итоги ...........................................................................................................419 14.10. Для дополнительного чтения ..................................................................420 14.11. Упражнения ..............................................................................................420 Глава 15. Оптимизация запросов ...........................................................424 15.1. Использование буферов в планах запросов .............................................424 15.2. Необходимость оптимизации запросов ...................................................431 15.3. Структура оптимизатора запросов ...........................................................434 15.4. Поиск наиболее перспективного дерева запроса ....................................435 15.5. Поиск наиболее эффективного плана ......................................................445 15.6. Объединение двух этапов оптимизации ..................................................446 15.7. Объединение блоков запроса ....................................................................454 15.8. Итоги ...........................................................................................................455 15.9. Для дополнительного чтения ....................................................................457 15.10. Упражнения ..............................................................................................458 Предметный указатель ..............................................................................461
Стр.9

Облако ключевых слов *


* - вычисляется автоматически
Антиплагиат система на базе ИИ