このタイプのデータベース設計では、EAV が必要です。 テーブル。たとえば、フォームセクションにはおそらく次のものが含まれます。
1. User table (user_id, user_name, etc.)
2. Form table (user_id, form_id, form_name, etc.)
3. Form_field table (form_id, column_id, column_name, column_type, etc.)
4. column_type table (column_type_id, column_type_name)
入力した結果は別のテーブルに保存されます:
Filled_form (form_id, column_id, value)
アイデアは、さまざまなユーザーのニーズに対応するために、必要なだけの一般的な(ただしそれ以上ではない)データベースモデルを作成することです。たとえば、列の種類はプログラマーによって設定され、フォームをレンダリングするときはそれぞれの種類の意味が異なります。