邹兴虎
(四川工商职业技术学院 信息工程系,四川 都江堰 611837)
高校IT专业“数据库课程”开设的探讨及建议
邹兴虎
(四川工商职业技术学院 信息工程系,四川 都江堰 611837)
本文主要探讨了现在高校开设“数据库课程”中的不足,建议应把数据库理论课程和数据库开发工具相结合,同时教师在讲解理论课程时应注重数据库性能设计因素的讲解,这样才能给IT专业的学生在今后的工作中打下坚实的基础。
数据库课程;数据库理论;开发工具;数据库性能
在高校的IT专业中,都要开设一门数据库课程(如SQL Server或ORCALE数据库)。该课程除了部分数据库理论知识外,绝大部分内容都是讲数据库的设计和管理,没有着重讨论影响数据库性能的知识或章节,也没有涉及数据库开发工具的内容。同时由于开设课程的课时限制或教师的关注重点不同,绝大部分教师也只是把书上内容讲授完便结束该门课程。这样学生在学完这门课程后,通过课堂或自己根据某个项目按照书上内容进行完整的数据库设计,基本掌握数据库的开发设计。这样的结果使学生的知识和能力根本不能满足IT行业的需要,因为现在IT行业在进行系统开发的数据库设计时,都采用数据库开发工具进行数据库设计,而且越来越注重数据库性能的高低。但刚毕业的学生在进行数据库开发时,往往不能使用数据库开发工具进行数据库开发,他们会遇到由于自己知识能力不足而不得不进行知识回补。同时他们在数据库设计时往往只考虑系统功能性要求而没考虑性能的要求。这样的结果主要是由于现在学校开设“数据库课程”有缺陷、教师选用教材或教师教授课程关注重点不同所导致的结果。本文就这些状况主要从采用开发工具进行数据库开发的优点、影响数据库性能的因素等进行探讨,希望这些探讨能对“数据库课程”的设置、讲授起到一定的思考,同时对这些初学者在进行数据库设计和学习时起到一定的引导作用。
由于大部分高校学生不知道或无能力通过数据库设计工具进行数据库设计,从而只能采用SQL语句或直接在数据库中创建数据表及其关系,其结果是随着对项目认识的不断深入,在数据库的创建过程中或项目的开发过程中不断对表、字段及字段类型和关系等进行添加或修改,使得数据库的开发效率极其低下,数据库的可维护性也很差,同时中途介入的开发人员很难快速理解整个数据库系统。为了提高开发效率和维护性,提高数据库系统的可视性,采用数据库开发工具进行数据库开发是最好的手段。目前数据库的开发工具非常多,常用的如ERwin、PowerDesign等都是非常优秀的数据库建模工具。不同的数据库建模工具功能虽然有差异,但大体具有以下功能。
1.具有“图表化编辑”功能。便于用户快速创建和修改实体关系模型,创建完后能使用户快速、完整、全面地把握整个数据库系统,从而实现快速建模及提高建模的正确性。
2.具有“逻辑和物理设计”功能。建模工具能自动将实体、属性和关系映射到表、列和物理关系上。当视图定义发生变化时,可以快速实现物理数据库的同步变化。
3.支持“团体开发”功能。通过对“资源”的同步操作,可以保证某个开发成员更改模型视图进而改变物理表结构或关系后,其他成员同步改正或知晓,保证程序中使用的数据库内容和物理数据库的一致性。
4.广泛的“数据库平台支持”功能。数据库建模工具可为多种数据库平台生成同样的设计,方便在将应用软件从一个数据库平台移植到另一个数据库平台上时,可以使用原来的逻辑设计在另一个数据库平台上生成所需的数据库,而不用重新设计。
5.支持“数据仓库”功能。数据库建模工具一般提供特定数据仓库建模技术,同时支持维度建模技术,可以帮助用户设计高性能的数据仓库。由上述数据库建模工具功能可知,采用数据库建模工具进行数据库设计,既能提高数据库设计的效率和正确性,也为今后系统的维护提供了方便。采用数据库建模工具是软件项目开发时进行数据库设计的最佳手段。因此在校学生在学习“数据库”这门课程到一定程度后,掌握一种数据库开发工具,将为他们今后的工作打下坚实的基础。
在校学生或刚参加工作的人员在设计数据库时,数据库的功能性一般都能满足系统需要,但性能往往是考虑比较少或是根本没有考虑的部分,而数据库的性能直接影响开发系统的性能,特别是一个信息系统有海量用户的今天,数据库性能考虑就显得尤为重要了。因此要求教师在讲授课程时特别强调哪些设计将直接影响到数据库的性能,本文就数据库设计时哪些因素可提高系统性能做些讨论。①数据库的逻辑设计要满足规范化。数据库中的表至少要满足第二范式,绝大部分表满足第三范式。这样的数据库可以达到较少的列和表,从而减少数据冗余,因而能提高数据库的性能。但减少数据冗余不能作为数据库设计的标准,因为必要的数据冗余有利于编程和提高数据库的并发性。②适当的进行表的拆分。对于被经常访问的表,表中记录量很大时,为减少访问表的时间,应进行表的拆分。拆分方法有两种:第一种是由于一条记录存储的是一个对象信息,若对象有类别的划分,则按类别进行拆分表,同一类别的记录放在同一个表中;第二种是若表在不同地方访问的字段不同,则可按访问的不同字段进行表的拆分。③主外键的选择。主键是用来区分记录的标志,当表中有多个字段可以做主键时,由于数字的索引速度比字符要快,因此应先采用数字值字段做主键,其次采用字符数少的字段做主键。若必须采用组合字段做主键,其字段顺序应采用字段值重复率底,单独或组合查询率大的字段放在前面。而外键是维护数据一致性的高效手段,因此外键的设置也是十分重要的。④字段类型的选择。字段数据类型的设计原则是:能用数字类型的不用字符类型,在满足预期字段值的前提下,数字类型中又选择值小的数字类型;变长字符应定义适当的长度,既要满足存储的需求,又不要浪费存储空间;要避免使用文本型字段;自增型字段要慎重使用,这样的记录不方便数据库的迁移;尽量给字段定义个默认值。⑤索引的使用。创建索引应注意以下因素。由于主键就是唯一索引,当表的数据量较少时不要创建其他索引,直接用主键索引;当表数据量大时需要其他索引时,最好采用与其他表进行连接的字段、筛选的条件、排序的字段作为索引备选字段;某些字段经常一起出现时,可把这些字段组成组合索引;一个表的索引不宜太多,特别是经常要进行记录的插入和更新的表。
数据库开发是系统开发的重要内容和前提条件,其开发的进度直接影响系统开发的进度;而数据库的性能又直接影响系统的性能,特别是对海量用户的系统影响尤为明显。而具有图表化的逻辑设计视图不仅对系统开发人员快速理清系统表的关系有莫大帮助,而且对系统今后的维护也起着重要的帮助。因此教授学生数据库设计时,不能只把书上内容讲授给学生,更要抽出一定的课时讲解一下那些方面的设计,从而提高系统性能。同时在实践课中要让学生利用数据库开发工具进行数据库的设计,让学生在学习一门知识的同时掌握一个开发工具,这样学生才能更加适应IT行业的需要。
[1]叶小平,等.数据库系统教程[M].第二版.北京:清华大学出版社,2012.
[2]孙宪丽,等.Power Designer15系统分析与建模实战[M].北京:清华大学出版社,2012.
TP399
A
1674-9324(2014)29-0203-02
邹兴虎(1972-),男,四川工商职业技术学院信息工程系,讲师,硕士,研究方向:软件开发。