0
我想概念化數據庫佈局,我有一個「理論」的問題。我有一個具有例如一個系統:數據庫結構的一般和具體數據
- 用戶
- 書
書是不是唯一的,比如愛麗絲,鮑勃和卡爾都可以擁有白鯨的副本。另外,每個用戶可以有很多書。這是一個簡單的多對多關係,我理解的很好。但是,我會在哪裏存儲關於Alice的特定副本Moby Dick的信息?
我最終希望能夠做到以下幾點: - 找到誰擁有白鯨 副本所有用戶 - 改變對一本書的個人「實例」的信息:愛麗絲的白鯨的副本「貸款out「 - 更改/添加書籍信息(即每個人的副本):向Moby Dick添加發布者信息。
我看不出如何有效地解決這個問題。我可以有1本書的表格,1個用戶表格,然後n個用戶的表格,每個表格都包含有關他/她的收藏的信息。這似乎是,當我需要找到每一個與莫比迪克的副本時,它會很慢。任何的意見都將會有幫助。
如果我正確地理解了你,不能將#2和#3放在同一張表中嗎?我將使用Ruby/Rails/ActiveRecord,以便SQL代碼對我有幫助,但對於我來說不完全清晰。一位朋友建議您使用這種方法基本上是一樣的解決方案http://guides.rubyonrails.org/association_basics.html#the-has_many-through-association – tir38
books table是按照標題/名稱對書籍進行分組的地方,書籍副本是單獨的「實例」就像你說的一樣(一本書可能有很多副本)。這是你的設計,你會決定什麼是最適合你的。如果僅僅是爲了教育目的而開始,當你面臨由於你的設計而產生的問題/困難時,改變你的設計並迭代,練習是好的:) –