学生网上选课数据库课程设计报告Word格式文档下载.docx

上传人:b****6 文档编号:16319863 上传时间:2022-11-22 格式:DOCX 页数:42 大小:874.52KB
下载 相关 举报
学生网上选课数据库课程设计报告Word格式文档下载.docx_第1页
第1页 / 共42页
学生网上选课数据库课程设计报告Word格式文档下载.docx_第2页
第2页 / 共42页
学生网上选课数据库课程设计报告Word格式文档下载.docx_第3页
第3页 / 共42页
学生网上选课数据库课程设计报告Word格式文档下载.docx_第4页
第4页 / 共42页
学生网上选课数据库课程设计报告Word格式文档下载.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

学生网上选课数据库课程设计报告Word格式文档下载.docx

《学生网上选课数据库课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生网上选课数据库课程设计报告Word格式文档下载.docx(42页珍藏版)》请在冰豆网上搜索。

学生网上选课数据库课程设计报告Word格式文档下载.docx

无纸化办公的模式现在已经普遍存在,信息自动化处理以及网络式信息交互方式已经普及并且被人们广泛应用,计算机管理学生信息在各大高校都在积极进行,也是高校管理工作的重要内容之一。

学生网上选课与传统的选课方式相比更加的智能便捷并且节约资源,也增加了学生学习过程中的自主权。

学生选课系统无疑是一个比较现代化的教学技术,并且受到人们的重视,是学校管理中不可获取额的一部分。

有了学生网上选课系统不仅方便了学生、教师,更重要的是学校在管理数据方面会更加的方便以及准确。

学生网上选课系统使选课管理工作规范化、系统化、程序化,避免数据丢失,提高信息处理的速度,能够准确及时的查询及更改学生的选课情况。

编写课设报告的目的就在于将学生选课管理系统的设计与实现以及管理维护等工作更加有条理的呈现出来,对开发设计学生选课系统的过程进行记录并且概括,帮助更好的理解、操作、运用学生网上选课系统。

课设报告的组织

课设报告从学生网上选课系统的需求分析到数据库的设计,包括概念设计、逻辑设计、物理设计等,再到最后的实现与维护一一呈现出来,包括最初的设计理念,数据库具体觉得建立以及数据的输入、管理及更新。

包括实现学生选课功能、教师录入成绩功能,管理员对数据库信息的增删改查功能一应俱全。

在这次课程设计中我们都积极参与各项环节的设计,但我们也有分工。

初步列出如下:

XX同学是用Java开发工具eclipse制作前台的界面,建立数据库的连接,用SQL语言建表、视图等;

XX同学担任的工作是对系统的需求分析、构思画出数据流图、画出E-R图,把E-R图转化成关系模型并对其进行规范化处理,以及文档的编写、转化初始关系模型和内容摘要等的编写,还担任了Word文档的总结排版。

这次数据库的课程设计让我们对数据库的操作有了进一步的了解,受益匪浅。

第二章系统需求分析部分

该系统能管理学校的教师信息、学生信息、学校开设的所有课程信息、学生选修课程的信息等。

选课系统主要满足三类用户的要求,这三类用户分别是教务处的学生、教师、系统管理员。

他们所具有的操作权限以及操作内容是不同的。

具体的需求分析如下:

学生用户

(1)密码修改

(2)进行选课和退选课程操作

(3)个人信息查询和成绩查询

教师用户

(2)选课成绩管理(查询、录入、修改和删除学生选课成绩)

(3)个人信息查询、教学安排查询

管理员用户

(2)学生信息管理(查询、添加、修改和删除学生信息)

(3)课程信息管理(查询、添加、修改和删除课程信息)

(4)教师信息管理(查询、添加、修改和删除教师信息)

(5)授课信息管理(查询、添加、修改和删除授课信息)

数据流图

(1)

(2)

(3)

数据字典

数据元素

数据类型

长度

数据来源

学号

nchar

10

学生表

姓名

8

性别

1

年龄

int

2

入学时间

datetime

15

专业

20

系别

密码

教师工号

教师表

管理员工号

管理员表

课程编号

课程表

课程名

学分

float

选课表

成绩

numeric

(4,2)

授课表

课时

第三章系统数据库设计部分

数据库概念结构设计

分E-R图

各个实体的分E-R图分别如下图所示

(1)学生信息实体图

(2)教师信息实体图

(3)管理员信息实体图

