2010-03-03 54 views
0

我目前在外部應用程序中集成了我的應用程序,例如SalesForce.com。我的問題涉及正確設計數據捕獲自定義字段的表格。數據庫設計 - 與其他系統集成的應用程序

因此,對於SalesForce,所有公司都有一個組織ID,但他們也可以擁有用於捕獲數據的自定義字段。我已經看過兩個選項來處理這個問題。

  1. 讓他們創建他們的字段序列化名稱作爲數組中的鍵。然後將值連接到該數組並重新序列化。
  2. 在數據庫中創建10個允許自定義值(字段名稱)的列,然後將用戶數據映射到這些字段。

從長遠來看,哪種方法更有效率和可維護?

回答

1

從您的問題中不清楚您是否需要在每個用戶或每個表的基礎上使用這些自定義字段。如果它是每個表,那麼我會爲每個需要額外字段的表創建一個「兄弟」表。爲主表提供與主表相同的主鍵列,外加序列號列和字段名稱和值的列。我會讓他們都是字符列,並計劃轉換爲實際字段類型,但如果您想爲每種數據類型創建一個單獨的列並僅使用一列,那就是您的調用。然後,無論何時從主表中獲取一行,還可以從兄弟表中獲取具有相同鍵的所有行,並按順序排序返回的列。您可以根據需要將其他列添加到同級表中;例如,您可能需要添加一個標誌來指示某些字段是必需的。

如果要爲插入主表的每一行創建同級表中的所有條目,那麼您可能希望在主表中有一個帶有特殊鍵的「模板」或「原型」行,所以你可以很容易地獲得所有的自定義字段。這也允許您爲自定義字段指定默認值,只需將它們存儲在原型條目中即可。

+0

這將在每個公司的基礎上。這在技術上會包含用戶。感謝您的信息,我正在查看它,我會讓你知道它是如何發生的。 – Tim 2010-03-04 03:47:13