看板 Database 關於我們 聯絡資訊
大家好,我想要設計一個課本的資料庫, 這是我第一次要自己設計一個完整的資料庫。 我想要先畫出它的 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://www.ptt.cc/bbs/Database/M.1578098434.A.D71.html