我有一个小问题,可能很容易解决,但现在我不知道怎么做。我试过很多不同的作文,但我有点困惑。我应该如何为这种情况设计一个数据库?(例如)我有两个表,一个是语言表,另一个是人表。所以人们可以说一种或多种语言。这是我得到的模型,但不知道如何解决问题但问题是我该如何在人物表中插入richard会说英语和汉语的内容?我应该创建一个新表吗?
00jrzges1#
教科书中的解决方案是有一个“junction”n:m表,其中包含成对的id,其中每一行用一种语言表示一个人的知识:
CREATE TABLE person_languages ( language_id NOT NULL, person_id NOT NULL, PRIMARY KEY pl_pk (language_id, person_id), FOREIGN KEY pl_l_fk (language_id) REFERENCES languages(id), FOREIGN KEY pl_p_fk (person_id) REFERENCES people(id) );
在您的示例中,richard会说英语和汉语,因此在这个表中有两行(2,1)和(2,2)。
1条答案
按热度按时间00jrzges1#
教科书中的解决方案是有一个“junction”n:m表,其中包含成对的id,其中每一行用一种语言表示一个人的知识:
在您的示例中,richard会说英语和汉语,因此在这个表中有两行(2,1)和(2,2)。