[Comm] Постреляционная СУБД

Денис Черносов =?iso-8859-1?q?denis0=2Eru_=CE=C1_gmail=2Ecom?=
Ср Ноя 19 09:57:18 MSK 2008


18 ноября 2008 г. 22:56 пользователь Aleksander Gorohovski <
angel на feht.dgtu.donetsk.ua> написал:

> Если коротко (абстрактно), то суть в следующем:
>
> Есть некоторые объекты со своими свойствами и
> у некоторых свойств  есть различное количество подобъектов,
> тоже со своими свойствами, т.е. структура с 2-3-х уровневой иерархией.
>
> Можно, конечно, и реляционную модель взять, но слишком много маленьких
> табличек получится
> :)
>

http://ru.wikipedia.org/wiki/Zope - включает объектную БД.
Можно попробовать приспособить LDAP (а бэкенд к нему на той же Postgesql
сделать).

Можно и в реляционной БД ручками... Если вложенные объекты более-менее
подобны родительским и общее количество уникальных атрибутов не слишком
велико, то всё прекрасно хранится в одной таблице с указанием parent_id.

Можно усложнить логику выборок, но получить практически универсальное
хранилище, если сделать как-то так:
classes:
id, parent_id, type (class|method|attribute),name,
value_type(int,float,text,...), default_value, comment - для классов

objects:
id, class_id, value - для экземпляров.

Разумеется любые значения придется хранить в виде строк, а value_type будет
только подсказкой для обработки.
Можно ли и нужно ли будет хранить код методов объектов в БД - без понятия.
Они могут заполняться только для наглядности при анализе дерева классов.
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/community/attachments/20081119/102f1686/attachment.html>


Подробная информация о списке рассылки community