学生成绩数据库管理系统的设计与开发
2017-07-01杨芬
杨芬
(长治职业技术学院 信息工程系,山西 长治 046011)
学生成绩数据库管理系统的设计与开发
杨芬
(长治职业技术学院 信息工程系,山西 长治 046011)
数据库技术是计算机学科中一个重要分支,其应用领域十分广泛。而其中数据库设计则是建立数据库及开发应用系统的关键性技术。文章通过一个系统设计实例对数据库设计的一般流程进行分析。
实例;数据库;设计流程
数据库技术产生于20世纪60年代中期,距今已有四十多年历史。它是信息资源管理最有效的手段,是计算机学科中一个重要分支,其应用领域十分广泛。数据库设计就是根据给定的环境条件,建立合理规范的数据库及其应用系统,使之能够对其中的数据对象进行高效地存储和管理,从而响应用户需求。文章以某学院学生成绩管理系统开发过程为例,对数据库设计开发一般流程进行了阐述。
1 需求分析阶段
所谓需求分析,就是根据用户的要求进行分析。主要是分析用户在工作业务中数据的需求和处理,安全及完整性处理等。最终系统设计是否实用与优化取决于需求分析结果,看其是否能够非常准确反映用户的实际需求[1]。
需求分析的第一步,就是对用户进行需求调查,调查了解用户的工作部门、工作业务、涉及相关数据等信息,从而确定开发系统的框架。为了取样准确,调查常采取的方法有:询问、跟班、开会、请专人介绍、查阅相关记录等。开发学生成绩管理系统之前,需要同学院的一些相关部门进行沟通协商,例如,教务处、学生处、各个系等部门。通过对这些部门日常数据分析处理,从而形成数据字典,为开发该系统做好准备。
2 概念设计阶段
概念设计阶段是将用户需求分析抽象为数据库的概念模型。最常用的概念模型的表示方法是实体--联系方法(ENTITY-Relationship Approach),简称E-R方法[2]。通常,用长方形表示实体,并在框内写上实体名;用椭圆表示实体属性,并用直线把实体与属性连接起来;用菱形表示实体间的联系,菱形框内写上联系名(一对一、一对多、多对多)。若实体之间的联系也具有属性,则把属性和菱形也用直线连接上。根据需求分析,在学生成绩管理系统中创建有“学生”和“课程”两个实体集,它们之间的联系“选课”为多对多联系,用E-R图描述如图1所示。
图1 学生成绩管理系统E-R图
3 逻辑设计阶段
逻辑设计阶段的任务就是将概念设计所得到的E-R图转换成选用DBMS产品所支持的数据模型[3]。总结逻辑设计过程,大致分三步:(1)将概念模型转换为关系模型,这是逻辑设计主要工作。(2)将关系模型再转换为所选用的DBMS支持的数据模型。(3)优化所得的数据模型。
根据图1所示学生成绩管理系统的E-R图,将其转换为关系模型后,表示如下(注:关系中标有下划线的属性为主键)(:1)学生(学号,姓名,性别,系部,出生日期,党员否,奖学金,家庭住址,简历,照片);(2)课程(课程编码,课程名,学时,学分);(3)选修(学号,课程编码,成绩)。将转换后的关系模型具体到VFP的数据库管理系统中,可以建立多个表,比如:学生基本情况表,成绩表,课程表,选修表,社会关系表等等。
4 物理设计阶段
物理设计阶段通常分两步进行:首先确定数据库的存储结构和存取方法,即数据的物理结构;其次对采取的物理结构做出综合评价。
4.1 数据存取方法
在关系型数据库系统中,数据常用的存取方法有索引、分区及聚簇。根据这些方法的相关原则,对于学生成绩管理系统中的数据需要做到如下设计。
(1)将使用频率较高的表中字段定义为索引,比如:学生基本情况表中的“学号”字段,可设为主索引。学生成绩表中的“学号”字段可设为主索引或候选索引。课程表中的“课程编码”可设为主索引等。当然,根据情况,表中的其它字段也可设为普通索引或惟一索引等。(2)将学生基本情况表、学生成绩表、课程表、选修课表等相关表建立聚簇存取。这样可以提高数据查询的效率。
4.2 数据存储结构
时间效率、存储空间利用率和维护代价三方面的因素是确定数据存储结构的关键。针对这三方面加以考虑,选择如下设计(:1)将经常用到的表或索引(如学生基本情况表、学生成绩表等)放在高速存储器上(如硬盘),对于不常用的对象(如数据备份和日志文件等)放在低速存储设备上。(2)为了提高数据存取速度,可以将一些大型表存放在不同的两个磁盘上,这种方法特别实用有效。
4.3 物理结构评价
物理结构是否合理,需要考虑多个因素,例如系统的运行效率、使用空间大小、系统维护费用等,在设计系统之前,这些问题都应该全方位考虑清楚。最后经过综合评价,选择最优方案进行设计[4]。
5 数据库的实施维护阶段
5.1 数据库的建立和实施
完成数据库各个阶段设计之后,就进入到具体的数据库实施阶段。即:设计人员根据之前数据库逻辑设计和物理设计,利用某种DBMS提供的数据语言,编制相应程序,然后经过不断修改生成目标模式,完成数据库创建工作,最后组织数据入库,并运行应用程序进行调试。
根据我们设计“学生成绩管理系统”的主旨,利用Visual FoxPro 6.0的数据库管理系统,完成数据库实施阶段,大致可分这几步完成:(1)创建数据资源:包括系统所需的各种表,例如学生基本情况表、学习成绩表、个人表现表、社会关系表等,创建表中的关系,创建相关的报表、表单等数据资源。(2)创建主程序;(3)创建系统菜单;(4)创建登录表单;(5)试运行程序并调试。
5.2 数据库的运行和维护
数据库应用系统在试运行阶段,由于系统还不稳定,有可能发生软硬件故障。同时,由于系统操作人员对系统不熟悉,容易造成误操作。这就要求在试运行时,首先应该调试DBMS的恢复功能,做好数据恢复工作,一旦故障发生,可减少对数据库的破坏。
6 结束语
一个数据库应用系统的设计不是一次能成功的,需要反复修改、反复运行,才能使之达到一个较完善的效果。当然,为了减少麻烦、提高效率,需要从数据库设计的第一步开始,扎扎实实完成每个环节的设计任务,从而更好的完成任务。
[1]苗雪兰,刘瑞新.数据库系统原理及应用教程[M].北京:机械工业出版社,2004.40.
[2]熊发涯.Visual FoxPro程序设计[M].北京:中国铁道出版社,2005.10.
[3]叶小平,汤庸,汤娜,刘玉葆.数据库系统教程[M].北京:清华大学出版社,2008.172.
[4]常莹,朱庆华.学生管理系统中的数据库设计[J].教育教学论坛,2012(43B).245.
(责任编辑 王璟琳)
TP311.13
A
1673-2014(2017)02-0048-02
2017—02—18
杨芬(1973- ),女,山西长治人,讲师,硕士,主要从事计算机理论与教学研究。