选修课管理系统Word格式文档下载.docx
《选修课管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《选修课管理系统Word格式文档下载.docx(29页珍藏版)》请在冰点文库上搜索。
对于系统的本身而言,应该具有较高的实用性、安全性。
能够极大的满足学生选课,以及学校对选课信息的管理。
用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。
2.2主要功能
通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。
特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:
(1)学生的需求:
能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
(2)教师的需求:
能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
(3)管理员的需求:
对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理。
2.3数据流图
图2-1学生选课管理数据流图
第3章概念结构设计
3.1E-R图
(1)学生课程联系E-R图
图3-1学生课程联系E-R图
(2)教师课程关系E-R图
图3-2教师课程关系E-R图
(3)学生临时班级联系E-R图
图3-3学生临时班级联系E-R图
(4)教师班级关系实体E-R图
图3-4教师临时班级联系E-R图
(5)课程临时班级关系实体E-R图
图3-5课程临时班级联系E-R图
(6)全局E-R图
图3-6学生选课全局E-R图
第4章逻辑结构设计
4.1概念模型向关系模型的转换
根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化
4.1.11:
N联系的转化的关系模式
(1)教师课程联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码,课程号)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
(2)教师临时班级联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码)
临时班级表(班级号,班级名,人数,地点,教师号)
(3)课程临时班级联系概念模型向关系模型的转化
临时班级表(班级号,班级名,人数,地点,课程号)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
4.1.2M:
(1)学生选课联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
选课表(学号,课程号,成绩)
(2)学生班级联系概念模型向关系模型的转化
临时班级表(班级号,班级名,人数,地点)
学生班级关系表(学生号,班级号)
4.2概念模型的优化
4.2.1确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。
4.2.2实施规范化处理
由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理各个关系模式的函数依赖集如下:
教师课程联系:
F={教师号→教师名,教师号→性别,教师号→年龄,教师号→身份,教师号→密码,教师号→课程号}
班级临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,班级号→教师号}
课程临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,班级号→课程号}
选课联系:
F={(学号,课程号)→成绩}
学生班级联系:
F={(学生号,班级号)}
(1)教师课程联系概念模型向关系模型的优化
教师表(教师号,教师名,性别,年龄,身份,密码)
教师课程联系(教师号,课程号)
(2)教师临时班级联系概念模型向关系模型的优化
教师临时班级关系(班级号,教师号)
(3)课程临时班级联系概念模型向关系模型的优化
课程临时班级关系(班级号,课程号)
经过规范化处理后的所有关系模如下:
教师课程关系(教师号,课程号)
教师临时班级关系(班级号,教师号)
学生临时班级关系表(学生号,班级号)
课程临时班级关系(班级号,课程号)
第5章数据库表创建及表关系
5.1数据库代码
createtablestudent(
snovarchar(15)PRIMARYKEY,
snamevarchar(15)notnull,
sageintnotnull,
ssexchar
(2)notnull,
sdeptvarchar(20)notnull,
sclassvarchar(15)notnull,
Spassvarchar(15)notnull
)
表5-1学生表
字段名称
字段含义
数据类型及长度
约束
默认值
sno
学号
varchar(15)
主键
sname
姓名
非空
ssex
性别
varchar
(2)
sage
年龄
int
sclass
班级
sdept
系部
varchar(20)
spass
密码
createtableteacher(
tnovarchar(15)primarykey,
tnamevarchar(15)notnull,
tsexvarchar
(2)notnull,
tageintnotnull,
tpassvarchar(15)notnull,
statusvarchar(10)notnull
表5-2教师表
tno
教师号
tname
tsex
tage
tpass
status
身份
varchar(10)
createtablecourse(
cnovarchar(15)primarykey,
cnamevarchar(15)notnull,
creditintnotnull,
ctimevarchar(15)notnull,
cbegintimevarchar(15)notnull,
cendtimevarchar(15)notnull
表5-3课程表
cno
课程号
cname
课程名
credit
学分
ctime
cbegintime
开始时间
cendtime
结束时间
createtablecc(
ccnovarchar(15)primarykey,
ccnamevarchar(15)notnull,
addressvarchar(15),
numberintcheck(numberbetween0and100)
)
表5-4临时班级表
ccno
班级号
ccname
address
地址
number
人数
>
=0或<
=100
createtablexk(
snovarchar(15)notnullconstraintx_sforeignkeyreferencesstudent(sno),
cnovarchar(15)notnull,
gradeintcheck(gradebetween0and100),
constraintx_s_cprimarykey(sno,cno),
constraintx_cforeignkey(cno)referencescourse(cno)
表5-5选课表
主键,外键
grade
成绩
createtablexlb(
snovarchar(15)notnullconstraintlb_sforeignkeyreferencesstudent(sno),
ccnovarchar(15)notnullconstraintlb_ccforeignkey(ccno)referencescc(ccno)
constraintxlb_s_ccprimarykey(sno,ccno)
表5-6学生临时班级关系表
createtabletc(
tnovarchar(15)notnullconstrainttc_tforeignkeyreferencesteacher(tno),
cnovarchar(15)notnullconstrainttc_cforeignkeyreferencescourse(cno)
constrainttc_ttprimarykey(tno)
表5-7教师课程关系表
外键
createtabletlb(
ccnovarchar(15)notnullconstrainttlb_ccforeignkey(ccno)referencescc(ccno),
tnovarchar(15)notnullconstrainttlb_tforeignkeyreferencesteacher(tno),
constrainttlb_cccprimarykey(ccno)
表5-8教师临时班级关系表
createtableclb(
ccnovarchar(15)notnullconstraintclb_ccforeignkey(ccno)referencescc(ccno),
cnovarchar(15)notnullconstraintclb_cforeignkeyreferencescourse(cno),
constraintclb_cccprimarykey(ccno)
表5-9课程临时班级关系表
5.2数据初始化
学生表初始化
insertintostudentvalues(‘s1’,‘王喜庆’,20,‘男’,‘数计’,‘一班’,‘1’)
insertintostudentvalues(‘s2’,‘李妠河’,21,‘女’,‘数计’,‘二班’,‘2’)
insertintostudentvalues(‘s3’,‘陈东’,21,‘男’,‘电子’,‘一班’,‘3’)
insertintostudentvalues(‘s4’,‘林淑娟’,22,‘男’,‘环建’,‘二班’,‘4’)
insertintostudentvalues(‘s5’,‘甄凡蝶’,21,‘女,‘环建’,‘三班’,‘5’)
insertintostudentvalues(‘s6’,‘谢二炯’,20,‘男’,‘艺术’,‘三班’,‘6’)
表5-10学生表
教师表初始化
insertintoteachervalues(‘t1’,‘李文忠’,‘男’,45,‘1’,‘老师’)
insertintoteachervalues(‘t2’,‘叶尔尔’,‘女’,34,‘2’,‘老师’)
insertintoteachervalues(‘t3’,‘谢晓东’,‘男’,23,‘3’,‘老师’)
insertintoteachervalues(‘t4’,‘林代发’,‘女’,53,‘4’,‘老师’)
insertintoteachervalues(‘t5’,‘王大江’,‘男’,63,‘5’,‘老师’)
insertintoteachervalues(‘t6’,‘蔡锷’,‘男’,34,‘6’,‘老师’)
表5-11教师表
课程表初始化
Insertintocoursevalues(‘c1’,‘数据库’,3,‘周一7-8节’,‘第三周’,‘第十八周’)
insertintocoursevalues(‘c2’,‘c++’,2,‘周五3-4节’,‘第一周’,‘第二十周’)
insertintocoursevalues(‘c3’,‘net’3,‘周三7-8节’,‘第二周’,‘第十九周’)
insertintocoursevalues(‘c4’,‘礼仪’,1,‘周三5-6节’,‘第一周’,‘第十七周’)
insertintocoursevalues(‘c5’,‘旅游’,2,‘周四7-8节’,‘第三周’,‘第十二周’)
insertintocoursevalues(‘c6’,‘文化’,3,‘周四5-6节’,‘第五周’,‘第十一周’)
表5-12课程表
临时班级表初始化
Insertintoccvalues(‘cc1’,‘数据库’,‘瑞一304’,50)
Insertintoccvalues(‘cc2’,‘c++’,‘瑞五208’,60)
Insertintoccvalues(‘cc3’,‘net’,‘同文402’,20)
Insertintoccvalues(‘cc4’,‘礼仪’,‘瑞四102’,30)
Insertintoccvalues(‘cc5’,‘旅游’,‘瑞十309’,40)
Insertintoccvalues(‘cc6’,‘文化’,‘瑞三302’,50)
表5-13临时班级表
选课表初始化
Insertintoxkvalues(‘s1’,‘c1’)
Insertintoxkvalues(‘s2’,‘c4’)
insertintoxkvalues(‘s3’,‘c5’)
insertintoxkvalues(‘s4’,‘c3’)
insertintoxkvalues(‘s5’,‘c6’)
insertintoxkvalues(‘s6’,‘c2’)
表5-14选课表
学生临时班级关系表初始化
Insertintoxlbvalues(‘s1’,‘cc1’)
insertintoxlbvalues(‘s2’,‘cc4’)
insertintoxlbvalues(‘s3’,‘cc5’)
insertintoxlbvalues(‘s4’,‘cc3’)
insertintoxlbvalues(‘s5’,‘cc6’)
insertintoxlbvalues(‘s6’,‘cc2’)
表5-15学生临时班级关系表
教师课程关系表初始化
Insertintotcvalues(‘t1’,‘c5’)
Insertintotcvalues(‘t2’,‘c6’)
Insertintotcvalues(‘t3’,‘c3’)
Insertintotcvalues(‘t4’,‘c2’)
Insertintotcvalues(‘t5’,‘c4’)
Insertintotcvalues(‘t6’,‘c1’)
表5-16教师课程关系表
教师临时班级关系表初始化
Insertintotlbvalues(‘cc1’,‘t6’)
Insertintotlbvalues(‘cc2’,‘t4’)
Insertintotlbvalues(‘cc3’,‘t3’)
Insertintotlbvalues(‘cc4’,‘t5’)
Insertintotlbvalues(‘cc5’,‘t1’)
Insertintotlbvalues(‘cc6’,‘t2’)
表5-17教师临时班级关系表
课程临时班级关系表初始化
Insertintoclbvalues(‘cc1’,‘c1’)
Insertintoclbvalues(‘cc2’,‘c2’)
Insertintoclbvalues(‘cc3’,‘c3’)
insertintoclbvalues(‘cc4’,‘c4’)
insertintoclbvalues(‘cc5’,‘c5’)
insertintoclbvalues(‘cc6’,‘c6’)
表5-18课程临时班级关系表
5.3关系图
图5-1学生选课管理关系图
第6章视图的操作
6.1数据库的实现
(1)创建数据库lective
createdatabaselectiveon(name='
选课管理库'
filename='
E:
\b\选课管理库.mdf'
size=5,maxsize=15,filegrowth=2)
6.2视图的实现
(1)查询可供选择课程的视图
createview查询可供选择课程
asselecto,ame,course.credit,course.ctime,course.cbegintime,cc.address,teacher.tname,cc.number
fromcourse,tc,clb,cc,teacherwhereo=oandtc.tno=teacher.tnoando=oandcc.ccno=clb.ccno
表6-1
(2)学生的选课信息视图
createview学生的选课信息视图
asselectstudent.sno,student.sname,ame,course.credit,course.ctime,course.cbegintime,course.cendtime,o,xk.grade
fromxk,student,coursewherexk.sno=student.snoando=o
表6-2
(3)教师授课视图
createview教师授课视图
asselectteacher.tno,teacher.tname,c