2017-02-13 15 views
0

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

ore ----> ingot -----> I-Beam 

Конечно , каждый I-Beam сделан из более чем одного слитка. Если у меня есть таблица слитков и таблица I-Beams, она может быть сделана из двух, трех (вплоть до 6)

Как мне сделать это?

Я относительно новый для RDMS и MySQL, поэтому я прошу прощения заранее, если вопрос неуместен, не ясно, или не имеет никакого смысла

+0

Концепция, которую вы пытаетесь создать, представляет собой спецификацию (BOM), это производственный процесс, который берет сырье и дает готовое изделие. Поскольку слиток для «Готового товара» - это «Много-ко-многим», вам нужно разрешить эти отношения, используя таблицу переходов, которая будет содержать «материалы», необходимые для того, чтобы сделать продукт (готовый товар) под вопросом, похожим на «рецепт» при приготовлении пищи. В нем вы должны указать материалы, необходимые для количества, необходимого для создания IBEAM. Таблица (Product_materials) с QTY и UOM. вы можете даже иметь несколько рецептов, чтобы сделать то же самое готовое. – xQbert

+0

@xQbert Итак, из того, что я понимаю, мне нужна другая таблица (с собственным первичным ключом), и в этой таблице у меня будет два столбца (ingotID и ibeamID), и записи в этой таблице будут тем, что мне нужно посмотреть проследить Ибэм обратно в его слитки? – robotHamster

+0

Закройте, так как у вас может быть несколько формул, чтобы сделать конечный продукт, вам нужен идентификатор формулы. Технически вам не нужно иметь составной ключ, поскольку formualID будет уникальным. и ProductID, materialId могут быть просто внешними ключами. – xQbert

ответ

1
Product_materials table 
FormulaID composite key (though this alone would be unique) 
ProductID composite key 
MaterialID composite key 
Material_QTY 
Material_UOM 
Product_QTY 
Product_UOM  
InstructionID FK to steps to follow for manufacturing etc. 

Примечания Вы можете иметь несколько формул для то же сочетание продукта и материала. Имея в виду, что существует более одного способа сделать «IBEAM», который имеет тот же SKU.

Таким образом, в вашем примере:

мы имеем формулу для materialID рудного, который с определенной Qty и UoM мы используем, чтобы сделать слитки продукта.

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

+0

Спасибо! Я думаю, что сложный ключ - это то, что я искал! – robotHamster

+1

Я предлагаю прочитать информацию о полях, используемых в Билль-материалах, так как это может стать весьма привлекательным, если вы после полной функциональности таких производственных процессов. Вот один пример: http://stackoverflow.com/questions/17651424/bill-of-materials-database-model – xQbert