以博客系统为例的数据库分析与设计之分析篇

https://blog.csdn.net/Lockey23/article/details/73468418

系统分析


  1. 作为一个微型博客系统,不需要像微博或者csdn这样的大网站每天承受数以N万计的用户访问,也不需要展示丰富繁杂的内容,所以我们就按最简来进行数据库的设计,这样相对而言系统承载要小的很多很多,数据库条目关系以及储存占用也很小,也便于基础学习者理解。
  2. 服务器和数据库我们一般都会部署在linux平台上,如果本地开发练习其实并不麻烦,如果想把成果放到网上去,那么我们可以租用一部云主机,在云主机上搭建一个真实的可访问系统,这些需要大家自己去探索学习。
  3. 数据库的话我的示例之中一般都会使用PgSql,可以参考前面的相关文章为应用配置稳定数据库
    硬件环境并不作为此次讨论的重点,所以不多说,当然我知道的也有限,接下来我们着重讨论数据库的分析部分
    数据库分析
    这里写图片描述

此次示例中我本人既作为一个创建者也作为一个使用者,所以所有内容都是个人亲身试炼所得,不足之处愿受教于高人。因为是一次开发演练,所以我们不关心博客系统本身的市场需求,只讨论在这个系统之中数据库如何根据需求去进行设计。

数据库需要存储与访问的数据对象有哪些

  • 用户为核心,所以用户对象必须要有一张数据表,字段包含包含一些常用信息,比如用户ID、昵称、登录名、密码,为了不让一张表的数据过于繁杂和便于查询,我们又设计出了一张用户信息表,保存一些不常用的用户信息如生日、爱好、教育信息等;
  • 内容为主体,所以文章对象要有一张数据表,字段包含用户ID、文章分类、文章标题、关键字等;
  • 文章分类表,字段类别、类别名称等’,
  • 好友表,用来存储互加好友的两个人之间的关系,字段包含用户id和好友id以及自增的主键等;
  • 用户关注表,字段包含用户id以及被关注人id和自增的主键;
  • 私信表, 字段包含自增私信ID,发信者ID,收信者ID, 私信内容;
  • 系统通知表,字段包含系统通知ID,接受者ID,通知内容,自增通知内容id;
  • 评论表,字段包含评论自增ID号,收到评论的用户ID,评论内容的ID,评论内容,评论者ID,评论时间等;
  • 评论回复表,字段包含回复自增ID号,收到回复的用户ID,回复评论的ID,回复内容,回复者ID,回复时间,回复等级等;
  • 留言表,字段包含留言自增ID号,收到留言的用户ID,留言内容的ID,留言内容,留言者ID,留言时间等;

数据对象之间的关系

  • 与用户表关联的表:所有其他的表都与用户有联系,要么外键约束,要么有字段联系
  • 文章表与文章分列表和文章评论表存在外键约束
  • 评论表与回复表以及留言表和留言回复表都有外键约束


关于数据的表结构关系我会在下一篇的逻辑设计中细细去讲解

猜你喜欢

转载自blog.csdn.net/u010843421/article/details/80962975
今日推荐