powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Обектную СУБД
25 сообщений из 68, страница 2 из 3
Обектную СУБД
    #33280562
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modПонятно я как-раз на VB .NET программю
У меня задача такая:
От класса порождать потомки(несколько уровней) постепенно добавляя свойства, затем всё это безобразие выводить в TreeView.
Реально её решить с помощь Fast Object?

Если ограничения исследовательского проекта не будут конфликтовать с условиями технического задания - можно воспользоваться моей разработкой Cerebrum. Ее модель данных как раз расчитана на динамическое изменение объектов во время работы системы. Если потомки отличаются от предков только наличием аттрибутов - то в Cerebrum будет достаточно разработать только один класс. Классы-потомки не нужны, чтобы добавлять к объектам дополнительные аттрибуты. Каждый отдельный экземпляр класса имеет право реализовать любое колличество аттрибутов, нереализованных в классе.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33280580
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Rovdo shuklin
А какие ограничения нужно соблюдать, чтоб потом все работало без побочных эффектов?

Ну на такой общий вопрос могу только переадресовать на техническую документацию. Смотрите FastObjects™ .NET Programmer's Guide .

Жаль. А я вот на подобный вопрос в контексте Cerebrum могу ответить и лично.
1. Нужно с осторожностью использовать механизм events & delegates так как они не обслуживаются ядром VNPI. Их реализация и использование в persistent классах будет на страх и риск разработчика. В этом случае желательно хорошее знание механизма сборки мусора Cerebrum (а не GAC)

2. При работе с Cerebrum придется изучить и использовать механизм реализуемый интерфейсом IConnector. Чтобы обойти проблему, которую мы обсуждали ранее, в Cerebrum вместо указателей используются идентификаторы объектов. Чтобы получить указатель на .NET экземпляр persistent объекта необходимо используя NativeHandle и интерфейс IContainer получить указатель на интерфейс IConnector. В свойстве Component этого интерфейса можно взять указатель на пользовательский persistent объект.

Это самые основные by design ограничения API Cerebrum.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33280581
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
modИ приложение у меня должно позволять добавлять классы и удалять.... При таком подходе как FastObject это получится?

