河南理工大学万方科技学院
数据库系统原理及其应用教程
课程设计报告
设计题目选修课程管理系统的设计与实现
指导教师
目录
一、概述 (4)
1.1 设计背景....................................................................................... 错误!未定义书签。
1.2 设计目的...................................................................................... 错误!未定义书签。
1.3 设计内容....................................................................................... 错误!未定义书签。
二、需求分析 (14)
2.1 功能分析 (6)
2.2 工作流图 (5)
2.3 数据流图 (6)
2.4 数据字典 (11)
三、概念模型设计 (14)
3.1 实体之间的联系 (14)
3.2 E-R图 (14)
四、逻辑设计 (18)
4.1 概念模型向关系模型的转换 (18)
4.2 概念模型的优化 (19)
五、源代码及查询截图 (21)
5.1 数据库的存储结构 (21)
5.2 实现 (24)
六、总结 (25)
参考文献 (26)
一、概述
1.1设计背景
可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。
1.2设计目的
系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的开销。促进高校教育的计算机信息化进程,提高学校的工作效率。对于系统的本身而言,应该具有较高的实用性、安全性。能够极大的满足学生选课,以及学校对选课信息的管理。
1.3设计内容
调查学校教务处,设计用于管理全校学生选修课活动的系统。主要功能有:
①全校选修计划课程管理;
②全校选修开课课程管理;
③全校学生选课管理;
④全校选修课成绩管理;
能够实现课程的查询,修改与删除功能。
二、需求分析
2.1 功能分析
主要功能:
教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码可以修改。其中教师的职位可以是管理员。管理员和非管理员的老师及学生对系统的操作具有不同的权限。管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行增加、删除、修改、查询。教师登陆系统,能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。系统自动分配学生选课后的临时班级。
性能要求:
管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。
输入要求:
具有很好的容错性和兼容性
输出要求:
应迅速、准确、实时
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进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。学生选课管理系统二层分解图——学生管理如下图所示:
学生选课管理系统二层分解图——学生管理
注:F3.1:学生个人信息 F5.1.1:增加后的选课信息F5.1.2: 删除后的选课信息
(2)教师管理。将P2.2进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩。学生选课管理系统二层分解图——学生管理如下图所示:
学生选课管理系统二层分解图——教师管理
注:F3.2.1:教师个人信息 F3.2.2:学生个人信息
F5.2.2:增加后的学生成绩信息 F5.2.3:修改后的学生成绩信息
(3)教师管理。将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。学生管理系统二层分解图——学生管理如下图所示:
学生选课管理系统二层分解图——管理员管理
注:F3.3.1:原始学生信息 F3.3.2:原始教师信息 F3.3.3:原始课程信息F3.3.4:原始教室信息 F9.1.1:修改后学生信息 F9.1.2:修改后的教师信息F9.1.3:修改后的课程信息 F9.1.3:修改后的班级信息
2.4数据字典
数据流条目
用户基本信息数据流条目
数据处理
用户操作管理数据处理
数据存储
三、概念模型设计
3.1 实体之间的联系
根据需求分析,归结出合适的联系:
1、一个学生最多能够选两门课,一门课可以被多个学生选
2、一个老师最多能教一门课,一门课可以被多个老师教授,
3、教师中只有一个是管理员
4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生
5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授
3.2 E-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:N联系的转化的关系模式
(1)学生选课联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,所属院系,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
选课表(学号,课程号,成绩)
(2)学生班级联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,所属院系,密码)
临时班级表(班级号,班级名,可容纳人数,空闲时间,所在地点)
学生班级关系表(学生号,班级号)
4.2 概念模型的优化
确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。
实施规范化处理
由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理。
各个关系模式的函数依赖集如下:
教师课程联系:F={教师号→教师名,教师号→性别,教师号→年龄,
教师号→健康状况,教师号→学历,教师号→毕业院校,教师号→职称,教师号→密码,教师号→课程号}
班级临时班级联系:F={班级号→班级名,班级号→可容纳人数,班级号→空闲时间,班级号→所在地点,班级号→教师号}
课程临时班级联系:F={班级号→班级名,班级号→可容纳人数,班级号→空闲时间,班级号→所在地点,班级号→课程号}
选课联系:F={(学号,课程号)→成绩}
学生班级联系:F={(学生号,班级号)}
(1)教师课程联系概念模型向关系模型的优化
教师表(教师号,教师姓名,性别,年龄,健康状况,学历,毕业院校,职称,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
教师课程联系(教师号,课程号)
(2)教师临时班级联系概念模型向关系模型的优化
教师表(教师号,教师姓名,性别,年龄,健康状况,学历,毕业院校,职称,密码)
临时班级表(班级号,班级名,可容纳人数,空闲时间,所在地点)
教师临时班级关系(班级号,教师号)
(3)课程临时班级联系概念模型向关系模型的优化
临时班级表(班级号,班级名,可容纳人数,空闲时间,所在地点)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
课程临时班级关系(班级号,课程号)
经过规范化处理后的所有关系模如下:
学生表(学号,姓名,性别,年龄,所属院系,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
教师表(教师号,教师姓名,性别,年龄,健康状况,学历,毕业院校,职称,密码)
临时班级表(班级号,班级名,可容纳人数,空闲时间,所在地点)
教师课程关系(教师号, 课程号)
教师临时班级关系(班级号,教师号)
选课表(学号,课程号,成绩)
学生临时班级关系表(学生号,班级号)
课程临时班级关系(班级号,课程号)