问题描述
|
如果某个对象可以是
video,audio,
或story
,则最好为每个类别都有一个单独的表,还是可以让\"type\"
字段包含很多lots3ѭ,\"video\"
和\"story\"
条目呢?
1)假设每个对象只能是一种类型
2)假设每个对象可以是多种类型(在这种情况下,最好定义一个ObjectType表来存储对象和类型之间的关系,对吗?)
(我正在使用关系数据库)
谢谢!
解决方法
建议的架构如下。通过使用ID而不是字符串,您可以减少存储量以及加入数据库引擎时所需的工作量。您还可以更轻松地重命名类别-不必更新使用类别的多个行,而只需更新一个CATEGORY行即可。
每个项目只有一个类别:
ITEM:
ID
CATEGORYID
...
CATEGORY:
ID
NAME
...
每个项目有多个类别:
ITEM:
ID
...
CATEGORY:
ID
NAME
...
ITEMCATEGORY:
ITEMID
CATEGORYID