Я создаю программное обеспечение для цитирования для производственного бизнеса, на котором я работаю, и я не уверен, как обращаться со сборками в моей структуре базы данных MySQL, поскольку они немного похожи на Русская кукла .
Вот грубая ERM и простой пример:
- Три небольших детали (2 × A & 1 × B ) свариваются вместе для формирования узла C . Это легко обрабатывается в таблице «PartAssem»
- Узел сборки C - это затем узел сборки D
- Сборка D затем используется в больших сборках, таких как E .
В этом случае сборочная часть имеет только два уровня глубины, причем только Сборка D является одновременно «родительской» и «дочерней» сборкой, но будет много случаев для более крупных сборок, где эта иерархия будет намного глубже.
Очевидно, что вы не можете использовать один UID в качестве двух отдельных внешних ключей в другой таблице, как я показал. Поскольку большую часть времени я буду запрашивать идентификатор родителя, я мог бы просто установить SubAssemChildID в качестве внешнего ключа, но я боюсь, что это может вызвать осложнения и / или я упускаю альтернативное решение.
Спасибо за любую помощь, которую вы можете предложить.