《数据库原理》课程大作业.docx
《《数据库原理》课程大作业.docx》由会员分享,可在线阅读,更多相关《《数据库原理》课程大作业.docx(17页珍藏版)》请在冰豆网上搜索。
《数据库原理》课程大作业
网上选课系统数据库设计
《数据库原理》课程大作业
数据库设计
课题名称:
网上选课系统数据库设计
学
姓
号:
名:
专业年级:
成
日
绩:
期:
网上选课系统数据库设计
目
录
1绪论.................................................................................................................................1
2应用系统功能分析.........................................................................................................2
2.1业务操作流程......................................................................................................2
2.2系统功能设计......................................................................................................2
3数据库设计.....................................................................................................................2
3.1需求分析..............................................................................................................3
3.2概念结构设计......................................................................................................5
3.3逻辑结构设计......................................................................................................7
3.4物理结构设计与实施..........................................................................................8
4结束语.............................................................................................................................9
4.1收获和体会..........................................................................................................9
4.2总结与展望........................................................................................................10
网上选课系统数据库设计
1绪论
随着科学技术的发展,计算机已经运用到很多方面,网上选课在各个高校已经不可或缺。
信息的自动处理以及网络式的信息交互方式已经被人们广泛应用,使的办公更加的方便快捷和人性化。
网上选课系统种类繁多,只有一个稳定高效的选课系统才能真正的为我们带来方便。
教学计划必需随着社会和科技的不断地而进行修订,使得学校安排学生选课、排课的任务日趋繁琐、复杂。
简化选课难度,提高选课质量势在必行。
目前,各高校已相继建成了覆盖全校的高速校园网,并与Internet互联,具备了通过网络来管理教学的硬件环境。
传统的人工选课方法在流程上存在很多弊端,全部由人工完成,工作量太大,有时会出现错误。
对学生来说选课不方便信息不灵活,可能会选错或者选课与上课时间有冲突,等都不利于选课的开展。
而且老师对学生的录入,成绩管理发放更不方便。
因此为了进一步提高学生选课管理的效率,保证学院学生选课工作的顺利有序进行,信息化和网络化的推行也是正被广泛应用并被实践证明是目前最有效的途径。
为了方便广大师生,我们需要运用所学自己设计一种网上选课系统数据库软件用来管理好选课信息。
选课系统将使选课管理更加规范,提高信息管理的速度和准确性。
2应用系统功能分析
本系统为三类用户使用:
系统管理员,老师和学生。
因此应当具有的功能:
可让管理理员对学生信息,老师信息,课程信息,教室信息进行有效的管理,包括增加、删除、查询、修改等基本维护功能。
可让管理员和教师对特定班级进行必修课的设定。
可让学生在满足选修学分的情况下进行自由选课。
可让教师对特定的班级及个人的科目进行评分。
综合查询可让学生查看自己的选课情况,让老师查看教务安排。
2.1业务操作流程
本系统管理员和所有者拥有最高权限。
能对学生和老师的信息进行维护,所有教室、课
程的信息维护有管理员完成,信息的维护包括增加,删除,查询,修改等功能。
学生所选科目
分必修和选修,必修课程可由教师及管理员设定,选修课由学生自己选。
学生可查询自己的选
课情况和学习情况,老师可以给学生的考试情况打分。
进入系统需要身份验证,学生和老师可修改自己的密码,管理员拥有修改所有用户的权限。
2.2系统功能设计
(1)系统管理员
1
网上选课系统数据库设计
维护学生与教师个人信息:
通过此项功能可以实现对教师和学生的个人信息添加删除修改。
维护课程、教室信息:
通过此项功能可以实现对课程,教室的综合信息进行增加删除修改。
(2)教师用户
1)
2)
3)
显示和修改个人信息:
教师用户登录系统后,可以查看和修改教师的个人信息,如姓名,电话,E-mail地址、登陆密码等。
给学生分数:
课程结束后,教师用
户登录系统,可以为学过课程的学生给予相应的成绩,若及格,给予学生学分。
综合查询:
查看部分教师的教务安排,包括上课时间,授课地点,所用教材等信息
(3)学生用户
1)
2)
3)
维护个人信息:
学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话、账户密码等。
查看自己选课信息:
学生登录系统后通过综合查询能够查看自己的必修课和选修课的信息,包括查看学习成绩等
选择自己的选修课程。
3数据库设计
考虑数据库及其应用系统开发全过程,将数据库设计分为六个阶段包括:
需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施和数据库运行与维护。
通过对选课系统的管理最终需要实现的功能分析,构建数据字典,处理相应的数据,然后将数据抽象为具体的DBMS概念模型,画出全局ER模型,并分析各个实体之间的关系,将概念模型结构转化为数据模型,再进行适当的优化。
选取合适的存储结构和存取方法,建立选课系统数据库。
在对数据库进行试运行和维护,分析改善数据库,丙丁是的进行功能维护,使其能高效的运行,为广大的师生提供方便和服务。
3.1需求分析
随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。
这给广大的老师和学生带来诸多的不便,管理起来也相当困难。
使用网上选课系统可以提前进行网上选课,并且选课以后学生还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。
鉴于它的重要性,这就迫切需要研制开发一款功能强大,操作简单,具有人性化的网上选课系统。
通过对学生选课管理系统工作内容和相关数据流程分析,根据选课管理系统的需要,设计出满足各种用户(管理员,教师,学生)的实体,以及他们之间的关系,得到数据库的模型。
系别包括系别号与系别名。
专业表包括专业号与专业名。
学生表包括学号,姓名,年龄,性
2
网上选课系统数据库设计
别,年纪,系别号,专业号等。
教师表包括教师号,姓名,性别,系别号。
课程表包括课程号,课程名,学分,学时,开课状态,已选人数,限选人数等。
选课结果表包括学号,课程号,成绩。
授课表包括课程号,教师号。
管理员表包括ID,用户名与密码。
(1)数据流图:
登陆
验证
返回
查询,更改选课
课程信息
课程选课
学生信息
管理员信息
成绩查询
申请课程
登陆
判分
批准课程与否
返回
(1)数据字典:
①数据项:
验证
教师信息
学生学号={学生学号,char,10}学生姓名={学生姓名,char,20}学生班级={学生班级,char,20}学生成绩={学生成绩,char,20}老师工号={老师工号,char,10}老师姓名={老师姓名,char,20}课程号={课程号,char,10}课程名={课程名,char,20}教室号={教室号,char,10}教课时间={教课时间,char,15}
3
网上选课系统数据库设计
②数据结构:
选课结果={选课结果,课程内容和信息,组成{老师工号,老师姓名,课程名,教课时间,教室号}}
教课信息={教课信息,教课内容和学生上课情况,组成{教课时间,教室号,课程号,学生姓名,学生学号,}}
学生成绩={学生成绩,上课表现状态,组成{学生学号,学生姓名,上课学时,课堂表现}}
③数据流:
选课结果数据流={选课结果数据流,查看选课的结果,老师,学生,教室号,课时,组成{选课结果}}
教课信息数据流={教课信息数据流,学生在课堂上的表现,学生,老师,组成{教课信息}}
学生成绩数据流={学生成绩数据流,学生学号,学生姓名,上课学时,课堂表现,组成{学生成绩}}
④数据存储:
选课结果存储={选课结果存储,选课结果数据流,教课信息数据流,组成{选课信息,教课信息}}
教课信息存储={教课信息存储,教课信息数据流,学生成绩数据流,组成{教课信息,学生成绩}}
学生成绩存储={学生成绩存储,学生成绩数据流,学生成绩数据流,组成{学生成绩}}
⑤处理过程:
学生选课结果={学生选课结果,输入:
{学生结果数据流},输出:
{教课信息数据流},处理:
{学生进行选课}}
老师处理教课信息={老师处理教课信息,输入:
{教课信息数据流},输出:
{学生成绩数据流},处理:
{老师对上课信息进行查看,并给出成绩}}
学生成绩录入={学生成绩录入,输入:
{学生成绩数据流},输出:
{学生成绩数据流},处理:
{学生查看自己的成绩,老师也可浏览各个学生的成绩}}
4
网上选课系统数据库设计
3.2概念结构设计
实体有:
学生、系别、专业、课程、教师、管理员。
总体E-R图
属于
选择
批准
申请
局部E-R图:
5
网上选课系统数据库设计
系别号
系别名
专业号
专业名
别
学号
姓名
年龄
年级
姓名
班级
专业
系别
姓名
性别
系别
教师号
课程号
课程名
学分
状态(教师申请用)
学时
已选人数
限选人数
6
网上选课系统数据库设计
课程号
教师号
ID
用户名
密码
各表关系局部E-R图
3.3逻辑结构设计
关系模式:
系别:
(系别号,系别名)
专业:
(专业号,专业名)
学生:
(学号,姓名,年龄,性别,年级,班级,系别名,专业名)教师:
(教师号,姓名,性别,系别号)
课程:
(课程号,课程名,学分,学时,状态,已选人数,限选人数)选课结果:
(学号,课程号,成绩)
授课:
(课程号,教师号)
管理员:
(ID,用户名,密码)
各表关系分析:
1)
2)
过程分析:
选课系统面向3个用户群体:
学生,教师与管理员。
首先,学生根据自己的学号(主键)与姓名登陆选课系统,进入可以选课,查询自己的信息(专业,所在系部等。
)查询选课信息(并可以退选)。
教师根据自己的教师号与姓名进行登陆,可根据自己的知识情况申请开设课程,并设计学时学分与人数等,有课教师学期末可以给学生成绩。
管理员拥有最高权限,可以查看,更改所有教师学生信息,并通过调查审核批准教师的开课与否。
关系分析:
系别/专业表存储的是学生信息。
学生表存储学生信息,主键学号。
教师表存储教师信息,课程表存储选课的信息,包括开课状态,是否已选满(check约束)等,选课结果包括学生的学号与课程号(当学生选课后为自动触发填充型),授课表根据教师申请状态自动填充。
管理员表拥有最高权限,可更改,批准所有信息。
7
网上选课系统数据库设计
3.4物理结构设计与实施
共8个数据表:
系别表、专业表、学生表、教师表、课程表、选课结果表,授课表,管理员表。
系别表Depart
字段
数据类型
长度
允许空值
备注
Prono
char
20
否
主键专业号
ProName
varchar
50
否
专业名称
专业表Profess
字段
数据类型
长度
允许空值
备注
Prono
char
20
否
主键专业号
ProName
varchar
50
否
专业名称
学生表Student
字段
数据类型
长度
允许空值
备注
Sno
char
20
否
学号主键
Sname
varchar
50
否
学生姓名
Ssex
Char
2
否
性别
Sgrade
varchar
20
否
年级
Sclass
Varchar
20
否
班级
Depno
char
20
否
学生系别
Prono
char
20
否
学生专业
Spassword
varchar
20
否
学生密码
教师表Teacher
字段
数据类型
长度
允许空值
备注
Tno
char
20
否
教师号主键
Tname
varchar
50
否
教师姓名
Tsex
Char
2
否
教师性别
Depno
char
20
否
教师所在系
Tpassword
Varchar
20
否
教师密码
8
网上选课系统数据库设计
课程表Course
字段
数据类型
长度
允许空值
备注
Cno
char
20
否
课程号
Cname
varchar
50
否
课程名
Credit
float
否
学分
Cstuno
char
20
否
已选人数
Ccstu
char
20
否
限选人数
选课结果表SC
字段
数据类型
长度
允许空值
备注
Sno
char
20
否
学号
Cno
char
20
否
课程号
Score
char
20
否
分数
授课表TC
字段
数据类型
长度
允许空值
备注
Cno
char
20
否
课程号
Tno
char
20
否
教师号
管理员表:
admin
字段
数据类型
长度
允许空值
备注
ID
Int
否
主键编号
Password
varchar
20
否
密码
4结束语
通过对数据库的学习,学会了对数据库的构建和运用。
数据库在我们的生活中已经不可或缺,我们身边的任何信息都有数据库在存储。
学习了半年,学到了很多关于数据库的知识和技能。
了解了数据库的重要作用,学会了怎样去运用数据库和组建数据库,对学到这些知识和能力感到充实,同时更学会了如何去学习。
4.1收获和体会
通过对本课程的学习,学习到了有关数据库设计的一些基础知识,以及设
9
网上选课系统数据库设计
计一个简单的数据库,和对他的运行维护。
在管理数据库方面自己还有待于去学习。
在这半年中跟老师学习了数据库原理,学会了建立数据库,查询数据,整理数据,了解了嵌入式SQL语言的重要性。
由本次的设计让自己了解到对数据库系统方面的不足,也发现自己的实际运用能力的欠缺。
因此提醒自己以后要多动手,实际的运用学习到的理论知识,把他们变成自己的实际能力。
虽然这次的实验设计不怎么成功,但也让自己把学到的知识运用到了实践当中,相信通过这次的实际运用,也让自己对数据库有了更深的了解。
4.2总结与展望
通过这次对数据库系统的设计,学会了数据库设计的六个阶段的不同作用。
数据库需求分析阶段是最基础最困难的一步,需求分析做的不好就会导致整个数据库的失败。
这也正告诉我们知识这块基石的重要性。
实践才是真正的对我们学习的检验。
在设计的过程中知道了老师教授内容的重要,自己在分析需求时分析做的不好使得设计并不顺利,这也更加警示自己考虑问题应当周全,不能太片面。
希望这次设计能提高自己对数据库的设计的能力。
从本次的设计中,我学习到了一些知识:
实践是最好的学习方法。
只有自己亲自实践才能了解到自己学到了多少,自己的不足在哪里,这样才更加的有动力去吸取知识。
还有就是考虑问题不能太片面。
有时自己的优点长处并不能弥补自己在其他方面的不足,做事情应当从全局考虑。
因此这次设计不完全成功却更能激励自己对数据库的认知,去做好对需求的分析,运用多方面的知识,一步步的提升自己的能力,增加自己的实践,以后更好的设计数据库打下基础。
10