数据库课程设计报告

  • 格式:doc
  • 大小:1.22 MB
  • 文档页数:30

数据库课程设计报告

系 (院): 计算机科学学院

专业班级: 计科11203

姓 名: xx

学 号: jjjj

指导教师: kkk

设计时间: 2015.1.10- 2015.1.17

设计地点: 12教机房

一、课程设计目的……………………………………………………….3

二、设计任务及要求 ................................................................................ 3

三、需求分析............................................................................................. 3

四、总体设计............................................................................................. 3

五、详细设计与实现[含代码和实现界面] .............................................. 8

六.课程设计小结…………………………………………………………. 一.课程设计目的

应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践 更好的结合起来,巩固所学知识。 数据库应用 课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理 软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、 逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打 下基础。

二.设计任务及要求

(1) 先修课程:《数据库原理及应用》,《面向对象程序设计C#》、或JAVA等。

(2) 课程设计题目:《教学管理系统》

若自选题目,则需在课程设计第一天上报题目名称,以及开发工具和数据库。

(3) 时间:1周,在《数据库原理及应用》课程结束后进行,建议提前5—8周开始准备。

(4) 开发工具和环境

开发工具:VC、VB、C#、、Java、Delphi等任选。

数 据 库: SQL Server、Oracle、DB2、Sybase等任选。

应用程序:Windows界面程序(C/S),或Web界面程序(B/S)。

(5) 设计报告正文字数不少于5千字,报告附录应包括主要源代码。要求层次清楚、整洁规范,不得相互抄袭,凡正文内容有整段相同者一律以作弊论处。

明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,积极认真地做好准备工作。课程设计中,学会应用理论知识,收集、归纳相关资料,以及解决实际问题的方法。严格要求自己,自信但不固执,独立完成课程设计任务,善于接受教师的指导和听取同学的意见,有意识地树立严谨的科学作风,要独立思考,刻苦钻研,勇于创新,按时完成课程设计任务。

三.需求分析

通过对教学管理的日常工作进行详细的调查和分析,确定“教学管理系统”实现的功能,通过该系统,学校不同角色的用户可以通过网络完成教学管理功能:

1.管理员通过该系统实现对学生、教师、课程的添加和维护及学生成绩的维护;

2.教师通过该系统实现查看个人任课情况,课程选修和课程成绩录入;

3.学生通过该系统实现选课和个人成绩查询等功能;还有公有:修改个人密码功能。

四.总体设计

通过需求分析阶段的分析结果,本系统所要设计的实体和设计如下:

学生(学号,密码,姓名,序号,班级,性别,手机号,QQ,生日…)

教师(教师号,密码,姓名,性别,院系)

课程(课程号,课程名,学分,课时,教师号) 选课(学生号,课程号,成绩)

管理号(管理员账户,密码)

系统的E-R图如图所示:

M N M 1

1.数据库的设计

(1)则根据各实体在SQL数据库上面设计5个表分别为学生表,教师表,课程表,选课表,管理员表,其结构分别如下:

学生 选课 教学

成绩 课程 教师

(2)根据教学管理系统的数据操作需要,为各个表设计索引文件,每个表已经按主码自动创建了一个聚集索引,其中索引如下:

1按学生表的“姓名”列升序创建一个非聚集索引。

2按学生表的“年级”列升序,”专业”列升序创建个非聚集索引。

3按课程表的“课程名”列升序创建一个非聚集索引。

4按课程表的“教师号”列升序创建一个非聚集索引。

5按教师 表的“姓名”列升序创建一个非聚集索引。

6按教师表的“院系”列升序创建一个非聚集索引。

(3)设计视图

视图1:用于管理员查询每门可得选修人数 CERATE VIEW 选课人数

AS

SELECT 课程.课程号, 课程.课程名, 课程.教师号, 教师.姓名, 教师.院系,

COUNT(选课.课程号) AS 选课人数

FROM 选课 RIGHT OUTER JOIN

课程 ON 选课.课程号 = 课程.课程号 FULL OUTER JOIN

教师 ON课程.教师号 = .教师.教师号

GROUP BY 课程.课程号,课程.课程名,课程.教师号,.教师.姓名,教师.院系

视图2:用于管理员查询平均成绩

CERATE VIEW 平均成绩

AS

SELECT 课程.课程号,.课程.课程名,课程.教师号,教师.姓名,教师.院系, AVG(选课.成绩) AS 平均成绩

FROM 选课 RIGHT OUTER JOIN

课程 ON选课.课程号 =课程.课程号 FULL OUTER JOIN

教师 ON课程.教师号 =教师.教师号

GROUP BY课程.课程号,课程.课程名,课程.教师号,教师.姓名,教师.院系

(4)存储过程用于实现教师查询学生选课情况

CREATE PROCEDURE teacherQElect @cno char(4)

AS

if(SELECT COUNT(*) FROM 学生,选课 where 学生.学号=选课.学号 and 课程号 = @cno) > 0

select 学生.学号,姓名,班级 from 学生,选课

where 学生.学号=选课.学号 and 课程号=@cno order by 班级

else

select 0 as 选课人数

return

(5)函数 stuscore用于实现学生查询考试成绩

CRESTE FUNCTION stuscor (@sno varchar(9) )

RETURNS TABLE

AS

RETURN

select 选课.课程号,课程名,成绩 from 选课,课程

where 课程.课程号 =选课.课程号 and 学号=@sno

2.管理系统设计

根据需求分析阶段的系统功能,将“教学管理系统”分成4个模块,包括管理员管理模块,教师管理模块,学生管理模块和公共模块(登录用户),如图所示:

根据上面4个模板,准备设计一下页面:

(1) 登录页面:Login.aspx

(2) 管理员主页面:Main.aspx

(3) 添加学生页面:adminStudentAdd.aspx

(4) 学生信息维护页面:adminStudentDetails.aspx

(5) 添加课程页面:adminCourseAdd.aspx

(6) 课程信息维护页面:adminCourseDetails.aspx

(7) 添加教师页面:adminTeacehrAdd.aspx

(8) 教师信息维护页面:adminTeacherDetails.aspx

(9) 成绩维护页面:adminStudentScore.aspx

(10) 查询每门课选修人数页面:adminSearchNumber.aspx

(11) 查询每门课平均成绩页面:adminSearchScore.aspx

(12) 教师查询任课信息页面:teacherCourseDetails.aspx

(13) 教师查询选课情况页面:teacherQueryElect.aspx

(14) 教师录入成绩页面:teacherSubmitScore.aspx

(15) 学生选修课程页面:studentElect.aspx

(16) 个人成绩查询页面:studentQueryScore.aspx

(17) 修改个人密码页面;ModifyPwd.aspx

教学管理系统

管理员

添加学生教师课程信息 维护学生教师课程信息 查询每门课选修人数 查询每门课平均成均成绩教师

查询任课信息 查询选修情况 录入课程成绩 学生 用户登录

学生选修课程 查询个人成绩 修改个人密码