存储值列表(例如兴趣)
我有一个用户表
: (ID, FNAME, LNAME, INTERESTS,...)
以及另一个表来保存他们可以选择的特定兴趣集:电影、电视、广播、舞台、单口喜剧。
他们可以有多个兴趣,那么我如何将这一信息存储在“用户兴趣”字段中?或者实现这一目标的最佳替代方法是什么?
I've got a table of
Users: (ID, FNAME, LNAME, INTERESTS,...)
plus another table to hold the specific set of INTERESTS they can choose from: Film, TV, Radio, Stage, Standup.
They can have more than one interest, so how can I store this information in the Users INTERESTS's field? Or what is the best alternative method to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一种多对多的关系。您可以通过引入“连接表”来存储它们。
It's a many-to-many relationship. You store these by introducing a "join table".
在 MySQL 书中阅读有关数据库规范化的内容。这是一个重要的主题,因此可能有一个很大的章节来讨论它。
简而言之,您删除
兴趣
并最终得到一个第三表,例如:这为您提供了多对多关系。
Read about database normalisation in your MySQL book. It's an important topic, so there's probably a large chapter about it.
In short, you remove
interests
and end up instead with a third table, like:This gives you your many-to-many relationship.
最好的解决方案是使用 3 个表(第三个表用于存储兴趣与用户的连接):
这称为 数据库规范化。
the best solution to this is to use 3 tables (a third one for storing the connection of interests to useres):
this is called database normalization.