标签: sql database oracle database-design erd
您好我是一名学生在数据库中修课程,其中oracle是正在使用的RDBMS。我有一个问题,想弄清楚如何实现我的EERD的一部分,我希望得到一些见解。我已经附上了下图。
案件是针对血库的。血库有2个供应商:
我希望能够跟踪谁在库存中提供了特定的血液。当我试图评估它导致库存表中的一个字段引用2个不同表格中的2个字段时,我认为这是不可能的,除非它是我尚未学习的先进概念。
我用于创建EERD的假设
View EERD here
答案 0 :(得分:0)
清单表中的字段引用2个不同表中的2个字段
字段引用2个不同表中的2个字段
虽然您可以在同一个字段的顶部创建两个FK,但这可能不是您想要的 - 这样的FK需要两个父行,并且您可能需要完全一个出现(而另一个缺席)。
虽然您可以手动(在应用程序代码中)实现" FK"可以选择"它的目标(又名"泛型"或"多态" FK),由于here所述的原因,这可能不是一个好主意。
相反,只需创建两个单独的NULL-able字段和两个单独的FK。然后确保在任何给定时间(通过CHECK约束)确切地其中一个字段为NULL,这将只使这些FK中的一个"活动"。更多信息here。