【发布时间】:2011-10-15 05:33:44
【问题描述】:
我有两张桌子,categories 和 movies。
在movies 表中,我有一列categories。该列包含电影适合的类别。类别是用逗号分隔的 ID。
这是一个例子:
Table categories {
-id- -name-
1 Action
2 Comedy
4 Drama
5 Dance
}
Table movies {
-id- -categories- (and some more columns ofc)
1 2,4
2 1,4
4 3,5
}
现在回到实际问题:是否可以执行从电影表中排除类别列的查询,而是从类别表中选择匹配的类别并将它们返回到数组中?就像一个连接,但问题是有多个用逗号分隔的类别,是否可以做某种正则表达式?
【问题讨论】:
-
你为什么不规范化到三个表;电影、类别、MoviesCategories?
-
以数组形式返回它们是什么意思?
-
你能改进题名吗?技术列表没有描述问题。这就是标签。
-
@Brad,这真是个好主意。创建数据库时我没有想到这一点。这对我来说会容易得多。速度怎么样?如果我将它们分成第三张表,处理器会不会更重?
-
@Katie:这将大大更高效(一般而言),因为这就是关系数据库的设计工作方式。