Это должно происходить в динамическом режиме? Т.е. в процессе работы вашего приложения вы хотите создавать (изменять) класс и затем без каких-либо дополнительных действий уже работать тут же с объектами этого класса? Или же ваша задача проще? В первом случае вам вряд ли поможет именно FastObjects .NET. Дело в том, что пользовательское .NET-приложение должно знать структуру классов на этапе компиляции, т.е. для использования новых классов приходится перекомпилировать приложение. Динамическое изменение схемы и доступ к объектам возможны через С++-интерфейс объектного сервера (см. документацию к FastObjects t7, FastObjects™ C++ Generic Objects Programmer's Guide ), а также в Versant Object Database (C++).
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281123
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin
Их реализация и использование в persistent классах будет на страх и риск разработчика.

Если Вы хотели обрадовать этим разработчика, то я думаю Вам это удалось.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281403
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin modПонятно я как-раз на VB .NET программю
У меня задача такая:
От класса порождать потомки(несколько уровней) постепенно добавляя свойства, затем всё это безобразие выводить в TreeView.
Реально её решить с помощь Fast Object?

Если ограничения исследовательского проекта не будут конфликтовать с условиями технического задания - можно воспользоваться моей разработкой Cerebrum. Ее модель данных как раз расчитана на динамическое изменение объектов во время работы системы. Если потомки отличаются от предков только наличием аттрибутов - то в Cerebrum будет достаточно разработать только один класс. Классы-потомки не нужны, чтобы добавлять к объектам дополнительные аттрибуты. Каждый отдельный экземпляр класса имеет право реализовать любое колличество аттрибутов, нереализованных в классе.
Оно канечно хорошо, тока всё же лучше атрибуты не на экземпляры вешать, а на подклассы ибо у групп(подклассов) экземпляров они схожи... но увы мне нужна коммерческая версия СУБД...
Суть моего исследвания в том, что эффективно ли внедрить систему основанную на ООСУБД на предприеятие...
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281416
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo shuklin
Их реализация и использование в persistent классах будет на страх и риск разработчика.

Если Вы хотели обрадовать этим разработчика, то я думаю Вам это удалось.

В отличии от некоторых, я горжусь своими ограничениями. Дай им удачи не хуже иметь
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281439
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modОно канечно хорошо, тока всё же лучше атрибуты не на экземпляры вешать, а на подклассы ибо у групп(подклассов) экземпляров они схожи...
Можно и на подклассы. По любому, если гдето не хватат аттрибута, всегда можно его прицепить к конкретному уже существующему экземпляру.
Или если вдруг лишний - удавить несмотря на то что в классе он определен.

modно увы мне нужна коммерческая версия СУБД...
Суть моего исследвания в том, что эффективно ли внедрить систему основанную на ООСУБД на предприеятие...

Вот тут приходится развести руками. Научно-исследовательская разработка однако. Текущую версию в практических сценариях могу рекомендовать толкько как ембидет в приложения, хранящие данные в локальных файлах.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281444
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Rovdo modИ приложение у меня должно позволять добавлять классы и удалять.... При таком подходе как FastObject это получится?

Это должно происходить в динамическом режиме? Т.е. в процессе работы вашего приложения вы хотите создавать (изменять) класс и затем без каких-либо дополнительных действий уже работать тут же с объектами этого класса? Или же ваша задача проще? В первом случае вам вряд ли поможет именно FastObjects .NET. Дело в том, что пользовательское .NET-приложение должно знать структуру классов на этапе компиляции, т.е. для использования новых классов приходится перекомпилировать приложение. Динамическое изменение схемы и доступ к объектам возможны через С++-интерфейс объектного сервера (см. документацию к FastObjects t7, FastObjects™ C++ Generic Objects Programmer's Guide ), а также в Versant Object Database (C++).
Угу, в динамическом режиме, в том и жуть.... Я реализовал задачу в Ms SQL, но там пришлось расчленять классы, объекты и свойства по таблицам. Получились таблицы хранящие классы и подклассы, свойства и пр. Оно работает и вроде даже в ФНБК вписывается, но как-то некрасиво. Поэтому ищу способ без расчленёнки.... Я уже и понял что не подходит...
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281473
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mod...Угу, в динамическом режиме, в том и жуть.... Я реализовал задачу в Ms SQL, но там пришлось расчленять классы, объекты и свойства по таблицам. Получились таблицы хранящие классы и подклассы, свойства и пр. Оно работает и вроде даже в ФНБК вписывается, но как-то некрасиво. Поэтому ищу способ без расчленёнки.... Я уже и понял что не подходит...

А на .NET свет клином сошелся?
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281478
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modУгу, в динамическом режиме, в том и жуть.... Я реализовал задачу в Ms SQL, но там пришлось расчленять классы, объекты и свойства по таблицам. Получились таблицы хранящие классы и подклассы, свойства и пр. Оно работает и вроде даже в ФНБК вписывается, но как-то некрасиво. Поэтому ищу способ без расчленёнки.... Я уже и понял что не подходит...

Если не нужен многопользовательский доступ и все приложение реально развренуть только на одном PC - даже для пром применения рекомендую обратить внимание на мое поделие. Оно как раз и под такие проблемы измышлялось. Если нужен многопользовательский доступ или распределенная система - или ищите другие варианты, или подождите пока я допилю свою БД , или еще остается возможность использовать .NET Remoting для доступа по сети к БД Cerebrum
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281488
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идея то была работать с объектами через запросы.... Жёсткая компиляция увы никак не идёт... Буду дальше искать...
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281676
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит авторработать с объектами через запросы?
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281740
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
modИдея то была работать с объектами через запросы.... Жёсткая компиляция увы никак не идёт... Буду дальше искать...

Я ведь почему про .NET спрашивал - все указанное выше есть в Versant Object Database 7.0 в C++ и Java (JVI) интерфейсах. К примеру для Java (выдержка из документации):


How to add an attribute
You can add a new attribute to the current set of attributes in a class.
The following example appends a new attribute named "description" of type string to class named
"Report".

For example:
ClassHandle cls = session.locateClass ("Report");
AttrString desc = session.newAttrString ("description");
AttrBuilder attr = session.newAttrBuilder (desc);
cls.appendAttr (attr);

How to drop an attribute
You can drop an existing attribute from a class.

For example:
ClassHandle cls = session.locateClass ("Report");
cls.dropAttr ("attr");

How to rename an attribute
You can rename an existing attribute in a class.

For example:
ClassHandle cls = session.locateClass ("Report");
// rename "description" to "subject"
cls.renameAttr ("description", "subject");

How to rename a class
...
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281746
mod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-geneЧто значит авторработать с объектами через запросы? имею ввиду что неполучится компилировать...
По задаче из приложения эксперты должны добавлять классы и тут же операторы должны вносить значения свойств объектов....
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281810
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут надо понимать наличие ряда проблем при многопользовательском доступе. Вот, скажем, эксперт изменил название атрибута, а оператор как-раз заканчивает ввод данных по объекту этого же класса. И что? Приложение, стоящее у оператора пытается сохранить данные в старой структуре, а структура уже изменилась. Придется писать обработчики для всех подобных ситуаций (ну или мириться с тем, что будет выдано сообщение об ошибке и набранные оператором данные потеряются).
...
Рейтинг: 0 / 0
Обектную СУБД
    #33281982
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
modимею ввиду что неполучится компилировать...
Сделайте тогда класс - значение аттрибута. И в базовом классе для всех своих классов держите коллекцию экземпляров этих аттрибутов. Для таких фишек ОБД как раз самое то. И компилить не надо. И объект будет всегда по прямому указателю со всеми своими аттрибутами доступен.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282030
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin modимею ввиду что неполучится компилировать...
Сделайте тогда класс - значение аттрибута. И в базовом классе для всех своих классов держите коллекцию экземпляров этих аттрибутов. Для таких фишек ОБД как раз самое то. И компилить не надо. И объект будет всегда по прямому указателю со всеми своими аттрибутами доступен.
И получиться у Вас классический случай EAV модели, и нафига тогда связываться с ООБД, когда все ложится в 4 таблицы? :)
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282065
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR shuklin modимею ввиду что неполучится компилировать...
Сделайте тогда класс - значение аттрибута. И в базовом классе для всех своих классов держите коллекцию экземпляров этих аттрибутов. Для таких фишек ОБД как раз самое то. И компилить не надо. И объект будет всегда по прямому указателю со всеми своими аттрибутами доступен.
И получиться у Вас классический случай EAV модели, и нафига тогда связываться с ООБД, когда все ложится в 4 таблицы? :)

