Классика баз данных - статьи

       

у статьи, перевод на русский


Хотя у статьи, перевод на русский язык которой предлагается вашему вниманию, присутствует пять авторов, и все они весьма заслуженные и уважаемые в мире баз данных люди, эта статья прочно ассоциируется с именем Патриции Селинджер, поскольку именно она придумала и впервые реализовала соответствующий подход. Статья была написана на завершающем этапе проекта System R, экспериментальной реляционной СУБД компании IBM, на основе которой впоследствии были разработаны известные коммерческие продукты IBM SQL/DS и гораздо более известная СУБД DB2. На сайте CITForum.ru можно прочитать интервью Патриции Селинджер, мой обзор литературы, посвященной System R, а также исключительно интересный материал, посвященный встрече участников проекта System R спустя 25 лет после его начала. Во всех этих публикациях можно, помимо прочего, узнать интересные факты об истории появления данной статьи.
Скорее всего, статья Пат Селинджер, является одной из наиболее часто цитируемых во всем безбрежном пространстве литературы по базам данных. И, конечно, это связано совсем не с выдающимися писательскими достоинствами авторов. Напротив, статья написана предельно скромно и просто. Ее выдающаяся роль в новой истории технологии баз данных состоит в том, что именно она заложила подход к обработке запросов в реляционных системах баз данных, которого придерживаются разработчики всех современных СУБД.
Мотивация и суть подхода состоят в следующем. При формулировке запросов к базам данных на декларативных языках высокого уровня, таких как язык SQL, пользователь сообщает системе, какого рода данные его интересуют, но ничего не говорит от том, каким образом система должна обеспечить выборку этих данных. Система должна сама найти пути доступа к этим данным, т.е. сформулировать некоторый процедурный план выполнение запроса, выполнение которого приведет к желаемым результатам. Как правило, для одного SQL-запроса можно построить множество таких планов, и проблема состоит в том, что требуется выбрать из этого множества один план, позволяющий достичь результатов наиболее эффективным образом.

Содержание  Назад  Вперед