[问题]建立课本数据库 ER-Model

楼主: shihs (shih)   2020-01-04 08:40:29
大家好,我想要设计一个课本的数据库,
这是我第一次要自己设计一个完整的数据库。
我想要先画出它的 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这样可以吗?
如果这样不好,那应该要怎么修正呢?
谢谢大家!

Links booklink

Contact Us: admin [ a t ] ucptt.com