我需要在数据库中表示以下信息(简化):
- 一套“账单”。(在表中
Bills
) - 一组“代表”。(在表中
MPs
) - 每个法案的作者。
- 如果只有“代表”可以是作者,这将是一个简单的链接表,其中包含
Bills
和的外键MPs
。 - 有一个(只有一个)其他“实体”也可以是法案的作者,因此:
- 我可以重新定义
NULL
为“实体”,但这很难看。 - 我可以简单地忘记 FOREIGN KEY 约束,但这更难看。
- 我可以重新定义
- 如果只有“代表”可以是作者,这将是一个简单的链接表,其中包含
根据数据库理论,表示此信息的正确方法是什么?
linktable_authors
有一个表格链接Bills
和“代表”创作的“票据”是否合适MPs
,而另一张表格authored_by_The_Entity
仅用于“实体”创作的“票据”(如果我确定以后不会出现其他实体) )?
额外的问题:如果还有一个表“Other_Entities”并且“Other_Entities”和“Representatives”都可以是“Bills”的作者怎么办?