项目名称:智慧纪检app
团队:bug全改队
成员:张嘉嘉 陈春蕾 李思颖 肖颖珂 郑梦瑶
一、 数据库设计思路
首先根据制定的迭代开发计划、功能流程表确定数据库中需要的表。因为我们项目的数据库是提供好的,通过逆向解析mysql得到整个项目的全部表列清单,共计295个表。但这所有的表并不全部都是我们需要的,通过先前的需求文档和迭代开发计划文档,根据我们需要实现的功能,从295个表中选定和我们项目有联系的表。
先将我们需要的表选取出来进行汇总。然后再思考整理各个表之间的联系关系。
我们使用PowerDesigner进行设计概念模型CDM、物理模型PDM,导出SQL语句以及生成数据库字典。
二、 CDM设计
根据先前整理得出的表,再对照表列清单的字段详情创建实体。
参照先前的时间轴:
确定各实体间的关系,如一对一、一对多、多对多:
(表过多,未截取完全,此为部分)
其中除了时间轴中设计的表,还要再添加一个日志表,用于记录创建者在其操作IP地址下进行的操作如提交的数据或异常信息。
三、PDM设计
PDM物理模型我们通过生成的CDM直接进行导出:
(表过多,未截取完全,此为部分)
然后再通过PDM导出SQL语句以及生成数据字典。
四、心得体会
遇到的问题:
1.在设计cdm时,表数过多,我们分工写实体表,由于是对照的表列清单,其中的许多字段存在重复问题,导致转pdm物理模型时报出了244个error,这是整合cdm时需要注意的。
2.由于pdm自动生成外键,所以导出的pdm模型的实体中出现了很多重复的字段,这是多余的需要删除,但是最好的办法是在创建cdm概念模型时,不用添加外键的字段,只考虑各个实体所需要的字段,让外键通过设定了实体间关系后自动生成,避免出现多余字段。
总结:
通过数据库设计,我们对PowerDesigner的cdm、pdm、数据字典操作更加熟悉,同时通过设计数据库,对项目的流程功能细则也更加了解。