数据库设计在系统设计中的重要性

  • 格式:doc
  • 大小:24.00 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈数据库设计在系统设计中的重要性

对数据库设计在系统设计中重要性的认识主要有以下几个方面:海量数据环境到来为数据库设计提出的新高度;好的数据库设计所应具备的基本条件;重视不足的数据库设计的具体体现;如何培养良好数据库设计习惯。

数据库设计系统设计数据库设计习惯系统设计分为两个部分,也可以说是两个阶段,即数据库设计与系统功能设计。构建一个完善的系统需要这两个阶段的充分考量、周密设计、合理联接以及密切配合。在这两个设计阶段中数据库设计阶段是整个系统设计的根基,数据库设计关乎系统功能实现度、稳定性、扩展性等多个方面的内容,其重要性可想而知。然而目前的情况是:从学校到社会,从教师到学生,从思想到行动都以实现功能,做上层的表面文章为主流。这不仅会为系统留下隐患,也将成为整个软件开发行业的隐患。

一、海量数据环境到来为数据库设计提出的新高度

数据库设计是近些年出现的技术领域。早期的时候,数据库是以一个黑盒的方式,附属到某个系统当中的,开发人员对它的关注很少。互联网的时代,系统数据量呈几何级数激增,数据存储与表示也使用了tb,pb乃至zb等单位。在这种情况下各种性能问题日益凸显,数据库由于其载体与容器的身份承担了其中的很大一部分。海量数据带来的存储、查询速度以及容灾等方面的压力是这一环境下的新问题。无论是项目负责人、开发人员还是dba(database

administrator),都不可回避地要面对这个问题。

在这种大数据环境下人们对数据库性能的优劣俞发关注,对系统设计阶段中的数据库设计阶段也提出了新的更高的要求,数据库功能也正在从数据存储工具的角色转变成数据处理器的角色。因此,目前的系统设计中也总是将数据库从系统设计中拿出来单独进行

设计。一个数据库性能的好坏,通常是在系统设计阶段就决定了的。

二、好的数据库设计所应具备的基本条件

1.充分体现系统的需求

数据库是为应用服务的,好的数据库设计应该首先能满足应用系统的业务需求,能够准确表达数据间关系。

2.能够保证数据的准确性和一致性

通过主外键、非空、限制、唯一索引等保证数据的健壮。

3.提高数据的查询效率

通过合理表结构,安排物理存储分区、增加索引等方式,提高数据的读取速度,提高查询效率。

4.有好的扩展性

好的数据库设计在必要时应能根据需求进行数据结构的扩展。三、重视不足的数据库设计的具体体现

不良的数据库设计,必然会造成很多问题,轻则增减字段,重则系统无法运行。对数据库设计重视不足在具体设计中可体现在很多方面,现列举其中的部分内容:

1.与需求不符

数据库是需求的直观反应和表现。在数据库设计之前对用户需求没有进行详细了解与必要的分析,在设计过程中也没有同用户及使用单位进行必要的沟通。这样往往造成数据库在设计上的不实用。与用户需求不符将使整个系统无法交付使用。

2.字段设计不合理

一是设计中缺少必要的字段,造成无法跟踪数据变化、限制用户操作或无法进行数据分析。二是字段长度过短或字段类型过于明确,使可发挥、可拓展的空间太小。设计不合理的字段如果用于查询将造成sql查询语句过于复杂,而使查询无法顺利进行。

3.数据完整性丧失

通常指存储大量数据的数据表之间的关联过多,包含主外键关系的数据表之间的关联字段设计方式不合理,或是多张数据表之间耦合度过高,更新与删除操作后就容易造成程序出错。

除上述内容之外,因对数据库设计过程重视不够而非技术不足所造成影响还有很多,在此不一一列举。需要相关人员明确的是系统设计如同所有项目一样包括各个环节。例如,汽车制造过程包括图纸设计、模型制作、样车制造、小批量生产,最后是批量生产等环节。制造过程环环相扣,后一过程将建立在前一过程正确的前提基础之上。很显然越是初始环节出现问题对整个项目带来的打击越大。在开发顺序上由于数据库设计阶段位于整个系统设计的前端,因此在此环节出现的问题其影响是具大的。

四、如何培养良好的数据库设计习惯

一般来说,在系统设计时间与任务量的安排上,数据库设计至少应占用整个项目开发的60%以上。这样才能保证系统的强壮、可靠与稳定。从事系统设计的相关人员要养成良好的数据库设计习惯主要应从以下两个方面着手。

1.转变观念

首先,很多计算机专业的学生、教师以及真正的开发设计人员受社会大环境的影响在学习与工作中没有踏实与务实的作风。再者,很多承担专业教学的教师没有真正的系统设计经历,很难给学生的系统设计习惯进行正确的引导。还有,学习的动力导致学习的效果。学生在学习前就已经对各门专业课程进行了“三六九等”的划分。认为各类流行的语言与开发工具是重要的,是简历中的“添彩”之处,是今后工作必备的。其实,各种语言一通则百通,并不需要面面俱到。因此,这就需要“产学研”人员都能转变观念,以培养正确的设计习惯。

2.增加大型系统开发经历

大型系统开发其交付后都能具有较高的实际应用价值,其对数据库设计的要求必然符合其应有的地位。之所以在观念上对数据库设计存在重视不足的问题同相关人员没有大型系统开发经历有一定

的关系统,开发经验总停留在模拟系统阶段是无法真正认识到数据库设计的重要性的。

五、结语

综上所述,可见数据库设计在系统设计中的作用是举足轻重的。

对数据库设计重要性的忽视必将为整个系统埋下隐患,对系统以及开发人员而言所要付出的代价也将是巨大的。

参考文献:

[1]谭怀远.让oracle跑得更快2——基于海量数据的数据库设计与优化.电子工业出版社,2011.

[2]冯建华.数据库数据库系统设计与原理[m].清华大学出版社,2004.

[3]康诺利,何玉洁.数据库设计教程[m].机械工业出版社,2005.