如何将m:m实现存储到数据库中?

时间:2011-06-29 11:28:17

标签: database

如何在数据库中存储m:m关系数据?

假设m知道m语言,m语言可以被任何人知道。

即任意数量的人都可以知道任何数量的语言,并且可以为不同数量的人知道任何数量的语言。

3 个答案:

答案 0 :(得分:2)

多对多关系最好与联结表一起存储。

http://www.tomjewett.com/dbdesign/dbdesign.php?page=manymany.php

在您的情况下,这将被称为PersonLanguage

PersonId和LanguageId都有外键。

Person和Language表都与PersonLanguage表有一对多的关系。

请注意,您可以在PersonId和LanguageId上使用复合主键,也可以创建一个包含自动递增数字的单独PersonLanguageId列。

答案 1 :(得分:1)

3张桌子..

Person (PersonId)
Language (LanguageId)
Person_Languages (Id,PersonId,LanguageId)

答案 2 :(得分:0)

通常这样的事情有三个表:

  • 人(身份,姓名等)

  • 语言(身份证,姓名等)

  • SpokenLanguages(peopleID,languageID)

...其中SpokenLanguages是一个关联表,它使用外键将每个人与他/她说的语言相关联。

相关问题