Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / наиболее подходящая структура БД для описания характеристик объетов / 25 сообщений из 54, страница 1 из 3
18.06.2012, 14:49
    #37842748
PG81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
есть объекты, например вооружение, каждый объект имеет свой класс со своим свойтсвами.
Делаю БД по ведению значений храрактеристик этих объектов

Поделитесь опытом, как лучше всего реализовать структуру БД для этого случая.

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

Какие есть еще варианты, и какие могут быть сложности с реализацией такого варианта?
...
Рейтинг: 0 / 0
18.06.2012, 14:57
    #37842763
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
PG81Поделитесь опытом, как лучше всего реализовать структуру БД для этого случая.

По моему опыту, для характеристик лучше всего использовать EAV.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.06.2012, 15:10
    #37842794
PG81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Dimitry Sibiryakov,

а по русски как такая схема называется?
...
Рейтинг: 0 / 0
18.06.2012, 15:12
    #37842799
PG81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Может EAV не очень подойдет, так как классов описания будет несколько милионов?
Будет ли это все нормально работать на MS SQL Server 2005
...
Рейтинг: 0 / 0
18.06.2012, 15:51
    #37842875
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
PG81а по русски как такая схема называется?

"Схема имени Тенцера". У самого Тенцера она как раз работает на MS SQL и миллионах
номенклатуры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18.06.2012, 16:21
    #37842928
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
PG81Я думаю, попытаться сделать аналогично описанию классов в языках программирования.
в языках программирования все объекты одного класса хранятся в одном списке или массиве. В БД аналог: один класс- одна таблица. Подходит ? Если нет, то как сказано : EAV.
...
Рейтинг: 0 / 0
18.06.2012, 19:37
    #37843222
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Вам эта база для чего, чтобы была или для работы (искать, вставлять, изменять, делать отчеты...)
Если чтобы была - то вперед в EAV. (ищите здесь на форуме все по слову EAV)
Если для работы тогда метод сущность-связь (ER)
PG81Может EAV не очень подойдет, так как классов описания будет несколько милионов?Сдается мне, что вы слегка преувеличиваете. Я не могу представить себе работу с базой в миллионы связанных таблиц. С другой стороны миллионы экземпляров вполне возможны.
PG81Я думаю, попытаться сделать аналогично описанию классов в языках программирования.Плохое начало. В языках программирования во главу угла ставятся функции (код), а в БД данные.
PG81Т.е. есть класс у него базовые свойсва, а в наследуемых классах свойства присутствуют класса родителя плюс свои
На вашем месте, я бы сначала расписал все известные классы по типу ER (один класс- одна таблица) без абстрактрых и только потом вытащил повторяющиеся части в общие таблицы предки. Это не упростит, а усложнит схему, ухудшит (в лучшем случае незначительно) производительность, но облегчит понимание структуры новыми людьми и ее модификацию.
PG81Будет ли это все нормально работать на MS SQL Server 2005 А какой смысл использовать устаревшую (не 2012, не 2008R2, не 2008) версию для нового проекта? А работать будет как сделаешь, от бренда СУБД зависит мало.
PG81Какие есть еще вариантыЕсли задача не суперсекретная, то можешь выложить сюда описание поподробнее, плюс свою реализацию и мы можем накидать примерную схему, отловить грубые ошибки в реализации, подсказать возможные проблемы для негрубых ошибок и т.д.
...
Рейтинг: 0 / 0
19.06.2012, 09:13
    #37843609
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
несколько миллионов классов. не могу представить себе такую классификацию. можно пример?
...
Рейтинг: 0 / 0
19.06.2012, 11:06
    #37843840
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
ЕАВ однозначно. Решается в 5-6 таблиц.
Возможности настроек неограничены и не требуют перепрограммирования.
...
Рейтинг: 0 / 0
19.06.2012, 14:42
    #37844400
PG81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
SERG1257, kmaw

чет с милионом я загнул, несколько тысяч.
благодарю за развернутый ответ.
вот еще статья на тему
http://foxserver.narod.ru/tenser.htm
...
Рейтинг: 0 / 0
20.06.2012, 03:52
    #37845496
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Да видел я этого вашего Тенцера, даже реализовывал. Наряду с "универсальным" справочником (одна таблица на все справочники) это "открытие" делал, наверное, каждый. У этой схемы только одно достоинство - добавление таблицы или поля делается без DDL (уменьшение количества таблиця достоинством не считаю). А вот недостатков выше крыши (поиском по форуму они ищутся). Короче нишевое решение для всяких определяемых пользователем свойств или справочников.
...
Рейтинг: 0 / 0
20.06.2012, 07:18
    #37845525
kmaw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
PG81,

ну вот, от нескольких миллионов осталось несколько тысяч - в 1000 раз меньше. а теперь, если проанализировать детально реалии конкретного ТЗ, то наверное несколько тысяч уменьшится до около тысячи.

при этом с каждым типом наверняка будет связано множество специфических индивидуальных или специфических родовых ограничений, и это может быть не просто каталог, а нечто более сложное. поэтому "легкое и быстрое" добавление записей в EAV-структуру (об "автомате" и "пистолете") все равно потребует "долгой и тяжелой" реализации этих ограничений в BLL. так что смысла в использовании EAV лично я не вижу - теряются преимущества нормальной реляционной схемы и добавляется масса гемороя
...
Рейтинг: 0 / 0
20.06.2012, 11:45
    #37846006
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
SERG1257нишевое решение для всяких определяемых пользователем свойств

