系统分析

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

数据库分析

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

  • 数据库需要存储与访问的数据对象有哪些
    • 用户为核心,所以用户对象必须要有一张数据表,字段包含包含一些常用信息,比如用户ID、昵称、登录名、密码,为了不让一张表的数据过于繁杂和便于查询,我们又设计出了一张用户信息表,保存一些不常用的用户信息如生日、爱好、教育信息等;
    • 内容为主体,所以文章对象要有一张数据表,字段包含用户ID、文章分类、文章标题、关键字等;
    • 文章分类表,字段类别、类别名称等’,
    • 好友表,用来存储互加好友的两个人之间的关系,字段包含用户id和好友id以及自增的主键等;
    • 用户关注表,字段包含用户id以及被关注人id和自增的主键;
    • 私信表, 字段包含自增私信ID,发信者ID,收信者ID, 私信内容;
    • 系统通知表,字段包含系统通知ID,接受者ID,通知内容,自增通知内容id;
    • 评论表,字段包含评论自增ID号,收到评论的用户ID,评论内容的ID,评论内容,评论者ID,评论时间等;
    • 评论回复表,字段包含回复自增ID号,收到回复的用户ID,回复评论的ID,回复内容,回复者ID,回复时间,回复等级等;
    • 留言表,字段包含留言自增ID号,收到留言的用户ID,留言内容的ID,留言内容,留言者ID,留言时间等;
    • 留言回复表,字段包含回复自增ID号,收到回复的用户ID,回复留言的ID,回复内容,回复者ID,回复时间,回复等级等;
  • 数据对象之间的关系
    • 与用户表关联的表:所有其他的表都与用户有联系,要么外键约束,要么有字段联系
    • 文章表与文章分列表和文章评论表存在外键约束
    • 评论表与回复表以及留言表和留言回复表都有外键约束
      以博客系统为例的数据库分析与设计之分析篇-LMLPHP
      关于数据的表结构关系我会在下一篇的逻辑设计中细细去讲解
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

01-30 11:12