2014-03-02 223 views
0

我正在建立一個包含以下信息的關係數據庫。關係數據庫 - 多種類型

會有一個名稱列,其中每個名稱都有唯一的名稱和ID。例如:a,b,c。

每個a,b和c都需要創建多個項目。例如,x,y和z。

如果(名稱) - [必需]>(項目),然後

a -> x, y 
b -> x, y, z 
c -> y, z 

如何將這些信息存儲在數據庫中?我使用逗號分隔列表閱讀是一個糟糕的主意,並且一直無法想出解決方案。

謝謝!

+0

在逗號分隔的列表之後是​​什麼意思? – Strawberry

回答

0

你需要什麼叫做關聯表或聯結表。它可以被定義爲:

create table NameItems (
    NameItemsId int not null auto_increment, 
    NameId int, 
    ItemId int, 
    foreign key(NameId) references Names(NameId), 
    foreign key(ItemId) references Items(ItemId) 
); 

這是假設你有其他的兩個表,NamesItems以及有關這些實體的信息。

+0

所以我會有:「a - > x」,「a - > y」,「b - > x」,「b - > y」等等? – user3163221

+0

@ user3163221。 。 。是。每個表都是一個單獨的行。 –

+0

謝謝你的幫助! :) – user3163221