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

       

В 2005 г. Майкл Блаха


В 2005 г. Майкл Блаха специально для портала www.odbms.org написал статью "Дилемма инкапсуляции и оптимизации запросов". Статья показалась нам интересной в двух отношениях. Во-первых, в ней используется непривычная для нас трактовка термина "инкапсуляция". По Блахе методы объекта являются инкапсулированными, если из них вызываются только методы объектов-соседей данного объекта по связям. Такой метод объектно-ориентированного программирования соответствует требованиям закона Деметры (или закона хорошего стиля программирования), сформулированного Карлом Либерхером, Яном Холландом и Артуром Райлом (Karl Lieberherr, Ian Holland, Arthur J. Riel) еще в 1988 г. Во-вторых, автор достаточно убедительно показывает, что подобная инкапсуляция конфликтует с такими методами формулировки запросов к базам данных, которые дают возможность оптимизатору запросов производить наиболее эффективные планы. Как утверждает автор (и с этим трудно не согласиться), этот конфликт является непреодолимым в принципе. Но, поскольку при наличии этого конфликта нужно продолжать создавать качественные и эффективные приложения, автор дает несколько практических советов, которые, хотя и являются достаточно очевидными, могут пригодиться на практике.

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