首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个表字段可以链接2个额外的表吗?

一个表字段可以链接2个额外的表吗?
EN

Stack Overflow用户
提问于 2014-04-05 17:32:23
回答 1查看 80关注 0票数 0

你好,我是一个做数据库课程的学生,oracle是正在使用的RDBMS。我有一个问题,想知道如何实现我的EERD的一个部分,我希望得到一些洞察力。我已经附上了下面的图表。

这是一个血库的案子。血库有2家供应商:

  1. 献血者(由id确认)
  2. 该地区的其他血库(由id确定)

我想知道是谁在库存中提供了一包特定的血液。当我试图评估它时,它导致了清单表中的一个字段,引用了两个不同表中的两个字段,我认为这是不可能的,除非这是一个我还没有学到的预先概念。

我用来创建EERD的假设

  1. 一个捐献者我捐了好几包血
  2. 在短缺的情况下,不同类型的血液可由外部血库供应。
  3. 顾客(健康中心)要求从存货中提取血液,并将其记录为交易
  4. 事务只能反映一个客户。
  5. 客户可以执行多个事务。
  6. 一包血只能反映在一笔交易上。
  7. 一笔交易只会反映一包血
  8. 为了区分偶尔捐献者和定期捐献者,必须保留捐赠的历史记录,以确定捐赠的频率。

在这里看到EERD

EN

回答 1

Stack Overflow用户

发布于 2014-04-07 09:54:13

字段在清单表中引用两个不同表中的两个字段

虽然您可以在同一个字段的基础上创建两个FKs,但这可能不是您想要的--这样的FK将要求两个父行都存在,并且可能需要精确地一个来出现(而另一个缺席)。

虽然您可以手动(在应用程序代码中)实现一个可以“选择”其目标(也称为“泛型”或“多态”FK)的"FK“,但出于描述这里的原因,这可能不是一个好主意。

相反,只需在它们之上创建两个单独的空字段和两个单独的FKs。然后确保这些字段中的一个在任何给定时间都为NULL (通过一个CHECK约束),这只会使这些FKs中的一个“活动”。更多信息,这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22884275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档