如何:数据库布局MySQL



假设我有5个值,如果我为这些值制作5个单独的列,或者有其他方法,它们是人们感兴趣的。

id | value1 | value2 | value3 | value4 | value5
row: 1  | sport  | movies | coding |  games |  food
  • 我觉得为此制作5个单独的列是低效的,但我不知道如何以不同的方式做到这一点。在MySQL中看到了一些关于(SET(数据的内容,但许多人都说不要使用它,所以IDK该怎么办

谢谢,祝你今天愉快,保持安全

如果我需要编辑/更改/澄清/提供更多信息。只要对帖子发表评论,我就会这么做:(

好的,我试着用几句话来解释。这里的问题是,你做5个专栏,如果另一个人有6、7或10个爱好怎么办?这不现实。如果你只是为每个爱好者再排一排,那么在复制时写拼写错误的几率很高,而且之后你就找不到了。

更好的想法是用这些爱好制作另一张桌子,然后再把它放在一起,关键词是"正常化";。

你现在该怎么办?为您的人员表创建一个唯一的密钥字段,并为您的爱好在另一个表中使用该字段:

PersonID Name       Vorname 
1        SmapleName FirstName
2        Attenberg  David
PersonID Hobby
1  | sport 
1  | walking
1  | eating 
1  | movies 
1  | fish 
2  | walking
2  | eating

然后,如果你想选择所有爱好,你只需要从第一个表中获得你的PersonID,然后从新表中选择所有记录,这里的关键字是INNER JOIN。

最新更新