Database-Design

設計一個簡單的圖書館數據庫

  • September 9, 2015

我目前正在 ms access 2007 中開發一個簡單的圖書庫系統,需要一些數據庫設計方面的幫助。我想註冊書籍、借款人和貸款,所以我假設我的數據庫可能包含這三個實體。

  1. 借款人
  2. 貸款

表之間的關係如下:

借款人與貸款有一對多的關係。

Loan 與 Book 有一對多的關係。

這種方法的問題在於,如果不分配外鍵值,就無法在 Book 表中創建行;從而用 Loan 表中的相關主鍵引用 Book 表的外鍵 LoanId。它破壞了參照完整性,並且如果不將其與借閱者相關聯,就不可能創建一本書。

所以我想我需要一個 Book 和 Loan 之間的連接表。該表應包含 Book 和 Loan 中的 2 個主鍵(一個複合鍵)。因此,Book 和 BookLoan 之間存在一對多的關係,而 Loan 和 BookLoan 之間存在一對多的關係。

我的思維方式正確嗎?我不知道為什麼我需要貸款和書籍之間的連接/連接表。我的問題有更簡單的解決方案嗎?

提前致謝 :)

編輯:我添加了一個 E/R 圖表,已針對我收到的答案進行了更正。

E/R圖

我相信您正在將 Book 上的外鍵分配給 Loan。它應該正好相反,並且是貸款到預定。這本書不需要比較貸款,但每筆貸款都需要一本比較書。

您的兩個外鍵都應該存在於 Loan 上。

引用自:https://dba.stackexchange.com/questions/114619