学生选课管理系统数据库课程设计Word文件下载.docx
- 文档编号:21975978
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:27
- 大小:353.44KB
学生选课管理系统数据库课程设计Word文件下载.docx
《学生选课管理系统数据库课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统数据库课程设计Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
管理员和非管理员的老师及学生对系统的操作具有不同的权限。
管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行增加、删除、修改、查询。
教师登陆系统,能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。
学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。
系统自动分配学生选课后的临时班级。
性能要求:
管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。
输入要求:
具有很好的容错性和兼容性
输出要求:
应迅速、准确、实时
2.2工作流图
系统需求:
用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。
而前台显示部分,应具有人性化的界面,方便用户操作。
因各个学校的实际情况不同,系统应该具有兼容性。
例如:
一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。
系统需要同时处理很大的数据量,这时系统不会因此崩溃。
系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。
非合法用户不能对数据进行操作。
功能需求:
通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。
特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:
(1)学生的需求:
能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
(2)教师的需求:
能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
(3)管理员的需求:
对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理。
2.3数据流图
系统顶层图:
根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户选课管理两个部分。
从而得出了学生选课管理系统的顶层图如下所示:
注:
F1:
用户登陆信息F2:
用户注册信息F3:
用户基本信息F4:
用户基本信息
F5:
学生选课信息清单F6:
学生选课信息F7:
登陆错误信息F8:
系统反馈用户信息
F9:
用户信息清单F10:
修改密码后的用户信息
数据流程图一层分解图
(1)用户登陆管理。
用户在登陆时,系统会进行判断。
用户一共有三种类型,分别是学生,教师和管理员。
其中,一部分教师是管理员。
在登陆的只有学生和教师两种类型,管理员的身份由系统自行判断。
在判定时需要查询用户信息库。
用户信息库,包括学生注册信息,教师注册信息,管理员信息等。
学生选课管理系统一层分解图——登陆管理,如下图所示:
F2.1:
学生登陆信息F2.2:
教师登陆信息F2.3:
管理员登陆信息
F7.1:
用户身份信息F7.2:
修改密码的错误信息
(2)用户操作管理。
在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。
根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同。
如下图所示:
F3.1:
原始学生信息F5.1:
学生更新后的选课信
F6.1:
学生查询的选课信息F8.1:
学生操作后返回的信息
F3.2:
原始教师信息5.2:
教师更新后的选课信息
F6.2:
教师查询的选课信息F8.1:
教师操作后返回的信息
F3.3:
原始管理员信息F9.1更新后的用户信息F6.3:
管理员查询的选课信息F8.1:
管理员操作后返回的信息F5.3:
管理员更新后的选课信息
数据流程图二层分解图
(1)学生管理。
将P2.1进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。
学生选课管理系统二层分解图——学生管理如下图所示:
(2)教师管理。
将P2.2进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩。
(3)教师管理。
将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;
2.管理教师信息,包括对教师信息的查询、增加,修改,删除;
3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。
学生管理系统二层分解图——学生管理如下图所示:
2.4数据字典
数据流条目
用户登陆信息数据流条目
编号
F1
数据流名称
用户登陆信息
来源
用户
去向
P1:
登陆管理
简述
用户在登陆时输入的账号、密码和验证码
组成
用户名+密码+身份+验证码
用户身份信息数据流条目
F2
用户身份信息
P2:
用户操作管理
登陆系统判断用户身份后发送的信息
用户注册信息数据流条目
F3
用户注册信息
用户信息库
系统从用户信息库中查询出来的用户注册信息
[学生注册信息]+[教师注册信息]+[管理员注册信息]
用户基本信息数据流条目
F4
D1:
系统从用户信息库中查询出来的用户基本信息
[学生信息]+[教师信息]+[管理员信息]
F5
学生选课信息清单
D2:
选课信息库
用户操作数据后存入选课信息库中的信息
学号+课程号+成绩
用户基本信息数据流条目
F6
学生选课信息
学号+课程号+成绩+[班级信息]
F7
登陆错误信息
用户登陆时,输入的用户名,密码或验证码错误
错误信息
F8
用户进行操作后,系统反馈给用户信息
查询或操作显示的信息,或错误提示信息
F9
用户信息清单
用户选课管理
用户操作数据后存入用户信息库中的信息
F10
用户修改密码后存入用户信息库的信息
用户名+密码+身份
数据处理
登陆管理数据处理
P1
名称
输入流
F1、F3
输出流
F2、F7、F10
对登陆信息进行管理
处理
判断用户登陆时输入登陆信息是否正确
用户操作管理数据处理
P2
F2、F4、F6
F5、F8
用户相关操作的管理
根据用户的不同,进行不同的的用户操作管理
数据存储
数据存储处理
数据存储名
输入数据流
删除数据流
流量
D1
F9、F10
F3、F4
大
D2
三、概念模型设计
3.1实体之间的联系
根据需求分析,归结出合适的联系:
1、一个学生最多能够选两门课,一门课可以被多个学生选
2、一个老师最多能教一门课,一门课可以被多个老师教授,
3、教师中只有一个是管理员
4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生
5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授
3.2E-R图
局部E-R图
(1)学生课程联系E-R图
(2)教师课程关系E-R图
(3)学生临时班级联系E-R图
(4)管理员教师关系实体E-R图
(5)教师班级关系实体E-R图
(6)课程临时班级关系实体E-R图
全局E-R图
四、逻辑设计
4.1概念模型向关系模型的转换
根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化
1:
N联系的转化的关系模式
(1)教师课程联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码,课程号)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
(2)教师临时班级联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码)
临时班级表(班级号,班级名,人数,地点,教师号)
(3)课程临时班级联系概念模型向关系模型的转化
临时班级表(班级号,班级名,人数,地点,课程号)
M:
(1)学生选课联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
选课表(学号,课程号,成绩)
(2)学生班级联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
临时班级表(班级号,班级名,人数,地点)
学生班级关系表(学生号,班级号)
4.2概念模型的优化
确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。
实施规范化处理
由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理。
各个关系模式的函数依赖集如下:
教师课程联系:
F={教师号→教师名,教师号→性别,教师号→年龄,
教师号→身份,教师号→密码,教师号→课程号}
班级临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,班级号→教师号}
课程临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,
班级号→课程号}
选课联系:
F={(学号,课程号)→成绩}
学生班级联系:
F={(学生号,班级号)}
(1)教师课程联系概念模型向关系模型的优化
教师表(教师号,教师名,性别,年龄,身份,密码)
教师课程联系(教师号,课程号)
(2)教师临时班级联系概念模型向关系模型的优化
教师临时班级关系(班级号,教师号)
(3)课程临时班级联系概念模型向关系模型的优化
课程临时班级关系(班级号,课程号)
经过规范化处理后的所有关系模如下:
教师课程关系(教师号,课程号)
学生临时班级关系表(学生号,班级号)
课程临时班级关系(班级号,课程号)
五、源代码及查询截图
5.1数据库的存储结构
通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构。
数据库的表设计
进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构:
学生表
字段名称
字段含义
数据类型及长度
约束
默认值
Sno
学号
varchar(15)
主键
Sname
姓名
非空
Ssex
性别
varchar
(2)
男
Sage
年龄
int
>
0或<
40
Sclass
班级
Sdept
系部
varchar(20)
Spass
密码
教师表
Tno
教师号
Tname
Tsex
Tage
100
Tpass
Status
身份
varchar(10)
课程表
Cno
课程号
Cname
课程名
Credit
学分
Ctime
Cbegintime
临时班级表
Csno
Csname
Address
地址
Number
人数
Int
=0或<
=100
选课表
主键,外键
Grade
成绩
学生临时班级关系表
班级号
教师课程关系表
外键
教师临时班级关系表
课程临时班级关系表
数据的存放位置的设计
根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。
将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。
数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。
关系模式的存取方法
关系模式采用索引存取方法与聚簇存取方法共用。
数据库安全性
在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。
管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。
但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。
同样,学生与教师对数据库的访问权限就更加小了。
这样也就保证了数据库安全性。
另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整性设置了各种约束。
一旦一张表被非法操作,如删除,修改。
也会影响其它的表。
所以这就要求DBA定时进行备份,防止当数据丢失时,引起不可估量的损失。
5.2实现
根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入数据进行程序调试。
数据库的实现
(1)创建数据库Student
createdatabaseStudent
on
(
name='
学生选课管理库'
filename='
E:
\db\学生选课管理库.mdf'
size=5,
maxsize=15,
filegrowth=2
)
视图的实现
(1)创建查询可供选择课程的视图
createviewcinfo
as
selectame,course.ccredit,class.address,course.ctime,course.cbegintime,course.cendtime,class.number,o,class.csname,class.csno
fromcourse,tc,class,cc
whereo=oando=oandclass.csno=cc.csno
(2)创建教师信息视图
createviewtinfo
as
selectteacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,ame
fromteacher,course,tc
whereteacher.tno=tc.tnoando=o;
(3)创建教师教师授课视图
createviewtcinfo
selectteacher.tno,teacher.tname,o,ame
whereteacher.tno=tc.tnoando=o
(4)学生的选课信息视图
createviewscinfo
selectstudent.sname,ame,course.ccredit,course.ctime,course.cbegintime,course.cendtime,student.sno
fromstudent,course,sc
wherestudent.sno=sc.snoando=o
(5)教师任教情况
createviewctinfo
selectteacher.tno,teacher.tname,class.csno,class.csname
fromclass,teacher,ct
whereclass.csno=ct.csnoandct.tno=teacher.tno
(6)教师课程班级之间关系的视图
createviewtcs
selecto,tc.tno,cc.csnofromcc,tcwhereo=o
(7)学生课程班级之间的关系的视图
createviewscc
selectscs.sno,scs.csno,ofromscs,ccwherescs.csno=cc.csno
select*fromsc
(8)学生的已选课程的成绩
createviewscgrade
selectscc.csno,class.csname,scc.sno,student.sname,o,ame,student.sclass,sc.grade
fromscc,course,class,student,sc
whereo=oandscc.csno=class.csnoandscc.sno=student.snoandscc.sno=sc.snoando=o
(9)创建查询可供选择课程的视图
selectcourse.Cname,course.Ccredit,class.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 管理 系统 数据库 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)