В этом всеобъемлющем руководстве рассматривается широкий круг задач проектирования баз данных XML,
предназначенных для использования в среде Web и на производстве. Если в вашем распоряжении уже имеется система управления базой данных с
поддержкой XML, то здесь вы найдете удобные методы проектирования, позволяющие добиться максимального повышения эффективности ее работы. Если вы
работаете с обычной реляционной СУБД, то узнаете самые лучшие способы ее использования для разработки приложений XML. А если вы собираетесь
создать базу данных на основе XML самостоятельно, то сможете овладеть всеми нужными для этого знаниями на практическом примере, в котором процесс
построения такой базы данных описан от начала до конца.
Книга предназначена для пользователей средней и высокой квалификации.
Предисловие
В настоящей книге обобщены знания, накопленные автором в течение 10 лет работы по проектированию и созданию баз данных (БД) для языка XML и использованию систем управления базами данных (СУБД) для решения практических задач.
Базы данных XML появились сравнительно недавно, но многие подходы и методы, которые могут применяться при проектировании БД XML, были проверены на практике в течение многих лет. Автор систематизировал эти подходы и методы, приспособил их к базам данных XML и применил самые современные и наиболее продуктивные технологии для создания практической инфраструктуры использования этих методов. На протяжении всей книги рассматривается исчерпывающий пример, который показывает, как обеспечить эффективное хранение данных XML, разработать схему для XML, организовать работу пользовательского интерфейса с другими технологиями XML, сформулировать запросы XML и в конечном итоге воплотить все полученные результаты в тщательно спроектированной архитектуре системы.
Эта книга предназначена для программистов, разработчиков баз данных, студентов, системных архитекторов, т.е. для всех, кто хочет научиться эффективно использовать, разрабатывать или создавать БД XML. Предполагается наличие основных знаний по XML и базам данных, а настоящая книга поможет обобщить и упорядочить эти знания. В книге рассматриваются следующие темы:
Проектирование схемы для существующей СУБД XML, начиная с определения понятий моделируемой проблемной области и заканчивая созданием совместимых схем для документов XML, реляционных баз данных и объектно-ориентированных приложений;
Хранение данных XML в реляционных СУБД, объектно-ориентированных СУБД или в двумерных файлах, а также выбор конкретного способа хранения;
Проектирование архитектуры системы, которая включает БД XML, Web-сервер и пользовательские приложения;
Разработка пользовательского интерфейса для доступа к данным XML через Web-броузер или приложение Java;
Выполнение запросов к БД XML и выбор алгоритмов поддержки этих запросов к БД XML;
Применение наиболее подходящего способа представления данных для СУБД XML.
Кроме того, здесь приведены основные теоретические сведения по базам данных XML, запросам и междокументным ссылкам.
Читателю будет интересно ознакомиться с историей создания этой книги. Когда автор заканчивал аспирантуру, на него произвел большое впечатление тот факт, что начальный период развития технологии баз данных, от академических исследований до промышленного применения, продолжался всего 10 лет. Автор решил, что может начать свою карьеру с передовых позиций, сосредоточившись на применении теории баз данных для решения реальных проблем. В то время активно велись разработки в рамках проекта Humane Genome Project (Проект по исследованию генома человека), и автор увлекся идеей внести свой вклад в это уникальное биологическое исследование, целью которого стало определение того, чем люди похожи на другие живые существа и чем от них отличаются. Работая в этой области, автор сумел определить методы, в наибольшей степени подходящие для создания баз данных.
Автор защитил диссертацию, посвященную теме структуризации данных, которая выросла на идеях искусственного интеллекта, гипертекстовых систем и баз данных. Исходный замысел диссертации заключался в том, что любые системы связей можно рассматривать как базу данных (или базу знаний) и применять тщательно продуманные операции даже к нечеткому множеству связей. За неимением лучших терминов автор назвал множество связей Web (Паутина), операции на этом множестве - Spiders (Пауки), а всю систему - Weave (Ткань). Однако в начале 90-х годов для такой причудливой системы не было иного практического применения, кроме формирования моделей знаний (искусственного интеллекта), обработки естественных языков и, что самое интересное, проведения исследований в области вычислительной биологии - науки, которая находилась в то время на самых ранних этапах развития.
Автор решил заняться изучением связей между элементами биологической информации с применением разработанной им системы и приступил к работе в качестве ученого-исследователя с докторской степенью в одной из самых первых лабораторий по вычислительной молекулярной биологии, которая была организована в Бэйлорском медицинском университете (Baylor College of Medicine). В процессе работы он обнаружил, что предложенная им структура связей, подобная графу, весьма напоминает механизмы, разработанные биологами для описания связей между биологическими реакциями в клетке. Автор усовершенствовал разработанные им методы в целях описания связей биологических данных в виде структуры, подобной графу, и нашел способы представления этих данных в крупных системах баз данных.
К тому времени другая группа разработчиков создала гипертекстовую систему под названием World Wide Web, предназначенную для обмена текстовой и графической информацией по Internet, которая быстро получила всеобщее признание. Эта система во многом напоминала систему, разработанную автором, поскольку обе они были основаны на общих идеях представления информации в виде гипертекста, но принятый в World Wide Web язык HTML (HyperText Markup Language - Язык гипертекстовой разметки) был в большей степени приспособлен для представления информации и в меньшей степени - для обработки данных. Он мог применяться для создания пользовательских интерфейсов к базам данных с научной информацией, но был полностью непригоден для описания этих научных данных.
Со временем исследования по Проекту генома человека вызвали интерес биотехнических и фармацевтических компаний, которые стали нанимать на работу тех, кто сумел освоиться в очень узкой, новой и замкнутой области использования компьютеров для управления быстро растущими объемами биологических данных. Эта область науки получила название биоинформатики. Автор начал применять свои разработки в сочетании с еще более крупными реляционными БД, а также изучать способы предоставления данных через Web-броузеры. В 1998 году консорциум World Wide Web выдвинул рекомендации по языку представления данных, подобному HTML и получившему название XML (eXtensible Markup Language - Расширяемый язык разметки), который обладает развитым синтаксисом и позволяет представлять иерархические данные.
С этого времени автор применяет язык XML для представления и хранения данных в коммерческих системах управления реляционными базами данных (СУРБД) с использованием инфраструктуры, разработанной им в течение 10 лет. В настоящей книге рассматриваются методы разработки баз данных, которые особенно удобны в сочетании с XML и не описаны в других источниках.
Поскольку далеко не все читают книги по научной тематике от корки до корки, ниже описано, в каком порядке можно знакомиться с главами этой книги:
Способы эффективного применения существующих СУБД XML приведены в главах 1, 2, 5, 7 и 10;
Коммерческие версии СУБД XML и инструментальные средства описаны в главе 6. Подготовительный материал, необходимый для изучения главы 6, приведен в главах 1, 4 и 5;
Применение существующих двумерных файлов, реляционных или объектно-ориентированных СУБД для хранения информации в коде XML описано в главах 2, 3, 4, 5, 7, 8 и 10;
Желающие вкратце ознакомиться с технологией БД XML, могут прочитать главы 1, 6 и 10. В главах 2 и 5 приведен материал, необходимый для освоения главы 10. В главе 4 описаны некоторые варианты практических проектов;
Специалисты, стремящиеся создать или усовершенствовать СУБД XML, должны изучить главы 3, 4, 8 и 9. В остальных главах содержится дополнительный материал;
Прочитайте всю книгу, если хотите узнать о базах данных XML практически все.