Проектирование и реализация систем управления базами данных [Эдвард Сьоре] (pdf) читать постранично, страница - 4
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
данных на стороне сервера для хранения информации о клиентах, товарах
и продажах. Или вообразите систему навигации GPS, использующую встроенную базу данных для управления картами дорог. В обоих этих примерах
система баз данных скрыта от пользователя; с ней взаимодействует только
код приложения.
С точки зрения разработчика программного обеспечения, обучение непосредственному использованию базы данных выглядит скучным занятием, потому что современные системы баз данных имеют интеллектуальные
пользовательские интерфейсы, упрощающие создание запросов и отчетов.
С другой стороны, включение поддержки базы данных в программное приложение выглядит более захватывающим, поскольку открывает множество
новых и неисследованных возможностей.
Но что означает «включение поддержки базы данных»? Система баз данных обеспечивает множество новых возможностей, таких как долговременное хранение данных, поддержка транзакций и обработка запросов. Какие
из этих возможностей необходимы, и как их интегрировать в программное
обеспечение? Предположим, например, что программиста просят изменить
существующее приложение и добавить возможность сохранения состояния,
повысить надежность или эффективность доступа к файлам. Программист
оказывается перед выбором между несколькими архитектурными вариантами. Он может:
приобрести полноценную систему баз данных общего назначения, а затем изменить приложение и организовать в нем подключение к базе
данных в качестве клиента;
взять узкоспециализированную систему, реализующую только нужные
функции, и встроить ее код непосредственно в приложение;
написать необходимые функции самостоятельно.
Чтобы сделать правильный выбор, программист должен понимать последствия работы каждого из этих вариантов. Он должен знать не только то, что
делают системы баз данных, но также как они это делают и почему.
В этой книге мы рассмотрим системы баз данных с точки зрения разработчика программного обеспечения. Это позволит нам понять, почему системы баз
данных являются такими, какие они есть. Конечно, важно уметь писать запросы, но не менее важно знать, как они обрабатываются. Мы должны не просто
уметь использовать JDBC, но и знать и понимать, почему API содержит именно
Вступление
11
такие классы и методы. Мы должны понять, насколько сложно написать дисковый кеш или подсистему журналирования. И вообще, что такое драйвер базы
данных.
Организация книги
Первые две главы содержат краткий обзор систем баз данных и принципов
их использования. Глава 1 обсуждает назначение и особенности системы баз
данных и знакомит с системами Derby и SimpleDB. Глава 2 рассказывает, как
написать приложение базы данных на Java. В ней будут представлены основы
JDBC – фундаментального API для программ на Java, взаимодействующих с базами данных.
В главах 3–11 рассматривается внутреннее устройство типичного механизма
базы данных. Каждая из этих глав охватывает отдельный компонент, начиная
с самого низкого уровня абстракции (диспетчер дисков и файлов) и заканчивая
интерфейсом самого верхнего уровня (интерфейс клиента JDBC). При обсуждении каждого компонента объясняются вероятные проблемы и рассматриваются
возможные проектные решения. Благодаря такому подходу вы сможете увидеть, какие услуги предоставляет каждый компонент и как он взаимодействует
друг с другом. На протяжении этой части книги вы будете наблюдать постепенное развитие простой, но вполне функциональной системы.
Остальные четыре главы посвящены эффективной обработке запросов.
В них исследуются сложные приемы и алгоритмы, предназначенные для замены простых решений, описанных в предыдущей части. Среди всего прочего
здесь рассматриваются: индексация, сортировка, интеллектуальная буферизация и оптимизация запросов.
предварительные требОвания
Эта книга предназначена для студентов вузов старших курсов, изучающих курс
информатики. Предполагается, что читатель знаком с основами программирования на Java, например он умеет использовать классы из java.util, в частности коллекции и ассоциативные массивы. Более сложные понятия из мира
Java (такие как RMI и JDBC) будут полностью объяснены в тексте.
Сведения, представленные в данной книге, обычно изучаются в углубленном курсе по системам баз данных. Однако в моей преподавательской практике их с успехом усваивали студенты, не имеющие опыта работы с базами
данных. Поэтому можно сказать, что для понимания идей, представленных
в этой книге, не требуется иметь какие-либо знания о базах данных, кроме поверхностного знакомства с SQL. Впрочем, студенты, незнакомые с SQL, также
смогут усвоить необходимые им знания.
прОграммнОе ОбеСпечение SimpleDB
По моему опыту, студенты быстро схватывают концептуальные идеи (такие
как управление параллелизмом и
Последние комментарии
24 минут 18 секунд назад
1 час 57 минут назад
5 часов 50 минут назад
5 часов 54 минут назад
11 часов 15 минут назад
1 день 22 часов назад