【发布时间】:2010-02-03 04:36:45
【问题描述】:
我想要一些建议,为我正在进行的一个小项目设计我的数据库表。假设在这个系统中我有 articles、subarticles 和 comments。
每篇文章都可以有子文章。文章和子文章都可以有 cmets。我考虑为每个表(即 articleId、subarticleId 和 commentId)设置一个自动递增的 int 主键。子条目将有一个 articleId 作为 Article 表等的外键。
但出于某些原因,我想有一个全球唯一 ID 的概念。实现这一点的最佳方法是什么?我是否应该在每个表中都有一个 uuid 主键并将前面提到的 Id 列用作常规列(因为我仍然想要与每个对象关联的逻辑数字)?还是我应该制作某种包含uuid 的主要object 映射表?
任何关于实现此功能的好方法的建议都将不胜感激!
【问题讨论】:
-
“但出于某些原因,我想要一个全球唯一 ID 的概念”而这些原因是?
-
对于我正在做的一些前端工作,我希望能够将每个对象(文章、子文章或评论)一般地视为一个“对象”。为此,我希望每个对象都有一个 uuid。
-
你能提供一些细节吗?听起来您可能为自己做的工作超出了必要的范围......
-
只是为了让问题更简单:假设我有多个具有 PK/FK 关系的表。在客户端,这些将被类似地呈现,并将通过其唯一 ID 进行 ID(对于 javascript 内容)。如果 Id 不是全局唯一的,我会遇到问题..
-
什么问题?选择时就知道数据来自哪个表,为什么不直接将其传递到表示层,以便在显示或渲染代码时使用它来更新相关表?
标签: mysql database database-design