gpt4 book ai didi

sql - 单个列的多个外键

转载 作者:行者123 更新时间:2023-12-01 22:46:07 24 4
gpt4 key购买 nike

我正在为客户/订单系统定义一个数据库,其中有两种截然不同的客户类型。因为它们是如此不同,所以拥有一个客户表会非常难看(它会充满空列,因为它们对于一种类型来说毫无意义)。

他们的订单格式相同。我的订单表中是否可以有一个 CustomerId 列,该列具有两种客户类型的外键?我已经在 SQL Server 中设置了它,并且在创建关系时没有遇到任何问题,但我还没有尝试插入任何数据。

另外,我计划使用 nHibernate 作为 ORM,这样的关系会带来任何问题吗?

最佳答案

不可以,您不能将单个字段作为两个不同表的外键。你如何知道去哪里寻找 key ?

您至少需要一个字段来说明用户的类型,或者两个单独的外键。

您还可以将所有用户共有的信息放在一个表中,并为特定于用户类型的信息建立单独的表,这样您就拥有一个以用户 ID 作为主键的表。

关于sql - 单个列的多个外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1186931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com