2008-12-01 30 views
2

我試圖找出當前設置的最佳數據庫模型:映射與用戶創建的數據庫代碼的首選方式條目

管理員可以創建「客戶產品」。這意味着客戶可以附加/訂閱的服務/產品。簡單的情況下,產品只需要花費一個價格,或者產品訂購應該發送電子郵件,這很容易在數據庫中建模。

但如何爲客戶的產品非常具體的後端代碼?例如,一個產品可能具有非常特定的代碼,用於檢查不同數據庫上的客戶狀態。我怎樣才能將這種關係映射到數據庫中,以便我可以根據產品設置打開/關閉一些代碼。

我處理這將是對CustomerProducts表,其中一組預定義的字符串可以設置,例如字符串列直觀的方式「MyCustomCodeHandler」,然後代碼將檢查該字符串的存在以執行它。但對我而言,它並不真正感受到數據庫和代碼之間的真正關係。

回答

1

數據是數據,而代碼是代碼。我不建議將代碼存儲在數據庫中。

如果你需要讓客戶產生產品類型(在「類型」的面向對象的意義上)與相關的代碼,我會選擇在部署其他代碼相同的方式部署代碼。

自定義代碼也可以參考存儲在數據庫中的定製數據。我會選擇爲每個產品子類型創建一個依賴表,並將類型特定的列放在那裏。此子類型表與通用產品表之間的關係是一對一關係。也就是說,子類型表中的主鍵也是通用產品表的外鍵。