课程设计IV设计说明书教材质量评价系统的数据库设计和数据操作学生姓名学号班级成绩指导教师数学与计算机科学技术学院2014年6月27日课程设计任务书2013—2014学年第2学期课程设计名称:课程设计Ⅳ课程设计题目:教材质量评价系统的数据库设计和数据操作完成期限:自2014 年 6 月16 日至2014 年 6 月27 日共 2 周设计内容:教材质量评价系统,要求系统具有登录、教材质量评价、查询、统计和后台维护功能。
其中登录功能要求有教师和学生两种不同身份登录。
教材质量评价分教师(专家)评价和学生评价。
查询功能可按课程名称查看该教材的质量评价信息,也可以按班级查看一个班级对教材的质量评价信息,还可以查询院系所承担的所有课程的评价信息,并能将查询结果打印出来。
统计功能可按教材统计学生对各个观测点的打分合计和观测点的平均值,还可以按院系统计各个院系所征订教材的平均得分,最高分和最低分。
后台维护功能要求能管理教师信息、学生信息、课程信息、教材信息、开课学期、院系、班级和专业等。
根据以上要求完成下列题目:针对以上的需求运用数据流图和数据字典进行需求分析。
设计数据库的概念结构。
设计数据库的逻辑结构。
设计数据库的物理结构。
在SQL SERVER中建立数据库。
根据查询和统计的需要,建立数据库中的视图。
根据数据操作需要,建立数据库中的存储过程。
建立数据库的备份作业,要求在每天2:00备份数据库。
根据题目的需求,写出完成各个功能操作的SQL语句。
指导教师:教研室负责人:课程设计评阅摘要设计一个教材质量评价系统,该系统具有登录、教材质量评价、查询、统计和后台维护功能。
采用SQL Server 2005作为数据库系统,来开发教材质量评价系统的数据库设计和数据操部分,用简单sql 语句来实现教材质量评价信息的插入、信息的查询等操作。
关键词:教材质量评价系统;sql server 2005;数据库系统目录1课题描述 (1)2数据库设计 (2)2.1 需求分析 (2)2.2 概念结构设计 (3)2.3 逻辑结构设计 (4)2.4 物理结构设计 (5)3创建数据库 (7)3.1 数据库及表的创建 (7)3.2 数据库视图的创建 (9)3.3 数据库触发器的创建 (10)3.4 数据库的备份 (11)4 数据库操作 (12)4.1 数据的插入 (12)4.2 数据的修改 (13)4.3 数据的删除 (13)4.4 数据的查询 (13)5 总结 (15)参考文献 (15)1课题描述本次课程设计主要设计了一个教材质量评价系统,介绍系统实现过程中数据库的设计过程,包括需求分析,概念模式及设计,逻辑模式设计以及数据库操作的实现过程。
系统具有登录、教材质量评价、查询、统计和后台维护功能。
其中登录功能要求有教师、学生和管理员三种不同身份登录。
教材质量评价分教师(专家)评价和学生评价。
查询功能可按课程名称查看该教材的质量评价信息,也可以按班级查看一个班级对教材的质量评价信息,还可以查询院系所承担的所有课程的评价信息,并能将查询结果打印出来。
统计功能可按教材统计学生对各个观测点的打分合计和观测点的平均值,还可以按院系统计各个院系所征订教材的平均得分,最高分和最低分。
后台维护功能要求能管理教师信息、学生信息、课程信息、教材信息、开课学期、院系、班级和专业等。
开发工具:SQL Server 20052数据库设计2.1 需求分析根据对目前教材评价情况的分析和对目前教材质量评价系统的了解,我们所要开发的教材质量评价系统需要具有教材评价、查询、统计、打印教材征订单和后台维护等功能。
教材质量评价系统对于教学质量的提高具有重要作用,一套方便、高效的计算机化的信息系统对于推进学校教材征订管理的自动化具有其积极的意义。
(1)数据流程图图2.1教材质量评价系统流程图(2)数据字典数据字典如表2.1所示。
表2.1 数据字典2.2 概念结构设计概念结构设计是将系统需求分析得到的用户需求抽象为信息结构的过程,概念结构设计的结果是数据库的概念模型。
概念模型的设计思想是根据需求分析的内容,改系统用E-R图进行描述如图2.2所示。
图2.2 ER图2.3 逻辑结构设计将图2.2的ER图转化为关系模式如下:班级(班级号、班级名称、所属专业)专业(专业号、专业名、所属系)系(系号、系名)课程(课程号、课程名、教材编号)课程表(课程号、班级、开课时间)学生(学号、姓名、年龄、性别、所属班级)教师(教工号、教师名称)教材表(教材号、书名、出版社、作者、出版日期)学生教材评价(学号,教材号,内容质量、印刷质量、排版质量、总体水平)教师教材评价(教工号,教材号,内容质量、印刷质量、教学质量、思想水平)2.4 物理结构设计(1)班级表物理结构如表2.2所示(2)专业表物理结构如表2.3所示(3)系表物理结构如表2.4所示(4)课程物理结构如表2.5所示(5)课程表物理结构如表2.6所示(6)学生表物理结构如表2.7所示(7)教师表物理结构如表2.6所示(8)教材表物理结构如表2.8所示(9)学生评价表物理结构如表2.8所示(10)教师评价表物理结构如表2.8所示3创建数据库3.1 数据库及表的创建(1)创建数据库在Microsft SQL Server Management Studio中新建教材质量评价数据库,执行如下句。
create database 教材质量评价系统 on primary (name = n'教材质量评价系统数据库', filename = n'C:\ProgramFiles\MicrosoftSQLServer\data\教材质量评价系统数据库.mdf' ,size = 3072KB ,maxsize = unlimited, filegrowth = 1024KB)(2)创建院系表create table department(depId int not null primary key,depName varchar(20) not null)(3)创建专业表create table professional(proId int not null primary key,proName varchar(20) not null,depId int not null,constraint fk13 foreign key(depId) references department(depId))(4)创建班级表create table class(classId int not null primary key,className varchar(15) not null,proId int not nullconstraint fk12 foreign key(proId) references professional(proId))(5)创建学生表create table student(stuId varchar(10) not null primary key,stuName varchar(8) not null,stuAge int not null,stuSex varchar(2) not null,classId int not null,constraint fk1 check (stuSex in('男','女')),constraint fk11 foreign key(classId) references class(classId))(6) 创建教材表create table jiaocai(jcId int not null primary key,jcName varchar(20) not null,press varchar(20) not null,author varchar(8) not null,outdate datetime)(7)创建课程create table course(couId int not null primary key,couName varchar(20 not null,jcId int not nullconstraint fk14 foreign key(jcId) references jiaocai(jcId) )(8)创建课程表create table syllabus(couId int not null,classId int not null,startime datetime,constraint fk2 primary key(couId,classId),constraint fk3 foreign key(couId) references course(couId),constraint fk4 foreign key(classId) references class(classId) )(9)创建教师表create table teacher(teacId int not null primary key,teacName varchar(8) not null)(10) 创建学生评价表create table stuEvaluation(stuId int not null,jcId int not null,neirong int check(neirong>=0 and neirong<=10),yinshua int check(yinshua>=0 and yinshua<=10),paiban int check(paiban>=0 and paiban<=10),zongti itn check(zongti>=0 and zongti<=10),constraint fk5 primary key(stuId,jsId),constraint fk6 foreign key(stuId) references student(stuId),constraint fk7 foreign key(jcId) references jiaocai(jcId) )(11)创建教师评价表create table teacEvaluation(teacId int not null,jcId int not null,neirong int check(neirong>=0 and neirong<=10),yinshua int check(yinshua>=0 and yinshua<=10),jiaoxue int check(jiaoxue>=0 and jiaoxue<=10),sixiang int check(sixiang>=0 and sixiang<=10),constraint fk8 primary key(teacId,jsId),constraint fk9 foreign key(teacId) references teacher(teacId),constraint fk10 foreign key(jcId) references jiaocai(jcId))3.2 数据库视图的创建根据查询和统计的需要建立视图,方便管理员对教材质量评价信息的具体查找,SQL语句如下:(1)学生详细信息视图create view view_学生详细信息as select student.stuName,class.className,professional.proName, department.depName,from student,class,professional,departmentwhere class.classId=student.classId andprofessional.proId=class.proId anddepartment.depId=professional.depId(2)学生评价详细信息视图create view view_学生评价信息as select student.stuName,jiaocai.jcName,neirong,yinshua,paiban,zongtifrom student,jiaocai,stuEvaluationwhere student.stuId=stuEvaluation.stuId andjiaocai.jcId=stuEvaluation.jcId(3)教师评价详细信息视图create view view_教师评价详细信息as select teacher.teacName,jiaocai.jcName,neirong,yinshua, jiaoxue,sixiangfrom teacher,jiaocai,teacEvaluationwhere teacher.teacId=teacEvaluation.teacId andjiaocai.jcId=teacEvaluation.jcId3.3 数据库触发器的创建根据数据操作需要,建立数据库中的存储过程和各表触发器(1)系—专业”触发器:删除系记录时将所属该系的专业记录删除create trigger a1 on departmentfor deleteas delete professionalfrom professional,deletedwhere statement.depId=deleted.depId(2) 专业—班级”触发器:删除系记录时将所属该系的班级记录删除create trigger a2 on professionalfor deleteas delete classfrom class,deletedwhere class.proId =deleted.proId(3)课程—教材”触发器:删除课程记录时将所属该课程的教材记录删除create trigger a3 on coursefor deleteas delete jiaocaifrom jiaocai,deletedwhere jiaocai.jcId=deleted.jcId(4)班级—学生”触发器:删除班级记录时将所属该班级的学生记录删除create trigger a4 on classfor deleteas delete studentfrom student,deletedwhere student.classId=deleted.classId(5)课程表—课程”触发器:删除课程表记录时将其所包含课程记录也删除create trigger a5 on syllabusfor deleteas delete coursefrom course,deletedwhere course.couId=deleted.couId(6)课程表—班级”触发器:删除课程表记录时将其所包含班级记录也删除create trigger a6 on syllabusfor deleteas delete classfrom class,deletedwhere class.classId=deleted.classId(7)学生—学生评价”触发器:删除学生记录时将该学生的教材评价记录也删除create trigger a7 on studentfor deleteas delete stuEvaluationfrom stuEvaluation,deletedwhere stuEvaluation.stuId=deleted.stuId(8)教师—教师评价”触发器:删除教师记录时将该教师的教材评价记录也删除create trigger a8 on teacherfor deleteas delete teacEvaluationfrom teacEvaluation,deletedwhere teacEvaluation.teacId=deleted.teacId3.4 数据库的备份在数据库中选定“教材质量评价”,右键,在弹出框中选择“任务”,点击后在弹出框中选择“备份”,弹出的图如图3.1所示图3.1 数据库备份4 数据库操作4.1 数据的插入(1)向教材表中插入3条数据insert into jiaocai values(31,'数据库','机械工业出版社','苗雪蓝','2007-8-3')insert into jiaocai values(32,'高等数学','西北工业大学','王树勋','2010-3-3')insert into jiaocai values(33,'大学英语','外语教学出版社','郑淑堂','2007-6-3') 结果如图4.1所示图4.1教材插入数据表(2)向教师表中插入3条数据insert into teacher values(11001,'肖老师')insert into teacher values(11002,'任老师')insert into teacher values(11001,'曹老师')插入结果如图4.2所示图4.2教师插入数据表(3)向教师评价表中插入3条数据insert into teacEvaluation values(11001,31,9,9,9,9)insert into teacEvaluation values(11002,31,8,10,9,9)insert into teacEvaluation values(11003,31,9,9,8,9) 插入结果如图4.3所示图4.3教师评价表中插入数据4.2 数据的修改(1)将教材表中大学英语的出版时间改为“2007-9-3”update jiaocai set outdate='2007-9-3'where jcName=’大学英语’修改后结果如图4.4所示图4.4 大学英语出版时间修改表(2) 将教师评价表中“11003”的老师为教材编号为“33”的“教学”的评分改为10分update teacEvaluation set jiaoxue=10where teacId=11003修改后结果如图4.5所示图4.5 教师评价信息修改表4.3 数据的删除将教材表中名为“高等数学”的教材删除delete from jiaocaiwhere jcName=’高等数学’删除后的结果如图4.6所示图4.6 删除表4.4 数据的查询(1)查询老师对“数据库”教材评价的评价信息select teacName 教师,jcName 教材名称,neirong 内容评价,yinshua 印刷评价,jiaoxue as 教学评价,sixiang as 思想评价from teacher,jiaocai,teacEvaluationwhere teacher.teacId=teacEvaluation.teacId andjiaocai.jcId=teacEvaluation.jcId andjcName=’数据库’查询结果如图4.7所示图4.7 信息查询表(2)查询老师对“数据库”教材评价的平均得分selectcasewhen jcId=31 then '数据库'else '大学英语'end 教材名,avg(neirong) as 内容平均分,avg(yinshua) as 印刷平均分,avg(jiaoxue) as 教学平均分,avg(sixiang) as 思想平均分from teacEvaluationgroup by jcIdhaving jcId in(select jcIdfrom jiaocaiwhere jcName='数据库' )查询结果如图4.8所示图4.8 信息查询表5 总结文献[1] 苗雪兰,宋歌,刘瑞新,等.数据库系统原理及应用教程[M].北京:机械工业出版社,2010[2] 冯建华,周主柱,宋歌,等.数据库系统设计与原理[M].北京:清华大学出版社,2006[3] 萨师煊,王珊.数据库系统概论(第四版)[M].北京:高等教育出版社,2000。