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



         

Инкапсуляция - часть 2


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

как данные, так и операции хранятся в базе данных.

Таким образом, имеется единая модель для данных и операций, и информация может быть скрыта. Нельзя выполнить никакие иные операции, помимо указанных в интерфейсе. Это ограничение справедливо как для операций изменения, так и для операций выборки.

Инкапсуляция обеспечивает разновидность логической независимости данных (logical data independence): мы можем изменить реализацию типа, не меняя каких-либо программ, использующих этот тип. Таким образом, прикладные программы защищены от реализационных изменений на нижних слоях системы.

По-нашему мнению, правильной инкапсуляцией является такая, когда видны только операции, а данные и реализация операций скрыты в объектах.

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




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