在我的数据库中,我有3个表,一个用于客户,一个用于订单,一个用于产品。客户可以拥有任意数量的订单,订单可以包含任意数量的产品。如何在3个表之间实现这种关系?
存储在数据库中的信息:
客户:社会安全号码,姓名,地址,电话号码
订单:订单号,日期
产品:产品编号,类别,价格
答案 0 :(得分:1)
好的,这是从哪里开始的。
首先,您需要每个表的ID(ID是唯一标识符,因此,如果我说想要客户X,表中将不会有2个客户X)
对于客户,您可以使用社会安全号码(或者您创建一个名为CUSTOMER_ID
的列)
客户可以拥有任意数量的订单,因此您应该添加一列以了解此订单属于哪个客户。因此,为了添加一个名为CUSTOMER_ID
的列,引用表CUSTOMER_ID
中的CUSTOMER
所以这两个订单属于CUSTOMER,CUSTOMER_ID = 1:
ORDER_NUMBER DATE CUSTOMER_ID
1 1/1/2013 1
2 2/1/2013 1
CUSTOMER_ID
中的 ORDERS
称为FOREIGN KEY
其余部分也是如此。
(PS:更改表ORDER
的名称,ORDER
是SQL中使用的关键字,用于订购商品SELECT .... FROM TABLE1 ORDER BY ....
)