ユーザーが独自のWebフォームを作成して公開できるようにするwufooのようなオンラインフォームビルダーを構築したいと思います。各提出物は、ユーザーが後で提出物を取得できるデータベースに保存する必要があります。
これらのフォームは動的になるため、つまり。ユーザーはフォームフィールドの量とタイプを完全に制御できます。私はこの情報を格納するための堅固なデータベース設計を考えようとしています。
ユーザーが利用できるすべてのタイプのフィールドを含む1つのテーブルフィールドタイプがあります。textfield、emailfieldなど。
各フォームID、URLなどを保持する1つのベースフォームテーブル。
次に、ベースフォームとフィールドタイプへの参照を含むテーブルフォームフィールドがあります。このテーブルには、各フィールドで実行されるカスタム検証を含めることもできます。
このデザインは基本構造として良いですか?アプリケーションに新しいタイプのフィールドを追加するのは簡単だと思いますが、SQLの専門家から遠く離れているため、潜在的な欠点が何であるかはわかりません。