作者shihs (shih)
看板Database
标题[问题]建立课本资料库 ER-Model
时间Sat Jan 4 08:40:29 2020
大家好,我想要设计一个课本的资料库,
这是我第一次要自己设计一个完整的资料库。
我想要先画出它的 ER-Digram,但卡住了。
资料库内容如下,
假设有一堆学中文的课本,每本课本有多个章节,
每个章节又有多个单字。
所以我想的是,会有三个 entity,book、chapter、word
三个的关系会是,一对多、一对多
我希望如果查询一个字可以得到这些资讯
┌─────────┬─────────┬────────┬────────┐
│ book │ chapter │ word │ meaning │
├─────────┼─────────┼────────┼────────┤
│ 1 │ 1 │ A │ aa │
├─────────┼─────────┼────────┼────────┤
│ 1 │ 1 │ B │ bb │
├─────────┼─────────┼────────┼────────┤
│ 1 │ 2 │ C │ cc │
├─────────┼─────────┼────────┼────────┤
│ 2 │ 1 │ D │ dd │
└─────────┴─────────┴────────┴────────┘
我画了一个图是这样
https://imgur.com/ZQFE18w
因为觉得如果再把book_id和chapter_id写在word table好像太多余了?
但又觉得这样画出来好像不太对。
前面book和chapter的关系是参考
https://www.vertabelo.com/blog/chen-erd-notation/
的最後一个图。
基本上,上面网站的图我能理解,但现在要多一个word我就不知道该怎麽做比较好了
chapter是weak entity,但word应该也是weak entity,依赖chapter而存在?
还是word表格应该要和book表格直接连接?(现在边打突然有的灵感XD)
且chapter和word都是weak entity?(这点需要吗?)
所以应该长这样
https://imgur.com/plzVQLr
请问怎麽样设计才是比较好的方式呢?
另外想请问,使用composite primary key,有限制数量吗?
如果是来自五个table的PK,也就是五个FK组成composite PK这样可以吗?
如果这样不好,那应该要怎麽修正呢?
谢谢大家!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 155.4.148.143 (瑞典)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1578098434.A.D71.html