数据库设计心得

撰写人:赵春生、王思涵

一、数据库设计的重要性

数据库设计软件开发的过程中起着很大的作用,如若不进行数据库设计就进行开发,很可能会导致诸如设计与需求不符、性能低下、数据完整性丧失、可扩展性性差、非必要数据冗余量大、不利于计算或统计、没有详尽的数据记录信息、表之间的耦合性大、字段设计考虑不周等问题。数据库设计在整个软件开发的起到的举足轻重的作用,它与需求设计是相辅相成的,软件设计的整个过程环环相扣,后一过程是建立在前一过程正确的前提基础之上的。如果在数据库设计阶段发现纰漏,可以进行需求修改,如果到了实际开发阶段发现这个错误,那么我们就要把从把整个设计全部遍历才能在进行错误的修改,越到后面发现设计上的问题,所付出的代价越大,修改的难度也越大。

二、数据库设计的原则

1、数据库设计最起码要占用整个项目开发的40%以上的时间

2、数据库设计不仅仅停留于页面demo的表面

3、数据库设计完成后,项目80%的设计开发在脑海中就已经完成了

4、数据库设计时就要考虑到效率和优化问题

5、添加必要的(冗余)字段

6、设计合理的表关联

7、设计表时不加主外键等约束性关联,系统编码阶段完成后再添加约束性关联

8、选择合适的主键生成策略

三、需求分析

对于每个项目,数据库的设计都是很重要的。设计数据库需要考虑各方面的因素,比如数据是否可维护,数据是否冗余等,同时也关系到接口开发实现的难度。所以在设计之前我们先对需求进行分析,通过对需求的分析来确定需要的表。

我们使用 PowerDesigner 进行设计概念模型CDM,再由概念模型导出SQL语句、物理模型数据字典等。

四、CDM设计

根据之前讨论需要的表及字段创建实体

然后确定各实体间的关系一对一、一对多、多对多(我们队刚开始在这里出错搞混了实体间的关系),然后创建出CDM:

 

这是我们概念模型的整体截图

需要注意的是,要满足第三范式同时也要注意一些命名的规范

创建好CDM可根据自己需求使用PowerDesigner的Tolls导出PDM、SQL语句、数据字典

五、心得体会

遇到的问题

1、再设计CDM时,由于是分工写实体,所以存在许多重复的地方

2、在确定实体间关系时没有查相关资料,除了一对一、一对多、多对多,还写了一些其他东西,最后在老师的指正下修改过来(实体关系只有一对一、一对多、多对多三种)

3、在写实体的字段时,对是否需要增加外键存在疑惑

收获:

通过这次数据库设计,帮助我们重新梳理了一遍需求,也让我们对用PowerDesigner来进行设计更加熟悉,对数据库设计有了一次宝贵的实战经验

原文地址:http://www.cnblogs.com/3309-c/p/16859159.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性