1

キーワードを使用してインデックスを作成できるようにしたいデータベースにいくつかのエントリ (数千に成長する) があります。

次のようなテーブルがあるとします。

ID | ユーザー名 | 電子メール | 説明

そして、次のような複数のキーワードをそのユーザーに添付したいと思います。

背が高い | ブロンド | 男性 | スキニー

そのためのテーブルをどのように構成しますか?新しい質問の下部にあるstackoverflowで使用されているキーワードによく似ていますか?

ありがとう

4

3 に答える 3

1

あなたは3つのテーブルが必要です

ユーザー:

id | username | email | description

タグ: (Tall、Blonde、Male、Skinny などが名前フィールドに含まれます)

id | name

ユーザータグ:

user_id | tag_id

ユーザーにタグを付けるにusers_tagsは、関連付けられたアイテムの ID を含む行をテーブルに追加します。

user_id と tag_id の両方が、適切なテーブルを参照する外部キーである必要があり、結合されて、一意のキー (場合によっては主キー) を形成する必要があります。

于 2012-10-29T11:13:29.570 に答える
0

私が正しく理解していれば、3 つのテーブルがあります。

- users (user_id, username)
- keywords (keyword_id, keyword)
- user_keywords (user_id, keyword_id)

それらの間に関係があります(例のように同じ列名で)。

于 2012-10-29T11:13:38.383 に答える
0

これは多対多の関係です。

キーワードのテーブルとオブジェクトのテーブル (キーワードに関連付けることができます) があります。

次に、複合キーを形成する 2 つの列を持つ 3 番目のテーブルがあり、それぞれが他の 2 つのテーブルの外部キーです。

例えば

object_keyword_relationship
===========================
object_id    |   keyword_id
1            |   1
1            |   2
于 2012-10-29T11:14:35.150 に答える