Re[2]: Языки запросов в объектно-ориентированных СУБД
От: hrg Россия  
Дата: 06.09.04 14:26
Оценка:
lextasy -> "Re: Языки запросов в объектно-ориентированных СУБД" :

l> Насколько я своим умом дошел, полноценный доступ с помощью языка

l> запросов возможен только к тем структурам данных, которые специально
l> предназначены для организации такого доступа. В принципе,
l> использование реляционного языка запросов делает невозможной
l> инкапсуляцию данных, и как следствие — полиморфизм. ИМХО для ООБД
l> лучше подходит метод, подобный службе коммерции в CORBA. Т.е. будет
l> лучше всего, если параллельно с объектной моделью будет существовать
l> более простая реляционная модель, используемая следующим образом:

l> 1) Каждая таблица из реляционной модели однозначно ассоциирована с

l> некоторым абстрактным интерфейсом, а не с конкретным классом объектов
l> (экстентом).
l> 2) Набор полей таблицы определяется набором свойств интерфейса,
l> которые объекты публикуют в этой таблице.

Фаулер. Шаблон Single Table Inheritence. Не всегда самый лучший. Основные
проблемы возникают, когда разные классы поддерживают один интерфейс и при
доставании данных нужно выбрать правильный

l> 3) Язык запросов позволяет только читать данные из таблиц, и строить

l> по ним представления. Писать в таблицы имеют право только объекты,
l> публикующие в них некоторые свои свойства. Соответственно, никакие
l> "referential integrity", "constraints", и т.п. для реляционного
l> предстваления не так уж и нужны, т.к. они автоматически соблюдаются
l> объектной моделью.

Фаулер. Service Layer.

l> 4) Главное: каждый отдельный экземпляр любого класса объектов БД

l> волен самостоятельно решать, когда ему публиковаться в реляционной
l> модели, а когда — нет, и на какое время.
l> 5) Каждая запись таблицы имеет поле OID, для связи с объектом.
l> Соответственно, над результатом SELECT можно производить некоторые
l> манипуляции, активизируя опубликованные объекты и вызывая их методы.

Фаулер. Identify Field. Это я все кому, есть разные пути нажить себе
гемморой

l> Получается такая себе реляционная "витрина" к объектной модели

l> данных. В качестве способа доступа к ней так и просится язык вроде
l> SQL.

Зачем? imho достаточно грамотно спроектированной библиотеки.

Yury Kopyl aka hrg | http://id.totem.ru | [TEAM Nemiroff борет]
Posted via RSDN NNTP Server 1.9 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.