帮助数据库设计

oym*_*oym 0 mysql database database-design

我想为我正在研究的一个小项目设计数据库表的一些建议.假设在这个系统我有articles,subarticlescomments.

每篇文章都有子文章.文章和子文章都可以有评论.我考虑过为每个表自动增量int主键(即articleId,subarticleId和commentId).子粒子将有一个articleId作为Article表中的外键等.

但出于某些原因,我想要一个全球唯一ID的概念.实现这个的最佳方法是什么?我应该uuid在每个表中都有一个主键,并使用前面提到的Id列作为常规列(因为我仍然希望与每个对象关联的逻辑编号)?或者我应该制作某种object包含uuid?的主映射表?

有关实施此方法的好方法的任何建议将不胜感激!

Red*_*ter 5

我只想有桌子ArticleComment,并在第六表将有可能为空的ParentArticleID字段.

Article
-------
ArticleID (int PK)
ParentArticleID (nullable int FK)
...

Comment
-------
CommentID (int PK)
ArticleID (int FK)
...
Run Code Online (Sandbox Code Playgroud)

如果确实需要GUID,请不要将其用作PK,因为索引时它的性能不佳.为GUID创建单独的字段.