我找了一张图好表达一点,图片来自:网易摄影。我是新手没什么数据库设计的经验,要开发一个摄影社区,需要有发表图片功能,发表出来的图片要以一个页面的形式展示出来(类似一个帖子),还需要同时将照片添加到已有的相册里。我就有点不明白了,组图帖子,照片,相册要怎么设计才符合逻辑?请各位帮帮忙,mysql数据库,邀请了各位版主,如有冒昧请见谅。
对问题有疑问请说明,我将第一时间回复,感谢。

解决方案 »

  1.   

    帖子表包含图片ID
    图片表包含:相册ID、图片ID和图片所在服务器的URL
    通常这种业务用非关系数据库比较多,用mysql中间的多对多关系只能冗余数据处理
      

  2.   

    数据库包含帖子、相册、图片三个模块
    帖子和图片是多对多比较麻烦
    相册包含图片是一对多简单;
    帖子图片之间的关系用一列包含多个图片ID之间用分隔符处理或者一贴多行
    如果服务端的功能强大建议用帖子表用一列存储图片ID信息,表复用和扩展也比较好
    否则就一贴多行,这样设计维护比较麻烦,冗余比较严重
      

  3.   


    你看我理解得对不,我建了个表,三个表,帖子表、照片表、相册表。
    post.p_id用来存照片的photoid,phoho.a_id存放album.id
    添加了几条数据
    post:photo:
    查询出来就是这样:select * from photo where (select FIND_IN_SET(photoid,p_id) from post where postid=1) 
    如果理解错了麻烦再说说哦。