2

「管理者」が任意の数とフォーム要素の組み合わせ(チェックボックス、コンボボックス、テキストフィールドなど)でフォームを作成できるようにするWebアプリケーションを構築しています、日付フィールド、ラジオグループなど)。 'ユーザー'はこのアプリケーションにログインし、管理者が作成するフォームを完了します。動的フォーム作成/調査Webアプリケーション用のデータベーススキーマに関する考察

私たちのデータベースにはMySQLが使用されています。誰もこのタイプの機能を備えたアプリケーションを実装していますか?私の最初の考えは、フォームスキーマをシリアル化することですJSONと私のデータベーステーブルの1つのフィールドとしてこれを格納し、別のユーザーからの提出をシリアル化し、またこれをmysqlテーブルに格納します。もう一つの考え:MongoDBのようなSQLデータベースがないことが適しているのでしょうか?

答えて

2

はい、MongoDB、CouchDB、Solrなどのドキュメント指向のデータベースでこれを行うことができます。フォームまたはフォーム応答の各インスタンスは、潜在的に異なるフィールドセットを持つことができます。また、フィールドにインデックスを付けることもできます。フィールドが含まれている場合は、ドキュメントのクエリに役立ちます。

これをSQLデータベースに実装した場合のもう1つの解決策は、How FriendFeed uses MySQL to store schema-less dataに記載されている解決策です。

基本的には、シリアル化されたJSONに半構造化データを格納するアイデアが好きですが、インデックスを作成する別の表を作成します。その後、迅速なインデックス検索を行い、シリアル化されたJSONデータに、探しているフィールド/値のペアが含まれている行に戻って参加できます。

関連する問題