动态创建表或具有关系的一个表

时间:2013-09-15 19:01:14

标签: sql sql-server database-design

我不知道什么是更好的。我有类似的东西:

Table1:
Name
ID
Structure

和Structure是表类型数据,如:

Structure:
ID
Name

因此,表1的一个元素可以包含结构的多个元素。

更好的是: 1)使用Table1.name作为名称创建子表 2)使用以下内容创建一个Structure表:

table1_reference
ID
Name

C ++ / C#代码将使用所有内容。我只是不知道什么更好。

1 个答案:

答案 0 :(得分:2)

看起来您应该从table1中删除结构列,并使用table1(ID)和structure(ID)创建一个包含外键的交叉引用表,然后在那里插入两个表的关系的出现。

如果您想从中获取信息,只需通过ID加入。

不要简单地在表结构中添加table1_reference的列,因为您的列名将包含大量重复信息。

应该是:

Table1:
ID
Name

Structure:
ID
Name

table1_structure:
ID
TABLE1_ID
STRUCTURE_ID