2011-12-05 19 views
0

我有一個60列的用戶表.Client正在尋找更多的屬性。所以我們正在考慮實現對動態列的支持。我們的電子郵件廣告系列存儲了用戶的屬性。客戶向我們發送了來自他們crm(有時超過100列)的大型excel文件,但我們只有60列,所以我們只上傳了60列客戶選擇進入我們的系統。然後客戶端在用戶界面中設置業務邏輯(比如哪些用戶將根據屬性接收郵件),然後我們發送匹配屬性的郵件。客戶現在要求更多屬性。在sql表中的無限屬性

我能想到的兩種解決方案

1)一個子表將保存行作爲列

的 - 對現有制度和報告轉換行到列將是非常艱難的齧合產生巨大影響。

2)XML屬性: - 雖然很容易在數據庫和對象層上實現。 性能可能是主要關注的問題,因爲使用xml屬性進行xml搜索會花費很高的代價。

有沒有另一種方式或哪個更好在上面兩個.i不能去結構Db(如mangoDb或Big table)?在此先感謝

+0

你能描述更多的域嗎?新列是否修復?他們是否滿足每個客戶。在理想情況下,很高興看到他們 –

+2

您是否需要在新列上搜索?如果不是,那麼XML或[EAV](http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model)是可能的。 –

+0

正常化您的表格。表格中的60列並不自然,通常可以拆分爲子表格 – Svarog

回答

1

您是否考慮重新構造/規範化表?在表中60列?那麼我在這裏會有我的顧慮!如果這是不可避免的,那麼使用基於XML的方法與LINQ to XML進行搜索是我會推薦的。

0

將表格拆分爲多個表格,然後您可以將表格的原始格式組合成一個視圖。你可以使用視圖來代替那張表格,用於那些希望使用特定格式的數據的「遺留」代碼。