我想構建一個與wufoo非常類似的在線表單生成器,它允許用戶創建和發佈他們自己的Web表單。每次提交應保存到用戶以後可以檢索提交內容的數據庫中。在SQL中存儲用戶定義數據的正確方法
由於這些形式將是動態的,即。用戶可以完全控制表單字段的數量和類型,我試圖想到一個堅實的數據庫設計來存儲這些信息。
我會有一個表字段類型,其中包含用戶可用的每種類型的字段,即。文本框,emailfield等
將舉行各形式的ID只能有一個基本形式表,網址等
然後我會,其中將包括裁判的基本形式和字段類型的表formfields,該表還包括自定義驗證將在每個領域完成。
這種設計是否適合作爲基礎結構?我想,嚮應用程序添加新類型的字段會很容易,但我不知道潛在的缺點是什麼,因爲我離sql專家很遠。
非常感謝您的回答entity-attribute-value恰恰就是我正在尋找的模型。 – justinfay
EAV被稱爲classis反模式... http://karwin.blogspot.com/2009/05/eav-fail.html您選擇了錯誤的路徑。 – Borys
@Borys - 你說得對,但是OP正在尋找一種方法來完成對錶單域數量和類型的完全控制。如何讓用戶能夠使用規範化的數據庫模型創建表單的字段和表單的類型,並且無法知道每個字段的屬性?它是動態的,你不能分辨出每個表單的列。 –