![](/img/trans.png)
[英]Relational Database design for HAS_MANY with a primary BELONGS_TO
[英]Has_Many, Belongs_To Relationship in a Database Driven Application
我正在開發一個應用程序,該應用程序允許用戶使用給定的搜索條件(例如標題,關鍵字,作者)在Amazon上搜索特定的書。我目前正在嘗試將這些搜索結果存儲到MySQL數據庫中,但仍在努力關系的概念。
我自然會像這樣構建模型:
class Search < ActiveRecord::Base
has_many :books
end
class Book < ActiveRecord::Base
belongs_to :search
end
但是,如果用戶進行第二次搜索,則需要一種方法來用新書更新搜索結果。 我的第一個傾向是執行以下操作:
Search.update(1,:books)
更新方法是否可以這樣工作? 我在正確的軌道上嗎?
另外,對於更新數據庫中的搜索結果是否是正確的選擇,我不確定。 如果兩個用戶同時搜索,可能會產生負面影響嗎? 將這些搜索結果存儲到數據庫中的唯一原因是,我需要顯示他們稍后在用戶會話中選擇的書籍的信息。 我可以想象,如果我僅更新搜索結果,並且有多個用戶使用該工具,這將顛覆使用數據庫的整個目的,因為第二個用戶的搜索結果將覆蓋第一個用戶的搜索結果。 這是真的?
我可以將信息存儲在用戶的Cookie中嗎?
在考慮如何做之前,您需要確定您的內容 。 您的系統所需的行為是什么?
您是否要讓所有用戶共享一個全局搜索對象?
是否要為每個用戶存儲一個搜索對象
您是否希望每個用戶都記錄幾次搜索?
然后,相應地調整搜索對象,如果您的要求不是單個全局搜索對象,則它需要具有User或“ user id”屬性的房地產。
您是要跟蹤用戶進行的所有搜索,還是僅跟蹤最后一次? 如果是前者,則需要在數據庫中保持跟蹤;如果是后者,則可以將信息存儲在用戶的cookie中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.