0

userとを格納する 1 つのテーブルを作成しましたuid

その他のテーブルには、ユーザーのスキルが格納されます。

  • uid = 111入力skill = aaaするとスキルテーブルに格納されますが、uid = 111再度入力するとスキルテーブルに格納されないようにしたいですskill = aaa
  • uid = 222入力するとskill = aaa、テーブルに値が格納されます。

uid基本的に、スキルテーブルのスキルフィールドを関連付けたいので、すべてのユニークuidにユニークなスキル値があるはずですが、異なるuidスキルは同じにすることができます。

4

1 に答える 1

1

2 つの IDUIdとスキルで複合主キーを使用します。また、2 つのテーブル間の多対多の関係を作成して、各ユーザーが多くのスキルを持つようにし、テーブルを 正規化するには、次の方法で作成することをお勧めします。

Usersテーブル:

  • UserID主キー、
  • USername.
  • ...

Skillsテーブル:

  • SkillId主キー、
  • SkillName
  • ...

リンケージテーブル:

UsersSkills:

  • UserId外部キー参照Users(UserId)
  • SkillId外部キー参照Skills(SkillId)

そして重要な部分は、スキルが各ユーザー ID に対して一意になるように、UserIdとで複合主キーを作成することです。SkillId

あなたの例では、スキルaaaSkillsId = 1 のテーブルに保存され、ユーザーUserId = 111Usersテーブルに保存されます。次に、次のUsersSkillsようなものが含まれます。

UserId SkillId
 111   1
于 2013-02-20T07:01:00.153 に答える