数据库课程设计学生选课管理系统.docx
《数据库课程设计学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生选课管理系统.docx(37页珍藏版)》请在冰豆网上搜索。
数据库课程设计学生选课管理系统
物联网工程学院
《数据库应用系统开发》课程设计论文
题目:
数据库课程设计学生选课管理系
统
学
号:
2013203090
专业班级:
物联网3班
姓
名:
李洪佳
指导老师:
符志军
1
1.
2.
3.
4.
5.
系统概括.......................................................................................................................................3
1.1.课程设计选题...................................................................................................................3
1.2.项目背景...........................................................................................................................3
1.3.课设报告编写目的...........................................................................................................3
1.4.课设报告的组织...............................................................................................................4
系统需求分析...............................................................................................................................4
2.1.系统管理员.......................................................................................................................4
2.2.学生用户...........................................................................................................................4
2.3.教师用户...........................................................................................................................5
数据库设计...................................................................................................................................5
3.1.概念结构设计...................................................................................................................5
3.1.1.分E-R图................................................................................................................5
3.1.2.局部E-R图..........................................................................................................6
3.1.3.合并E-R图............................................................................................................7
3.2.逻辑结构设计...................................................................................................................8
3.2.1.逻辑转换.................................................................................................................8
3.2.2.细化表结构.............................................................................................................8
3.3.物理结构设计及实施.......................................................................................................9
3.3.1.创建表.....................................................................................................................9
3.3.2.建立视图...............................................................................................................11
3.3.3.建立索引...............................................................................................................12
3.3.4.存储过程的建立...................................................................................................13
3.3.5.创建触发器...........................................................................................................13
界面设计与实现.........................................................................................................................15
4.1.功能模块界面分析.........................................................................................................15
4.2.登录界面.........................................................................................................................15
4.3.管理学生、课程、教师信息界面.................................................................................15
4.4.教师管理界面.................................................................................................................16
4.5.学生选课管理界面.........................................................................................................16
系统测试.....................................................................................................................................17
5.1.用户登陆测试.................................................................................................................17
5.2.管理员管理信息测试.....................................................................................................17
5.2.1.添加学生信息.......................................................................................................17
5.2.2.修改学生信息.......................................................................................................18
5.2.3.删除学生信息.......................................................................................................18
5.2.4.管理教师课、程信息...........................................................................................19
5.3.学生选、退课程测试.....................................................................................................19
2
6.总结.............................................................................................................................................20
7.主要参考文献.............................................................................................................................20
8.附录.............................................................................................................................................21
8.1.源代码.............................................................................................................................21
8.2.系统使用说明.................................................................................................................25
1.系统概括
1.1.课程设计选题
考虑到学生选课这个时间与我们大学生活是如此贴近,兵器额在我们平时选课时也经常出现一些不足,所以我选择“学生选课管理系统”这个课题。
除了他比较贴近生活之外,这个项目也会让我对数据库有更新一步的认识与巩固,对身边的各种选课系统有一个更直观的了解。
1.2.项目背景
随着科技的发展,高科技技术的不断开发,数据的处理在我们的生活中尤为重要。
教育的不断改革和素质教育的不断加强,学分制的实施,选修课在一个学生的培养计划中的比重越来越大。
现在我们选课以及成绩查询都是在网上进行的,这个对于学生来说更加的自主、便捷。
但是由于一般高校的学生比较多,因此就带来的诸多如信息管理等问题。
鉴于需要将学生信息、选课信息等信息数字化以便于维护管理,我们便想到了利用数据库更加准确的解决此类问题。
所以我决定设计一个适用于高校学生选课系统一共参考并且更进一步的了解高校选课的流程以及数据的保存。
1.3.课设报告编写目的
无纸化办公的模式现在已经普遍存在,信息自动化处理以及网络式信息交互方式已经普及并且被人们广泛应用,计算机管理学生信息在各大高校都在积极进行,也是高校管理工作的重要内容之一。
网上选课与传统的选课方式相比更加的智能便捷并且节约资源,也增加了学生学习过程中的自主权。
3
学生选课系统无疑是一个比较现代化的教学技术,并且受到人们的重视,是学校管理中不可获取额的一部分。
有了学生选课可系统不仅方便了学生、教师,更重要的是学校在管理数据方面会更加的方便以及准确。
学生选课系统使选课管理工作规范化、系统化、程序化,避免数据丢失,提高信息处理的速度,能够准确及时的查询及更改学生的选课情况。
编写课设报告的目的就在于将学生选课管理系统的设计与实现以及管理维护等工作更加有条理的呈现出来,对开发设计学生选课系统的过程进行记录并且概括,帮助更好的理解、操作、运用学生选课系统。
1.4.课设报告的组织
课设报告从学生选课系统的需求分析到数据库的设计,包括逻辑设计、物理设计等,在倒最后的实现与维护一一呈现出来,包括最初的设计理念,数据库具体觉得建立以及数据的输入、管理及更新。
包括实现学生选课功能、教师录入成绩功能,管理员对数据库信息的增删改查功能一应俱全。
2.系统需求分析
该系统应该能管理学校的教师信息、学生信息、专业信息、学校开设的所有课程信息、学生选修课程的信息等。
选课系统主要满足三类用户的要求,这三类用户分别是教务处的系统管理员、教师和学生。
他们所具有的操作权限以及操作内容是不同的。
具体的需求分析如下:
2.1.系统管理员
1)维护学生的个人基本信息,实现对学生个人信息的增、删、改、查,学生信息包括学号、姓名、性别、年龄、入学时间、系别、专业、密码。
1)维护教师的个人基本信息,实现对教师个人信息的增、删、改、查,教师信息包括教师工号、姓名、性别、密码。
1)维护课程的个人基本信息,实现对课程个人信息的增、删、改、查,课程信
息包括课程号、课程名、学分。
4
用户登录
2.2.
学生用户
1)查询和修改个人信息。
2)进行选课操作
3)学生可以查看自己所选课程信息及以前所选课程的成绩信息。
2.3.教师用户
1)查询和修改个人信息
2)课程结束后,登记成绩
3)教师可查看自己的教学安排。
3.
数据库设计
3.1.概念结构设计
根据需求分析,设计出“学生选课系统”的E-R图,该E-R图包括四个实体:
学生信息实体、教师信息实体、管理员信息实体、课程信息实体,还有选课信息E-R图和授课信息E-R图。
3.1.1.
分E-R图
各个实体的分E-R图分别如下图所示:
Ø管理员登录实体图
用户名
密码
图1
Ø学生信息实体图
5
学生信息
教师信息
课程信息
选课信息
授课信息
年龄
姓名
学号
系别
入学时
间
专业
密码
性别
图2
Ø教师信息实体图
姓名
密码
性别
工号
图3
Ø课程信息实体图
课程号
课程名
图4
学分
Ø选课信息实体图
学号
课程号
图5
学生成绩
Ø授课信息实体图
学时
教师工号
图6
课程号
3.1.2.
局部E-R图
Ø学生课程关系E-R图
6
课程
学生
教师
课程
教师
学生
管理员
学生
m
成绩
选修
图7
n
m
Ø教师课程关系E-R图
1
课时
教授
图8
n
m
Ø教师学生关系E-R图
1
学分
教授
图9
n
m
Ø管理员学生关系E-R图
m
管理
图10
n
m
3.1.3.
合并E-R图
本系统的数据库实体主要有“学生”、“教师”、“课程”、“管理员”等。
其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。
同样“学生”与“成绩”也存在一对多的关系。
一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。
同样“学生”与“成绩”之间也是多对多的关系。
整个数据库可以用一个E-R图表示
总的ER图
7
管理员
课程
学生
教师
n
管理
n
m
1
教授
1
管理
n
1
选
课
1
开设
管理
n
n
n
图11
3.2.逻辑结构设计
根据上节E-R图可以将系统中的概念模型转换为具体的表(即关系)结构。
3.2.1.
逻辑转换
本系统共设计6个关系,详细信息如下所示:
学生(学号、姓名、性别、年龄、入学时间、系别、专业、密码)教师(教师工号、姓名、性别、密码)
管理员(管理员工号密码)
课程(课程号、课程名、学分)
选课(学号、课程号、成绩)
授课(教师工号、课程号、课时)
3.2.2.
细化表结构
为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:
Ø用户登录信息表adm
表1:
Admin
列名
数据类型
是否为空
说明
Username
Char(20)
Notnull(主键)
用户名
8
Ø学生信息表student
表2:
student
列名
数据类型
是否为空
说明
Sno
Char(20)
Notnull(主键)
学号
Sname
Char(20)
notnull
姓名
Ssex
Char(20)
null
性别
Sage
Int
null
年龄
Senttime
Datetime
null
入学时间
Smajor
Char(20)
null
专业
Ssdept
Char(20)
null
系别
Spass
Char(20)
null
密码
Ø课程信息表course
表3:
course
列名
数据类型
是否为空
说明
Cno
Char(20)
Notnull(主键)
课程号
Cname
Char(20)
notnull
课程名
Ccredt
float
null
学分
Ø选课信息表sc
表4:
sc
列名
数据类型
是否空
说明
Sno
Char(20)
Notnull(外主键)
学号
Cno
Char(20)
Notnull(外主键)
课程号
Grade
int
null
成绩
Ø教师表teacher
表5:
teacher
列名
数据类型
是否空
说明
Tno
Char(20)
Notnull(主键)
教师工号
Tname
Char(20)
notnull
教师姓名
Tsex
Char(20)
null
教师性别
Tpass
Char(20)
null
密码
Ø授课表tc
表6:
tc
列名
数据类型
是否空
说明
Tno
Char(20)
Notnull(外主键)
学号
Cno
Char(20)
Notnull(外主键)
课程号
Ctime
Char(20)
null
课时
9
3.3.物理结构设计及实施
经过数据库系统分析和逻辑设计后,数据库的结果已经非常清晰,剩下的就是用数据库软件实现这样的结构。
本章节主要是对表、视图、索引、存储过程、触发器等一系列数据库内容的建立以及实施。
本系统中的数据库采用SQLServer2005作为数据库。
首先创建一个名为“学生选课数据库”的数据库。
3.3.1.
创建表
考虑到各个表之间的约束条件以及外键索引等要求,在创建表的时候应该按照一定的次序进行创建,否则会很容易出现错误。
本报告册中采用的是先创建各个基本表,然后在对特定的表添加列和外码约束。
本系统共创建了六个表:
管理员信息表、教师信息表、学生信息表、课程信息表、学生选课表、教师授课表。
Ø创建adm管理员表如下图:
图12
Ø
创建教师表teacher如图:
图13
Ø创建学生表student如图:
10
图14
Ø创建课程表course如图:
图15
Ø创建选课表sc如图:
图16
Ø创建授课表tc如图:
图17
各表之间的关系如图:
11
图18
3.3.2.
建立视图
共建立十个视图
图19
以下是本系统的主要视图:
学生平均成绩视图如下
12
图20
教师总课时视图如下
图21
3.3.3.
建立索引
索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查,主键都会自动生成。
为了更快的查找索引我又建立了以下索引。
课程名的索引如下图:
图22
学生名的索引如下图:
图23
教师名的索引如下图:
图24
13
3.3.4.
存储过