Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Пытаюсь заново переосмыслить подход к описанию комплектации изделий, вроде бы тема достаточно избитая и тем не менее. шаг1. создаем талицу товаров и замыкаем ее на себя получаем иерархию, для простоты и скорости делаем денормализацию, типа уровень, терминальность. МИНУСЫ: 1. при появлении нового товара с несколько отличающимися характеристиками требуется новая спецификация, типа появились болты с резьбой 5 мм вместо 4 мм хотя и те и те можно использовать при сборке данного товара. 2. разные серии товара могут отличаться очень незначительно с точки зрения спецификации, а при таком подходе нужно создовать новую спецификациюю шаг2.создаем вторую таблицу для себя я ее называю "шаблон" это условное понятие сборочной единицы котороя связана один ко многим с товаром можно вроде бы ее замкнуть на себя, а вроде напрашивается отношения вывести в отдельную таблицу ОтношениеШаблон типа ШаблонРодитель, ШаблонПотомок, получаем отношение таблицы шаблон многие ко многим со мой с собой, и вроде бы счастье, но при таком подходе иерархию я блогополучно потерял, а ведь по жизни она есть, один шабон конечно можно использовать в разных спецификациях но ведь внутри одного изделя иерархия есть. шаг3 вроде бы напрашивается еще одна таблица назовем ее "спецификация" ее делаем иерархией замыкая на себя делаем связ один "шаблон" связан со многими спецификациями, и одна "спецификация" связана со многими "товарами" и одновременно одни "шаблон" связан со многими ""товарами" на этом пока мои мысли иссякли Буду очень признателен за критику, ссылки, и свои предложения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 12:32 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospbПытаюсь заново переосмыслить подход к описанию комплектации изделий, вроде бы тема достаточно избитая и тем не менее. Это твое описание проблемы... а остальное - твое решение... Конечно хорошо, что сам думаешь... но разве нельзя чуть-чуть побольше о самой проблеме... что нужно получить... 1. при появлении нового товара с несколько отличающимися характеристиками требуется новая спецификация, типа появились болты с резьбой 5 мм вместо 4 мм хотя и те и те можно использовать при сборке данного товара. Если это SQL сервер, то копирование состава можно выполнить: EXECUTE PROCEDURE... (если это не MySQL, Access, DBF и прочее...) На сегодя у меня все... пока... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 14:52 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
мне кажется нужно или копать в сторону создания отдельной сущности ВерсияСпецификации или можно непосредственно в первичных документах запоминать фактический состав спецификации, хотя мне этот вариант не очень нравится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 16:39 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
но разве нельзя чуть-чуть побольше о самой проблеме... что нужно получить Работаю на MS SQL 2000= решаемая задача, описание производства и склада, суть производства в основном сборка из готовых комплектующих, достаточно широкого набора продукции, многие блоки в разных изделиях повторяются, вопрос идентификации конкретного изделия не стоит, Очень не хочется с одной стороны множить спецификации до бескончности, перекладывая груз на пользователя и раздувать базу, с другой оставить структуру базы типа многие ко многим и все решать за счет логики приложения усложняя ее до бесконечности, хочется максимально использовать структуру базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2005, 18:09 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Несколько уточнений: создав таблицу типа "ШаблонРодитель", "ШаблонПотомок" отдельно от таблицы "Шаблон", иерархия конечно не потерялась, и вобщемто вроде бы вся необходимая информация для построения дерева (спецификации) остается, не понятно только как денормализовать эту таблицу чтобы с одной сторны упростить алгоритм, с другой повысить скорость, с третьей воспользоваться существующими алгоритмами для обработки дерева поl SQK. ведь после создания сама спецификация остается достаточно постоянной, получается что уровень стороки "ШаблонРодитель"-"ШаблонПотомок" есть величина переменная и является функцией от спецификации, Второй момент который мне кажется тоже достаточно серьезным сама таблица отношений позволяет задать любое сочетание между "ШаблонРодитель" - "ШаблонПотомок" а это мяго выражаясь не совсем так не мешало бы на уровне структуры базы наложить ограничение, что внутри одной спецификации должно быть дерево а не юбой произвольный набор. Что-то ни как не могу понять нужно ли вводить еще дополниетльную сущность типа "Спецификация" или "МестоШаблонаВСпецификации" или как то по другому???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 11:16 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospb...решаемая задача, описание производства и склада, суть производства в основном сборка из готовых комплектующих, достаточно широкого набора продукции, многие блоки в разных изделиях повторяются, вопрос идентификации конкретного изделия не стоит... Если я правильно понял, то состав продукции нужен для учета расхода комплектующих на складе… Не понятно, что имеется в виду под "блоками" – просто набор повторяющихся позиций или сборочные единицы, в свою очередь состоящие из других комплектующих и тогда какой их уровень вложенности… Видно мало кого интересует эта проблема… (судя по бурному обсуждению...) Могу предложить следующее решение: Я запутался в том, что ты называешь спецификацией , товаром и шаблоном … По-моему плясать надо не от товара, а от комплектующих и изделий… Они должны быть в одной таблице “ изделия ”… Другая – “ спецификация ” для связи изделий с комплектующими… В том числе в одно изделие могут входить и другие… (как в прочем и сборочные единицы, если нужно, у которых будет свой состав…) Таблицу “ товары ” лучше сделать отдельно, а то каша получится… Для нее – “ шаблон ” для связи товаров с изделиями и комплектующими… (без вложенностей шаблон на шаблон…), а состав получим по спецификациям… А теперь о вариантах для товаров, типа разные ручки (деревянная и пластмассовая и прочее…) Создаем “ варианты ” для связи позиций спецификации с товарами… В этом случае, в спецификации на изделие будет две ручки (одна с признаком типовой), а в вариантах указано, для какого товара… (комплектующие без варианта – общие и включаются без учета товара…) Денормализация хороша если жестко задан уровень вложенности… Типа: товар->изделие->комплектующие… а иначе… Я состав получаю селектом из процедуры… ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 13:28 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
olol! Они должны быть в одной таблице “изделия”… Другая – “спецификация” для связи изделий с комплектующими… Если не сложно сколько таблиц и с какими связим ты используешь сейчас у себя: 3 ? "товар" "изделие" "спецификация" соотношением один ко многим, а "товар" имеет составной ключ базовый товар + характеристика (типа размер, цвет) я правильно понимаю твой подход или нет ??? P/S спасибо за участие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 16:36 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Я делал примерно как у olol (насколько я понял). 2 таблицы (основные, остальное специфика): Детали (просто банк деталей/узлов, но с деревом) Id Parent_Id Name Всяко разно Спецификация Id Parent_id Детали_Id Количество Всяко разно Была возможность копирования из Деталей в Спец. ветками и кустами. Дерево в Деталях и служило неким шаблоном. Там были только уникальные детали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2005, 16:55 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospb Если не сложно сколько таблиц и с какими связим ты используешь сейчас у себя... Таблица “ изделия ” включает в себя изделия , сборочные единицы и детали с соответствующими признаками. Разделять их не имеет смысла, поскольку они имеют сходную структуру (кроме мелочи). Да и одно изделие может входить в другое... Делать ее сразу с деревом - то же... поскольку все позиции уникальны, а входить они могут многократно и на разных уровнях в различные изделия и узлы... Таблица “ спецификация ” изделие->изделия... Уровень вложенности - не ограничен, реально было до девяти, сейчас не знаю... В рекурсивной процедуре у IB/FB есть ограничение не более тысячи циклов, но мне это не грозит... :) Это конструкторская часть и при заполнении спецификации на узел глубоко наплевать какому изделию и уровню пренадлежит и входит ли он куда-нибудь вообще... проверка идет только на возможность зацикливания... Таблица “ товары ” - то что поставляется (идет на продажу)... В названии отражается его особенность (исполнение,состав или цвет...) типа "Набор инструментов N-1" состоящий из нескольких изделий (молоток, отвертка... винтики, гаечки... упаковка...) Это уже для сбыта... Таблица “ шаблон ” товары->изделия... (состав товара) Здесь уже без циклов... (а то шаблон на шаблон и концов не найдеш). Да и не нужны здесь циклы... состав берется по спецификации на изделия... А при необходимости, всегда можно скопировать шаблон с другого товара... Таблица “ варианты ” спецификация->товары... Связи задаются для тех позиций которые зависят от товара... - Конструктор заносит в спецификацию все варианты ручек, поставив признак основной/дополнительный... (только одна будет типовой...) - Сбыт для нужного варианта указывает товар, где она используется... Позиции без признака - для любого товара... Итого 5 - таблиц... хотя у меня 3 таблицы (товары,шаблон совмещены с изделия,спецификация)... только каша все это... сплошные проверки по признакам для выборок, чтоб что-то не туда не воткнули... Дерьмолизации никакой нет. (вещь не плохая, но только не здесь...) Полный состав товара, изделия или узла, а также применяемость для деталей берется из процедур... Необходимые расчеты и обработка - тоже только через процедуры... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2005, 07:30 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Насколько я понял подходы у Сереги и olol очень разные, в одном случае два дерева с отношением один ко многим в другом отношения выносятся в отдельную табицу и получаем многие ко многим Попробую уточнить что под чем я понимаю: 1."товар" это то что указывается в накладной и то в чем считается остатки по складам, это может быть и материал, и комплектующие, и готовое изделие, и полуфобрикат, и даже услуга. у него есть имя,характеристики, состав, цены(закупки, реализации, себестоимость) и т.п. итого имеем таб: --кодтовар --имятоавар --разноетовар --кодШаблон 2."шаблон" это абстракция от "товара" это чертеж изделия (для имени здесь скорее подходит код чертежа), или можно сказать что это строка спецификации, соответственно получаем таб --кодШаблонон --имяШаблон --разноеШаблон 3. создаем таб отношений для шаблонов --ШаблонРодитель --ШаблонПотомок 4."Спецификация" это результат селекта у Сереги и olol как я понял несколько по другому Серега! твой вариант для меня остался загадкой вроде я его и так повертел и эдак все равно не понял Во первых если ты сразу делаешь дерево не выводя отношений в самостоятельную таблу, то как получается что один потомок может иметь разных Родителей, какой нибудь болт может входить у уйму разных, узлов Во вторых если под "Деталью" ты пониаешь то что я для себя назвал "шаблоном" а под "спецификацией" --"товар" ??? то тоже что то странно кол-во поидее нужно указывать в "Детали" тогда или ты просто опустил таблу что я на зываю "товаром" Если не сложно в чем фишка когда ты связываешь одно дерево с другим отношением один ко многим. olol! спасибо за подробное описание как я понял что у тебя сейчас понятие "товар" и "изделие" в одной таблице под "товаром" мы вроде пноимаем одно ито-же, а то что ты называешь "изделием" я называю "шаблоном" ??? так, и ты считаешь вполне разумным их раделить,здесь я полностью согласен, отношения между "изделиями" ты ваносишь в отдельную таблу по аналогии как я выношу отношения между "шаблон" , здесь мне тоже понятно, но как я понял что если бы ты разделил описание товар-изделие на две таблицы "товар" и "изделие", то стал бы делать отношение для "изделий" в одной табл "Спецификация" и еще одну табл "шаблон" для оношений "товар" - "изделие" тем самым формируя между ними связь многие ко многим, а резве недостаточно оношения один ко многим, задумку этой таблицы я не смог понять, таблица варианты мне как то тоже не совсем понятна, если ограничится признаком "основной/дополнительный" то достатчно просто еще одного поля в таб "товар" можно с историей и вариантами, а связь со "спецификацией" тем более что в твоем предложении это таблица отношений, а не таблица сущностей, мне кажется несколько не понятной. Сейчас мне кажется интересным следующий вариант в дополнениие к тому, что я писал раньше добавить следующее табл "товар" разделить на следующие "БазовыйТовар", "ТипТовар", "ЗначениеТипа", Табл "Товар" будет выглядеть так --КодБазовыйТовар --КодТипТовар --КодЗначениеТипа (эти три строки является составным ключом, может даже два типа сделать?) далее с "шаблоном" можно связать или "БазовыйТовар" или "Товар", а может объеденить "БазовыйТовар" и "Шаблон" когда будет формироваться накладная, должен задаваться базовыйтовар, типтовара, значениетипа Например, БотинокМужской, Цвет, Черный (конечно должны быть какие то значениея по умолчанию , и нулевые значения "БазовыйТовар" и "Шаблон" можно и нужно ли объеденять я пока не розбоался Второй момент после создания таблицы отношений для "Шаблона" мне кажется будет любопытно попробовать создать отделбную сущность "Дерево"она будет денормализована, и вней хранить образцы "Деревьев" типа --кодДерева --родитель --Потомок --уровень --терминальность --номер ?? и усановить связь одни "шаблон" ко многим "Деревьям" или с узлом дерева, выделив может его тоже в отдельную таблу или как то так пока это не решения а направление для мысли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 11:03 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospbСерега! твой вариант для меня остался загадкой вроде я его и так повертел и эдак все равно не понял Бывает. h2ospbВо первых если ты сразу делаешь дерево не выводя отношений в самостоятельную таблу, то как получается что один потомок может иметь разных Родителей, какой нибудь болт может входить у уйму разных, узлов В таблице Детали находятся только уникальные детали у которых не может быть разныз родителей. Например есть базовая модель. Все детали делались под нее. Они все, с иерархией пишутся в Детали и потом полностью копируются в Спецификацию . Потом разработали новый узел (ну например карбюратор). В Детали вносятся опять же только уникальные детали. Если возможно с иерархией, если нет - нет (вернее с одинарной иерархией, один главный псевдоуровень есть всегда). В Спецификацию вносится базовая модель (или копируется одна из созданых ранее), выкидывается старый карбюратор и втаскивается новый. Новая модель готова. h2ospbВо вторых если под "Деталью" ты пониаешь то что я для себя назвал "шаблоном" а под "спецификацией" --"товар" ??? то тоже что то странно кол-во поидее нужно указывать в "Детали" тогда или ты просто опустил таблу что я на зываю "товаром" "Шаблоном" я обозвал именно соотношения деталей, их иерархию. Из предыдущего описания видно, что базовая модель по структуре будет напоминать любую другую (или я не понял твоего понятия "шаблон"). Количество есть и в Деталях и в Спецификации. Но оно может быть разным. Вдруг кто сделает модель с двумя карбюраторами или с 11 дверями. 8-) Количество в Деталях в принципе - справочное, и ни на что не влияет. Считается по Спецификации . h2ospbЕсли не сложно в чем фишка когда ты связываешь одно дерево с другим отношением один ко многим. А я их не связываю. Я на основе первого мышкой строю второе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 14:14 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospb...задумку этой таблицы я не смог понять, таблица варианты мне как то тоже не совсем понятна... Вот уж действительно: чужая душа - Потёмкин... Я тоже только сейчас посек, что у тебя как называется... правда в последний твой вариант не въехал... (насколько я понял - это еще только наброски)... Мои таблицы ты понял правильно (кроме Вариантов )... А теперь как это работает... по моим названиям таблиц... если их разъединить... Конструктора заносят таблицы Изделие и Спецификация согласно документации. Исключение составляют варианты... (две ручки вместо одной), но у них разные признаки: типовая и дополнительная. При формировании состава изделия для конструкторов берется только типовая. Сбыт заносит таблицы Товар и Шаблон... У них свои наименования товаров (типа: Вилы садовые, а не изделие И-117)... А в шаблоне указывается связь с конструкторским изделием... В случае "Набор инструментов" - с несколькими... В случае "Рем.комплект" - набор узлов и деталей... А теперь таблица Варианты ... это связь: позиция спецификации->товар. Сбыт заносит принадлежность "Ручек" товарам... основная - одному, дополнительная - другому... (или другим). При формировании состава товара для сбыта у данных позиций проверяется принадлежность этому товару... В случае сборочной единицы - обрежутся все лишние ветки... В случае разного количества - возьмется нужное... А задачи у нас разные... Я занимаюсь не складом, а расходом материалов... По плановому количеству производства товаров и раскрутки: Товар->Шаблон->Спецификация->Изделие формируется количественный выпуск всех состовляющих... А по их нормам расхода материалов формируются лимиты для цехов... Ну пока !!! до понедельника... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 14:19 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
А я их не связываю. Я на основе первого мышкой строю второе. тогда понятно В таблице Детали находятся только уникальные детали у которых не может быть разныз родителей. это теперь тоже понятно но ведь хочется чегото красивого и вечного (шутка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 16:30 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Ну вот... в пятницу ответ Сереги прозевал... А я их не связываю. Я на основе первого мышкой строю второе. Лично мне это не подходит... У меня конструктора и сбыт - это разные люди... А еще есть плановики и номировщики материалов... Каждый заносит только свое... а все изменения автоматически отражаются на общем итоге... автор 1."товар" это то что указывается в накладной и то в чем считается остатки по складам, это может быть и материал, и комплектующие, и готовое изделие, и полуфобрикат, и даже услуга... Как я уже указал - у меня не склад... потому в таблице изделий нет материалов и тем более услуг... Если у тебя товары со спецификацией заносит один работник, то таблицу изделий можно сделать номенклатором товаров с разбиением на группы... (товары... изделия... детали... матерьялы... и хоть офисная мебель...) В этом случае сдесь же будут и товары, а изделия - выступать в качестве базовых шаблонов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 07:08 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
olol А я их не связываю. Я на основе первого мышкой строю второе. Лично мне это не подходит... У меня конструктора и сбыт - это разные люди... А еще есть плановики и номировщики материалов... Каждый заносит только свое... а все изменения автоматически отражаются на общем итоге... У меня там еще и смайлик стоял. Да и в структуре моей вроде видно, что Спецификация ссылается на Детали (много-к-одному). А насчет конструкторов/плановиков - твоя ситуация не уникальна. У всех это разные люди. И у всех все должно собираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 09:20 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Вот уж действительно: чужая душа - Потёмкин... А насчет конструкторов/плановиков - твоя ситуация не уникальна. Общим мне кажется следующее: При описаниик комплектации, спецификации, сборки выделяются две сущности реальный товар и его абстракция и по умолчанию это две разные таблицы У Сереги Реальный Товар-"Спецификация", Абстрактный-"Детали", У Olol "Изделие" и "Товар", у меня "Шаблон" и "Товар", далее для каждой из сущностей строятся "отношения" или в отдельной таблице или замыканием таб на себя. Хотя мне кажется это не самый эфективный способ, я начинаю склоняться к мнению что "Абстракция" должна быть частью составного ключа "РеальногоТовара", тогда и "ОтношенияАбстракций" будет одновременно и "ОтношениемРеальныхТоваров". "Отношения" мне кажется все таки надо обязательно выносить в отдельную таблицу а не как у Сериги замыканием на себя, здесь конечно появятся дополнительные заморочки, что в одной таблице "отношений" будет много "деревеьев" и нужно вводить как минимум или дополниткльное поле "ТипОтношений" или для каждого типа отношений строить свою таблицу "Отношений". "Абстракцию" делать сотавным ключом "РеальногоТовара" тоже можно делать по разному, или по простому в таблице "РеальныйТовар" сделать поле IDАбстракция, связав их один ко многим напрямую, или выделив в отдельную таблицу, но это уже вроде перебор. Итого "Реальный Товар", будет иметь сотавной ключ "Абстракция", "Набор-параметров-и их значений". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 10:41 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospbПри описаниик комплектации.... Запутался я в твоих терминах. "Детали" у меня просто справочник уникальных деталей . Деревянная структура его - просто навеска для облегчения работы и улучшения наглядности - он может быть и плоским, это не принципиально . А "Спецификация" - это описание реального товара через соотношений уникальных деталей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 11:13 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Серега h2ospbПри описаниик комплектации.... Запутался я в твоих терминах. "Детали" у меня просто справочник уникальных деталей . Деревянная структура его - просто навеска для облегчения работы и улучшения наглядности - он может быть и плоским, это не принципиально . А "Спецификация" - это описание реального товара через соотношений уникальных деталей. я об этом и говорю что такой подход когда уникальные товары и реальные это разные таблицы это не есть идеал, напрашивается , что бы "Детали" были составеным ключом "Спецификации" а сейчас у тебя слишком избыточные данные наверно это то же не единственный путь. или ты считаешь что я не о том?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 11:26 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospbя об этом и говорю что такой подход когда уникальные товары и реальные это разные таблицы это не есть идеал Ты веришь в идеальные решения? h2ospbчто бы "Детали" были составеным ключом "Спецификации" Растолкуй мне эту фразу. Если Спецификация ссылается на Детали это не оно? h2ospbа сейчас у тебя слишком избыточные данные наверно это то же не единственный путь. или ты считаешь что я не о том?? Избыточность есть конечно. Но почему "слишком"? Значения в "Деталях" являются значениями "по умолчанию" для "Спецификации". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 11:35 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Серега Избыточность есть конечно. Но почему "слишком"? Значения в "Деталях" являются значениями "по умолчанию" для "Спецификации". Например у тебя получается в "Деталях" есть строчка -карбюратор-, а в спецификации -карбиратор, пластмассовый арт 124-, и вторая строка -карбюратор латунный арт 357- и тп.п конечно есть связь одни ко многим, но можно подойти через составной ключ у спецификации 1 строка ключа IDДетали (в данном случае карбюратор), 2 строка ключа тип параметра (в данном случае материал) 3 строка ключа значение параметра (в данном случае, пластмасса или латунь) 4 строка уже не ключ артикул изделия 2 и 3 строка здесь смотрятся конечно несколько стремно и для реальной работы надо что то еще придумать типа один ID есть сочетание параметров и их значений или как то так, но суть в следующем что эти две таблицы уже совсем не то что когда есть отдельно "детали", и отдельно "спецификация" с отношением один ко многим, и дело не толко в сокращении объема данных , а прежде всего в том что отношение между "деталями" и отношнеие между "спецификациями" при это подходе одно и тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 14:37 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
[quot Серега]Ты веришь в идеальные решения? quot] В идеальные решения я даже в теории не верю, но как писали в каком то топике , может быть даже кстати ты, думать нужно всегда, а на каких-то стандартных задачах, легко скатываешься на стандартный подход, а более эффективное решение с учетом данной конкретики лежит в полшаге от тебя, по другому посмотреть на таблицу отношений, еа ключ, а свой глаз уже замылен своими тараканами поэтому и хочется услышать со стороны я в се это же делаю наоборот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 14:57 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
h2ospbНапример у тебя получается в "Деталях" есть строчка -карбюратор-,а в спецификации -карбиратор, пластмассовый арт 124-, и вторая строка -карбюратор латунный арт 357- и тп.п конечно есть связь одни ко многим Нет. У меня в "Деталях" есть и "карбюратор пластмассовый арт 124" и "карбюратор латунный арт 357" со всеми своими оригинальными жиклерами, прокладками и т.п. А в "Спецификации" построено дерево со своими независимыми полями ID-Parent_Id (повторяющими входимостью дерево из "Деталей") каждая запись которой ссылается на соответствующую деталь из "Деталей". Т.е. подтаскивая из "Деталей" в "Спецификацию" к узлу Двигатель новый узел "Карбюратор латунный арт 357" в "Спецификации" достраивается новая ветка со всеми входящими деталями из "Деталей". Потом в "Спецификации" можно заменить любую деталь на любую другую (существующую уже в "Деталях"), например заменить в латунном карбюраторе прокладку на прокладку от пласмассового. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 15:12 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Серега"Детали" у меня просто справочник уникальных деталей ... А "Спецификация" - это описание реального товара через соотношение уникальных деталей. Да и в структуре моей вроде видно, что Спецификация ссылается на Детали (много-к-одному). А сборочная единица (например: с деревянной или металлической ручкой) будет иметь две спецификации ? Или это будут в справочнике деталей две записи СбЕд.дер и СбЕд.мет ? Как я понял, у тебя два уникальных товара (например: с разными ручками в сборочной единице на третьем уровне) будут иметь разные спецификации, по крайней мере до этого уровня. Базовую спецификацию занесут конструктора, а сбыт копируя ее состав в разные товары поменяет необходимые позиции... А в случае изменения в базовом изделии необходимо менять состав всех товаров полученных из нее... h2ospb...что бы "Детали" были составеным ключом "Спецификации" ..."Абстракцию" делать сотавным ключом "РеальногоТовара" А разве у меня не так ? В шаблоне для реального товара (всего одного уровня) указываются именно эти детали... Связка идет, в основном, один товар к одному изделию, кроме составных товаров (наборов)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 15:24 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
Сегодня у меня не было времени... Приведу пример моих связок по таблицам: Товары: (Id_Товара, Наименование) 01, Нож Дер.ручка 02, Нож Мет.ручка Шаблоны: (Id_Товара, Id_Изделия, Кол-во) 01, 10, 1 02, 10, 1 Изделия: (Id_Изделия, Наименование) 10, Нож 20, Лезвие 30, Дер.Ручка 40, Мет.Ручка Спецификация: (Id_Спецификации, Id_Изделия, Id_Изделия, Кол-во, Тип) 100, 10, 20, 1, 200, 10, 30, 1, * (основной) 300, 10, 40, 1, + (дополнительный) Варианты: (Id_Спецификации) 200, 01 300, 02 Получаем для Товара = 01 (Нож Дер.ручка): Товар->Шаблон: 01, 10, 1 Шаблон->Изделие: 10, Нож Изделие->Спецификация: 100, 10, 20, 1, 200, 10, 30, 1, * (основной) 300, 10, 40, 1, + (дополнительный) Спецификация->Варианты 200, 01 (берем только эту позицию) 300, 02 (эта для Нож Мет.ручка) На сегодня у меня все... убегаю... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 15:40 |
|
||
|
комлектация-иерархия-многие-ко-многим
|
|||
|---|---|---|---|
|
#18+
ololА сборочная единица (например: с деревянной или металлической ручкой) будет иметь две спецификации ? Да. На первый взгляд это кажется громозко. Но когда представишь богатство всех вариантов и их сочетаний, и прикинешь как со всем этим работать в динамике... В общем я плюнул на эту идею (она тоже была ) - динамически формировать комплектацию по условиям вариантов. Например деревянные/метал. ручки + краное/черное/зеленое + со светильником/без него. Потом выясняется, что зеленое+метал нельзя, а дерево+красное - единственно возможное сочетание и т.д. А если еще добавить еще более неслабую вариантность производства - вообще вешаться можно. Вобщем, если процесс составления комплектаций немного автоматизировать, то не так уж и страшно. А объемы, хрен с ними. Оракл умный - пусть лопатит. ololИли это будут в справочнике деталей две записи СбЕд.дер и СбЕд.мет ? Нет. Будет базовая с деревянной ручкой полностью, и металическая ручка отдельно. ololБазовую спецификацию занесут конструктора, а сбыт копируя ее состав в разные товары поменяет необходимые позиции... В моем случае все Спецификации составлялись только конструкторами. ololА в случае изменения в базовом изделии необходимо менять состав всех товаров полученных из нее... Можно просто составлять новые комплектации. В старых (утвержденных) ничего менять нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 15:44 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32925604&tid=1546028]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
3ms |
| others: | 218ms |
| total: | 359ms |

| 0 / 0 |
