我正在開發一個涉及構建社交網絡樣式應用程序的項目,該應用程序允許用戶在其網絡中共享庫存/產品信息(用於採購)。具有每個用戶唯一的大數據集的MySQL關係數據庫
我是一個體面的程序員,但我承認不是數據庫的專家;當談到數據庫設計時更是如此。目前,用戶/公司信息通過MySQL中的關係數據庫方案存儲,該方案運行良好。
我的問題是,雖然我的關係方案出色地爲用戶/公司信息工作,但如何實現庫存信息令我困惑。問題是,每個「庫存清單」都將包含特定於產品類型的不同屬性,但與列表中每個其他產品的屬性相同。我的第一個想法是爲每個「庫存清單」創建一個表格。但是,我覺得這樣會非常混亂,並會使KDD未來的嘗試複雜化。我也(短暫)考慮使用'主庫存'和存儲信息(例如變量類別和數據作爲JSON字符串,但我認爲JSON字符串MySQL將成爲一個更大的痛苦屁股。我的問題基本上是其他人如何解決這個問題?或者更一般地說,堅持關係數據庫管理原則,將類似類型的獨特大型數據集與父級用戶相關聯的「正確」方式是什麼? ,我知道我可以輕鬆地打造一些可行的東西,但我真的對如何解決這個問題達成共識感興趣。
謝謝!
如何解決這個問題包括詢問你打算如何使用這些不標準的字段?如果只顯示它們,則將整個描述放在varchar或nvarchar(max)字段中將起作用,其中將查詢作爲獨立字段的inteh表的常見功能。如果您需要查詢大量不同類型的屬性,還有其他選擇包含EAV或文檔數據庫。 – HLGEM
是的,我將不得不在PHP中進行一些操作,然後: – CRK
是的,我將不得不在PHP中進行一些操作,然後將它傳遞給用戶瀏覽器中的Backbone應用程序。由於數據必須在每個事務上進行操作,因此我認爲將JSON(或任何其他VARCHAR)解析,操作等操作會對處理器密集程度太高。另外,我覺得將所有內容存儲在VARCHAR中最終會變成噩夢因爲庫存數據可以快速增加。 對不起,我上面的評論被切斷了。 – CRK