2010-03-28 38 views
1

我目前正在研究我工作的地方的一個項目。我們正在嘗試創建一個允許從數據庫動態設置表單的系統。如何解決自定義表單數據庫

我的問題是什麼數據庫結構最適合這樣的事情?

我現在有一個結構:

forms_form 
forms_formfields 
forms_formdata 

我不認爲這是這個最合適的佈局。基本上,要做到這一點是有道理的,我需要能夠在數據庫中創建一個表單,這個表單可以包含所有自定義的無限字段,並在數據庫中存儲提交時的數據。

+0

他們可以改變形式嗎?如果他們可以更改表單,那麼與之前表單關聯的所有數據會發生什麼變化? – 2010-03-28 15:47:04

回答

1

建議的結構對我來說看起來不錯。表單 - >字段顯然是1:M關係,所以您需要forms(id,...)fields(id, form_id, type, ...)。字段 - >數據的類型是1:1,所以理論上不需要單獨的表格,除非您允許一個表格與不同的數據集一起使用。如果是這種情況,我會建議datasets(id,...)data(field_id, dataset_id, value)

+0

你能詳細說明一個表單的不同數據集的含義嗎?數據仍然保存在數據庫中,用於提交的每個表單,也包括其自身保存在數據庫中的表單。 – 2010-03-28 11:35:38

+1

是的,這就是我的意思 - 可以使用不同的數據多次提交表單。 – user187291 2010-03-28 12:23:40