[問題]建立課本資料庫 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