项目[设计]系统设计 -- 博客系统--- 文章与分类设计

297 阅读2分钟

曾经我们都想拥有自己的博客系统,可以个性化打造自己的私人站点.如今开始从零设计一套属于自己的博客系统.

文章管理与分类设计是设计整个博客的核心,我们的博客主体采用markdown与富文本的方式存储我们撰写的数据内容.

拥有文章之后为了便于管理,我们使用分类的方式对文章进行管理.对此我们有两种不同的操作方式与实现手段,

  1. 先建立分组,再建立文章,这样文章与分组形成一对多的关系,这种方式较为直观,但是同时意味着我们在写每一篇文章的时候就需要确定我们的文章分类方向.
  2. 分组与文章单独建立,然后通过文章绑定分组,这样有利于文章在不同的分类之间切换,同时编写文章的时候最初的方向也没必要定义的那么精确.

上述两种方式本质上没有任何冲突,在建立数据库的时候不考虑外建依赖,表的结构是一致的.不同的是在业务逻辑层对数据依赖关系的处理不同. 表结构如下

image.png

上图中,我们可以看到 classificat_id 在doc_t中关联文章,或者说doc_t中的数据关联classificat_id分类id.

看到上述的关联,我们又引发了新的疑问,若分组删除,我们的文章是否应该取消关联?

这里存在两种方式,如果是方式1实现的话,我们在删除分组的时候,由于受到外建约束,必须先解除对分组的依赖,然后再删除分组,同时我们的文章也会随着分组的消失,不复存在,方式2由于是动态绑定,并不受外建约束与分组的强约束,我们删除分组的时候文章依然存在.

在此我们总结:使用方式2进行分组动态绑定,具备更高的灵活性.但是与此同时存在的不是问题的问题就是,由于这种灵活性,可能导致人们在写文章的时候可能会偏离主线,毕竟有约束的时候,思考的谨慎程度会提高.