个人博客的数据库设计?
gqqnb 2010-07-28 07:15:30 我的博客要求能“留言回复博文,留言回复留言”。
网友提示说见两个表——博文表和留言表。那我不清楚具体怎么设计。
因为“留言回复博文,留言回复留言”类似一种树结构,我想
留言表:
1、id,主键
2、replyArtical,可以为null。如果是回复博文,此处是博文的id
3、replyComment,可以为null。如果是回复评论,此处是父评论的id
可如果这样,程序代码似乎不好写。先select replyArtical=博文id的行,再遍历数据集合,select replyComment=该commentId的评论……是一种递归。select的次数很多。
或者
1、id,主键
2、replyArtical,被回复博文的id
3、replyComment,可以为null。如果是回复评论,此处是父评论的id
这样的话,先select select replyArtical=博文id的行,在返回的数据集合中,根据replyComment构建评论的父子关系。但数据库体积增加了,很明显一条评论属于哪篇博文,能由replyComment唯一确定,replyArtical是冗余。
请问哪种方式更好呢?或提出您认为更好的方案。或者有更好的sql语句来完成第一种方式?