2011-05-13 72 views
0

我有两个表格,我需要建立它们之间的一对多关系,例如: 1客户可以有许多订单。 什么是在订单表上创建关键字的好方法,以便在订单中可以有很多行,与一个/相同的客户详细信息有关?即我可以有当有2行与插入顺序(1一对多关系的客户ID外键)相同的客户ID在表格之间建立一对多关系

假设 Customer表中的列情况:

CustomerID (key) 
Name 
OtherColumns 

订单:

<IsaKeyNeeded> 
customerID (foreign key) 
OrderName 

我的另一个问题是'订单'是否需要拥有自己的钥匙?

回答

1

您已正确设置... Order表应该有一个到Customer表的外键。这建立了一个客户与多个订单的关系。只是不要让CustomerID成为唯一的密钥。

要回答你的其他问题......是的,订单表应该有它自己的主键。

+0

如何清理订单表,是否会轻松完成,还是必须先删除外键关系,我必须定期截断所有表。如果我在订单上有一个主键,我可以自动插入它作为一个int或东西。作为客户详细信息的一部分,我有客户输入来自.txt文件,而订单以逗号分隔。 – user752709 2011-05-13 16:24:57

+0

是否有可能无法使CustomerID成为唯一键(它仍然需要是一个键,所以它应该是唯一的?) – user752709 2011-05-13 16:27:05

+0

将主键列定义为“int identity”会自动为您的Orders表创建唯一的ID您。如果必须使用相同的数据跨越多个数据库,请使用GUID。 – paquetp 2011-05-13 16:34:25

相关问题