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

       

в которой вы создаете представление


Еще более непонятна ситуация, в которой вы создаете представление вида "select * from table where predicate". Что происходит, когда таблица изменяется, и к ней добавляется столбец? Что теперь означает представление? Имеется ли в нем столбцов больше, чем ранее? Мы должны угадывать, что происходит с этими представлениями при изменении соответствующих базовых таблиц. На самом деле, мы должны сделать представления неизменяемыми при таких изменениях базовых таблиц, поскольку в противном случае были бы повреждены существующие приложения. Так что я думаю, что это один из примеров непродуманных решений.

Глядя в прошлое, что вы представляете ключевыми элементами, принесшими успех System R?

О, мои взгляды носят ревизионистский характер. Я думаю, что в прототипе System R и его развертывании в тестовых средах имеются три элемента, которые повлияли на общее принятие систем хранения реляционных данных. Первый элемент очевиден, и о нем говорят все: изобретение непроцедурной спецификации запросов явилось громадным упрощением, намного облегчившим создание приложений. Теперь вам не нужно было говорить, какой использовать индекс или метод выполнения операции соединения. Это было колоссальным благом для разработки приложений.

Я люблю рассказывать, что значило быть DBA в то время, поскольку приложения были ужасно незавершенными. Быть DBA было хорошо, поскольку вы контролировали, что делать на следующем шаге. Каждый, кто хотел, чтобы что-нибудь было сделано, должен был приносить вам подарки, ну знаете, хорошие бутылки. И поэтому хорошо было быть DBA, по причине этой незавершенности приложений.

По моему мнению, возможность более просто указывать, как или что вы хотите выбрать из базы данных, вместо того чтобы говорить, как это сделать, была огромным преимуществом и весьма окупалась. Но действительные причины победы реляционных систем не имеют ничего общего с реляционной моделью; они связаны с тем, что в начальных прототипах, System R и поддерживались непредвиденные запросы и оперативное определение данных.

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