Database-Design
設計一個簡單的圖書館數據庫
我目前正在 ms access 2007 中開發一個簡單的圖書庫系統,需要一些數據庫設計方面的幫助。我想註冊書籍、借款人和貸款,所以我假設我的數據庫可能包含這三個實體。
- 借款人
- 貸款
- 書
表之間的關係如下:
借款人與貸款有一對多的關係。
Loan 與 Book 有一對多的關係。
這種方法的問題在於,如果不分配外鍵值,就無法在 Book 表中創建行;從而用 Loan 表中的相關主鍵引用 Book 表的外鍵 LoanId。它破壞了參照完整性,並且如果不將其與借閱者相關聯,就不可能創建一本書。
所以我想我需要一個 Book 和 Loan 之間的連接表。該表應包含 Book 和 Loan 中的 2 個主鍵(一個複合鍵)。因此,Book 和 BookLoan 之間存在一對多的關係,而 Loan 和 BookLoan 之間存在一對多的關係。
我的思維方式正確嗎?我不知道為什麼我需要貸款和書籍之間的連接/連接表。我的問題有更簡單的解決方案嗎?
提前致謝 :)
編輯:我添加了一個 E/R 圖表,已針對我收到的答案進行了更正。
我相信您正在將 Book 上的外鍵分配給 Loan。它應該正好相反,並且是貸款到預定。這本書不需要比較貸款,但每筆貸款都需要一本比較書。
您的兩個外鍵都應該存在於 Loan 上。