2016-05-13 5 views
0

Мне нужна помощь в проектировании следующей архитектуры. Скажем, в Таблице 1 есть список компаний вместе с их информацией. Затем в таблице 2 представлен список «первичных» компаний, за которыми следуют несколько полей, обозначающих компании, с которыми они ведут бизнес («вторичные» компании). Таким образом, первое поле в таблице 2 является «первичной» компанией, а затем можно отслеживать до 20 столбцов, каждый из которых имеет единый вход компании, которая ведет бизнес с «основной компанией». Каждая из этих компаний приведена в таблице 1. Я хочу иметь возможность связать информацию об этих «вторичных компаниях» с информацией о них в таблице 1. Например, я хочу видеть, сколько «вторичных», компании в таблице 2 - из Калифорнии. Я каждую компанию перечислял один раз в Таблице 1 вместе со штаб-квартирами; но каждая компания в таблице 2 находится в отдельной колонке. Я просто запутался в том, как структурировать это, потому что, когда я пытаюсь сделать соотношение запросов между Таблицей 1 и Таблицей 2, я в конечном итоге делаю соединение между «Компанией» в Таблице 1 и каждой колонке таблицы 2. Нехорошо , правильно?Несколько полей в одном списке листов для одного поля в другом листе

У меня есть что-то вроде этого ...

Table 1 

Company City   State 
A  Los Angeles CA 
B  San Diego CA 
C  New York  NY 
. 
. 
. 

Table 2 
Primary Company Secondary1 Secondary2 Secondary3 Secondary4 
A     B   C   X   Y 
B     A   C   Z   W 
C     A   B   W   X 

мне нужен другой столик для этого делать? Должен ли я как-то связать эти 20+ полей вторичной компании в одну колонку? Любое направление, которое вы могли бы дать, было бы очень полезно.

Спасибо!

ответ

3

Я думаю, что вы хотите это:

Table 1 

Company City   State 
A  Los Angeles CA 
B  San Diego CA 
C  New York  NY 
. 
. 
. 

Table 2 
Primary Company Secondary 
A     B   
A     C   
A     X 
A     Y 
B     A 
B     C 
B     Z 
B     W 

...

В этом случае вы будете иметь отношения между table1, column1 и table2 колонками 1 и 2. Это приемлемо (хотя технически лучше, если вы используете цифры вместо букв).

+0

Справа, ладно. Благодаря! Это на самом деле немного сложнее, потому что в таблице 2 есть другая информация, связанная с отношениями каждой первичной компании с другими, но, на мой взгляд, ваше предложение получило мое начало на правильном пути. –

+0

Таблица 2 представляет собой таблицу взаимоотношений между компаниями, нормально иметь другую информацию, связанную с отношениями. вы хотите избежать размещения информации в этой таблице, которая будет дублироваться в другом месте или не связана с отношениями компаний, и вы можете захотеть добавить первичный ключ в форме идентификатора, чтобы идентифицировать каждое отношение. –

+0

Право на. Спасибо @Mark_Eng! –