mysql - 对多个元素表示赞同/反对

标签 mysql database postgresql database-design many-to-many

我正在构建一个音乐应用程序。在我的数据库中,我有一个“艺术家”表,与“专辑”表相关,与“轨道”表相关。

我的应用程序的每个用户都可以“喜欢”(竖起大拇指)或“不喜欢”(竖起大拇指)艺术家/专辑/轨道。因此,我必须使用参数“投票”在用户和艺术家/专辑/轨道之间创建多对多关系,该参数可以设置为 1/-1。

我的问题是:创建三个“喜欢/不喜欢”表(user_artist_like、user_album_like、user_track_like)更合适还是只创建一个包含三列(artist_id、album_id、轨道 ID)?知道我经常需要获取用户的所有点赞。

最佳答案

第一个选项更好,因为将数据放在一个表中意味着同一行中的数据点是相关的,但事实并非如此。多个表使您可以更轻松地管理数据,而不会因行而感到困惑。例如,如何为单个表构建 INSERT INTO 语句?它无法有效地利用空间。

关于mysql - 对多个元素表示赞同/反对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20827905/

相关文章:

java - 为什么我的 getColumnIndex() 返回 -1?

c#删除数据表中的重复行

mysql - 从 MySQL 迁移后查询中的 PostgreSQL 分组错误

mysql - 如何为连接指定特定的列?

php - MySQL将数据迁移到完全不同的数据库结构并保持关系完整

mysql - Python3 mysqlclient-1.3.6 (aka PyMySQL) 用法?

php - Laravel 5 whereRaw 结果错误但返回的查询在 postgres 客户端中运行良好

mysql - 尝试链接 phoenix 和 MySQl compile.gettext 错误

MySQL 多列索引

java - 如何使用 Postgresql 数据库在 Heroku 上部署?