做一个社区的数据库设计:
首先有个用户表 user
用户可以进行 写日志 发图片 并且可以对日志或者图片进行评论
就得到三个表 log  art  comment
用户之间可以相互添加为好友 得到第五个表 friend然后要完成这么一个功能
用户可以查阅有哪个人对自己的日志 或者图片进行了评论
以及用户的好友发的日志 和图片 请问这5个表应该如何设计比较合理

解决方案 »

  1.   

    user 用户表
    日志表 (包含用户id)
    图片表 (用户id)
    日志评论表 (用户id 发表评论用户id 日志评论 日志id)
    图片评论表 (用户id 发表评论用户id 图片评论 图片id))
    好友表 (用户id 好友id)1
    select × id from 日志评论表 where 用户id =?
    select × id from 图片评论表 where 用户id =?

    select * from 日志表 where id in (select 好友id from 好友表 where 用户id =?)
    select * from 图片表 where id in (select 好友id from 好友表 where 用户id =?)