powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по проектировке
7 сообщений из 7, страница 1 из 1
Вопрос по проектировке
    #33139026
ViruZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть каталог товаров, но у каждого наименования есть свои, особенные свойства. Хотелось бы сделать связь определенной строки из главной таблицы(единицы товара) с дочерней таблицей(параметры товара).
В итоге получается одна главная и много дочерних таблиц.
Вопрос: Каким способом можно осуществить связь строки с таблицей, неужели нет решений, кроме как хранить в поле главной таблицы имя дочерней?!
Спасибо
...
Рейтинг: 0 / 0
Вопрос по проектировке
    #33139107
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классов решений два:
A)развернуть зависящие от типа параметры по вертикали.
(см. например /topic/181538&hl=#1519152 )

Б) развернуть параметры по горизонтали. Подварианты:
1) Каждое поле - отдельный параметр, например явно существует поле ВЫСОТА.
1.1)Специальная таблица для каждого типа, поле ВЫСОТА будет в некоторых специальных таблицах где нужно.
1.2) Если типы имеют общие блоки параметров, то можно иметь таблицы для этих блоков, а для типа товара задавать набор релевантных блоков. Например, блок "геометрические размеры" содержит поле ВЫСОТА, и оно есть только в этом блоке (таблице).
2)Зарезервировано N полей с именами типа PARAM<i> , смысл поля PARAM<i> зависит от типа товара, зависимость задается специальным словарем.

Тоже кажется обсуждалось, можно поискать.
Выбор зависит от многих факторов, для начала есть эмпирическое правило: Если типов не много, то (Б), если их много или они изменчивы, то (А).
...
Рейтинг: 0 / 0
Вопрос по проектировке
    #33139191
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть еще один вариант.
Множеств свойств обычно разбивается на группы. Я работал со многими задачами и всегда удавалось это сделать. В этом случае используются две таблица - одна простой перечень кодов (используется для контроля целостности базы), а вторая - непосредственно свойства. Каждой группе свойств соответствует свой набор данных. Как предлагает ModelR , для хранения свойств отводится набор параметров. Каждый параметр, в зависимости от группы свойств, имеет различный смысл. У разных товаров может быть различный набор групп.

Чем это хорошо - общие правила обработки свойств, независимые от вида товара. Следовательно, один и тот же режим интерфейсного модуля для различных групп товаров. Пример из БАС
...
Рейтинг: 0 / 0
Вопрос по проектировке
    #33139734
Фотография msn13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViruZВопрос: Каким способом можно осуществить связь строки с таблицей, неужели нет решений, кроме как хранить в поле главной таблицы имя дочерней?!
Спасибо нанять програмиста с головой он все сделает
...
Рейтинг: 0 / 0
Вопрос по проектировке
    #33139763
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один это как - по диагонали:)?

Не въехал: параметры, свойства, набор данных - как они отображаются на таблицы и поля?
Например, "Процент коробов товара 100130 равен 5,00" и "Вес гипсовой формы товара 100130 равен 7" - это два поля одной записи таблицы "Планирование" или это две записи таблицы "Значения свойств/параметров"?
...
Рейтинг: 0 / 0
Вопрос по проектировке
    #33140818
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRНапример, "Процент коробов товара 100130 равен 5,00" и "Вес гипсовой формы товара 100130 равен 7" - это два поля одной записи таблицы "Планирование" или это две записи таблицы "Значения свойств/параметров"?Это поля одной записи таблицы параметров, например, S01 и S02. Но в этих же полях может лежать "Цена учетная" и "Цена реализации", только в наборе "Общие данные". Разница между этими записями в поле "Код набора параметров". Для тех материалов, для которых набор не используется, запись в таблице отсутствует (см. рис.)
...
Рейтинг: 0 / 0
Вопрос по проектировке
    #33142594
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PVPЭто поля одной записи таблицы параметров, например, S01 и S02. Но в этих же полях может лежать "Цена учетная" и "Цена реализации", только в наборе "Общие данные". Разница между этими записями в поле "Код набора параметров". Для тех материалов, для которых набор не используется, запись в таблице отсутствует (см. рис.)
OK, т.е. относительно моей классификации это подвариант для Б2, в котором смысл параметра зависит не от типа товара, а от типа блока параметров. Словарь определяет для типа товара набор типов блоков параметров как в Б1.2.
Я есть понимай...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос по проектировке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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