powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Наследование атрибутов
25 сообщений из 77, страница 2 из 4
Наследование атрибутов
    #33207835
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да собственно у меня ядро системы тоже по большей части готово + готов инструмент для создания новых типов и объектов. Редактирование объектов точно также реализуется автоформами. Вообще у меня возникло впечатление, что наши системы довольно похожи по структуре.
Просто решил поинтересоваться опытом в создании и эксплуатации подобных систем и как они работают с большими объемами данных.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33207840
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что дальше? Что планируете делать с этой системой. Я вот доведу до минимального товарного вида и попытаюсь в инете продавать. Может инвестора для коробочного варианта найду
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33207849
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у нас собственно есть инвестор, на чьи деньги она и пишется.
Первая версия писалась для внутренних нужд, новую собираемся продавать.
Продавать что-то коробочное на российском рынке очень тяжело, а системы такого рода вообще нереально.
Можно продавать внедрения таких систем, чем мы и собираемся заниматься. Есть уже наработанная функциональность для CMS, зачатков документооборота и CRM. Они реализованы для старой версии системы, где маппинг производился вручную, теперь стоит задача перенести их на новую версию.
Вы если не ошибаюсь, уже около года доводите свою систему до товарного вида? За это время так ничего и не получилось? Если система действительно стоящая, то думаю можно было бы на ее внедрениях и консалтинге попробовать что-то заработать, а саму систему сделать opensource'ной.
Но для этого нужно еще и соответствующую функциональность реализовать и организационно это все оформить.
Продавать коробку без серьезных вложений в ее продвижение не получится, а не имея опыта в таких делах почти 100% вероятность что эта затея провалится. У нас практически нет рынка для таких продуктов.
Есть рынок внедрения CRM, CMS, ERP, документооборота и т.п. Если организуете сеть партнеров по принципу 1С, тогда можно будет говорить о продаже коробок :).
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208044
Jericho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiChДа, еще - атрибуты объекта организованы в дерево, а не простым списком, что тоже непонятно как реализовать в обычном ORM.

А с этого места по подробнее пожалста можно?
Я немного не допонимаю что значит VladiChорганизованы в дерево
Это когда атрибуты класса- потомка наследуют атрибуты класса-предка или Вы нечто иное подразумеваете?
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208107
Фотография Old Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, делаю я это в одиночку и по одному-два часа в неделю. Иногда даже по месяцу не подхожу. Времени нет. В интернете я выложу версию с автоформами как опенсорс, а плагин в виде разработки кастомных форм буду продавать за деньги. Надеюсь таким образом получить распространение.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208123
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, это значит что например есть тип Документ, в его подтипах информация организована иерархично, т.е. есть заголовок, внутри него какие-то атрибуты, в теле документа несколько блоков, в которых также могут быть вложенные блоки и т.п. То есть набор атрибутов представляет собой некий древовидный шаблон документа.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208208
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiChORM обычно используется как порождение структуры базы данных на основе классов, здесь ситуация противоположная - существующие сущности в базе данных маппятся на классы, которые можно или автоматически генерировать или писать вручную.
Нет, многие продукты позволяют производить как прямой (классы --> схема БД), так и обратный инжиниринг (схема БД --> классы). С разной степенью автоматизма: от полного до ручного.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208245
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TemplarНет, многие продукты позволяют производить как прямой (классы --> схема БД), так и обратный инжиниринг (схема БД --> классы). С разной степенью автоматизма: от полного до ручного.
Да я собственно в курсе, что позволяют, причитайте внимательно - обычно используется . В тех ORM, которые я смотрел, функциональность "обратного инжениринга" плохо подходит для нашей задачи.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208454
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiCh

аблица, в которой хранятся OID объектов - это таблица базового типа. Таблицы дочерних типов относятся к ней 1-1. Как навешать на это все обычный OR-маппинг?

Интересно и какие ORM вы изучили чтобы делать выводы о невозможности их использования в вашей задаче?
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208479
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiCh

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

При вставке в базовую таблицу вставка замедляться не будет (что очевидно), сколько бы на нее ссылок из других таблиц не было... Замедляться будут операции приводящие к изменению ее первичного ключа (в том числе удаление)


PS Вообще интересные у вас вопросы... на сколько? на сколько чего? Спросили бы тогда насколько РСУБД быстры... или что-нибудь в этом духе
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208519
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri VladiCh

аблица, в которой хранятся OID объектов - это таблица базового типа. Таблицы дочерних типов относятся к ней 1-1. Как навешать на это все обычный OR-маппинг?

Интересно и какие ORM вы изучили чтобы делать выводы о невозможности их использования в вашей задаче?
Пожалуйста не вырывайте мои слова из контекста и прочитайте внимательнее исходное сообщение. Там говорилось не только про отношения 1 к 1.
Еще я говорил не про невозможность, а про то, что они плохо подходят для этой задачи. Смотрел я nHibernate, atoms framework, xpress persistent objects. критерием выбора была бесплатность или низкая стоимость соответствующих инструментов.
По поводу вопросов - я не просил дать какую-то объективную оценку в секундах, порядках и т.п., просто спрашивал мнение людей, делавших что-то подобное. В чем это выразить - на ваше усмотрение. Можно это выразить например в сравнении с каким-нибудь другим вариантом реализации наследования.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208548
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiCh

