|
|
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
есть объекты, например вооружение, каждый объект имеет свой класс со своим свойтсвами. Делаю БД по ведению значений храрактеристик этих объектов Поделитесь опытом, как лучше всего реализовать структуру БД для этого случая. Я думаю, попытаться сделать аналогично описанию классов в языках программирования. Т.е. есть класс у него базовые свойсва, а в наследуемых классах свойства присутствуют класса родителя плюс свои Какие есть еще варианты, и какие могут быть сложности с реализацией такого варианта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 14:49 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
PG81Поделитесь опытом, как лучше всего реализовать структуру БД для этого случая. По моему опыту, для характеристик лучше всего использовать EAV. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 14:57 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, а по русски как такая схема называется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 15:10 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Может EAV не очень подойдет, так как классов описания будет несколько милионов? Будет ли это все нормально работать на MS SQL Server 2005 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 15:12 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
PG81а по русски как такая схема называется? "Схема имени Тенцера". У самого Тенцера она как раз работает на MS SQL и миллионах номенклатуры. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 15:51 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
PG81Я думаю, попытаться сделать аналогично описанию классов в языках программирования. в языках программирования все объекты одного класса хранятся в одном списке или массиве. В БД аналог: один класс- одна таблица. Подходит ? Если нет, то как сказано : EAV. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 16:21 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Вам эта база для чего, чтобы была или для работы (искать, вставлять, изменять, делать отчеты...) Если чтобы была - то вперед в EAV. (ищите здесь на форуме все по слову EAV) Если для работы тогда метод сущность-связь (ER) PG81Может EAV не очень подойдет, так как классов описания будет несколько милионов?Сдается мне, что вы слегка преувеличиваете. Я не могу представить себе работу с базой в миллионы связанных таблиц. С другой стороны миллионы экземпляров вполне возможны. PG81Я думаю, попытаться сделать аналогично описанию классов в языках программирования.Плохое начало. В языках программирования во главу угла ставятся функции (код), а в БД данные. PG81Т.е. есть класс у него базовые свойсва, а в наследуемых классах свойства присутствуют класса родителя плюс свои На вашем месте, я бы сначала расписал все известные классы по типу ER (один класс- одна таблица) без абстрактрых и только потом вытащил повторяющиеся части в общие таблицы предки. Это не упростит, а усложнит схему, ухудшит (в лучшем случае незначительно) производительность, но облегчит понимание структуры новыми людьми и ее модификацию. PG81Будет ли это все нормально работать на MS SQL Server 2005 А какой смысл использовать устаревшую (не 2012, не 2008R2, не 2008) версию для нового проекта? А работать будет как сделаешь, от бренда СУБД зависит мало. PG81Какие есть еще вариантыЕсли задача не суперсекретная, то можешь выложить сюда описание поподробнее, плюс свою реализацию и мы можем накидать примерную схему, отловить грубые ошибки в реализации, подсказать возможные проблемы для негрубых ошибок и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2012, 19:37 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
несколько миллионов классов. не могу представить себе такую классификацию. можно пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 09:13 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
ЕАВ однозначно. Решается в 5-6 таблиц. Возможности настроек неограничены и не требуют перепрограммирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 11:06 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
SERG1257, kmaw чет с милионом я загнул, несколько тысяч. благодарю за развернутый ответ. вот еще статья на тему http://foxserver.narod.ru/tenser.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2012, 14:42 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Да видел я этого вашего Тенцера, даже реализовывал. Наряду с "универсальным" справочником (одна таблица на все справочники) это "открытие" делал, наверное, каждый. У этой схемы только одно достоинство - добавление таблицы или поля делается без DDL (уменьшение количества таблиця достоинством не считаю). А вот недостатков выше крыши (поиском по форуму они ищутся). Короче нишевое решение для всяких определяемых пользователем свойств или справочников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 03:52 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
PG81, ну вот, от нескольких миллионов осталось несколько тысяч - в 1000 раз меньше. а теперь, если проанализировать детально реалии конкретного ТЗ, то наверное несколько тысяч уменьшится до около тысячи. при этом с каждым типом наверняка будет связано множество специфических индивидуальных или специфических родовых ограничений, и это может быть не просто каталог, а нечто более сложное. поэтому "легкое и быстрое" добавление записей в EAV-структуру (об "автомате" и "пистолете") все равно потребует "долгой и тяжелой" реализации этих ограничений в BLL. так что смысла в использовании EAV лично я не вижу - теряются преимущества нормальной реляционной схемы и добавляется масса гемороя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 07:18 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
SERG1257нишевое решение для всяких определяемых пользователем свойств А теперь перечитываем сабж и видим там те самые определяемые пользователем свойства, они же - характеристики. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 11:45 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
SERG1257 У этой схемы только одно достоинство - добавление таблицы или поля делается без DDL (уменьшение количества таблиця достоинством не считаю). А вот недостатков выше крыши (поиском по форуму они ищутся). Короче нишевое решение для всяких определяемых пользователем свойств или справочников. Добавление таблицы без DDL - не единственное и даже не главное достоинство EAV. Главное - это базовая обработка нового типа обьектов вообще без написания какого-либо кода (не только DDL). А то что оно не везде уместно - ну ясное дело. С любым инструментом так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 12:00 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинГлавное - это базовая обработка нового типа обьектов вообще без написания какого-либо кода (не только DDL).Это вполне и без EAV достигается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 15:39 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov А теперь перечитываем сабж и видим там те самые определяемые пользователем свойства, они же - характеристики. Еще раз перечитал топик. ТС просит помощи в создании базы объектов. Не заметил требований максимальной кастомизации на местах а ля 1С. Во избежании разночтений, еще раз прошу ТС дать подробности. Кот Матроскин Главное - это базовая обработка нового типа обьектов вообще без написания какого-либо кодаТо что форму, ввода, поиска, редактирования, отчеты будет делать местный кастомизатор, а не программист, не значит "без написания какого-либо кода" Еще раз повторю: в качестве заплатки, "сопли", нужной еще вчера, ЕАВ вполне уместен. Но делать соплю в новом проекте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 17:14 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
SERG1257ТС просит помощи в создании базы объектов. Причем с наследованием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 17:34 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
SERG1257ТС просит помощи в создании базы объектов. Не заметил требований максимальной кастомизации на местах а ля 1С. "Кастомизация на местах" тут вовсе ни при чём. ТС просил совета у людей с опытом хранения характеристик объектов в БД. Согласно моему опыту , EAV для этого подходит лучше остальных способов. А что говорит тебе твой опыт? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 18:36 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov"Кастомизация на местах" тут вовсе ни при чём. ТС просил совета у людей с опытом хранения характеристик объектов в БД. Согласно моему опыту , EAV для этого подходит лучше остальных способов. А что говорит тебе твой опыт? Не знаю насчет опыта у SERG1257, а мой опыт говорит, что EAV подходит только для хранения характеристик. Если в системе предполагается с этими харктеристиками делать хоть что-то еще кроме хранения, то есть решения лучше EAV. А если говорить исключительно о хранении, то еще меньше кода потребуется для хранения характеристик в xml, например. Только не считайте это - советом. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2012, 22:57 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andreyесли говорить исключительно о хранении, то еще меньше кода потребуется для хранения характеристик в xml, например Ну, в EAV их ещё чуть-чуть искать можно с использованием индексов, что для XML несколько тяжелее. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 00:23 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
А мой опыт говорит что умение коротко, ясно, недвусмысленно, понятно всем формулировать задачу есть великий и редкий талант. Хрустальный шар подсказывает, что перед ТС стоит задача ведения базы таки объектов, сложной со множеством характеристик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 03:53 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey Это вполне и без EAV достигается. Это достигается "без EAV", да, но накладные расходы при этом обычно еще выше, чем у EAV. SERG1257 То что форму, ввода, поиска, редактирования, отчеты будет делать местный кастомизатор, а не программист Какую форму? какой кастомизатор? Вы вообще о чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 17:18 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЭто достигается "без EAV", да, но накладные расходы при этом обычно еще выше, чем у EAV.Чьи накладные расходы и на что? Может быть хотя бы пример приведете чтобы легко решалось с EAV и тяжело без него? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 17:52 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Bogdanov AndreyЧьи накладные расходы и на что? Может быть хотя бы пример приведете чтобы легко решалось с EAV и тяжело без него?Качественный ЕАВ можно сделать один раз и использовать всю жизнь. По сабжу - самое оно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 18:45 |
|
||
|
наиболее подходящая структура БД для описания характеристик объетов
|
|||
|---|---|---|---|
|
#18+
Bogdanov Andrey, Накладные расходы - на сопровождение и развитие системы(включая и проблемы с проиводительностью, и с написанием дополнительных фич в дальнейшем, и т.п.) Пример - ну вот пример, котрый привел ТС в начале дискуссии - потенциальное наличие в системе нескольких миллионов разных типов сущностей. Стандартные операции по ним - сохранение, извлечение, поиск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2012, 19:02 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37849119&tid=1541631]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 362ms |

| 0 / 0 |
