数据库设计心得-大海你好水队

数据库设计心得

项目名称:材料学院创新实验

小组:大海你好水队

成员:田伟睿 朱世明 曾庆涛 黄志慧 周子铭

指导老师:边耐政

撰稿人:朱世明 曾庆涛

日期:2020-11-20


 

 

I.前言

 

学生通过APP查看实验课程和实验课表,报名参加创新实验,申请调课,查看成绩等。

教师通过APP查看实验课表,审批学生调课,挑选创新实验学生等。

通过和老师交流确定好需求后,决定进行数据库设计。

 

 


 

II.数据库设计

 

II-1.分析

 

由于有教师和学生两类用户,在确认需求和原型设计时已经知道

两类用户的部分功能是通用的,只有一些功能是不同的。所以我们在原有的UML上进行数据库设计。

 

心得:

在画usercase时,由于需求比较多,相互之间的关系比较复杂,一个用例可能包含多个用例。

所以需要我们一一进行对比查找需求,将每一个用例都画了出来,所以画usercase时花的精力比较多,

导致在中间就变成直接找功能模块了,不是以用户的角度进行的分析。

但后面得知,并不是所有的用例都会得到实现,可以进行简化变得更加合理。

可能还是第一次接触到,所以画的时间有点长,但是也得到了很好的锻炼。


 

II-2.获取

在通过分析后可以得到教师和学生的功能,但前面的用例图只是在用户的角度进行的设计。

此时,我们需要将上面的内容进行进一步的提取,获取到数据库设计需要的内容。

 

心得:

在获取中,我们最开始因为设计用户进行争议,想设计教师和学生两个结构;

不知道可以只设计一个用户表就可以表示教师和学生,还是处于前面分析时的用户角度。

所以最后在进行多次讨论和分析才决定设计上面的表。

在讨论时,小组已经将所有的基本信息都提取出来,准备进行关联。

但是由于结构过于复杂,并不是每个表之间都有联系,所以最后决定将前面提取出来的表

做为基本表,然后将分析中的用例做为基本表间的一个关系而新建的关系表。

最后的几个表是我们小组没有考虑到的,是在学长的指导下建立的。

心得2:

(来自另一位数据库设计人员-曾庆涛)

因为小组采用以“用户-系统”的人机交互功能作为数据采样的记录点,分析这其中过程中实体数据来源,

简单来说,就是分析每一个功能界面中的数据来源,将其中规整为一张或多张base数据表。

在分析出base数据表的基础上,结合人机交互的界面功能,再分析出各个base数据表之间的关系,

这种关系即是data_relation表。最后在根据已得到的两种表,

结合实际功能查缺补漏,建立一个完整的概念模型/物理模型。

在这整个建立数据模型的过程中,通过这种分布分析的方式,有效地逐步推进了数据分析的过程。


 

II-3.实现

(内容太多,无法显示全部)

心得:

由于前面采用了base_relationship的关联表,所以在实现时变得比较简单,我们只需要对基本表设置主键即可,

在关联表中设计外键引用基本表即可。这也表明前面花费许多时间进行的分析为我们后面的实现提供了便捷。

但是由于我们的项目是做一个移动端,所以我们实现需要考虑到这里。

 

在小班讨论课中,老师也说我们还需要考虑到实际的接口和实现移动端需要做的改变。

posted @ 2020-11-20 20:20  田伟睿  阅读(95)  评论(0)    收藏  举报