1. Их тогда не придется переливать в классы. Одна проблема исчезла. Я не говорю что маппинг уш очень большая проблема. Но решение проблемы и отсутствие проблемы - две большие разницы.

2. не нужно проводить JOIN аттрибутов с объектами - аттрибуты и так уже являются частью объекта.

3. Можно сделать базовый класс для аттрибута и унаследовать от него классы текстового атрибута, целого, даты-времени, указателя на другой объект ... Вот тут уш классические РБД без sql_variant отдохнуть в качественном плане.

ИМХО первая причина самая веская. Зачем нужны лишние сущности в виде таблиц и реляционной базы, если реализация все равно будет вестись на .NET в стиле ООП?

PS. А зачем целых 4 таблицы? можно ведь и одной обойтись
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282087
it depends
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shuklinЗачем нужны лишние сущности в виде таблиц и реляционной базы, если реализация все равно будет вестись на .NET в стиле ООП?

PS. А зачем целых 4 таблицы? можно ведь и одной обойтись

Зачем нужны воопче нафик субд (неважно какие "О", "Р", "ОО", "XML") - периодицкий дамп всей памяти на диск и рестор с нее - и фсё.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282194
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
it depends
Зачем нужны воопче нафик субд (неважно какие "О", "Р", "ОО", "XML") - периодицкий дамп всей памяти на диск и рестор с нее - и фсё.

Ващето это как раз та цель, к которой стремятся ООСУБД. Стереть грань между дисковой памятью и RAM. Есть просто классы и объекты, методы у объектов просто выполняются. Независимо от рестартов оборудования и приложений. Никаких файлов с документами, электронными таблицами - все всегда запущено и всегда в памяти. Все приложения всегда в памяти. Все документы всегда загружены. Все многопользовательские конфликты разруливаются аффтоматом ... лепота.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282221
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ващето это как раз та цель, к которой стремятся ООСУБД.Ващето это цель уже давно достигнута РСУБД :)
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282245
Andreww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 U-gene

"Ващето это цель уже давно достигнута ..."

Но дисер как-то защищать надо и чтоб "элемент новизны" был и слов "науШных" побольше, побольше.

Неважно что путаем модель данных (сетевую), способ проектирования-реализации (ОО) и продукционную (оперирующую данными) нейросеть.

Теория она такая скушшшная.

Гораздо забавнее придумать "подводную лодку с обратной стреловидностью крыла на гусеничном ходу".

Правда потом ещё надо убедить кого-нибудь ей воспользоваться или хотя бы сесть на(в?) неё.
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282283
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
U-gene Ващето это как раз та цель, к которой стремятся ООСУБД.Ващето это цель уже давно достигнута РСУБД :)

неужели? В какой существующей РСУБД я могу в строке таблицы реализовать интерфейс или виртуальный метод? в каком году это появилось в этой РСУБД?
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282284
Alexey Rovdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andreww
...
Правда потом ещё надо убедить кого-нибудь ей воспользоваться или хотя бы сесть на(в?) неё.

А я так думаю, что убедь хоцца не "сесть на(в)", а заплатить за оную. А там - типа и налабаем ...
...
Рейтинг: 0 / 0
Обектную СУБД
    #33282424
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin
Ващето это как раз та цель, к которой стремятся ООСУБД. Стереть грань между дисковой памятью и RAM.

А раньше ООСУБД претендовала на большее, чем на физические какие-то проблемы. Или это тока Ваша стремится? Остальные как и раньше более амбициозные цели преследуют?
...
Рейтинг: 0 / 0
25 сообщений из 68, страница 2 из 3
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Обектную СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]