(4)课程信息实体图

(5)选课信息实体图

(6)授课信息实体图

局部E-R图

(1)学生课程关系E-R图

(2)教师课程关系E-R图

(3)教师学生关系E-R图

(4)管理员学生关系E-R图

(5)管理员教师关系E-R图

(6)管理员课程关系E-R图

合并E-R图

实体及属性的定义

实体:

学生、教师、管理员、课程、选课、授课

学生实体属性:

学号、姓名、性别、年龄、入学时间、系别、专业、密码

教师实体属性:

教师工号、姓名、性别、密码

管理员属性:

管理员工号、姓名、密码

课程属性:

课程编号、课程名、学分

选课属性:

学号、课程编号、成绩

授课属性:

教师工号、课程编号、课时

多对多联系:

管理、选修、教授

数据库逻辑结构设计

逻辑转换

将E-R图转换成关系数据模式,其中,每个实体转换成一个关系模式,多对多联系转换成独立的关系模式,一对多联系并入多端实体,得到以下初始关系模式:

学生(学号、姓名、性别、年龄、入学时间、系别、专业、密码)

教师(教师工号、姓名、性别、密码、课时)

管理员(管理员工号、姓名、密码)

课程(课程编号、课程名、学分)

选课(学号、课程编号、成绩)

授课(教师工号、课程编号、课时)

管理(管理员工号、学号、教师工号、课程编号)

选修(学号、课程编号、成绩)

教授(学号、教师工号、学分)

细化表结构

(1)学生信息表

属性名

是否允许为空

有无索引

说明

sno

不允许

sname

ssex

允许

sage

entrancetime

smajor

ssdept

spassword

(2)教师信息表

说明

tno

tname

tsex

tpassword

(3)管理员信息表

mno

mname

mpassword

(4)课程信息表

cno

cname

ccredit

(5)选课信息表

grade

(6)授课信息表

ctime

数据库物理结构设计与实施

创建表

本系统共创建了六个表:

学生信息表、教师信息表、系统管理员信息表、课程信息表、选课信息表、授课信息表。

(1)创建student表如下

(2)创建teacher表如下

(3)创建manager表如下

(4)创建course表如下

(5)创建sc表如下

(6)创建tc表如下

各表之间的关系如图:

建立视图

本系统共创建了八个视图

以下是本系统的主要视图:

(1)学生选课总学分视图如下

USE[网上选课系统]

GO

SETANSI_NULLSON

SETQUOTED_IDENTIFIERON

createview[dbo].[v_sum_ccredit](sno,sumcredit)

asselectsno,sum(ccredit)

fromtb_course,tb_selecting_course

where=

groupbysno

(2)课程视图如下

createview

[dbo].[v_course](cno,cname,ccredit)

asselectcno,cname,ccredit

fromtb_course

(3)学生平均成绩视图如下

[dbo].[v_aver_grade](sno,avggrade)

asselectsno,avg(grade)

fromtb_selecting_course

建立索引

索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查,主键都会自动生成,为了更快的查找索引所以建立了以下索引。

(1)课程编号索引如下

(2)学生姓名和学生学号索引如下

(3)教师工号和教师姓名索引如下

(4)学生学号和课程号索引如下

(5)管理员工号和管理员姓名索引如下

(6)课程编号和课程名索引如下

建立外键及级联

外键是表示两个关系之间的相关联系,以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。

级联是当删除主键时外键也会跟着删除,更新时外键也会跟着更新。

(1)tb_selecting_course表上的外键及级联如下

ALTERTABLE[dbo].[tb_selecting_course]WITHCHECKADDCONSTRAINT[FK_tb_selecting_course_tb_course]FOREIGNKEY([cno])

REFERENCES[dbo].[tb_course]([cno])

ONUPDATECASCADE

ALTERTABLE[dbo].[tb_selecting_course]WITHCHECKADDCONSTRAINT[FK_tb_selecting_course_tb_student]FOREIGNKEY([sno])

REFERENCES[dbo].[tb_student]([sno])

ONDELETECASCADE

(2)tb_teaching_course表上的外键及级联如下

ALTERTABLE[dbo].[tb_teaching_course]WITHCHECKADDCONSTRAINT[FK_teaching_class_tb_course]FOREIGNKEY([cno])

ALTERTABLE[dbo].[tb_teaching_course]WITHCHECKADDCONSTRAINT[FK_teaching_class_tb_teacher]FOREIGNKEY([tno])

