如何分析项目中的数据库

开发工具与关键技术:SQL 数据库分析
作者:微凉之夏
撰写日期:2019年06月03日

我想当你们大家刚拿到项目时,所看到的都是一个文档类型的文件,里面只有图片和文字说明,我不知道大家刚拿到项目的想法,而我自已的第一时间拿到项目打开看到里面的内容是是一脸蒙蔽的心里想着肯定完蛋了,理由很简单就是看到看不懂里面的内容。后来幸好老师教我们如何分析数据库的内容,想要做好一个项目当然要用到一个重要的文件(数据库啦)你们说是不是,但是呢我们要怎样去分析数据库呢?也是个问题对吧!那么我们接下来就来看下如何分析吧。
我们要进入到项目的文档中来大致看一遍项目中的内容,我做的项目是帝友系统后前台的详情操作,后台大概的流程分为管理员的登录分为八大部分分别为首页借贷管理资金管理认证管理用户管理内容管理系统设置管理推广管理,前台则是六大部分分别是注册与登录我要借款我要投资我的账户关于我们新手帮助。那我就抽出其中的几张图片来说下如何分析数据库吧。
首先我们得清楚下项目的流程和还要懂得如何分析数据库是吧,如果你都不清楚流程的话那要怎样做下去啊对吧,大概理清了细路我们就好分析数据库了和怎样做下面的内容,下面请看如下页面图:
如何分析项目中的数据库_第1张图片
如何分析项目中的数据库_第2张图片
上面是借款页面那么当然有个借款表啦是吧,如下是上图的数据库分析:
每张表都有个属于他自已的主键ID,而且是唯一的,不可代替的。下面有些带括号的是为了方便清楚你在那张表中所用到的内容信息,这样子就可以更加清晰了。也有些是表中所用到的内容信息这样也清晰的看出这表中所有的内容信息。
外键也是不能随随便便就能给的是要看那借款表中是否包含着外键那些张表中的内容,同时我们也有个问题是:我那知道它是不是这张表中的外键呢?是吧。那是因为借款表中摄制到那些外键中的内容,这样我们才能够把那些外键放到借款表中。
借款表:借款ID、用户信息ID(用户名称)、借款类型ID(借款类型名称)、还款方式ID(还款方式名称)、贷款号、借款标题、借款金额、利率、借款期限、提交时间、状态、撤回理由、管理备注、延期天数
用户信息表:用户信息ID、用户名称、
借款类型表:借款类型ID、借款类型名称(信用标、流转标、抵押标……)、
还款表:还款ID、借款ID(贷款号、借款标题、借款金额、借款类型ID(借款类型名称)、)、应还时间、应还利息、实还时间、实还总额、状态
还款方式表:还款方式ID、还款方式名称(等额本息、按季还款、到期还本还息、到期还本,按月付息、到期还本,按天付息、到期还本,按月付息,且当月还息)
用户名称当然是在用户表中的,为什么呢一个系统中肯定会有一个或者多个用户信息的对吧,所以我们得用单独一个表来存放用户中的信息,借款表中因为有着用户信息中的用户名称,所以我们的把用户信息ID主键放到借款表中作为外键来存在,这样子的话借款表中就已经存在有用户名称了。
再借款表中借款类型是可以选择的,所以说借款类型它有着自已的ID和名称,同时也要注意了不能再把借款类型放到借款表中,给它重新起一张表同样的把借款类型ID放到借款表中作为外键那样就可以获取到借款类型中它所需要的内容了。
还款方式也是一样有着多个选择,所以它同样的具有它自已的一张表,有独立的还款方式ID,同时还款方式中的内容也在借款表中出现,所以也要把还款方式的ID放到借款表中作为外键来获取还款方式中的内容。
分析完这个页面图片之后我们还要接着往下看,下面在看下这几张页面图片又可以得到那些信息呢?
如何分析项目中的数据库_第3张图片
如何分析项目中的数据库_第4张图片
这两张同样也是在借款表中的样式里面的,可以看到图中有:撤回理由、管理备注、延期天数这三个信息,当然也要放到借款表中的啦。从上面这几张页面图 看就可以分析出五张表并且这几张表都是有着一定的关联的。(上面中括号中是从这些页面中分析出来的数据库表,其他的是里面的分析中所需要了解的内容。)
建好表之后呢,我们要检查表与表之间是否重复,基本上是不会重复的但也总有些要些意外的,所以要建好表之后重新检查下。如果没有重复的表那么紧接着再看我们数据库中的三范式是否对应了,何为三范式呢?
三范式就是为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则,在关系型数据库中这种规则就称为范式,范式是符合某一种设计要求的总结,要想设计一个结构合理的关系型数据库,必须满足一定的范式。三范式的要求是:

  1. 每一列只有一个值(字段(列):字段原子性\无重复的列)。
  2. 每一行都能区分(行的原子性\属性完全依赖于主键)。
  3. 每一个表都不包含其他表已经包含的非主关键字信息(非键值属性在整个数据库中是唯一的\属性不依赖于其它非主属性)。
    表与表之间是否符合三范式,我们的第一范式主键是否作为唯一标志(一般情况主键就是作为唯一标志),看了下我们表都有着它们独有的主键那么第一范式显现,接下来看第二范式每个字段必须要跟我们的整个表是直接关联的,没有直接关联的不能放到同一个表中,还有最后一范式就是我们的表跟表之间的关系(一对一的关系、一对多的关系、多对多的关系),举个例子:本身还款表已经跟借款表关联了,借款表本身就包含有借款类型表所以我们就不能够出现关系重复,因为我们通过借款表可以找到借款类型,所以我们新增借款类型时只需要在借款表中新增就可以了,不需要再到还款表中新增(如上面标有红色字体的内容)。假如你两个地方都放有一个借款类型表,那么你是不是两个地方都要新增了是吧,所以不需要重复。我们会发现本来跟它直接关联由于我们可以根据借款表找到我们所需要的借款类型,所以他们之间的关系就会关联到一起了。
    分析完了就像我那样在一个word文档中列好表,列好之后就把它翻译成英文之后就去PowerDesigner(是数据模型)中创建数据库(其实是你在里面创建好模型之后就把你所创建好的数据库导入SQL Server里面去,这样数据就建好了,建好之后还有很多步骤的需要你慢慢的去完善),(虽然不知道我所分析出来的数据是不是正确的,但是其中的步骤是所需要的,但是我会更加努力的。)

你可能感兴趣的:(数据库分析)