数据库设计心得 -- 魏姐和迷弟队

      我们小组的项目是湖桃二手交易市场,项目不在老师给的选题当中,是我们自己想了很久决定着手制作的项目。在上一周进行了数据库的设计和测评,小班课上的展示和同老师的交流也启发了我们,最终制定了相对而言完善的数据库设计。下面我们就大概谈一谈我们小组数据库设计上的前期准备、过程、心得和体会。


一、设计前期准备

定需求
      对于二手市场来说,市面上可供我们模仿借鉴的成品有很多,比如独立的APP闲鱼和依托于微信的转转,大致的模式及功能相同。但是我们既然决定要做成封闭校园式的产品,就要考虑用户的独特性,作为大学生,学生认证必不可少,因此除了正常的二手市场所需的数据库以外,我们还需要记录学生认证等信息。

                                               图1 大学生认证UML用例图


定工具
      数据库由powerdesigner设计,通过工具设计cdm模型后可以直接生成相应的pdm模型和数据字典等。并最后通过生成的数据字典按照要求编写数据库1.0版本设计。


定规则
      在课程中,我们学习了数据库设计的三大范式,这是设计的最基本要求,但是有时候为了软件的性能和为了表结构的完整等,我们有时候要适当放弃一点范式上的约束。总而言之就是设计过程中要学会变通,将所学的知识和实践完美结合。

                                                            图2 数据库三大范式

 

二、设计过程 
初定设计

      第一次的设计定于小组第一次讨论后,初步定下来了表的名称和大致的字段内容以及表之间的关系。初步的设计没有考虑项目的实用性,单纯将项目本题同书本内容(三大范式,完整性约束等)相结合,做出了一个功能内容较为完整但是实用性相对较差的数据库。

                      图3 初定数据库PDM


二定设计
      第二次的设计是对第一次的改进。从用户的角度出发,考虑我们的数据库还有哪些不足,并对相应字段的格式长度、对表的主键外键等进行了修改,这时候考虑的更多的就是数据库的实用性,比如最常见的就是数据库的查询的快慢。举例说明,原本我们将所有的商品放到同一张数据表中,但是后来想到的时候,对于数据库的查询来说,已经卖出去的商品不会再次进行修改,因此我们将已经卖出去的商品重新分了一个数据表,并添加订单编号的字段,将其升级为一张已完成订单表,实现了对于查询速度的改进。   

            

                         图4 已完成订单表


完善设计

      在课堂向同学老师们分享完我们小组的设计成果后,老师又进一步对我们的项目提出了意见和改进方向等。我们如实记录下来了所有的问题,并对我们的数据库不能解决的问题进行了改进。增加了相应的字段和表之间的联系,比如人工审核的数据表和数据记录。这样在开发前的最终的数据库设计就完成了。

 

 

                           图5 最终版数据库pdm


三、数据库设计心得

  1. 对于数据库设计来说,设计者的考虑应该是性能>表结构>范式。
  2. 先定需求,后编写数据库会减少很多不必要的困扰。
  3. 对于合格的数据库设计人员来说,powerdesigner是必不可少的工具,要学习并熟练使用。
  4. 明确对象间的关系并通过连线展示到数据库上,可以简化后期navicat对数据库的设计。
  5. 编写好数据库设计文档,可以有效增加前后端人员开发速度和交互速度。
  6. 通过这次对数据库的设计,再次明确了对产品的需求,过程中通过不断的讨论、模拟,产品最终的原型也就展示了出来。但是大家都是第一次着手项目,经验不足的确造成了许多不必要的困扰。数据库上也是反复修改了三次才定下来,后期制作过程中
posted @ 2019-11-11 10:26  ok-fine  阅读(146)  评论(0)    收藏  举报