1

ユーザーの連絡先のリストを表すテーブルを作成したいのですが、各ユーザーの連絡先の数が異なる場合があります...

id_user、nome、infoを持つテーブルユーザーがあります

各グループには、グループの所有者であるユーザーの ID、他のユーザーの ID、および他の各ユーザーのその他の整数値が含まれている必要があります。

したがって、テーブルグループは次のようなものです

id_dono_do_grupo、id_user_1、id_user_2、..、id_user_N、valor_1、valor_2、..、valor_N

しかし、このNは変更される可能性があります。

このテーブルをモデル化するアイデアはありますか? どうもありがとうございました。

4

3 に答える 3

2

このようなもの:

  • (P) は主キーを意味します
  • (F table.column) は table.column への外部キーを意味します

すべてのグループのためのテーブル。

groups
    id              unsigned int(P)
    owner_id        unsigned int(F users.id)
    name            varchar(50) // Vitor's Group, Dan's Group, etc.

すべてのユーザーのためのテーブル。

users
    id          unsigned int(P)
    name        varchar(50)
    info        varchar(50)

最後に、ユーザーをグループに結び付けるテーブルです。グループの所有者はテーブルで指定されるgroupsため、このusers_groupsテーブルでは、必要な数のユーザーと値のペアをグループに関連付けることができます。

users_groups
    id          unsigned int(P)
    user_id     unsigned int(F users.id)
    group_id    unsigned int(F groups.id)
    value       unsigned int // Or whatever data type the "value" is...
于 2013-08-28T16:34:49.367 に答える
2

これを正しくモデル化するには、2 つのテーブルが必要です。

最初のテーブルには、所有ユーザーへの FK を含む、グループに関する情報を格納する必要があります。

2 番目のテーブルには、グループのメンバーシップを格納する必要があります。基本的に列group_iduser_id.

于 2013-08-28T16:12:33.300 に答える