在数据库中存储类别

时间:2011-05-28 04:31:18

标签: database database-design relational-database

如果某个对象可以是video, audio,story,那么最好为每个类别设置一个单独的表,或者可以使"type"字段包含很多很多"audio""video""story"条目?

1)假设每个对象只能是一种类型

2)假设每个对象可以是多种类型(在这种情况下,最好定义一个ObjectType表来存储对象和类型之间的关系吗?)

(我正在使用关系数据库)

谢谢!

1 个答案:

答案 0 :(得分:1)

以下建议的模式。通过使用ID而不是字符串,可以减少加入时数据库引擎所需的存储量和工作量。您还可以更轻松地重命名类别 - 而不必更新使用类别的任何行,您更新一个CATEGORY行。

每件商品只有一个类别:

ITEM:
ID
CATEGORYID
...

CATEGORY:
ID
NAME
...

每件商品有多个类别:

ITEM:
ID
...

CATEGORY:
ID
NAME
...

ITEMCATEGORY:
ITEMID
CATEGORYID