关于两个表之间的关系sql server的Noddy问题。你能澄清一下吗?

时间:2010-10-27 06:07:03

标签: sql-server

为愚蠢的问题道歉,但你去了。

Sql server 2表 客户和订单 客户只能有一个订单。

使用Sql server图表并且想要在customer.CustomerId和order.CustomerID之间创建关系时,您可以通过哪种方式拖动箭头? 从客户到订单还是从订单到客户?

一般来说,你做哪种方式有关系吗? 我在哪里可以阅读它?或者你能澄清一下吗。谢谢!

3 个答案:

答案 0 :(得分:1)

customer.customerID字段应该是customer表的主键。

然后拖动箭头的方式无关紧要。 SQLServer非常聪明,可以解决这个问题。

根据添加到此答案的注释...您应该将“箭头”从引用的表拖到引用表(在您的情况下,从Customer到Order表)。然后检查SQLServer自动分配的关系。

答案 1 :(得分:0)

要订购的客户

这与LEFT JOIN相同

SELECT *
FROM Customer c LEFT JOIN
Order o ON c.CustomerID = o.CustomerID

如果没有相应的客户条目,您将无法获得订单输入,但您可以让客户没有订单。

你也应该看看FOREIGN KEY Constraints

答案 2 :(得分:0)

foreign key位于Order表中。

因此,我本能地总是从订单(带有foreign key的表)拖到客户(具有primary key / unique key的表)。

然而,你拖动箭头的方式很重要的唯一原因是基于你正在进行建模的工具,你可以做什么

最后,您要做的是在列foreign key relationship

上的Order表到Customer表格中创建CustomerId