2017-06-08 162 views
0

所以我试图教自己的数据库和SQL,我试图在管理工作室中制作数据库,并且我有一个关于表中递归关系的问题。假设我有一个名为'Customers'的表,并且在该表中我有一个名为Customer_ID的int作为主键,它也是一个增加1的标识,一个名为'Customer_Name'的nchar(125),另一个名为Customer_Parent_ID的int我不知道我是否应该将此作为身份)。我如何去建立有客户关系,并且我想跟踪一些客户可能是其他客户的父母(想想公司,例如说微软和LinkedIn都是客户,但微软也是LinkedIn的父母公司,我想表明这种关系)。我附上了我认为应该看起来像...的图片,但是,再次,总新手在这里和任何建议将不胜感激。SQL数据库递归关系

非常感谢!

enter image description here

编辑:添加SQL代码并删除意外mysql的标签。

enter image description here

+1

该图不显示关系定义。如果你能提供创建表并创建索引SQL代码,那将是最好的。这就是说,它看起来像你有正确的设置。你不想让外键(父)成为身份。我建议你研究一元关系,标准模型是员工/经理。您也可以研究递归CTE(如果这些在MySql中可用) –

+2

MySQL和SSMS,不是很常见的组合。 – jarlh

+1

客户只能有一位家长吗? – Deltharis

回答

0

我认为你的问题在某种程度上类似于this one,和简单的答案就是你设置一个外键Customer_Parent_ID列,指的是CUSTOMER_ID列,因此出现在Customer_Parent_ID任何ID号码也必须出现在Customer_ID列中。