杂志数据库的关系

时间:2016-06-02 22:13:25

标签: database-design

我正在建立一个数据库/网络应用程序,以便我可以快速搜索〜1000个杂志问题的文章(虽然无关紧要,但它们都被扫描成PDF格式)。我这样做是为了我自己的教育项目,我的第一个可能有点野心,但我愿意尝试(我计划的第二个项目更加雄心勃勃)。

有问题的杂志是吉他片。大多数人都有包含多首歌曲的乐谱(谱号),这就是为什么我有兴趣保留它们。许多人还有来自各种球员的1-2页课程。我的杂志集合可以追溯到80年代,但在日期方面存在很大差距(也非常重要)。

我在基本关系中的第一次传递如下所示:

  • 杂志 - >日期(1个杂志标题有多个发行日期,如String Wanker 2014年8月)
  • 日期 - >杂志(1个月/年可能有多个杂志发布,但谁在乎?对吗?为什么要搜索2014年8月发布的所有杂志?)
  • 杂志 - >艺术家(1个杂志月/年有多位艺术家,如Sulphurica或Y'all也)
  • 杂志 - > Tablatures(1个杂志月/年可能有多个tablatures,Song01 Song02等)
  • 杂志 - >课程(1个杂志月/年可能有多个课程,Column01 Column02等。)
  • 艺术家 - >杂志(1位艺术家可能在多家杂志,Wheedly Wizards 2012年9月和WW 2013年1月)
  • Tablatures - >杂志(1个标签/歌曲可能在多个杂志中,Pickin'It 1999年3月和PI 2000年6月)
  • 讲师 - >杂志(1个教师的1个课程系列涉及1个杂志的多个问题)

我已经走到了这一步,但我对这种关系非常不确定(1:1,M:1,1:N,M:N)。对于其中许多人,我无法想出一个“确定”的答案,我陷入了困境。我希望这是灵活的,但必须做出决定!

请提前感谢您提供的任何帮助/指导!

1 个答案:

答案 0 :(得分:0)

恕我直言,你有太多链接到'杂志'表。这样的表应该只有三个字段:一个id号,它的名字和日期。

您的主要表格将是“文章”:此表格将包含ID,其父杂志问题的链接,标题,页码,作者以及可能的标记字段,例如“包含表格”等。< / p>

使用链接表将艺术家加入文章意味着艺术家可以出现在多篇文章中,而文章可能涉及多个艺术家。有些文章可能与任何艺术家无关,因此不会出现在此链接表中。

如果正如您所说,文章可能包含多个标签,那么您可能需要一个表'标签':父文章,名称等。只有当您想要直接访问标签时才需要这样的表格;将文章的“包含tablature”标记设置为足够。

相关问题