А теперь перечитываем сабж и видим там те самые определяемые пользователем свойства, они
же - характеристики.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.06.2012, 12:00
    #37846048
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
SERG1257 У этой схемы только одно достоинство - добавление таблицы или поля делается без DDL (уменьшение количества таблиця достоинством не считаю). А вот недостатков выше крыши (поиском по форуму они ищутся). Короче нишевое решение для всяких определяемых пользователем свойств или справочников.
Добавление таблицы без DDL - не единственное и даже не главное достоинство EAV. Главное - это базовая обработка нового типа обьектов вообще без написания какого-либо кода (не только DDL).
А то что оно не везде уместно - ну ясное дело. С любым инструментом так
...
Рейтинг: 0 / 0
20.06.2012, 15:39
    #37846659
Bogdanov Andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Кот МатроскинГлавное - это базовая обработка нового типа обьектов вообще без написания какого-либо кода (не только DDL).Это вполне и без EAV достигается.
...
Рейтинг: 0 / 0
20.06.2012, 17:14
    #37846946
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Dimitry Sibiryakov А теперь перечитываем сабж и видим там те самые определяемые пользователем свойства, они же - характеристики.
Еще раз перечитал топик. ТС просит помощи в создании базы объектов. Не заметил требований максимальной кастомизации на местах а ля 1С.
Во избежании разночтений, еще раз прошу ТС дать подробности.
Кот Матроскин Главное - это базовая обработка нового типа обьектов вообще без написания какого-либо кодаТо что форму, ввода, поиска, редактирования, отчеты будет делать местный кастомизатор, а не программист, не значит "без написания какого-либо кода"
Еще раз повторю: в качестве заплатки, "сопли", нужной еще вчера, ЕАВ вполне уместен. Но делать соплю в новом проекте...
...
Рейтинг: 0 / 0
20.06.2012, 17:34
    #37846998
_мод
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
SERG1257ТС просит помощи в создании базы объектов.
Причем с наследованием.
...
Рейтинг: 0 / 0
20.06.2012, 18:36
    #37847124
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
SERG1257ТС просит помощи в создании базы объектов. Не заметил требований
максимальной кастомизации на местах а ля 1С.
"Кастомизация на местах" тут вовсе ни при чём. ТС просил совета у людей с опытом хранения
характеристик объектов в БД. Согласно моему опыту , EAV для этого подходит
лучше остальных способов. А что говорит тебе твой опыт?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
20.06.2012, 22:57
    #37847381
Bogdanov Andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Dimitry Sibiryakov"Кастомизация на местах" тут вовсе ни при чём. ТС просил совета у людей с опытом хранения
характеристик объектов в БД. Согласно моему опыту , EAV для этого подходит
лучше остальных способов. А что говорит тебе твой опыт?
Не знаю насчет опыта у SERG1257, а мой опыт говорит, что EAV подходит только для хранения характеристик. Если в системе предполагается с этими харктеристиками делать хоть что-то еще кроме хранения, то есть решения лучше EAV. А если говорить исключительно о хранении, то еще меньше кода потребуется для хранения характеристик в xml, например. Только не считайте это - советом. :)
...
Рейтинг: 0 / 0
21.06.2012, 00:23
    #37847455
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Bogdanov Andreyесли говорить исключительно о хранении, то еще меньше кода потребуется для хранения
характеристик в xml, например

Ну, в EAV их ещё чуть-чуть искать можно с использованием индексов, что для XML несколько
тяжелее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
21.06.2012, 03:53
    #37847511
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
А мой опыт говорит что умение коротко, ясно, недвусмысленно, понятно всем формулировать задачу есть великий и редкий талант.
Хрустальный шар подсказывает, что перед ТС стоит задача ведения базы таки объектов, сложной со множеством характеристик.
...
Рейтинг: 0 / 0
21.06.2012, 17:18
    #37848914
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Bogdanov Andrey Это вполне и без EAV достигается.

Это достигается "без EAV", да, но накладные расходы при этом обычно еще выше, чем у EAV.

SERG1257 То что форму, ввода, поиска, редактирования, отчеты будет делать местный кастомизатор, а не программист
Какую форму? какой кастомизатор? Вы вообще о чем?
...
Рейтинг: 0 / 0
21.06.2012, 17:52
    #37848996
Bogdanov Andrey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Кот МатроскинЭто достигается "без EAV", да, но накладные расходы при этом обычно еще выше, чем у EAV.Чьи накладные расходы и на что? Может быть хотя бы пример приведете чтобы легко решалось с EAV и тяжело без него?
...
Рейтинг: 0 / 0
21.06.2012, 18:45
    #37849081
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Bogdanov AndreyЧьи накладные расходы и на что? Может быть хотя бы пример приведете чтобы легко решалось с EAV и тяжело без него?Качественный ЕАВ можно сделать один раз и использовать всю жизнь.
По сабжу - самое оно.
...
Рейтинг: 0 / 0
21.06.2012, 19:02
    #37849119
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
наиболее подходящая структура БД для описания характеристик объетов
Bogdanov Andrey,

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

Пример - ну вот пример, котрый привел ТС в начале дискуссии - потенциальное наличие в системе нескольких миллионов разных типов сущностей. Стандартные операции по ним - сохранение, извлечение, поиск.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / наиболее подходящая структура БД для описания характеристик объетов / 25 сообщений из 54, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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