数据库设计心得-软件2104-果宝特攻
指导老师:李玮
项目:阅文批示与资产管理系统
组名:果宝特攻
组员:石宇航、阿希耶·王、官玮轩、杨金铭、胡延霁、周润荣
作者:周润荣
业务需求:
本项目是用于线上进行阅文审批、传阅,固有资产管理等的系统。本项目需要实现对阅文的交付,审批结果的传递,阅文的传阅、资产借还记录等,同时对用户的操作进行日志保存,方便系统后期进行查看,维护。具体为以下几个方面:
1. 用户管理:需要存储和管理系统用户的信息,包括用户名、密码、权限角色等。可以设计用户表来存储用户信息,并提供相应的管理和认证功能。
2. 批示管理:需要存储和管理批示的信息,包括批示内容、批示人、批示时间等。可以设计批示表来存储批示信息,并与相关的用户表进行关联。
3. 文档管理:需要存储和管理批示的文档信息,包括文档标题、文档内容、上传时间等。可以设计文档表来存储文档信息,并与相关的用户表进行关联。
4. 批示记录:需要记录每个批示的历史记录,批示的回复。
5.资产记录:需要记录机要员对资产进行借还操作的情况,时间,并对资产的状态进行修改。
第一次设计:
初稿设计时,将角色用户分开设计,确定了机要员、普通员工、办公室主任、院领导等实体,数据库显得非常重复冗长,且没有设计日志和记录,不便于系统的维护。
设计了传阅关系表,可以对传阅进行评论。设计了资产实体和资产借还记录表,对固有资产进行管理和借还记录进行保存。
在第一稿设计时,考虑到了设计第三范式,并且进行了规范化。
第二次设计:
将用户角色统一存储,通过角色身份进行认证,简化了设计。对文档管理增加了附件表,阅文可以由附件组成。增加了日志表格,存储相应角色对阅文的操作,便于系统日后维护和查找历史记录。对于资产管理添加了资产日志,对资产管理记录进行保存,从而改进维护性。
增设了信息表,来提醒对应角色的待办事项。
心得体会:
1. 需求分析至关重要:在设计数据库之前,充分了解业务需求是非常重要的。通过与业务相关的人员沟通,收集和分析需求,确保数据库的设计符合实际需求。
2. 合理的表结构设计:在设计数据库表结构时,应该根据实际业务需求进行合理的划分。将相关的数据放在一起,避免冗余和重复存储,提高数据库的性能和数据的一致性。
3. 外键设置要合理完整,防止冗余和缺少约束。
最终物理设计如下: