数据库设计之我见
——以某高校教学测评系统数据库开发为例

2014-05-26 01:00未培
外语与翻译 2014年2期
关键词:系部实体数据库

未培

(安徽工商职业学院电子信息系,安徽合肥,230041)

一、引言

目前我们处于大数据时代,很多软件系统开发的最终目的都是对某些数据进行处理[1]。数据库的设计已经成为软件开发的重要内容,如果数据库设计得不合理,会给软件开发留下很大的隐患,这些隐患有的在软件开发过程中会体现出来,导致某些功能无法实现,有的隐患会在软件运行时体现出来,严重时会造成软件运行崩溃[2-5]。当发现问题时再对数据库进行优化,会困难重重、事倍功半。因此在进行软件开发时设计一个结构合理的数据库非常重要,但如何设计一个合理的数据库,有些软件开发人员并不是非常清楚,很多人是只会操作数据库但不会设计数据库。数据库设计涉及的理论知识很多,理解掌握起来很难,根据多年的数据库教学经验及项目经验,本人对数据库的设计总结了一套比较简化的流程,现以某高校教学测评系统数据库开发为例,详细叙述关系数据库的开发过程。

二、关系数据库设计步骤

关系数据库的开发以数据库理论为基础,步骤可以用图1表示。首先是需求分析。需求分析非常重要,目的是分析系统的需求,只有明白了要做什么,所开发软件需要实现哪些功能,需要哪些数据,才能动手开发。该过程的主要任务是从所有用户那里收集对数据的需求和对数据处理的需求,并把这些需求写成用户和设计人员都能接受的说明书。步骤二是概念设计。把现实世界中的客观对象抽象为概念模型,概念模型是现实世界到机器世界的一个中间层次[3],对于关系型数据库,简单的说就是在此阶段通过需求分析找出所需要的实体、实体的属性、实体的关键字及实体之间的关系,绘制出 E-R图。步骤三是实现设计。主要目的是把概念模型转换为某DBMS支持的结构数据模型[3,6],具体实现的数据模型是根据一定的规则从概念模型转化而来的,它决定了数据库中数据之间联系的表达方式。对于关系型数据库主要是将 E-R模型转换为某一特定的DBMS能够接受的逻辑模式即数据模型,就是根据相关规则,把 E-R图转化成数据库中的各个表。最后一个步骤是物理设计。物理设计的目的在于确定数据库的存储结构,包括确定数据库文件、索引文件、访问路径等。

图1 关系数据库设计过程

三、数据库设计实例

(一)系统描述

某高校为了掌握每个教师的授课情况,在每学期末都会集中学生对授课教师进行教学测评。测评时会发给每个学生一张表格,如图2。让学生按照规定对给自己上课的教师进行打分,以及选择自己最喜欢的老师,学生打分之后,学校再对学生的打分情况进行集中汇总。

图2 某高校教师测评表

从上面描述可以看出,对教师的整个测评过程中使用的都是纸质的人工方式,尤其最后学校需要按照相关规定对每位教师所获得的分数进行计算,由于高校学生和教师人数都比较多,每位教师会给多个班级多位学生授课,而每个学生又被多位老师授课,测评最终产生的数据量很大,所以最后计算的工作量非常大。现在我们尝试开发一个软件,能代替这种人工的打分计算方式,每学期结束后让学生通过软件对老师进行打分,然后有软件自动计算每位教师的得分及排名,将会减少很大的工作量。但要做好这个软件,首先要为这个软件开发好一个结构合理的后台数据库,下面我们就对教师测评系统的后台数据库进行分析和开发。

(二)教师测评系统数据库设计

1. 需求分析

通过上面的系统描述得知,此软件的主要功能是每个学生凭学号和密码进入测评系统,限制每个学生只能对自己的授课教师进行打分,打分分为ABCD四个等级,不能重复打分,然后可以在自己的授课教师中选择两位最受欢迎的老师。学生打完分后,由软件再对学生打分的结果进行统计。

此教学测评系统主要的用户有管理员、教师和学生,应该具有如图3的各功能模块。此系统所需要的数据有参与测评的学生信息、教师信息。由于学生只能对自己的任课教师打分,所以系统还需要教师的任课信息、学生所在班级系部等数据信息。

图3 教师测评系统功能模块图

2. E-R图

通过需求分析得到,此后台数据库中主要包含的实体有学生、教师、班级、课程、系部等,其中学生和教师之间为多对多的关系,系部和班级为一对多的关系,班级和学生为一对多的关系,教师和课程为多对多的关系。E-R图如图4所示:

图4 教师测评数据库E-R图

3. 实现设计

根据如下规则将R-E图转换成表[5,6]:① 一对一关系:将联系与任意端实体所对应的关系模式合并,加入另一端实体的码和联系的属性。② 一对多:将联系与n端实体所对应的关系模式合并,加入1端实体的码和联系的属性。③ 多对多:将联系转换成一个关系模式。该联系相连的各实体的码和联系本身的属性转换为关系的属性。

通过对E-R图分析可知,图4E-R图可以转化成七张表:

系部表(系部编号,系部名称)、班级表(班级编号,班级名称,人数,辅导员,系部编号)、学生表(学号,姓名,密码,班级编号)、教师表(教师编号,姓名,最终得分,排名)、打分表(学号,教师编号,打分等级,是否最受欢迎)、课程表(课程号,课程名称,课时)、任课表(教师编号,课程号,任课班级编号,任课时间,班级得分,最受欢迎的票数)。

4. 物理设计

根据学校在校学生及教师的人数,此系统后台数据库开发使用SQL SERVER比较合适,SQL SERVER是一个高性能的关系数据库管理系统,它把所有工作负荷分解为服务器上的任务和客户端任务,客户端应用程序包含显示与用户交互的界面,而对数据库中数据的进行的处理描述成 T-SQL语句并送至服务器端,服务器执行 T-SQL语句后再将结果返回给客户端的应用程序,数据的安全性和稳定性较好。

四、小结

本文以教师教学测评系统后台数据库的开发为实例,研究了关系型数据库开发过程。数据库设计是软件开发项目中非常重要的内容,并且在数据库开发过程中会出现与需求不符、字段设置不合理、数据完整性丧失、数据库可扩展性差等诸多问题。数据库的设计能够反映出数据库管理员对所开发软件的全局掌控能力,需要有强大的数据库理论做后盾。在软件开发过程中,如果数据库设计的不合理,会给软件开发带来很大的难度,并且会造成人力、财力、物力的巨大浪费,希望本文的研究能为大家提供一些帮助。

[1]肖念.浅析SQL数据库的设计[J].计算机光盘软件与应用,2013(6):201-202.

[2]马汉达.在线学习过程监控系统设计与实现[J].实验技术与管理,2011,28(5):93-95.

[3]陈涵,钟景毛.MIS门诊挂号系统数据库设计与优化方案[J].宁波职业技术学院学报,2012,16(5):50-53.

[4]孙小龙,姜萍,张晓松,等.贵州乡村文化遗产名录数据库设计研究——以黔东南巴拉河流域季刀苗寨为例[J].凯里学院学报,2012,30(2):57-60.

[5]苗玉辉.基于 Web的远程教育系统数据库的设计[J].南阳师范学院学报,2011,10(12):85-87.

[6]刘洪江.在线考试系统的数据库设计与实现[J].电脑知识与技术,2012,8(3):508-511.

猜你喜欢
系部实体数据库
前海自贸区:金融服务实体
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
数据库
数据库
数据库
数据库
基于ISO思想系部层面本科教学质量监控体系建设思路探索
高职院校系部档案管理的问题与对策