Связь между полем и несколькими таблицами в MS-ACESS - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть сомнения по поводу отношений, которые я считаю сложными. Например, я хочу знать, на какой плате я использую электронные компоненты. Итак, у меня есть три таблицы (UsedOn, Resistors and Capacitors):

UsedOn:
   PartID
   PCBID

Resistors:
   PartID;
   ...

Capacitors:
   PartID;
   ...

Вопрос в том, могу ли я определить, из какой таблицы PartID?

Я пытался связать обе таблицы, но в этом случае каждая линия будет иметь 1 резистор и 1 конденсатор, и это не правильный путь.

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

Я думаю, что вам нужно переделать ваши столы. Я хотел бы предложить:

tblComponentType : ComponentTypeID, ComponentType ( В этой таблице будет храниться тип компонента, например резистор или конденсатор );

tblComponent : ComponentID, ComponentTypeID, ComponentName () В этой таблице будет храниться информация о компонентах, и поскольку у нее много: одна связь с tblComponentType, мы знаем, какой это тип компонента );

tblPCB : PCBID, PCBName () В этой таблице будет храниться информация о печатных платах );

tblPCBComponents : PCBComponentID, PCBID, ComponentID, Количество ( Это таблица «соединения», которая сообщает нам, какие компоненты используются в каких печатных платах ).

Затем можно создать запрос, который объединяет эти 4 таблицы

С уважением,

1 голос
/ 29 апреля 2020

Проблема в вашем дизайне. Ваши 3 таблицы должны быть использованы (PCBID, PartID, PcbDescription), Parts (PartID, PartTypeID, PartDescription), PartTypes (PartTypeID, PartTypeDescription). PartTypeDescription - это резисторы, конденсаторы и т. Д. c.) Затем связывает PartTypes с деталями, а детали с UsedOn.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...