Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
modПонятно я как-раз на VB .NET программю У меня задача такая: От класса порождать потомки(несколько уровней) постепенно добавляя свойства, затем всё это безобразие выводить в TreeView. Реально её решить с помощь Fast Object? Если ограничения исследовательского проекта не будут конфликтовать с условиями технического задания - можно воспользоваться моей разработкой Cerebrum. Ее модель данных как раз расчитана на динамическое изменение объектов во время работы системы. Если потомки отличаются от предков только наличием аттрибутов - то в Cerebrum будет достаточно разработать только один класс. Классы-потомки не нужны, чтобы добавлять к объектам дополнительные аттрибуты. Каждый отдельный экземпляр класса имеет право реализовать любое колличество аттрибутов, нереализованных в классе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 10:47 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 10:54 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
modИ приложение у меня должно позволять добавлять классы и удалять.... При таком подходе как FastObject это получится? Это должно происходить в динамическом режиме? Т.е. в процессе работы вашего приложения вы хотите создавать (изменять) класс и затем без каких-либо дополнительных действий уже работать тут же с объектами этого класса? Или же ваша задача проще? В первом случае вам вряд ли поможет именно FastObjects .NET. Дело в том, что пользовательское .NET-приложение должно знать структуру классов на этапе компиляции, т.е. для использования новых классов приходится перекомпилировать приложение. Динамическое изменение схемы и доступ к объектам возможны через С++-интерфейс объектного сервера (см. документацию к FastObjects t7, FastObjects™ C++ Generic Objects Programmer's Guide ), а также в Versant Object Database (C++). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 10:55 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
shuklin Их реализация и использование в persistent классах будет на страх и риск разработчика. Если Вы хотели обрадовать этим разработчика, то я думаю Вам это удалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 13:33 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
shuklin modПонятно я как-раз на VB .NET программю У меня задача такая: От класса порождать потомки(несколько уровней) постепенно добавляя свойства, затем всё это безобразие выводить в TreeView. Реально её решить с помощь Fast Object? Если ограничения исследовательского проекта не будут конфликтовать с условиями технического задания - можно воспользоваться моей разработкой Cerebrum. Ее модель данных как раз расчитана на динамическое изменение объектов во время работы системы. Если потомки отличаются от предков только наличием аттрибутов - то в Cerebrum будет достаточно разработать только один класс. Классы-потомки не нужны, чтобы добавлять к объектам дополнительные аттрибуты. Каждый отдельный экземпляр класса имеет право реализовать любое колличество аттрибутов, нереализованных в классе. Оно канечно хорошо, тока всё же лучше атрибуты не на экземпляры вешать, а на подклассы ибо у групп(подклассов) экземпляров они схожи... но увы мне нужна коммерческая версия СУБД... Суть моего исследвания в том, что эффективно ли внедрить систему основанную на ООСУБД на предприеятие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 14:49 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
vadiminfo shuklin Их реализация и использование в persistent классах будет на страх и риск разработчика. Если Вы хотели обрадовать этим разработчика, то я думаю Вам это удалось. В отличии от некоторых, я горжусь своими ограничениями. Дай им удачи не хуже иметь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 14:52 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
modОно канечно хорошо, тока всё же лучше атрибуты не на экземпляры вешать, а на подклассы ибо у групп(подклассов) экземпляров они схожи... Можно и на подклассы. По любому, если гдето не хватат аттрибута, всегда можно его прицепить к конкретному уже существующему экземпляру. Или если вдруг лишний - удавить несмотря на то что в классе он определен. modно увы мне нужна коммерческая версия СУБД... Суть моего исследвания в том, что эффективно ли внедрить систему основанную на ООСУБД на предприеятие... Вот тут приходится развести руками. Научно-исследовательская разработка однако. Текущую версию в практических сценариях могу рекомендовать толкько как ембидет в приложения, хранящие данные в локальных файлах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 14:57 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
Alexey Rovdo modИ приложение у меня должно позволять добавлять классы и удалять.... При таком подходе как FastObject это получится? Это должно происходить в динамическом режиме? Т.е. в процессе работы вашего приложения вы хотите создавать (изменять) класс и затем без каких-либо дополнительных действий уже работать тут же с объектами этого класса? Или же ваша задача проще? В первом случае вам вряд ли поможет именно FastObjects .NET. Дело в том, что пользовательское .NET-приложение должно знать структуру классов на этапе компиляции, т.е. для использования новых классов приходится перекомпилировать приложение. Динамическое изменение схемы и доступ к объектам возможны через С++-интерфейс объектного сервера (см. документацию к FastObjects t7, FastObjects™ C++ Generic Objects Programmer's Guide ), а также в Versant Object Database (C++). Угу, в динамическом режиме, в том и жуть.... Я реализовал задачу в Ms SQL, но там пришлось расчленять классы, объекты и свойства по таблицам. Получились таблицы хранящие классы и подклассы, свойства и пр. Оно работает и вроде даже в ФНБК вписывается, но как-то некрасиво. Поэтому ищу способ без расчленёнки.... Я уже и понял что не подходит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 14:58 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
mod...Угу, в динамическом режиме, в том и жуть.... Я реализовал задачу в Ms SQL, но там пришлось расчленять классы, объекты и свойства по таблицам. Получились таблицы хранящие классы и подклассы, свойства и пр. Оно работает и вроде даже в ФНБК вписывается, но как-то некрасиво. Поэтому ищу способ без расчленёнки.... Я уже и понял что не подходит... А на .NET свет клином сошелся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 15:05 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
modУгу, в динамическом режиме, в том и жуть.... Я реализовал задачу в Ms SQL, но там пришлось расчленять классы, объекты и свойства по таблицам. Получились таблицы хранящие классы и подклассы, свойства и пр. Оно работает и вроде даже в ФНБК вписывается, но как-то некрасиво. Поэтому ищу способ без расчленёнки.... Я уже и понял что не подходит... Если не нужен многопользовательский доступ и все приложение реально развренуть только на одном PC - даже для пром применения рекомендую обратить внимание на мое поделие. Оно как раз и под такие проблемы измышлялось. Если нужен многопользовательский доступ или распределенная система - или ищите другие варианты, или подождите пока я допилю свою БД , или еще остается возможность использовать .NET Remoting для доступа по сети к БД Cerebrum ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 15:05 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
Идея то была работать с объектами через запросы.... Жёсткая компиляция увы никак не идёт... Буду дальше искать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 15:08 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
Что значит авторработать с объектами через запросы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 15:46 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
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 ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 15:59 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
U-geneЧто значит авторработать с объектами через запросы? имею ввиду что неполучится компилировать... По задаче из приложения эксперты должны добавлять классы и тут же операторы должны вносить значения свойств объектов.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 16:01 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
Тут надо понимать наличие ряда проблем при многопользовательском доступе. Вот, скажем, эксперт изменил название атрибута, а оператор как-раз заканчивает ввод данных по объекту этого же класса. И что? Приложение, стоящее у оператора пытается сохранить данные в старой структуре, а структура уже изменилась. Придется писать обработчики для всех подобных ситуаций (ну или мириться с тем, что будет выдано сообщение об ошибке и набранные оператором данные потеряются). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 16:12 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
modимею ввиду что неполучится компилировать... Сделайте тогда класс - значение аттрибута. И в базовом классе для всех своих классов держите коллекцию экземпляров этих аттрибутов. Для таких фишек ОБД как раз самое то. И компилить не надо. И объект будет всегда по прямому указателю со всеми своими аттрибутами доступен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 16:56 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
shuklin modимею ввиду что неполучится компилировать... Сделайте тогда класс - значение аттрибута. И в базовом классе для всех своих классов держите коллекцию экземпляров этих аттрибутов. Для таких фишек ОБД как раз самое то. И компилить не надо. И объект будет всегда по прямому указателю со всеми своими аттрибутами доступен. И получиться у Вас классический случай EAV модели, и нафига тогда связываться с ООБД, когда все ложится в 4 таблицы? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 17:14 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
ModelR shuklin modимею ввиду что неполучится компилировать... Сделайте тогда класс - значение аттрибута. И в базовом классе для всех своих классов держите коллекцию экземпляров этих аттрибутов. Для таких фишек ОБД как раз самое то. И компилить не надо. И объект будет всегда по прямому указателю со всеми своими аттрибутами доступен. И получиться у Вас классический случай EAV модели, и нафига тогда связываться с ООБД, когда все ложится в 4 таблицы? :) 1. Их тогда не придется переливать в классы. Одна проблема исчезла. Я не говорю что маппинг уш очень большая проблема. Но решение проблемы и отсутствие проблемы - две большие разницы. 2. не нужно проводить JOIN аттрибутов с объектами - аттрибуты и так уже являются частью объекта. 3. Можно сделать базовый класс для аттрибута и унаследовать от него классы текстового атрибута, целого, даты-времени, указателя на другой объект ... Вот тут уш классические РБД без sql_variant отдохнуть в качественном плане. ИМХО первая причина самая веская. Зачем нужны лишние сущности в виде таблиц и реляционной базы, если реализация все равно будет вестись на .NET в стиле ООП? PS. А зачем целых 4 таблицы? можно ведь и одной обойтись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 17:23 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
shuklinЗачем нужны лишние сущности в виде таблиц и реляционной базы, если реализация все равно будет вестись на .NET в стиле ООП? PS. А зачем целых 4 таблицы? можно ведь и одной обойтись Зачем нужны воопче нафик субд (неважно какие "О", "Р", "ОО", "XML") - периодицкий дамп всей памяти на диск и рестор с нее - и фсё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 17:30 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
it depends Зачем нужны воопче нафик субд (неважно какие "О", "Р", "ОО", "XML") - периодицкий дамп всей памяти на диск и рестор с нее - и фсё. Ващето это как раз та цель, к которой стремятся ООСУБД. Стереть грань между дисковой памятью и RAM. Есть просто классы и объекты, методы у объектов просто выполняются. Независимо от рестартов оборудования и приложений. Никаких файлов с документами, электронными таблицами - все всегда запущено и всегда в памяти. Все приложения всегда в памяти. Все документы всегда загружены. Все многопользовательские конфликты разруливаются аффтоматом ... лепота. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 17:55 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
Ващето это как раз та цель, к которой стремятся ООСУБД.Ващето это цель уже давно достигнута РСУБД :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 18:04 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
2 U-gene "Ващето это цель уже давно достигнута ..." Но дисер как-то защищать надо и чтоб "элемент новизны" был и слов "науШных" побольше, побольше. Неважно что путаем модель данных (сетевую), способ проектирования-реализации (ОО) и продукционную (оперирующую данными) нейросеть. Теория она такая скушшшная. Гораздо забавнее придумать "подводную лодку с обратной стреловидностью крыла на гусеничном ходу". Правда потом ещё надо убедить кого-нибудь ей воспользоваться или хотя бы сесть на(в?) неё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 18:11 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
U-gene Ващето это как раз та цель, к которой стремятся ООСУБД.Ващето это цель уже давно достигнута РСУБД :) неужели? В какой существующей РСУБД я могу в строке таблицы реализовать интерфейс или виртуальный метод? в каком году это появилось в этой РСУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 18:30 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
Andreww ... Правда потом ещё надо убедить кого-нибудь ей воспользоваться или хотя бы сесть на(в?) неё. А я так думаю, что убедь хоцца не "сесть на(в)", а заплатить за оную. А там - типа и налабаем ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 18:32 |
|
||
|
Обектную СУБД
|
|||
|---|---|---|---|
|
#18+
shuklin Ващето это как раз та цель, к которой стремятся ООСУБД. Стереть грань между дисковой памятью и RAM. А раньше ООСУБД претендовала на большее, чем на физические какие-то проблемы. Или это тока Ваша стремится? Остальные как и раньше более амбициозные цели преследуют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2005, 20:01 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33282030&tid=1553778]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
22ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 165ms |
| total: | 261ms |

| 0 / 0 |
