Ссылки и идентификационные
номера объектов
В "чистой"
объектно-ориентированной модели каждый объект снабжен уникальным
идентификационным номером (OID), который скрыт от пользователя
и не может быть просмотрен или запрошен. Объектно-реляционная модель позволяет
использовать ссылки в определениях типов, и поэтому в некоторых
обстоятельствах пользователю разрешается видеть значения ссылок и даже
манипулировать ими. Вы можете расценить эту возможность либо как заведомо
вредоносную, либо, наоборот, как нечто совершенно выдающееся (в зависимости от
конкретной точки зрения), но на практике все это мало что значит.
Обратная совместимость
Принимая во внимание
незначительную степень различий между двумя моделями, любопытно узнать, почему
объектно-реляционные системы завоевали всеобщее признание на рынке СУБД, а
объектно-ориентированные — нет. Главная причина, по нашему мнению, заключается
в том, что к тому моменту, когда объектно-ориентированные системы получили
сколько-нибудь серьезное развитие, реляционные СУБД уже существовали в тысячах
или даже миллионах экземпляров. По мере включения объектно-ориентированных
инструментов в реляционные коммерческие продукты их производители тщательно
заботились об обеспечении обратной совместимости. Иными словами, новейшие
версии систем все еще оказывались способными поддерживать весь имеющийся в
наличии код и схемы баз данных — даже в том случае, если пользователь, выполняя
обновление системы, принимал решение об отказе от каких бы то ни было
объектно-ориентированных возможностей. С другой стороны, переход от
реляционной к "чистой" объектно-ориентированной системе потребовал бы
глубокого пересмотра существующих работоспособных решений. Поэтому, какие бы
соблазнительные перспективы объектно-ориентированная модель ни сулила, все они
меркнут в сравнении с теми потенциальными трудностями, которые пришлось бы преодолеть
на пути превращения реляционной базы данных в объектно-ориентированную.