【发布时间】:2014-04-11 11:29:24
【问题描述】:
我目前正在从事一项基于研究期刊/论文数据库的数据库设计任务。 我遇到的主要问题是确定某些实体是否有足够的唯一标识符(以及正确的标识符)以及我是否拥有正确的关系。
例如。每篇研究论文都有一个唯一的 PaperID (PK)。每篇研究论文都有作者在论文开头列出的关键字列表(通常为 4-5 个)。
我是否正确地假设这是一个一对多的关系? - 一篇论文有很多关键词,每个关键词实例属于一篇论文。
Paper PK (PaperID) 是否会成为关键字表的 FK & PK?这种布局是否支持上述的一对多关系?
例如
表格 - 纸
PK = PaperID
属性列表
表格 - 关键字
PK、FK = PaperID
关键字
因此,查找所有具有特定关键字(例如“猪”)的论文的查询将显示类似于以下内容的结果:
PaperID |关键字
1 | '猪'
2 | '猪'
63 | '猪'
我的逻辑是正确的思考方式吗?
任何建议或帮助将不胜感激!
谢谢
***编辑:所以似乎大多数人认为这是一个多对多的关系,不幸的是,研究论文有许多这样的关系(例如研究目标、主要主题、子主题(s), 研究类型, 研究问题)
--> 那么我是否必须通过为其中的每一个创建关联实体来解决这些问题?!当然必须有更好的方法来解决这些多对多问题,而不是必须创建一个额外的...... 8-10 关联实体?超类型/子类型?
再次感谢大家的回复。边走边学!
【问题讨论】:
-
不,您的论文关键字关系是多对多关系。每篇论文可以有很多关键词。每个关键字都可以附加到多篇论文中。
-
好像没问题。但在许多情况下,使用多对多关系会更好。所以你将拥有
Papers、Keywords和Keywords do Papers表。
标签: mysql sql database entity entity-relationship