2009-04-06 7 views
0

私はCakephpでForm builderのようなアプリケーションをやっています。フォームを作成するスマートな方法で、フォームごとに別のテーブルを作成していますか?

私はフォームをデザインするためのモジュールを作成しました。フォーム構築の場合、フォームごとに別々のテーブルを作成するのは良い方法ですか?

+0

フォームビルダとは何ですか?あなたはリンクを提供できますか? –

+0

また、各フォームのレイアウト(メタデータ)やフォームに格納されているデータ、またはその両方に異なるテーブルを使用することを意味しますか? –

+0

実際にフォームを生成してユーザーにリンクを送信し、そのフォームに記入して提出するように依頼するアプリを作成しています。 – useranon

答えて

0

私はそうは思わない。データベース設計は最初に行われるべきであり、できるだけクリーンでシンプルで効率的でなければなりません。次に、フォームを作成します。

良いフォーム構築アプリケーションは、データベーステーブルまたはテーブルのグループを見て、格納されているコンテンツのタイプ、Ints、主キー、テキスト、BLOB、URL )、エンドユーザからできるだけ少ない設定で機能します。それ以外の場合は、データベースを正規化することはできませんし、すべての種類のデータをその場所全体に持つことになります。

特定のテーブルの情報を取得するのは簡単です。それが私が考えるベストルートです。

0

gargantaunと同様に、DBテーブルから始めます。

DBとフォームの間の関係を管理し、DBから取得できないデータ関係を明示的にするために、簡単にオーバーライド可能なレイヤーをDBとフォームに追加したいと考えています。

誰かが必ず同じテーブルから複数のフォームを生成したい場合があります(おそらく、1つのフォームが長すぎる、おそらく異なるユーザーレベルがあります)。

このようなキラー機能は、DBと一対一、一対多などの関係で常に外部キーを処理する方法です。複数のアイテムが入ったショッピングカートを作ることさえできないのであれば、あまり役に立ちません。

0

フォームビルダープラグインのフォームに必要なフィールドを特定し、各フォームのデータを格納するためにEntity-Attribute-Value data modelを使用しました。それを完全に推奨します。スケーラブルで完全に柔軟です。