在数据库中存储类别

发布于 2024-11-10 08:31:43 字数 298 浏览 3 评论 0原文

如果某个对象可以是视频、音频故事,那么每个类别最好有一个单独的表,还是可以有一个“类型”包含大量 "audio""video""story" 条目的 字段?

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

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

(我是使用关系数据库)

谢谢!

If some object can be a video, audio, or story is it better to have a separate table for each category or is it OK to have a "type" field that contains lots and lots of "audio", "video" and "story" entries?

1) ASSUME that each object can only be of one type

2) ASSUME that each object can be of multiple types (In this case it seems its best to define an ObjectType table that stores the relations between objects and types right?)

(I am using a relational database)

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尴尬癌患者 2024-11-17 08:31:43

下面建议的架构。通过使用 ID 而不是字符串,您可以减少存储量以及数据库引擎连接时所需的工作量。您还可以更轻松地重命名类别,而不必更新使用类别的无数行,只需更新一个 CATEGORY 行即可。

每个项目只有一个类别:

ITEM:
ID
CATEGORYID
...

CATEGORY:
ID
NAME
...

每个项目有多个类别:

ITEM:
ID
...

CATEGORY:
ID
NAME
...

ITEMCATEGORY:
ITEMID
CATEGORYID

Suggested schemas below. By using IDs rather than strings you lessen the amount of storage, and effort required by the database engine when joining. You also make it much easier to rename a category - rather than having to update umpteen rows where category is used, you update the one CATEGORY row.

With just one category per item:

ITEM:
ID
CATEGORYID
...

CATEGORY:
ID
NAME
...

With multiple categories per item:

ITEM:
ID
...

CATEGORY:
ID
NAME
...

ITEMCATEGORY:
ITEMID
CATEGORYID
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文