电影数据库多种类型

Movie Database multiple genres

我正在尝试建立一个电影数据库 以下是“电影”table:

中的节选
id title genre
1 Venom Action, Adventure,Thriller
2 DeadPool Action, Comedy

我听说我必须在流派列中使用称为“多对多”关系的模型,并且在为“真实世界”分类建模时使用逗号分隔符不是一个好习惯。

我想知道为什么这不是一个好的做法。

您似乎知道正确的解决方案是 table 每部电影和每种类型一行。

以下是为什么将值存储在字符串中不是一个好主意的一些原因:

  • SQL 字符串处理功能较差,这样的查询很难优化。
  • 列应包含一个单个值。
  • 验证列中的值非常麻烦(即无法创建外键关系)。
  • 简单的查询——例如获取流派列表或计算电影的流派数量——比必要的更棘手。
  • 流派名称不能包含逗号(随着时间的推移可能很难强制执行)。
  • 删除一个值或添加一个新值是很棘手的——尤其是当你想避免重复时。