powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
15 сообщений из 15, страница 1 из 1
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940216
NewLine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Мне нужно спроектировать многоуровневый каталок с неопределенным кол-вом атрибутов у товаров определенной группы.

Например есть 3 группы товаров.
1. Окна
2. Лестницы
3. Двери
4. Аксессуары к этим видам товаров

У каждой группы есть свой набор атрибутов(название, размер, артикул и т.д.)
Есть как общие атрибуты, так и индивидуальные под каждый вид товара или аксессуар.

Как реализовать структуру такой БД?
Если например атрибуты могут в дальнейшем добавляться?
Если добавляется товар с новым атрибутом?
Есть ли возможность все это хранить в одной таблице или необходимо разбивать каждый товар по своим таблицам?
Если добавиться новый товар, что с ним делать?

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

Подскажите как подойти к построению такой БД.
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940291
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLineДобрый день.

Мне нужно спроектировать многоуровневый каталок с неопределенным кол-вом атрибутов у товаров определенной группы.
...
Как реализовать структуру такой БД?
Если например атрибуты могут в дальнейшем добавляться?
Если добавляется товар с новым атрибутом?
Есть ли возможность все это хранить в одной таблице или необходимо разбивать каждый товар по своим таблицам?
Если добавиться новый товар, что с ним делать?

Подскажите как подойти к построению такой БД.

Используйте букву "г", и храните все в одной таблице. Выберите СУБД, в которой:
1) нет ограничений на количество "колонок" в "таблице";
2) не хранятся "пустые" значения не зависимо от положения "колонки" в "таблице";
3) "колонки" добавляются в любой момент независимо от наличия и объема данных;
4) поддерживается управляемый пользователем интерфейс, как часть ядра СУБД.
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940307
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLine Мне нужно спроектировать многоуровневый каталок с неопределенным кол-вом атрибутов у товаров определенной группы.Вы определитесь вам шашечки или ехать.
Если ехать то для каждой сущьности своя таблица, общие атрибуты - поля в разных таблицах с одинаковыми названиями
NewLine Если например атрибуты могут в дальнейшем добавляться?Добавляется поле
NewLine Если добавляется товар с новым атрибутом?Добавляется таблица
NewLine Есть ли возможность все это хранить в одной таблице или необходимо разбивать каждый товар по своим таблицам?Возможность есть, необходимости нет - rule and conquer, а также keep it simple, silly
NewLine Если добавиться новый товар, что с ним делать?Вставите строку в таблицу
NewLine Если строить горизонтальную структуру, то будет очень большая избыточность при появлении нового атрибута. Если вы дадите определение горизонтальной структуре я смогу откомментировать
NewLine Если хранить все в отдельных таблицах, то при появлении нового атрибута у товара появится необходимость вносить изменения в код.Вносить изменения в код надо в любом случае ибо атрибут надо будет вводить, показывать, изменять.
NewLine Если появится новый товар, то придется, как-то добавлять новую таблицу и делать к ней привязки к справочникам.Зато не придется перетряхивать систему, убеждаясь что окна помещенные в таблицу Двери правильно отображаются в отчете по дверям.

Если вам надо шашечки - то стройте супергибкую, объектную, СУБД независимую систему. И я верю, что вы ее построите, оттестируете и сдадите. Я не верю что она будет хорошо работать при больших объемах ибо бесплатных ланчей не бывает и не имея информации о структуре оптимизатор никогда не сможет выдать хороший план.
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940343
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257NewLine Мне нужно спроектировать многоуровневый каталок с неопределенным кол-вом атрибутов у товаров определенной группы.Вы определитесь вам шашечки или ехать.
Если ехать то для каждой сущьности своя таблица, общие атрибуты - поля в разных таблицах с одинаковыми названиями.
Если вам надо шашечки - то стройте супергибкую, объектную, СУБД независимую систему. И я верю, что вы ее построите, оттестируете и сдадите. Я не верю что она будет хорошо работать при больших объемах ибо бесплатных ланчей не бывает и не имея информации о структуре оптимизатор никогда не сможет выдать хороший план.
Не используйте букву "ь", и храните все экземпляры сущности Товар именно в одной отдельной таблице.
Не сторойте "супергибкую, объектную, СУБД независимую систему", а используйте супергибкую, объектную СУБД, оптимизатор которой никогда вас не подведет:)
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940370
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бредятина Не сторойте "супергибкую, объектную, СУБД независимую систему", а используйте супергибкую, объектную СУБД, оптимизатор которой никогда вас не подведет:)А вот это уже для соседнего форума
Строить систему все равно придется с самой замечательной СУБД.
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940388
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257
Строить систему все равно придется с самой замечательной СУБД.
Конечно, но средствами СУБД, а не приложения)
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940430
NewLine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если по такому принципу.

