合肥师范学院(本科)课程设计说明书课程数据库原理题目学生综合测评管理系统姓名学号专业班级指导教师完成日期年月日学生综合测评管理系统目录1绪言........................................................................................................................................... - 2 - 2.需求分析................................................................................................................................... - 3 -2.1按角色需求分析............................................................................................................ - 3 -2.2系统子功能需求分析.................................................................................................... - 3 -3.数据库概念设计....................................................................................................................... - 4 -4.数据库逻辑设计....................................................................................................................... - 8 -4.1E-R对应关系模式 ......................................................................................................... - 8 -4.2数据库中表的设计...................................................................................................... - 11 -5.数据库物理设计..................................................................................................................... - 14 -6.系统的调试与实现................................................................................................................. - 17 -6.1数据库各表的数据...................................................................................................... - 17 -6.2数据库中相关语句的实现.......................................................................................... - 23 -7.设计总结................................................................................................................................. - 27 -1绪言在素质教育评价过程中,学生综合测评是高校普遍采用的评价手段。
对学生实施综合素质测评的目的在于正确评价学生的综合素质,为评优评奖和推荐就业提供依据,实现学生教育管理工作的标准化、制度化和科学化,引导和促进学生德、智、体、能全面协调发展,培养适应社会经济发展需要,具有创新精神和实践能力的专门人才。
目前,我国的普通高校学生综合测评大多还停留在纸质的基础上,许多工作还停留在传统的手工操作。
不仅浪费了大量的人力物力资源,而且由于人工管理存在着许多不可控因素,导致学生综合测评操作不规范,测评结果不全面,不能客观准确地反映学生的综合素质。
因此,建立一套基于网络环境的技术先进、高效稳定、安全可靠的学生综合测评系统势在必行。
与传统的手工管理相比,计算机管理不但能发挥计算机方便、快捷的功能,而且可以大量节省了资源、费用等,更方便灵活操作,而且方便管理,增加综合测评的公平性、透明性,有效防止综合测评的弊端,使学生综合测评更加合理、更趋于成熟。
这些都能够极大地提高工作效率,特别是校园网应用发展迅速的今天,利用网络进行信息的查询、修改和发布已成为学校现代化管理的象征之一,也是学校科学化和正规化管理的重要条件。
因此,开发一套比较成熟的学生综合测评系统很有必要。
综合测评系统开发的目的是自动分析、计算、统计、管理学生综合测评数据,减少人工干预,降低计算失误,提高工作效率,将辅助班主任繁重的综合测评及日常管理中解放出来,使学校的综合测评工作系统化、规范化、自动化。
2.需求分析2.1按角色需求分析学生综合测评系统可以及时、准确、公平地计算出学生的综合测评结果。
利用计算机对学生综合素质进行测评具有手工测评无法实现的优点。
例如:数据处理自动化、管理规范、操作便捷、可靠性高等。
学生综合测评系统的用户群可分为普通用户(学生)和班主任,系统功能定义根据两种不同的用户身份进行需求分析。
1 学生需求学生既是综合测评的对象,也是综合测评的主体。
学生可以查询并维护自己的个人档案,同时参加其他同学的综合测评。
学生对功能上的需求主要有:(1) 查询课程信息和考试成绩;(2) 查询自己的测评结果,查看本班测评结果统计信息2班主任需求班主任可以对学生的个人信息、各学期课程信息、学生综合测评结果进行录入、统计和修改。
操作权限范围是本班同学。
2.2系统子功能需求分析本系统包括学生用户管理,数据库管理,学生信息管理,统计分析,报表的生成。
根据所需功能要求包括以下的功能模块:学生信息的管理:包括对学生信息的查询,修改,删除等更新。
课程信息的管理:对学生选修课程信息的查询,修改和删除等更新。
成绩信息的管理:对学生成绩信息的查询,修改和删除等更新。
统计分析:对成绩的分类统计,加以整合,以便得出综合评分标准。
3.数据库概念设计实体—关系模型(E-R):这是数据库结构设计常用的方法。
本系统的实体有系别实体,班级实体,班主任实体,老师实体,学生实体,课程实体,综合测评实体,学习能力实体,道德素养实体,素质拓展实体。
实体图:图3.1 系别实体及其属性图3.2 班级实体及其属性图3.3班主任实体及其属性图3.4 学生实体及其属性教师实体及其属性图3.5图3.6 课程实体及其实体图3.8 综合测评实体及其属性图3.9 素质拓展实体及其属性图3.10 学习能力实体及其属性实体与联系E-R图:图3.11 学生综合测评管理系统E-R图4.数据库逻辑设计4.1 E-R对应关系模式本系统的E-R图可以转化为下面的关系模式:系别(系编号,系名,系地址,系主任)班级(班级编号,系编号,专业, 班主任编号)班主任(编号,姓名,性别,年龄,email)学生(学号,姓名,性别,年龄, 年级,班级编号)教师(教师编号,教师名,性别,年龄,教师email,工资)课程(课程编号,课程名,学分,需讲课的课时数)选课(学号,教师编号,课程编号,成绩)综合测评(学号,姓名,平时成绩,考试成绩,总评成绩)学习能力(学号,四级合格,六级合格,计算机等级考试)道德素养(学号,个人事迹,服从管理)素质拓展(学号,实践活动,学术创作,文体科技竞赛)表的逻辑结构如下:表一department表did 系别的唯一标识,主键,char(10)dname 系名,非空,varchar(30)daddress 系地址,char(50)dmager 系主任,char(10)表二class表ccid 班级的唯一标识,主键,char(10)ccname 专业,非空,varchar(30)did 班级所在系编号,非空,外键引用department表中的did, char(10) mid 班主任编号,非空,外键引用manager表中的mid,char(10)表三manager表mid 班主任的唯一标识,主键,char(10)mnane 班主任名字,非空,varchar(30)msex 班主任性别,char(10)mage 班主任年龄,intmemail 班主任email,char(30)表四students表sid 学生的唯一标识,主键,char(10)sname 学生姓名,非空,varchar(30)grade 学生所在年级,intssex 学生性别,char(10)sage 学生年龄,intccid 班级编号,外键引用class表中的ccid, char(10)表五teachers表tid 教师的唯一标识,主键,char(10)tname 教师姓名,非空,varchar(30)tsex 教师性别,char(10)tage 教师年龄,intemail 教师email,char(30)salary 教师工资,单位“元”,int表六courses表cid 课程的唯一标识,主键,char(10)cname 课程名,非空,char(30)credit 课程学分,inthour 需要讲授的课时数,int表七sc表sid 学生学号,非空,外键引用students表中的sid, char(10)tid 教师编号,非空,外键引用teachers表中的tid, char(10) cid 课程编号,非空,外键引用courses表中的cid,char(10) score 学生本门课程的分数,int表八zhcp表sid 学生学号,非空,外键引用students表中的sid, char(10)sname 学生姓名,varchar(30)平时成绩学生的平时成绩,int考试成绩学生的考试成绩,int总评成绩学生的总评成绩,int表九xxnl表sid 学生学号,非空,外键引用students表中sid, char(10)四级合格学生英语四级通过,int六级合格学生英语六级通过,int计算机等级学生计算机等级考试通过,int表十ddsy表sid 学生学号,非空,外建引用students表中的sid, char(10)个人事迹学生的个人事迹加分,int服从管理学生服从学院管理加分,int表十一sztz表sid 学生学号,非空,外键引用students表中的sid, char(10)社会实践学生参加社会实践加分,int学术创作学生学术创作获奖加分,int文体科技竞赛学生参加问题科技竞赛加分,int4.2数据库中表的设计表4.2.1 department表的设计表4.2.2 class表的设计表4.2.3 manager标的设计表4.2.4 students表的设计表4.2.5 teachers表的设计表4.2.6 courses表的设计表4.2.7 sc表的设计表4.2.8 xxnl表的设计表4.2.9 sztz表的设计表4.2.10 ddsy表的设计表4.2.11 zhcp表的设计5.数据库物理设计(1)创建数据库:create database xszhcpgl(2)创建系别表:create table department(did char(10) primary key ,dname varchar(30) not NULL,daddress char(50) ,dmager char(10))(3)创建班主任表:create table manager(mid char(10) primary key,mname varchar(30) not NULL,msex char(10),mage int,memail char(30))(4)创建班级表:create table class( ccid char(10) primary key,ccname varchar(30) not NULL,did char(10),mid char(10),foreign key(did) references department(did)foreign key(mid references manager(mid))(5)创建学生表:create table students(sid char(10) primary key,sname varchar(30) not NULL,grade int,ssex char(10),sage int,ccid char(10),foreign key(ccid) references class(ccid))(6)创建教师表:create table teachers(tid char(10) primary key,tname char(10) not NULL,tsex char(10),tage int,email char(30),salary int)(7)创建课程表:create table courses(cid char(10) primary key,cname char(30) not NULL,credit int,hour int)(8)创建选课表:create table sc(sid char(10) not NULL,tid char(10) not NULL,cid char(10) not NULL,score int ,primary key(sid,tid,cid),foreign key(sid) references students(sid), foreign key(tid) references teachers(tid), foreign key(cid) references courses(cid))(9)创建综合测评表create table zhcp(sid char(10) primary key not NULL, sname varchar(30),平时成绩int,考试成绩int,总评成绩int,foreign key(sid) references students(sid))(10)创建学习能力表:create table xxnl(sid char(10) primary key not NULL,四级合格int,六级合格int,计算机等级int,foreign key(sid) references students(sid))(11)创建道德素养表:create table ddsy(sid char(10) primary key not NULL,个人事迹int,服从管理int,foreign key(sid) references students(sid))(12)创建素质拓展表:create table sztz(sid char(10) primary key not NULL,社会实践int,学术创作int,文体科技竞赛int,foreign key(sid) references students(sid))6.系统的调试与实现6.1数据库各表的数据表6.1.1 department表中数据表6.1.2 class表中数据表6.1.3 manager表中数据表6.1.4 teachers表中数据表6.1.5 students表中数据表6.1.6 courses表中数据表6.1.7 sc表中数据(1)表6.1.8 sc表中数据(2)表6.1.9 zhcp表中数据表6.110 xxnl表中数据表6.1.11 sztz表中数据表6.1.12 ddsy表中数据6.2数据库中相关语句的实现(1)查询每个学生的平均分select sc.sid,avg(score)from students,scwhere students.sid=sc.sidgroup by sc.sid图6.2.1(2)查询学号为11021的学生的姓名和翻译课程的成绩select students.sname, sc.scorefrom sc, courses, studentswhere sc.cid=courses.cid and ame=’翻译’and sc.sid=’11021’and students.sid=sc.sid图6.2.2(3)查询没有选修3号课程的学生的姓名及其的综合成绩select students.sname, zhcp.总评成绩from students, zhcpwhere not exists(select * from sc where sc.sid=students.sid and sc.cid=’3’) and students.sid=zhcp.sid图6.2.3(4)统计软件班级四级合格的人数select count(xxnl.sid)from students,class,xxnlwhere id=id and students.sid=xxnl.sid and 四级合格>0 and ccname=’软件’图6.2.4(5)查询编号为1002号的老师所教课程名select distinct cnamefrom sc,courses,teacherswhere sc.tid='1002' and sc.tid=teachers.tid and sc.cid=courses.cid图6.2.5(6)根据学生姓名查询学生综合成绩create procedure stu_sname( @xm varchar(30))asselect zhcp.总评成绩from zhcp,studentswhere students.sid=zhcp.sid and students.sname=@xmexec stu_sname '张三'图6.2.6(7)定义内连表函数fun,用于返回各专业的学生的学号和文体科技竞赛成绩,并使用fun 查询软件专业的学生的该成绩create function fun( @wk char (10))returns tableasreturn( select students.sid, 文体科技竞赛from sztz,class,students where students.sid=sztz.sid and id=id and name=@wk)select sid,文体科技竞赛from fun ('软件')图6.2.7(8)建立标量函数,计算各个学生各科成绩之和create function func(@sname varchar(30))returns intasbegindeclare @sumscore intselect @sumscore=(select sum(score)from scwhere sid=(select sid from studentswhere sname=@sname)group by sid)return @sumscoreendselect dbo.func('张三')图6.2.8(9)为students表中姓“程”的同学的行声明游标,逐个读取这些行,并读取游标declare s_stu cursor forselect snamefrom studentswhere sname like '程%'order by snameopen s_stufetch next from s_stuwhile @@fetch_status=0beginfetch next from s_stuend图6.2.9(10)创建一个实现在students中删除用户信息时显示“xxx同学已被删除”的触发器create trigger t1on studentsfor deleteasbegindeclare @sname varchar(30)select @sname=sname from deletedprint @sname +' 同学已被删除'endinsert into studentsvalues('111026','zhangsan',2011,'男','011')delete from students where sname='zhangsan'图6.2.107.设计总结通过这一次的课程设计,我对学生综合测评管理系统有了一定的了解,当然我也参考了网络上的一些文章,学到了书本上面学不到的知识和经验,增强了分析问题和解决问题的能力,整个开发过程经过了很多的分析,主要按老师的要求做了需求分析概念设计过程主要找出系统的角色画出关系模型,抽象系统的功能和角色;逻辑设计过程将抽象的概念进一步转化为接近物理存储的逻辑抽象。