临高启明-数据库设计心得

发布时间 2023-11-10 20:58:36作者: 红色虎鲸抱枕

 

在做软件工程导论的项目的过程中,我们学习了如何通过分析需求来构建数据库实体对象以及power designer的使用。最终通过power designer完成了数据库概念模型、物理模型的设计,并导出了相应的建表SQL语句。

需求分析:

A)     设计过程中首先从项目需求分析文档出发,考量了项目实际需求,初始确定了十张表,用于注册登录的共有五张表,分别是管理员表、用户表、用户账号表、运输人员表、运输人员账号表;处理订单相关有订单表、仓库表,考虑到如果是大件订单可能需要拆分的情况,我们将订单与运单实体分开,增加了一个运单表,还有一个运输单表用于描述运输人员与运单的关系,另外还有一张日志表。

B)     最终通过老师的修改建议,我们将冗余的运输人员表与运输人员账号表删除,决定将运输人员囊括在用户表中,再设计一个角色表即职位表来区分普通用户与运输人员。再从实际考虑,运输过程中其实是需要一个运转中心的,而我们之前的设计中只有一个仓库表,与现实运输情况相悖,于是增加了一个运转中心表,供运输人员进行查看地址等操作。

心得体会:

通过这次数据库设计的过程,我学习到并巩固了一些数据库设计的基本知识点与相关内容。认识到要设计出一个良好的数据库,最重要的事情就是要分析需求,还有要符合现实的实现过程,比如我们设计的第一个模型,就只有一个仓库,而现实运输更多依赖的却是运转中心;还需要确定好属性,这一点应该与每一位开发人员进行讨论再确定,能够避免一些错误与疏忽。确定好了表的个数及使用范围后,就要为每个表设计具体的字段和对应的数据类型,字段名容易确定,字段对应的数据类型的考究就有许多门路。既要确保对应的数据类型能满足相应的规模又要确保使用的字节较少,这是值得注意的一个点;另外应该掌握熟练且正确的ER图绘制,尤其是明确实体间的关系是一对一、一对多还是多对多。一对多关系可以增加一个关系表,比如我们的用户表,相比于在表中增加一个“职位”属性,我们增加了一个职位表来让用户关联角色,这样的好处就是将抽象的权限具象化,我们仅需要思考每个角色应该赋予什么样的权限,再将对应的用户指向角色,即可完成账号授权。最后,我们在设计时应该选择高效的设计工具,在设计逻辑模型与物理模型时,我们使用了power designer工具,power designer是一种企业级的数据库设计工具,可以支持多种DBMS,是数据库设计的不二选择。并且其操作简单方便,对于我们这些新手也十分友好。在设计完CDM后,我们将CDM转化成了PDM,之后的工作就是通过PDM物理模型来编写SQL语句,建立数据库表。而且使用power designer可以直接通过PDM导出SQL语句,最后轻松地完成了数据库表的创建,大大减少了设计开发的时间。

通过这次的数据库设计,需求分析,设计实体,绘制ER图等过程,都巩固了我们对数据库基本知识的理解,学会并掌握了数据库设计开发的基本方法。