Мои поздравления слегка запоздали, поскольку юбилейное, седьмое издание книги вышло в издательстве Addison-Wesley в 2000 году. Но в конце прошлого года в издательстве «Вильямс» был издан русский перевод этой книги, так что появилась возможность совместить поздравление с рецензией этого русского издания.
Случилось так («должно было случиться так», писал Курт Воннегут), что на протяжении всего времени своих профессиональных занятий базами данных я связан с книгами и другими публикациями Криса Дейта. Первой серьезной книгой, посвященной технологии управления базами данных, для меня стало первое издание «Введения в системы баз данных». В конце 70-х его русский перевод ходил в списках. Мы читали его по очереди, обсуждали и спорили. Книга была особенно полезна тем, кто ко времени ее появления прочитал множество статей, посвященных System R и другим ранним реляционным системам. Статьи давали много информации, но именно книга Дейта позволила ее упорядочить.
В 1980 году издательством «Наука» был оубликован перевод второго издания книги. Перевод был сделан очень хорошо. Помимо возможности качественного обучения современным технологиям баз данных, русское издание ввело в обиход устойчивую реляционную терминологию, большей частью используемую до сих пор. В этом большая заслуга руководителя коллектива переводчиков Виктора Минаева и научного редактора, совсем тогда молодого Руслана Смелянского.
В 1988 году издательство «Финансы и статистика» издало на русском языке книгу Дейта «Руководство по реляционной системе DB2» в великолепном переводе Михаила Когаловского. Эта книга была очень полезна в качестве моста от теории и ранних экспериментов к зрелой (тогда еще не очень) коммерческой системе.
И снова должно было случиться так, что эти две книги плюс русское издание книги Джеффри Ульмана «Основы систем баз данных», которая была издана в 1983 году в «Финансах и статистике» в настолько же достойном переводе Когаловского, остались единственными заслуживающими внимания книгами на русском языке по тематике СУБД до 1999 года.
Дейт же продолжал регулярно выпускать новые издания своей книги, причем каждое издание существенно отличалось от предыдущего, но не снижало его собственной значимости. Лично мне больше всего нравятся второе и четвертое издания (немного позже я объясню, почему). Наряду с этим, Дейт регулярно писал небольшие, но очень интересные заметки для журналов DBMS, Data Base Programming and Design и Intelligence Enterprise. С середины 90-х я начал публиковать дайджесты его статей в Internet (www.citforum.ru).
В 1998 году вышло первое издание книги Дейта в соавторстве с Хью Дарвеном «Foundation for Object/Relational Databases: The Third Manifesto». Перевод на русский язык ранее изданной авторами «Третьего манифеста» статьи и пересказ первых двух глав этой книги опубликованы в журналах «СУБД» и «Открытые системы». В 2000 году было выпущено второе издание книги под названием «Foundation for Future Database Systems: The Third Manifesto». Это очень интересная, хотя и во многом спорная книга, которая сильно повлияла на последние два издания «Введения в системы баз данных».
Итак, новейшая история книги Дейта «Введение в системы баз данных» в России началась в 1999 году, когда издательство «Вильямс» выпустило перевод на русский язык шестого издания книги, вышедшего на английском языке в 1995-м. Я был очень рад, услышав, а потом и увидев это издание. Ведь целое поколение специалистов было лишено возможности учиться по этой книге. По содержанию книга мне понравилась, поскольку все важные разделы, связанные с теорией реляционных баз данных и управлением ими, в ней содержались. Дополнительные разделы, посвященные распределенным, объектно-ориентированным, дедуктивным системам баз данных удачно дополняли материал. Но, замечу, шестое издание мне нравится меньше четвертого и переходного пятого. Если до четвертого (включительно) издания в книгах Дейта писалось о том, как принято организовывать реляционные базы данных и СУБД в сообществе баз данных, то начиная с пятого издания все больший акцент делался на том, какие ошибки допускает сообщество при организации реляционных баз данных и СУБД. Если книгу 1980 года я смело рекомендовал и продолжаю рекомендовать в качестве учебника для студентов, то уже книгу 1999 года я рекомендую начинающим студентам только с оговорками. Если начинать изучать технологию реляционных баз данных именно по этой книге, то может создаться неполное и неточное представление о текущем состоянии этой технологии. Но, кстати, если сначала прочитать издание 1980 года и не обращать внимания на отвратительное качество перевода, то и шестое издание может быть очень полезным.
Кроме прочего, перевод шестого издания на русский язык выполнен из рук вон плохо. Не могу сказать, кто отвечает за это персонально, поскольку в выпускных данных книги отсутствуют имена переводчиков и редактора, но в целом, конечно, виновно издательство. Временами создается впечатление, что это результат автоматического машинного перевода, который до сдачи книги в типографию до конца не прочитал ни один человек. Не буду приводить конкретных выдержек, но текст попросту удручает. И уж само собой, про терминологию не думали вообще. Очень жаль, что этот недоброкачественный продукт разошелся большим тиражом и тем самым серьезно повредил делу обучения технологии баз данных в России.
Теперь про русский перевод седьмого издания (и про это издание вообще). Прежде всего, хочу сказать, что при подготовке этого издания издательство «Вильямс», по всей видимости, учло ошибки и отнеслось к работе вполне внимательно. Книга хорошо переведена и отредактирована (редактор перевода — А.В. Слепцов). Не хватает двух достаточно важных вещей: примечаний редактора, которые в этой книге местами просто необходимы и указаний на наличие русских вариантов публикаций, на которые ссылается Дейт (по большей части это статьи Дейта и Дарвена). Так что в этом случае нужно говорить больше об особенностях оригинала.
Как я уже отмечал, параллельно с подготовкой седьмого издания «Введения в системы баз данных» Крис Дейт совместно с Хью Дарвеном успели написать книгу про Третий манифест. Это очень интересная книга (особенно ее второе издание), в котором Дейт и Дарвен обоснованно и четко излагают свою позицию относительно своих новых взглядов на реляционную модель данных и место этой модели в будущих СУБД. Книга, безусловно, заслуживает отдельной и серьезной рецензии. Но в связи с настоящей рецензией необходимо отметить две важных черты этой книги. Во-первых, многие предложения авторов являются если не спорными, то, по крайней мере, недостаточно согласованными с многочисленными другими источниками. Во-вторых, авторы намеренно абстрагируются от вопросов реализации. По моему мнению, при попытке реализации предлагаемого подхода возникнут громадные технические трудности, путей преодоления которых пока не видно.
Эти черты не противоречат целям Третьего манифеста и даже вполне естественны для книги научно-исследовательского характера, посвященной обсуждению модельных аспектов баз данных. Жаль, с моей точки зрения, то, что Дейт перенес эти черты в седьмое издание своей основой книги, которая по замыслу, по характеру предыдущих изданий и по названию должна бы являться прежде всего учебником. В результате читатель, который начнет изучение технологии баз данных по седьмому изданию «Введения в системы баз данных»: (1) не получит достоверной информации о технологии реляционных СУБД, с которыми ему реально придется иметь дело, по крайней мере, в ближайшие годы; и (2) не сможет в полном объеме познакомиться с собственными идеями Дейта и Дарвена, поскольку в этой книге они изложены гораздо более конспективно, чем в книге о Третьем манифесте.
Замечу, что в седьмое издание включены некоторые главы, которые никогда раньше не включались во «Введение в системы баз данных». К ним относятся, прежде всего, главы про системы поддержки, принятие решений и темпоральные базы данных (которые в переводе названы «хронологическими», что не совсем соответствует их смыслу и отечественной терминологической традиции). Для общего образования эти главы полезны, но не более того, поскольку вокруг этих вопросов существует отдельная обширная библиография.
Мои выводы относительно седьмого издания книги Кристофера Дейта «Введение в системы баз данных» состоят в следующем.
- Спасибо автору за поддержку ценного пособия в течение двадцати пяти лет. Это просто подвиг!
- Можно извинить автора за то, что он перенасытил юбилейное издание популярной книги своими идеями, не являющимися (по крайней мере, пока) общепризнанными.
- Тем не менее, я не могу рекомендовать эту книгу студентам в качестве основного учебника по современной технологии баз данных.
- Советую читать седьмое издание тем, кто уже хорошо знаком с предметом, кому он нравится и кому интересны тенденции будущего развития технологии баз данных.
Кристофер Дейт, Введение в системы баз данных. Издание 7. Вильямс, 2001