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

       

и принимать решения относительно потенциально


Если пользователи вынуждены выбирать и принимать решения относительно потенциально не требуемых деталей представления, последствия могут быть разнообразными и дорогостоящими … Это не только аргумент в пользу того, чтобы защитить пользователей от … низкоуровневых деталей физического представления; в равной степени этот аргумент против введения … надуманного, концептуально избыточного логического представления" (немного перефразировано). Эти аргументы сегодня настолько же сильны, действительны и правильны как во время их начального появления! Печально, что наша индустрия потеряла к ним внимание (конечно, я имею в виду бесчисленные попытки заменить реляционную модель некоторой разновидностью "объектной модели").

Описательное, а не конструктивное выражение намерений: Кодд характеризует исчисление как описательное, а алгебру как конструктивную, и утверждает, что первый подход предпочтительнее второго. Как я отмечал два месяца назад, я не полностью с этим согласен, но я совершенно солидарен с Коддом в том, что и исчисление, и алгебра лучше процедурного подхода.

Понимание и модификация программ: Этот аргумент следует из двух предыдущих. "Важна ясность намерений, [особенно] когда требуется изменить прикладную программу [и в особенности тогда, когда это изменение должно производиться людьми], не писавшими эту программу." В связи с этим Кодд предлагает сравнить работу по изменению порядка двух кванторов в Alpha-программе c той работой, которая требуется для изменения Codasyl-программы для достижения того же результата. Хороший пример!

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

Эволюционное развитие структур данных: Этот аргумент связан с предыдущем и похож на него (он тоже означает, что пользовательские программы могут получить автоматический выигрыш от развития технологии физического хранения.) Здесь под "структурами данных" Кодд в действительности понимает структуры хранения.

Поддержка специализированных языков запросов и обновления: "Многим пользователям требуются … языки, специализированные для их приложений. Высокая стоимость поддержки [таких] языков … предполагает, что нужно распознать [настолько много общих функций, насколько это возможно] и запрограммировать их раз и навсегда … [Исследования в области процессоров запросов на естественных языках] показывают, что языки, основанные на исчислении, ведут к достижению этой цели." И снова это очень правильно. Кстати, собственная более поздняя работа Кодда над системой запросов на естественном языке Rendezvous добавляет вес этому аргументу.


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