【发布时间】:2017-11-10 07:18:50
【问题描述】:
因此,我正在尝试自学数据库和 SQL,并尝试在 Management Studio 中制作数据库,并且我有一个关于表中递归关系的问题。假设我有一个名为“Customers”的表,在该表中我有一个名为 Customer_ID 的 int 作为主键,它也是一个递增 1 的标识,一个名为“Customer_Name”的 nchar(125),以及另一个名为 Customer_Parent_ID 的 int(我不'不知道我是否应该将此作为身份)。我如何建立有客户的关系,我想跟踪其中一些客户可能是其他客户的父母(想想公司,例如说微软和 LinkedIn 都是客户,但微软也是 LinkedIn 的父母公司和我想展示这种关系)。我附上了一张我认为它应该是什么样子的图片……但同样,这里的新手和任何建议都将不胜感激。
非常感谢!
编辑:添加了 SQL 代码并删除了意外的 mysql 标记。
【问题讨论】:
-
图表未显示关系定义。最好能提供创建表和创建索引的SQL代码。也就是说,看起来您已正确设置它。您不希望外键(父)是身份。我建议你研究一元关系,标准模型是员工/经理。您还可以研究递归 CTE(如果这些在 MySql 中可用)
-
MySQL 和 SSMS,不是很常见的组合。
-
一个客户可以只有一个父母吗?
-
我添加了 SQL 代码,现在我会查找它!谢谢!不小心点击了 mysql 的推荐标签,我只在 Management Studio 中工作。我实际上并没有考虑过,我想是的,如果一家公司被另一家公司收购并且现在有了新的父母!有趣!
标签: sql sql-server database-design entity-relationship