电影数据库多种类型
Movie Database multiple genres
我正在尝试建立一个电影数据库
以下是“电影”table:
中的节选
id
title
genre
1
Venom
Action, Adventure,Thriller
2
DeadPool
Action, Comedy
我听说我必须在流派列中使用称为“多对多”关系的模型,并且在为“真实世界”分类建模时使用逗号分隔符不是一个好习惯。
我想知道为什么这不是一个好的做法。
您似乎知道正确的解决方案是 table 每部电影和每种类型一行。
以下是为什么将值存储在字符串中不是一个好主意的一些原因:
- SQL 字符串处理功能较差,这样的查询很难优化。
- 列应包含一个单个值。
- 验证列中的值非常麻烦(即无法创建外键关系)。
- 简单的查询——例如获取流派列表或计算电影的流派数量——比必要的更棘手。
- 流派名称不能包含逗号(随着时间的推移可能很难强制执行)。
- 删除一个值或添加一个新值是很棘手的——尤其是当你想避免重复时。
我正在尝试建立一个电影数据库 以下是“电影”table:
中的节选id | title | genre |
---|---|---|
1 | Venom | Action, Adventure,Thriller |
2 | DeadPool | Action, Comedy |
我听说我必须在流派列中使用称为“多对多”关系的模型,并且在为“真实世界”分类建模时使用逗号分隔符不是一个好习惯。
我想知道为什么这不是一个好的做法。
您似乎知道正确的解决方案是 table 每部电影和每种类型一行。
以下是为什么将值存储在字符串中不是一个好主意的一些原因:
- SQL 字符串处理功能较差,这样的查询很难优化。
- 列应包含一个单个值。
- 验证列中的值非常麻烦(即无法创建外键关系)。
- 简单的查询——例如获取流派列表或计算电影的流派数量——比必要的更棘手。
- 流派名称不能包含逗号(随着时间的推移可能很难强制执行)。
- 删除一个值或添加一个新值是很棘手的——尤其是当你想避免重复时。