我有一个问题。基本上我模拟了一个充满作者信息的发布者数据库。所以为此,我有一个名为'作者'的实体 - 作者有一个自动增量计数器的主键,以及'姓名'和出生年份。ER模型中的关系混淆
除此之外,我还有一个'book'实体,它有一个名称,发布年份,它是自己识别的主键,它是一个自动递增计数器。它还有两个外键 - 一个引用主要作者的字段(这是必需的),以及一个指定第二作者的可选字段。
我的问题是,作者和书之间的关系显然是'一个'到'零或多个'。然而,我陷入困境的是第二作者的“选择性”。我认为它应该是一个'零或一'到'零或多'的关系,但我不确定我是否正确翻译逻辑 - 我的想法是有可能很多书不会有第二作者。
同样,当在sqlite3中实现这个功能时,最好是使该字段为'required'还是'optional'?我假设我是否要求它可以保持休眠状态作为'NULL'值,除非需要。
任何帮助,您可以提供将不胜感激。
谢谢!如果我改变了我的关系,那么,如果我没有“第二作者” - 我有一个自己是作者的“编辑者”(但也是可选的)。这是否对应于'零或一个'到'零或多个'关系? – user1798522
这取决于。我想一本书可以有多个编辑器。因此,你会得到一个称为编辑器的额外表格。或者,您可以将作者表更改为books_people表并添加一个“角色”字段。 – Wilco