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

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,留言时间等;
数据对象之间的关系
  • 与用户表关联的表:所有其他的表都与用户有联系,要么外键约束,要么有字段联系
  • 文章表与文章分列表和文章评论表存在外键约束
  • 评论表与回复表以及留言表和留言回复表都有外键约束


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

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我将结合Django框架和ORM数据库,来实现个人博客系统的需求分析。 1. 用户注册和登录功能: 对于用户注册和登录功能,我们可以使用Django内置的用户认证系统来实现。Django自带了User模型,我们可以直接使用该模型来存储用户信息。同时,Django提供了一系列的视图和表单,可以方便地实现用户注册、登录、重置密码等功能。 2. 博客文章管理功能: 对于博客文章管理功能,我们可以使用Django的模型来定义文章模型,包括文章标题、正文、标签、分类等信息。同时,我们可以使用Django提供的表单来实现文章的创建和编辑功能。对于文章的删除功能,我们可以通过让用户在文章列表中选择文章,并发送DELETE请求来实现。 3. 博客文章展示功能: 对于博客文章展示功能,我们可以使用Django的视图来渲染博客首页,并将文章列表传递给模板进行展示。同时,我们可以使用Django的路由系统来实现文章详情页的访问,通过文章的id来查询并展示文章详情。 4. 博客文章评论功能: 对于博客文章评论功能,我们可以使用Django的模型来定义评论模型,包括评论人、评论时间、评论内容等信息。同时,我们可以使用Django的表单来实现评论的创建功能。对于评论的审核和管理,我们可以使用Django的视图来展示评论列表,并提供审核和删除功能。 5. 博客文章点赞功能: 对于博客文章点赞功能,我们可以使用Django的模型来定义点赞模型,包括点赞人、点赞时间等信息。同时,我们可以使用Ajax来实现点赞功能,通过发送POST请求,将点赞信息保存到数据库中。 6. 博客文章分享功能: 对于博客文章分享功能,我们可以使用第三方库来实现,如AddThis或ShareThis。在博客文章页面中添加相应的分享按钮,以方便用户分享文章。 7. 搜索功能: 对于搜索功能,我们可以使用Django的模型管理器和查询API来实现。通过定义查询语句,从数据库中查询相关文章,并将结果按相关度进行排序,并返回给用户。 8. 用户个人信息管理功能: 对于用户个人信息管理功能,我们可以使用Django的视图和表单来实现。用户可以在个人信息页面中修改自己的用户名、密码、头像等信息。 至于ORM数据库的实现,Django自带了ORM框架,我们可以通过定义模型来创建数据库表格,使用模型管理器和查询API来实现数据的增删改查等操作。同时,Django还支持多种数据库后端,如MySQL、PostgreSQL等,可以根据实际需求选择合适的后端数据库。 以上就是结合Django框架和ORM数据库,来实现个人博客系统的需求分析

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值