REFERENCES[dbo].[tb_teacher]([tno])

建立约束

(1)课程表的学分约束如下

ALTERTABLE[dbo].[tb_course]WITHCHECKADDCONSTRAINT[CK_ccredit]CHECK(([ccredit]>

=

(1)AND[ccredit]<

=(6)))

(2)选课表的成绩约束如下

ALTERTABLE[dbo].[tb_selecting_course]WITHCHECKADDCONSTRAINT[CK_grade]CHECK(([grade]>

=(0)AND[grade]<

=(100)))

(3)学生表的成绩约束如下

ALTERTABLE[dbo].[tb_student]WITHCHECKADDCONSTRAINT[CK_ssex]CHECK(([ssex]='

女'

OR[ssex]='

男'

))

ALTERTABLE[dbo].[tb_student]WITHCHECKADDCONSTRAINT[CK_student_age]CHECK(([sage]>

=(17)))

(4)教师表的成绩约束如下

ALTERTABLE[dbo].[tb_teacher]WITHCHECKADDCONSTRAINT[CK_tsex]CHECK(([tsex]='

OR[tsex]='

存储过程的建立

存储过程是多条SQL集合,并要求集合中的SQL全部成功执行,不然就全部不执行,有利于进行同步操作。

createproc[dbo].[ProcInsert]

@snonchar(10),@cnonchar(10),@gradenumeric(5,2)

as

insert

intotb_selecting_course(sno,cno,grade)

values(@sno,@cno,@grade)

selectsname,cname,grade

fromtb_selecting_coursejointb_studenton=

jointb_courseon=

where=@sno

创建触发器

选课成绩更新触发器。

功能:

一旦对选课成绩进行更改操作,就将更改前后的数据记录到cs_log表中。

第四章界面设计与实现

功能模块界面

登录界面

学生管理界面

以学生身份登录后,就进入学生权利模块,学生可以在系统管理里进行密码修改,选课管理里进行选课、退选课程,查询管理里进行成绩查询和个人信息查询,如下图:

教师管理界面

以教师身份登录后,就进入教师权利模块,教师可以在系统管理里进行密码修改,录入管理里进行录入学生成绩处理,查询管理里查询教学安排、学生成绩、个人信息。

4.5管理员管理界面

以管理员身份登录后,就进入管理员权利模块,管理员可以在系统管理里进行密码修改,在学生管理里查询、添加、修改、删除学生信息,在课程管理里查询、添加、修改、删除课程信息,在教师管理里查询、添加、修改、删除教师信息,在选课管理里查询、添加、修改、删除选课信息。

第五章系统测试

用户登录测试

登录信息验证测试:

学生管理信息测试

密码修改

学生选、退选课程

个人信息、成绩查询

教师管理信息测试

选课成绩管理(查询、录入、修改和删除学生选课成绩)

教学安排、个人信息查询

管理员管理信息测试

查询学生信息

添加学生信息

修改学生信息

删除学生信息

第六章总结

自从开设了数据库原理与应用这门课,经过学习,我对数据库的原理和使用有了一定的了解,但是对于数据库的实际应用并不是那么清晰的明白,但是有了这次数据库的课程设计,我对数据库有了新的认识。

“学生网上选课系统”这个课题确实给我带来了很大的挑战,开始以为只是建立几个表,后来才知道数据库的设计是一个系统,还存在着表与表之间的联系,因此我必须要有一个宏观上的认识。

在本次课程设计中,我学到了很多新的知识,比如如何使用SQLServer2005创建完整的数据库、如何使用java设计页面、如何将页面合理的与数据库进行连接等等。

在课程设计的过程当中也会遇到很多自己不能解决的问题,通过自己查阅资料,向同学老师寻求帮助,最终这些问题都解决了,我的“学生网上选课系统”也更加的完整合理。

同时也提高了我的自学能力,在设计过程中,查阅了不少资料,包括网络资料和书籍等,让我收获了许多意想不到的东西,对以后数据库的学习与应用有了很大程度上的提高!

主要参考文献

[1]《数据库系统概论》作者:

王珊萨师煊(第五版高等教育出版社)

[2]《Java应用开发与实践》作者:

刘乃琦苏畅(人民邮电出版社)

[3]《软件工程》作者:

钱乐秋赵文耘牛军钰(第二版清华大学出版社)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1