Таблица для дерева: код, код родителя, папка, название - здесь будут храниться категории, товары, в общем, дерево
Таблица для атрибутов - произвольный набор полей, главное, чтобы было поле "код"
Таблица для связки товар-атрибут

При появлении нового товара можно добавлять сколько угодно атрибутов ему
в таблице атрибутов можно, например, добавить полей - признак общего. и в программе просто назанчать каждому новому товару атрибуты с этим признаком по умолчанию

Смысл в том чтобы хранить товары отдельно, а атрибуты отдельно.
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940505
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLineА если по такому принципу.

Таблица для дерева: код, код родителя, папка, название - здесь будут храниться категории, товары, в общем, дерево
Таблица для атрибутов - произвольный набор полей, главное, чтобы было поле "код"
Таблица для связки товар-атрибут

При появлении нового товара можно добавлять сколько угодно атрибутов ему
в таблице атрибутов можно, например, добавить полей - признак общего. и в программе просто назанчать каждому новому товару атрибуты с этим признаком по умолчанию

Смысл в том чтобы хранить товары отдельно, а атрибуты отдельно.
К сожалению, Вы ничего не сказали о значениях атрибутов. Так что схема непонятна. А когда она станет понятной, получится, вероятно, модель EAV:)
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940648
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLine Смысл в том чтобы хранить товары отдельно, а атрибуты отдельно.Это не смысл это идея (EAV). А вот зачем вам это понадобилось, это мне интересно, где вы видите выгоду?
Чем словарь данных не подходит для хранения атрибутов?
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940671
NewLine
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что значит словарь данных?
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940730
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLineЧто значит словарь данных?
База метаданных.
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940732
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Которая отсутствует практически во всех "современных" СУБД, поэтому никакие атрибуты в ней, конечно, нельзя хранить:)
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36940755
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewLine,

автор
Например есть 3 группы товаров.
1. Окна
2. Лестницы
3. Двери
4. Аксессуары к этим видам товаров


У всех дверей есть ширина,высота,материал,цвет материала(1)
у входных -утеплитель,глазок,цепочка(2)

следовательно при вводе очередной двери
-ид
-группа=дверь --запоминаем (1)
-подгруппа=входная---запоминаем(2)
-артикул (3)


теперь в подчиненной форме должно появиться-ид2ид1типнаим характеристикизначение11(1) шириназначение21высотазначение31материалзначение41цвет материалазначение51(2)утеплительзначение61глазокзначение71цепочказначение81(3)собственные прибамбасызначение

при перекрестном запросе таб1 и таб2 по ид1
ид1наименованиеширинавысотаматериалцвет материалаутеплительглазокцепочка...1дверь входная арт180220металлтемныйутепл1оптич цеп1...2дверь внутренняя70200кленсветлый---
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36954996
Tolka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если у вас будет ограниченное кол-во сущностей - то сущность = таблица
Если кол-во неизвестно, но известно, что их не будет десятки (сотни) - сущность = таблица
Если неизвестно кол-во сущностей (а значит и их атрибуты) - то EAV

для инет-магазинов - EAV - то, что доктор прописал.

В "больших" системах рабочие сущности обычно известны до начала разработки. Их аналитики формализуют. Поэтому, там строго сущность = таблица
...
Рейтинг: 0 / 0
Многоуровневый каталок с неограниченным кол-вом атрибутов у товара
    #36955614
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TolkaЕсли у вас будет ограниченное кол-во сущностей - то сущность = таблица
Если кол-во неизвестно, но известно, что их не будет десятки (сотни) - сущность = таблица
Если неизвестно кол-во сущностей (а значит и их атрибуты) - то EAV

для инет-магазинов - EAV - то, что доктор прописал.

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


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