问题描述
- mysql关于数据表的设计
- 我现在有一个member(用户表)里面存放了一个用户的所有信息。还有一个hobby(爱好表)里面存放所有的爱好。现在我需要给用户存放hobby表里面的爱好。我是应该直接在member表里面加一个hobby字段,然后存放爱好表里面的ID如(123),还是应该再一个表来存放用户跟爱好的关系呢?或者还有没有其它更好的可能,**注意:一个用户可以有多个爱好,而以后我只需要查询某一个爱好的人有那些。**
解决方案
这个还是要根据你的需要来定, 如果说以后都是以用户来查询爱好的话, 当然是放在member表会好些, 如果后面要根据爱好来查询的话, 当然是再建一张用户和爱好的关联表; 我个人倾向建关联表,这样数据结构清晰,后面如果需求变了,不至于要修改数据库。
解决方案二:
为了方便以后查询,肯定是建议新建一个表来存储爱好。这样做的好处是便于查询,也符合一对多表之间关联的设计。
解决方案三:
两种方式都可以,直接在member表中给个hobby字段的好处是不需要再建一个表,查询时只需要查询两张表就可以得到结果,但是存入取出hobby字段时需要进行处理,比如用&分隔,取出时就需要用split(""&"")去分隔获取到所有的Id,然后再去hobby(爱好表)中获取到每一种。另一种就不多说了,就是三张表连查。
解决方案四:
建立两个表的关系即可如果用户表存在ID的话在爱好表中建立一个与ID关联字段就好了.
时间: 2024-10-26 05:54:24