0

検索条件を保存しようとしています。各検索語を独自のフィールド (ベッドルーム、バスなど) に格納する「検索」テーブルを作成しました。したがって、各行には 1 つの検索が含まれます。

詳細検索フォームでは、ユーザーはオプション選択を使用して、1 つのフィールドに対して複数の検索語を選択できます。簡単に統計レポートを作成できるように、これらの各用語を関連するテーブルの一意の行に格納するのが賢明だと思いました。このようにして、用語が検索された回数をすばやく報告できると考えました。また、検索クエリを保存して再生成する機能も必要です。

ただし、検索された用語がメイン テーブルにない場合でも、一意の ID を生成して関連テーブルにリンクする必要があります。したがって、私が気が進まない外部キーを生成するには、空白行を挿入する必要があります。

より良い方法はありますか?複数の検索用語の質問をコンマ区切りのプライマリ テーブルに保存することはできますが、それらを取り出して統計などにカウントするのは難しいようです。

4

2 に答える 2

1

なぜ空白行を挿入する必要があるのですか?すべてのレコードを永続化するときが来るまで、レコードを永続化する必要はありませんよね?

私が理解しているように、テーブルのレイアウトは次のようになります。

Table1
--------
ID
etc.

Table2
--------
ID
Table1ID
etc.

その場合、データを挿入するための操作の順序は次のようになります。

私があなたのUXを正しく理解していると仮定すると、これはすべて、ユーザーがフォームを送信したときに発生します。

于 2013-01-08T21:56:16.153 に答える
0

私があなたのことを理解していれば、

2 つのテーブルが必要なようです。

search_term
-----------------
term_id
term

search
-----------------
search_id
term_id

次に、すべての用語の検索をクエリして、SELECT ステートメントを発行できます。

于 2013-01-08T22:07:33.043 に答える