2

「t_form」テーブルと「t_attribute」テーブルがあります。以下のように少し見えます。

フォームテーブル

form_id | form_name    | description
-----------------------------------
1       | Laptop       | Possible attributes are Model, Screen Size, OS, Cd Player
2       | Mobile       | Possible attributes are Model, OS
3       | Tablet       | Possible attributes are Model, Screen size, OS

属性テーブル

attribute_id | attribute
------------------------
1            | Model
2            | Screen Size
3            | OS
4            | Cd Player
  1. タイプ ラップトップ フォームの可能な属性は、モデル、画面サイズ、OS、Cd プレーヤーです。
  2. タイプ モバイル フォームの可能な属性は、モデル、OS です。
  3. タイプ タブレット フォームの可能な属性は、モデル、画面サイズ、OS です。

Form_Attribute テーブル

form_id | attribute_id
----------------------
1       | 1 
1       | 2
1       | 3
1       | 4
2       | 2
2       | 2
3       | 2
3       | 2
3       | 2

ユーザーがデータベースから選択したフォーム タイプ (ラップトップ、モバイル、またはタブレット) に従って、以下のような HTML フォーム (フォーム フィールドを含む) を生成します。

ラップトップの場合:

ここに画像の説明を入力

モバイルの場合:

ここに画像の説明を入力

タブレットの場合:

ここに画像の説明を入力

質問: ここに私の質問があります。

  1. ユーザーが入力したデータをデータベースに保存するためのより良いアプローチは何ですか。
  2. たとえば、フィルターオプションを実現したいので、データベースからデータを取得するためのより良いアプローチは何ですか:ラップトップの画面サイズが14から16まで利用可能な結果を​​取得したい.

フィルター:

ここに画像の説明を入力

私をよりよく理解するための例を挙げて実行可能な解決策を提供し、これを達成するのを手伝ってください。

4

2 に答える 2

1

Assuming that your attributes are growing for the form field means, it will be easy to use JASON data format to store this record into non relational DB like MongoDB. Then you can easily query the MongoDB Jason data.

If you are using the Relational Model means the above Answer 1 would be best fit.

于 2013-10-23T18:05:58.240 に答える