Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Основы будущих систем баз данных. Третий манифест.

К.Дж.Дейт, Хью Дарвен
Перевод: С.Д.Кузнецов, Т.А.Кузнецова
Под ред. С.Д.Кузнецова

Издано: Издательство Янус-К, 2004 г.
Твердый переплет, 656 стр.

Начало
Cодержание
Комментарий редактора перевода
[Заказать книгу в магазине "Колибри"]
[Заказать книгу в магазине "Мистраль"]

К выходу в свет перевода на русский язык книги К. Дж. Дейта и Хью Дарвена "Основы будущих систем баз данных: третий манифест".

С.Д. Кузнецов, научный редактор перевода

Подготавливая к изданию русский перевод книги Криса Дейта и Хью Дарвена «Основы будущих систем баз данных Третий манифест», я не решился включить в книгу свое предисловие научного редактора перевода. Мне это показалось нескромным. Однако не столь огромная, как авторская, но все же весьма объемная проделанная редакторская работа дает мне право выразить свое уважительное, но несколько критическое отношение к материалу, представленному в книге, и я делаю это уже после выхода книги в свет. Сразу хочу заметить, что этот текст никоим образом не заменяет и не дополняет замечательные авторские предисловия к первому и второму оригинальным изданиям.

Прежде всего, мне хочется пояснить, почему я с таким интересом взялся за подготовку русского варианта этой книги. Во-первых, я вообще люблю сочинения Кристофера Дейта и, в частности, его книги, написанные в соавторстве с Хью Дарвеном. Я считаю ранние издания книги К. Дейта «Введение в системы баз данных» (до шестого издания включительно; особое отношение к седьмому изданию отражено в моей рецензии, опубликованной в журнале «Открытые системы», No. 2, 2002, http://www.osp.ru/os/2002/02/073.htm, это отношение распространяется и на вышедшее в конце 2003 г. восьмое издание) образцами академических учебников по технологии баз данных. Книга К. Дейта совместно с Х. Дарвеном «Руководство по стандарту языка SQL», с моей точки зрения, является лучшим введением в этот язык (точнее, в язык SQL:1992). Многочисленные статьи авторов (см., например, некоторые пересказы на сайте www.citforum.ru) всегда отличались свежими и оригинальными взглядами на насущные проблемы баз данных.

Далее, в конце 80-х – начале 90-х гг. прошлого века были опубликованы два важных документа, в которых затрагивались принципиальные вопросы будущей технологии баз данных. В 1989 г. появился на свет Манифест систем объектно-ориентированных баз данных, в котором критиковался реляционный подход к организации баз данных, и утверждалось и обосновывалось, что будущие системы баз данных должны являться системами объектно-ориентированного программирования, сохраняя традиционные возможности систем баз данных. В 1990 г. был опубликован Манифест систем баз данных следующего поколения. Авторы Второго манифеста отрицали революционный характер Первого манифеста, выступали за эволюционное развитие технологии баз данных и считали, что в будущих системах баз данных необходимо сохранить все свойства SQL-ориентированных систем, но усовершенствовать их систему типов данных.

В ответ на призывы первых двух манифестов, каждый из которых был подписан целым рядом известных и авторитетных исследователей и специалистов в области информационной технологии, Кристофер Дейт и Хью Дарвен подготовили и опубликовали в 1995 г. собственный документ, который назвали просто Третьим манифестом. Основные идеи Третьего манифеста состояли в том, что, по мнению авторов, в Первом манифесте полностью отвергаются все теоретические и практические наработки, основанные на реляционной модели данных, и взамен предлагается недостаточно продуманный, логически несогласованный подход, лишенный надежного теоретического обоснования. Второй манифест в действительности также базируется не на реляционной модели данных, а на ее уродливом искажении, поддерживаемом в языке SQL. Этот язык не может являться стратегической основой будущих технологий баз данных. В то же время, и в Первом, и во Втором манифестах присутствует общая здравая идея, порожденная реальными требованиями практики – определяемые пользователями типы данных. Как считали Дейт и Дарвен, именно эта возможность является ключевой для применения технологии баз данных в нетрадиционных приложениях. Базовым утверждением Третьего манифеста является то, классическая реляционная модель данных в том виде, в котором она была предложена Эдгаром Коддом в конце 60-х гг. прошлого века, абсолютно не противоречит идее определяемых пользователями типов данных. Будущие системы баз данных могут основываться на проверенной временем реляционной модели и в то же время полностью отвечать потребностям разработчиков и пользователей в “объектных” расширениях.

Все три манифеста породили активные обсуждения и дискуссии в сообществе баз данных. До поры до времени эти дискуссии основывались, большей частью, на собственных представлениях и фантазиях участников, поскольку манифесты представляли собой, скорее, наборы деклараций, чем развернутые и тщательно обоснованные предложения. К концу 90-х гг. появились более проработанные и более детальные спецификации каждого из трех подходов. Первый манифест был одним из факторов, приведшим к созданию консорциума Object Management Group, который за время своего существования с 1991 по 2001 гг. выпустил три версии спецификаций объектной модели данных, претендующей на роль стандарта для систем объектно-ориентированных баз данных. Второй манифест оказал очень сильное влияние на процесс стандартизации языка SQL. В стандартах SQL:1999 и SQL:2003 вопросам определения пользовательских типов данных и типизированных таблиц уделяется весьма серьезное внимание. Наконец, в 1998 г. Дейт и Дарвен выпустили книгу “Foundation for Object/Relational Databases: The Third Manifesto”, в которой предлагалась подробная проработка идей Третьего манифеста. В 2000 г. вышло второе, существенно переработанное издание книги под названием “Foundation for Future Database Systems: The Third Manifesto”, перевод которого и предлагается вашему вниманию.

Я убежден в том, что любой квалифицированный специалист в области баз данных обязан хорошо знать все эти спецификации, и своей книге “Базы данных: модели и языки”, готовящейся к изданию в издательстве “Бином” я посвящаю каждому из подходов отдельную большую главу. Однако, что касается перевода на русский язык, то наилучшим претендентом было второе издание книги Дейта и Дарвена. Последнее издание стандарта ODMG 3.0, как и предыдущие издания, грешит массой неточностей, недоговорок и противоречий. Стандарт SQL не приспособлен для обычного чтения – это сугубо справочный материал, а полностью удовлетворительных литературных изложений стандарта пока не существует. В отличие от этого, книга Дейта и Дарвена содержит полностью продуманный и логически согласованный материал, строго изложенный хорошим литературным языком (надеюсь, нам удалось, хотя бы частично, сохранить этот язык в своем переводе). По моему мнению, читателю предлагается непростое, но очень увлекательное и полезное чтение.

Книгу (даже и на русском языке) действительно читать не очень легко. Конечно, прежде всего, это связано с обширностью и достаточной сложностью материала. Предполагается предварительное знакомство читателя не только с основами технологии баз данных, но и с языками программирования, теорией типов данных, теорией множеств, алгеброй, математической логикой и т.д. Конечно, все необходимые понятия определяются, но не всегда это оказывается достаточным для понимания. Далее, организация книги следует структуре Третьего манифеста, который построен в виде набора формулировок требований и рекомендаций к желательному языку баз данных. В книге каждое из этих требований детально поясняется, обосновывается и иллюстрируется. В результате книга состоит из набора, вообще говоря, неупорядоченного набора логически связанных эссе. Для хорошего понимания и усвоения материала требуются постоянные прыжки вперед по тексту и возвраты назад. Признаюсь, что у самого меня сложилась полностью целостная картина предложений Дейта и Дарвена только после третьего прочтения книги. Но смею вас заверить, что игра стоит свеч!

Исходя из собственного богатого опыта чтения книги, рискну предложить вам некоторые рекомендации по поводу ее правильного изучения с целью получения наибольшей пользы. Первые две главы написаны немного чересчур высокопарно, поскольку в этих главах авторы обосновывают свой общий научный подход. Прежде всего, не бойтесь этой высокопарности. Начиная с третьей главы, она практически исчезает. Постарайтесь извлечь из этих глав три важных факта, понимание которых действительно потребуется для чтения следующих глав книги. Во-первых, между значениями типа данных и переменными этого типа имеется принципиальное логическое различие: значения неизменны во времени и пространстве; переменные могут содержать разные значения в разные моменты времени. Во-вторых, требуется различать тип отношения, значения-отношения и переменные отношения. В третьих, термины домен, тип данных и объектный класс логически означают одно и то же.

При первом чтении пропустите главу 3. Она содержит формальное изложение предписаний, запретов и очень строгих суждений Третьего манифеста, и ее отдельное прочтение вам ничего не даст. Четвертую главу нужно читать обязательно. Но предварительно вспомните реляционную алгебру Кодда и какой-нибудь из вариантов алгебры, излагаемых в последних изданиях книги Дейта «Введение в системы баз данных». В этой главе вводится новая реляционная алгебра – Алгебра A – основанная на трех операциях, являющихся реляционными аналогами базовых операций конъюнкции, дизъюнкции и отрицания алгебры логики. Эта алгебра позволяет лучше понять логические корни реляционной модели данных, а также уяснить фундаментальность операции естественного соединения. Полнота Алгебры A показана в главе 4, а также, частично, в главах 5 и 6. В пятой главе вводится развернутое синтаксическое обрамление Алгебры A в виде учебного языка Tutorial D, в котором также определяются скалярные и кортежные типы, операции и выражения. Мне кажется, что эту главу не следует читать слишком внимательно (тем более, что она написана в исключительно формальном стиле). Почти все конструкции Tutorial D, используемые в дальнейших главах, понятны и без этого.

После этого книгу следует читать подряд (с необходимыми прыжками вперед и возвратами назад). Я не берусь перечислить все полезные темы, обсуждаемые в главах 6-16, но, с моей точки зрения, наиболее важным достижением Части III (главы 6-11) является спецификация механизма определяемых пользователями скалярных типов и операций. При определении типа можно специфицировать несколько возможных представлений значений этого типа при наличии одного защищенного от доступа пользователей реального представления. Для каждого возможного представления автоматически обеспечивается операция выборки значения типа по заданным значениям компонентов возможного представления, а также операции и псевдопеременные, обеспечивающие доступ к компонентам возможного представления значений и переменных данного типа. Необходимо понять механизмы кортежных типов и типов отношения, порождаемых с помощью соответствующих генераторов типов. Еще одной важной особенностью системы типов Третьего манифеста является ассоциирование операции с произвольным числом типов на основе объявленных типов параметров. Читателям, озабоченным возможными практическими последствиями потенциального внедрения предложений Дейта и Дарвена, полезно внимательно прочитать конец главы 10, где достаточно подробно описана возможная реализация SQL-надстройки над языком D.

Пять глав Части IV содержат определение модели наследования типов, логически согласованной с системой типов Третьего манифеста. Я думаю, что эта модель может вызвать недоумение и даже возмущение ряда программистов, использующих средства наследования, которые приняты в объектно-ориентированном подходе, но лично мне еще не приходилось видеть настолько продуманных, обоснованных и целостных моделей наследования (да и редко кто-либо пытается сформулировать подобные модели). Авторы базируются на распространенном принципе возможности замены значений – везде, где может находиться или использоваться значение некоторого типа, может находиться или использоваться значение любого его подтипа. Из этого следует, что множество значений любого подтипа является собственным подмножеством любого его супертипа, а чтобы выделить подмножество из любого множества, нужно сформулировать условие, или ограничение принадлежности к подмножеству. Так Дейт и Дарвен приходят к выводу, что единственным правильным механизмом подтипизации является специализация через ограничение. Рекомендую читать Часть IV следующим образом. Глава 12 представляет собой легкое чтение, позволяющее войти в курс дела и немного расслабиться перед погружением в трудный материал следующих глав. Главу 13, как и главу 3, при первом чтении можно пропустить – она содержит формальное изложение предписаний модели наследования. Глава 14 вводит механизм одиночного наследования скалярных типов. Это фундамент модели наследования, здесь нужно постараться основательно разобраться во всем материале. Далее, Дейт и Дарвен убедительно доказывают, что в контексте реляционной модели данных, если вообще поддерживается наследование типов, то должно поддерживаться множественное наследование, и в главе 15 обсуждается механизм множественного наследования скалярных типов. Нельзя сказать, что эта глава существенно сложнее предыдущей, но содержащиеся в ней формулировки и доказательства являются гораздо более громоздкими. Советую вам как можно более активно пользоваться приводимыми иллюстрациями, они очень способствуют пониманию. Наконец, в последней главе книги модель наследования расширяется на типы кортежей и отношений. Это еще более громоздкий материал, и для его понимания, скорее всего, придется возвращаться к предыдущим двум главам.

Не пренебрегайте приложениями. Все они являются интересными. Но более всего я рекомендую Приложение F, в котором детально обсуждается и критикуется идея наследования таблиц, поддерживаемая, например, в SQL:1999, а также Приложения H и I, в которых кратко характеризуются модели SQL:1999 и ODMG, и анализируется их соответствие модели Дейта и Дарвена. Невозможно переоценить полезность Приложения K, содержащего обширную библиографию, снабженную критическими развернутыми аннотациями.

Следует ли идеализировать Третий манифест? Конечно же, нет. Книга позволяет хорошо понять сильные и слабые места объектно-ориентированного и объектно-реляционного подходов, убедительно показывает, что наличие развитой системы типов не противоречит реляционной модели данных, но полное решение всех проблем, породивших, например, критикуемые компромиссы языка SQL, по-прежнему отсутствует. Одним из наиболее ярких примеров являются многолетние и все еще безуспешные попытки Криса Дейта отказаться от неопределенных значений (NULL), заменив их специальными значениями типов данных.

Книга Дейта и Дарвена изобилует разнообразными техническими терминами, не все из которых устоялись в отечественной терминологии технологии баз данных. Переводчики и редактор книги старались крайне аккуратно относиться к терминологии, сверяясь с наиболее авторитетными источниками (прежде всего, с “Энциклопедией технологии баз данных” М.Р. Когаловского). В небольшом числе случаев по идейным соображениям приходилось использовать собственные варианты терминов. В одном единственном случае был оставлен авторский термин в оригинальной транскрипции. Речь идет о термине relvar, являющемся сокращением от relation variable (переменная отношения). Предвидя возмущенные возгласы части читателей, хочу заблаговременно оправдаться. Вводя термин relvar во второй главе книги, авторы обосновывают это тем, что “возможность использования ‘relvar’ как сокращения вместо необходимости всегда использовать полную форму ‘переменная отношения’ весьма сокращает писанину и облегчает дыхание”. Нам очень не хотелось раздувать писанину и затруднять дыхание, а благозвучное русское сокращение “переменной отношения” образовать не удалось.

В заключение этой заметки хочу сказать, что в журнале “Открытые системы” и на сайте www.citforum.ru мной публиковались пересказы начальных глав первого издания книги: “Третий манифест Кристофера Дейта и Хью Дарвена: предпосылки и обзор” и “Третий манифест Кристофера Дейта и Хью Дарвена: немного формализма”. Возможно, что с этими материалами стоит познакомиться до начала чтения книги.

Начало
Cодержание
Комментарий редактора перевода
[Заказать книгу в магазине "Колибри"]
[Заказать книгу в магазине "Мистраль"]

 

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...