学籍管理系统《数据库原理》课内设计.docx
《学籍管理系统《数据库原理》课内设计.docx》由会员分享,可在线阅读,更多相关《学籍管理系统《数据库原理》课内设计.docx(15页珍藏版)》请在冰豆网上搜索。
学籍管理系统《数据库原理》课内设计
成绩
评阅人
《数据库原理》课内设计
学号********
姓名***
班级计算机08-2班
任课教师********
完成时间:
2010年12月27日
目录
1.需求分析3
(1)系统需求分析3
(2)模块划分3
(3)数据流4
2.概念设计6
3.逻辑设计10
4.数据库实现11
5.查询14
(1)查询学生的基本信息14
(2)删除课程的基本信息14
(3)插入教师的基本信息14
6.设计体会与建议15
7.参考文献16
1.
需求分析
(1)系统需求分析
本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。
主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等。
实现的具体功能如下:
●基本信息管理——系统管理员负责对各种基本信息的录入、修改、删除等操作。
●学生成绩管理——系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。
●信息查询统计——学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息。
●毕业生信息管理——系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。
●系统用户管理——系统管理员负责用不同的权限来限制不同用户对系统的使用。
以上是对系统的基本的功能要求,此外还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。
(2)模块划分
根据系统功能的需求分析和高等院校学籍管理的特点,经过模块化的分析得到如下图1-1所示的系统功能模块结构图。
图1-1系统功能模块图
(3)数据流
图1-2数据流定义表
编号
数据流名
组成
01
学生信息
学号+姓名+性别+出生日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码+民族
02
教师信息
教工号+姓名+性别+职称+所属院系+电话
03
学生成绩
学号+姓名+性别+学号+课程号+成绩
04
科目成绩
学号+课程号+成绩
05
各门成绩
学号+课程号+成绩
课程号+课程名+学分
06
查询结果
科目成绩+各门成绩
07
统计分析
科目成绩+各门成绩
编号
名称
输入数据流
输出数据流
1
学生处
01
2
学生
06
3
老师
03
4
教务员
06/07
图1-3学籍管理系统数据流图
2.概念设计
图2-1学生实体E-R图
图2-2院系实体E-R图
图2-3专业实体E-R图
图2-4毕业实体E-R图
图3-6学生关系E-R图
图3-7老师实体E-R图
、
图3-8老师关系E-R图
图3-9课程实体E-R图
在教务信息管理中存在这样的关系:
毕业(一个学生拥有一个毕业信息,而一个毕业信息只属于一个学生,故是一对一的关系)、选修(一个学生可以选修多门课程,而一门课程可以被多个学生选修,故是多对多的关系)、开设(一个专业可以开设多门课程,而一门课程可以被多个专业选择,故是多对多的关系)、授课(一门课程可以被多个老师讲授,而一个老师可以讲授多门课程,故是多对多的关系)。
图3-10教务关系E-R图
以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体的E-R图:
图3-11学籍管理系统E-R图
3.逻辑设计
将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:
⏹学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间,政治面貌,家庭住址,籍贯,邮政编码,民族),此为学生实体对应的关系模式。
⏹教师(教工号,姓名,性别,职称,所属院系,电话),此为老师实体对应的关系模式。
⏹毕业(毕业证编号,学号,姓名,性别,身份证号,所属院系,入学时间,已修学分,需修学分),此为毕业实体对应的关系模式。
⏹课程(课程号,课程名,学分),此为课程实体对应的关系模式。
⏹院系(院系号,院系名称,院长名),此为院系实体对应的关系模式。
⏹选修(学号,课程号,成绩),此为选修关系对应的关系模式。
⏹授课(课程号,教工号,课时),此为老师授课关系对应的关系模式。
⏹开设(专业号,课程号),此为专业开设课程关系对应的关系模式。
4.数据库实现
◆学生基本信息表(主要描述一些学生入学前的基本信息):
图4-1学生基本信息表结构图
createtablestudent(snovarcharnotnullprimarykey,
dmpnovarchar(10),
mnochar(10),
snamevarchar(10)notnull,
ssexchar
(2)notnull,
symbolvarchar(8),
birthdaydatetimenotnull,
idvarchar(20)notnull,
intimetimestampnotnull,
birthplacevarchar(10),
homeaddrvarchar(30),
postcodeint)
◆教师基本信息表(主要描述教师的一些基本信息):
图4-2教师基本信息表结构图
createtableteacher(tnochar(10)notnullprimarykey,
dmpnovarchar(10),
tnamevarchar(10)notnull,
tsexchar
(2)notnull,
professvarchar(10),
dnamevarchar(10),
telint)
◆院系信息表(主要描述学校中各个院系的一些基本信息):
图4-3院系信息表结构图
createtabled(dmpnovarchar(10)notnull,
dnamevarchar(10),
dmpheadvarchar(20))
◆专业信息表(主要描述学生选择专业的信息):
图4-4专业信息表结构图
createtablesc(mnochar(10)notnull,
snovarchar(10),
mnamechar(10),
intimetimestamp)
◆课程信息表(主要描述学校开设的课程的基本信息):
图4-5课程信息表结构图
createtablecourse(cnovarchar(5)notnullprimarykey,
mnochar(10),
cnamevarchar(15)notnull,
creditsmallint)
◆选课信息表(主要描述学生选修课程的信息):
图4-6选课信息表结构图
createtablecs(snovarchar(10)notnullprimarykey,
cnochar(10)notnull,
gradefloat(8))
授课信息表(主要描述教师授课的信息):
图4-7授课信息表结构图
createtablecs(cnovarchar(5)notnullprimarykey,
tnochar(10)notnull,
ctimefloat(8))
◆学生毕业信息表(主要描述学生毕业的基本信息):
图4-8学生毕业信息表结构图
createtablegraduate(gnovarchar(10)notnullprimarykey,
snovarchar(10)notnull,
snamevarchar(10)notnull,
ssexchar
(2),
dnamevarchar(10),
intimetimestamp,
ycreditsmallint,
xcreditsmallint,
)
5.查询
(1)查询学生的基本信息
输入SQL语句:
SELECTsno,sname,ssex,dmpno,mno,birthday
FROMstudent;
图5-1查询学生基本信息结果图
(2)删除课程的基本信息
输入SQL语句:
DELETE
FROMcourse
WHEREcname='大学英语';
执行结果:
图5-2查询学生基本信息结果图
(3)插入教师的基本信息
输入SQL语句:
INSERT
INTOteacher(tno,dmpno,tname,tsex,profess,tel)
VALUES('25','05','田七','男','教授','1345263526');
执行结果:
6.设计体会与建议
通过近两周的数据库程序设计课,使我对这学期学的知识有了全面的认识。
由于以前大部分时间都在学习理论的知识,所以对数据库设计不是很了解。
而学校提供的这次实习机会使我收获颇多,从中也发现了许多不足,让我找到了以后学习的方向。
通过努力,我设计出了一个学籍管理的数据库系统,这个系统可以帮助用户更好、更快、更有效地管理学生的学籍问题。
在这个系统中,我们主要实现了的功能有能够完成新、老生信息的输人、修改、插人、删除等工作,可以按照特定的信息进行查找,并按照特定的要求进行排序,可以对老生的信息进行备份,以便日后查询,可以对学生的信息进行打印输出,学生成绩的输入、修改、删除等基本操作,成绩的综合统计功能,包括学生成绩按照不同条件进行排名。
管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出,计算各班的总分和平均分,并按照平均分将各班成绩进行排序,统计不及格考生的信息,根据条件确定是重修还是补考,学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。
其中有优点,但也存在不足的地方。
优点是可以保证用户更好地管理数据,可以运用多种功能。
不足的地方是我在设计触发器和存储过程的时候没有实现好,分析其中的原因,是我自己对触发器和存储过程没有更加深入的了解,平时没有花时间去练习,因此我决定在以后的学习中要更加努力。
我发现理论和实践之间还是存在一定的差距,要把理论知识灵活运用于实践才是最好的,因此我也希望学校能多给我们提供一些实践的机会。
7.参考文献
[1]王珊、萨师煊.数据库系统概论.北京.高等教育出版社.2006.
[2]王珊等.数据仓库技术与联机分析处理.北京.科学出版社.1998.
[3]InmonWH.数据仓库.北京.机械工业出版社,2000.
[4]InmonWH等.数据仓库管理.北京.电子工业出版社,2000.
[5]KimballR等.数据仓库工具箱.北京.电子工业出版社,2003.