当前位置: 首页 > 面试题库 >

多个外键到单个列

仲孙绍元
2023-03-14
问题内容

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

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

另外,我正在计划将nHibernate用作ORM,通过进行这样的关系是否会引入任何问题?


问题答案:

不,您不能将单个字段作为指向两个不同表的外键。您如何知道在哪里寻找钥匙?

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

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



 类似资料:
  • 问题内容: 我有一张桌子,该桌子应该可以追踪从一家供应商向另一家供应商运送产品的天数和成本。我们(出色地:p)在产品供应商表中存储了运输供应商(FedEx,UPS)和产品处理供应商(Think … Dunder Mifflin)。因此,我的SHIPPING_DETAILS表中有三列,均引用VENDOR.no。由于某种原因,MySQL不允许我将全部三个都定义为外键。有任何想法吗? 编辑删除双主键定义

  • 我正在拉维尔创建一个项目。我有两个数据库表,它们是通过迁移创建的:我想在数据库模式中设置多个外键。 表用户 我想知道的是如何描述模型中的关系? 编辑: 我计划使用此关系,每个用户都属于部门,任何部门都有多个用户,每个用户只有一个部门

  • 问题内容: TableB.TableAID的外键约束。我需要能够允许TableB.TableAID使用来自TableA.ID或TableB.ID的值,因此在单个列上有多个外键约束,我需要它允许或。谢谢! 问题答案: 这是不良设计的明显标志。您永远不需要这样做,如果您这样做,则需要重新考虑设计。 您不能使一个字段与两个不同的FK关联。

  • 问题内容: 我正在开发一个应用程序,该程序将管理注册课程的学生。该应用程序将具有可以登录并操纵学生的用户。用户还可以对学生进行评论。因此,我们的三个主要班级是学生,用户和评论。问题是我需要将个人评论与其他两个模型相关联:用户和学生。所以我从这样的一些基本代码开始… 因此,在注释表中,单个记录将具有以下字段: 这带来了几个问题。首先,用于创建关联对象的漂亮的Rails语法会分解。如果要发表新评论,则

  • 我可以这样做吗?或者有没有其他更好的方法来处理这种情况

  • 问题内容: 只是为了扩展我以前的问题-我的数据库中有两个表,我想提取某些信息。下表: 您向我提供了以下代码来获取播放器的名称: 效果很好,谢谢-我只想进行两项调整: 我想返回得分手的名字以及球员的名字。由于m.scorer是一个ID,如果p.Name已被映射到m.playerID,我如何将其映射到p.Name属性? 上面的查询返回所有玩家的姓名。我很快就会添加搜索功能,您可以在其中搜索特定玩家的所