数据库设计心得
数据库设计心得
这次数据库的设计主要是我负责的,所以谈一谈这次设计中的心得体会。
我们的项目是慢阻肺疾病管理app和后台管理系统,在需求确定后开始设计数据库,
首先设计数据库不是光上来就照着需求就开始写,而是先对需求充分理解,归纳理解之后首先得到一个个实体
1.确定实体
而在我们项目中首先最重要的两个实体是 患者,医生
所有其他实体都是在次基础上衍生出来为这两个实体服务的,以此来确定一个个的实体,确定实体的属性,建立实体间的关系。
确定完实体后,不是直接开始设计表了,还要再回头审视这些实体是否能实现全部需求,然后设计的是否有问题,实体间的联系是否出错。
我在设计中的错误:拿我们项目中医生和患者最重要的一个互动,护理计划来举例,一个患者可以有多个护理计划,一个医生也可以提供多个护理计划,因此两边对于护理计划都是一对多关系,因此就建立了护理计划这个实体,但是一开始没有考虑到的是,护理计划里面的关系问题,因为一个护理计划可以有多种药物,多种器械,多种运动,而且每个护理计划的药物器械和运动都不相等,所以这里又是三个一对多关系,应该再写出药物,器械,运动这三个实体,但是一开始只是简单的归到护理计划中。
2.确定表
根据实体设计好概念模型后,转换成物理模型,第一次的版本找不到了,但是因为是第一次设计的数据库,还是有着很大的问题,比如对于如何确定护理计划的使用情况完全没有考虑,患者是否接受了护理计划,问卷是否被患者回答,很多对于状态类的字段处理不清晰,然后继续修改物理模型,直到改成现在这样。
3.对于表的再检查
这次主要检查小问题方面,如字段的类型是否可以支持需求的体现,是否可以为空,默认值是什么,然后生成数据词典,汇报成果。其中就发现对于问卷内容字段的问题。
此次是第一次设计数据库,存在许多问题也有许多收获,一个人的思路比不上一个全队的思路清晰,思维方式的碰撞可以产生良好的效应,我的队友在设计数据库的过程中给我的帮助很大,并且指出我设计的问题,等等。
数据库我感觉是一个软件的开始,一个好的数据库能让一个软件的设计完成事半功倍。