ну так почитайте про другие варианты реализации наследования... их всего 3

ну и насчет орм - я так и не понял какие ваши необычные архитектурные решения препятствуют их использованию?
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33208593
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется я читал про разные варианты реализации наследования. Просто читать - это одно дело, а реальный опыт использования - другое. Хотел я услышать именно про примеры использования.
Препятствует использованию orm разделение атрибутов объектов на две группы. Атрибуты одной группы хранятся в связанной с типом таблице. Атрибуты другой группы (как правило это текстовые атрибуты) - в отдельной таблице. В этой таблице хранятся атрибуты этой группы для всех типов. Каким образом реализовать такую модель при помощи orm?
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33210946
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>ну так почитайте про другие варианты реализации наследования... их всего 3

funikovyuri, а какой третий вариант реализации наследования?
Я знаю всего два:
1) связь 1-к-1 - атрибуты не дублируются в производных сущностях
2) дублирование атрибутов в производных сущностях, union и т.п. ...
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211087
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Таблица на каждый класс (Class table inheritance) - хранятся только свои атрибуты, родительские достаются через отношение 1 к 1.
2. Таблица на каждый конкретный класс (Concrete table inheritance). - копирование атрибутов родителя в подклассах.
3. Таблица на иерархию классов (Single table inheritance) - когда все атрибуты всех классов хранятся в одной таблице.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211106
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и еще можно например 1 и 3 подходы смешивать в пределах разумного, т.е. делать одну таблицу на небольшую иерархию классов, а эту иерархии могут наследоваться от одного предка как class table inheritance
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211112
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>3. Таблица на иерархию классов (Single table inheritance) - когда все атрибуты всех классов хранятся в одной таблице.

Третий вариан как к таковому способу реализации наследования никакого отношения не имеет - это скорее структура/способ реализации ООП подхода, причем самый худший из всех, так как раскрутить и поддерживать это безобразие из 3-x таблиц объект-атрибут-значение очень и очень непросто.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211158
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так тогда и второй вариант не имеет отношения к способу реализации наследования (по вашей логике) - это тоже структура-способ реализации ООП подхода.
На самом каждый из них в конкретной ситуации имеет свои преимущества и недостатки и имеет право на жизнь.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211161
Templar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladiChПрепятствует использованию orm разделение атрибутов объектов на две группы. Атрибуты одной группы хранятся в связанной с типом таблице. Атрибуты другой группы (как правило это текстовые атрибуты) - в отдельной таблице. В этой таблице хранятся атрибуты этой группы для всех типов. Каким образом реализовать такую модель при помощи orm?
Руками описать маппинг для каждого класса. Упомянутые вами nHibernate и XPO это позволяют.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211199
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>>Руками описать маппинг для каждого класса. Упомянутые вами nHibernate и XPO это позволяют

сомневаюсь, существующие средства маппинга работают по 1 или 2 варианту, а тут видимо смесь 1-го и 3-го.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211208
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот поэтому я и написал что плохо подходит.
Классы у нас может создавать обычный (ну почти обычный) пользователь. Перекомпиляции приложения для этого не требуется. Атрибуты добавлять тоже. Как это сочетается с ручным маппингом?
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211231
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существующие средства маппинга работают по всем трем вариантам + их вариации, но они нам все не очень подходят, т.к. в нашей системе помимо маппинга хранятся свои метаданные, которые могут изменяться из приложения + не для каждого типа требуется своя таблица (если все атрибуты типа - т.н. "статические"). То есть это комбинация стандартного маппинга с class table inheritance и хранением метаданных как объектов системы и хранением всех "статических" атрибутов всех объектов в отдельной таблице.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211236
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В данном случае я бы поступил так:
обычные атрибуты помапил на параметры, дополнительные (число и структура которых заранее не известна) - сериализовал бы в xml и помапил на один единственный text-параметр и раскрутил бы его на сервере бд для последующего сохранения.
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211256
VladiCh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поподробнее пожалуйста.... Ну раскрутили вы его на сервере в ту же отдельную таблицу, как сейчас и сделано, а выборки потом как делать?
Оно кстати сейчас практически так и делается, только раскручивается из xml не на сервере БД, а в приложении. И сериализуются в XML все атрибуты, а не только дополнительные и гоняется он через веб-сервис. Но это уже другая история :). Кстати, число и структура их заранее известна. Они также описаны в метаданных. Там не все так просто получается :)
...
Рейтинг: 0 / 0
Наследование атрибутов
    #33211298
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Ну раскрутили вы его на сервере в ту же отдельную таблицу, как сейчас и сделано, а выборки потом как делать?

выборки for xml запросом, в приложении десериализуешь xml обратно на объект.
и не обязательно в отдельную таблицу записи вставляешь, а как понравится.
т.е. на mssql например используешь openxml для создания курсора/временной таблицы и вперед, кладешь данные как нравится.
...
Рейтинг: 0 / 0
25 сообщений из 77, страница 2 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Наследование атрибутов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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