数据库课程设计教务管理系统.docx
- 文档编号:27555255
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:22
- 大小:336.91KB
数据库课程设计教务管理系统.docx
《数据库课程设计教务管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计教务管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
数据库课程设计教务管理系统
1可行性研究
教务管理工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。
教务管理工作是指学校管理人员按照一定的教育方针,运用先进的管理手段,组织、协调、指挥并指导个方面人员的活动,以更高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。
教务管理工作是教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适应性、创造性和科学性很强的工作。
教务管理在高校教学秩序稳定和教学质量的提高,关系到高校的发展和人才的培养,教务管理在高校中占有相当重要的地位。
随着计算机技术的飞速发展和高校教育体制改革的不断深入,传统的教务管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
同时,运用先进的信息技术,开发高校综合教务管理信息系统,是深化教务体制改革的有利措施。
2需求分析
2.1任务概述
主要分为以下几项管理:
(1)基础数据管理:
“基础数据管理”用于维护整个教务系统正常运行所需的基础数据集,以确保教务系统有一个统一、标准的基础数据集,便于数据的共享使用,内容包括入学年份、学年学期、院系数据、专业设置、教研室情况等。
(2)教学计划管理:
“教学计划管理”用于维护学校中各系各专业的课程、课组计划安排信息,作为选课和毕业审查的标准,包括的功能有课程计划登记、课程计划审批、选课情况查询、选课信息审批等。
(3)学籍管理:
“学籍管理”主要包括了高校学籍管理的常用信息,提供对学生学籍基本信息录入、查询、修改、打印输出、维护等常用功能。
(4)课程管理:
“课程管理”主要负责对课程时间、地点的安排以及开课系列、教师的信息维护等功能。
(5)学生管理:
“学生管理”主要对学生的详细信息,考试成绩,交费情况,正常运转等功能的维护。
2.2运行环境
Windows98/2000/XP/2003操作系统下,安装并配置软件MicrosoftSQLServer2000数据库管理系统。
2.3系统数据流图
系统的数据流程如图所示
图2-1系统的数据流程图
2.4一致性需求
在教务管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。
2.5完整性需求
根据教务管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
3概要设计
3.1接口设计
3.1.1外部接口
通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的,实现教务管理系统。
3.1.2内部接口
程序内部需要共同的数据定义和描述,此系统是智能办公化管理系统的一个子系统,必须和这个系统的其他子系统统一数据定义等,才能使该系统性能达到最好,并且要尽量消除和其他子系统模块之间存在的数据冗余,才能使整个智能办公系统做到高效方便。
3.2E—R图
3.2.1局部E-R图
图3-1班级信息图
图3-2籍贯代码图3-3民族代码图图3-4学籍代码图
图3-5政治面貌图
图3-6课程图
图3-7选课图
图3-8学生图
图3-9成绩图
图3-10课程信息图图3-11费用图
3.2.1全局E-R图
图3-12教务系统E—R图
4逻辑设计
4.1关系模式转换
班级信息表:
班级(班级编号,年级,班级名称,班级简称,人数,导员)
籍贯代码表:
籍贯代码表(籍贯编号,籍贯)
民族代码表:
民族代码表(民族编号,民族)
政治面貌代码表:
政治面貌代码表(政治面貌编号,政治面貌)
学籍代码表:
学籍代码表(学籍编号,学籍名称)
选课表:
选课(学号,课程编号,课序号)
学生表:
学生(学号,姓名,性别,年龄,所在系,班级编号,政治面貌编号,民族编号,籍贯编号,学籍编号)
成绩表:
成绩表(学号,课程编号,成绩,考试次数,是否补修,是否重考,是否已经确定考试成绩)
课程信息表:
课程信息(课程编号,课程名称,先修课,教师,系别,学分)
费用表:
费用(费用单号,学号,学费,住宿费,课本费,杂费,补考费)
课程表:
课程表(课序号,课程编号,上课时间天,上课时间节,上课地点)
4.2各实体及其属性表格
(1)成绩表
学号
varchar(14)
Primarykey
课程编号
varchar(8)
不允许空
成绩
smallint
考试次数
varchar
(2)
是否补修
varchar
(2)
是否重考
varchar
(2)
是否已经确定考试成绩
varchar
(2)
(2)班级表
班级编号
varchar(14)
Primarykey
年级
varchar(4)
班级名称
varchar(30)
班级简称
varchar(16)
人数
numeric
导员
varchar(8)
(3)学生表
学号
varchar(14)
Primarykey
姓名
varchar(8)
性别
varchar
(2)
年龄
smallint
所在系
varchar(14)
班级编号
varchar
(2)
政治面貌编号
varchar
(2)
民族编号
varchar
(2)
籍贯编号
varchar
(2)
学籍编号
varchar
(2)
(4)费用表
费用单号
varchar(14)
Primarykey
学号
varchar(14)
不允许空
学费
money
住宿费
money
课本费
money
杂费
money
补考费
money
(5)学籍代码表
学籍编号
char
(2)
Primarykey
血迹名称
varchar(8)
(6)政治面貌代码表
政治面貌编号
char
(2)
Primarykey
政治面貌
varchar(14)
(7)民族代码表
民族编号
char
(2)
Primarykey
民族
varchar(18)
(8)籍贯代码表
籍贯编号
char
(2)
Primarykey
籍贯
varchar(18)
(9)课程信息表
课程编号
varchar(8)
Primarykey
课程名称
varchar(30)
不允许空
先修课
varchar(30)
教师
varchar(8)
系别
varchar(8)
学分
smallint
(10)课程表
课序号
varchar(14)
Primarykey
课程编号
varchar(8)
Primarykey
上课时间天
int(4)
不允许空
上课时间节
int(4)
不允许空
上课地点
varchar(20)
不允许空
(11)选课表
学号
varchar(14)
Primarykey
课程编号
varchar(8)
Primarykey
课序号
varchar(14)
5数据库实现
5.1创建数据库
打开SQLServer企业管理器,新建一个数据库,名称为“教务管理系统”,完成数据库的设计。
5.2创建数据表
(1)班级表
(2)成绩表
8、铁生锈的原因是什么?
人们怎样防止铁生锈?
(3)费用表
21、血液中的细胞好像运输兵,负责运输吸入的氧气和产生的二氧化碳。
(4)课程信息表
25、意大利的科学家伽利略发明了望远镜,天文学家的“第三只眼”是天文望远镜,可以分为光学望远镜和射电望远镜两种。
1、焚烧处理垃圾的优缺点是什么?
(5)学生表
答:
当月球运行到地球和太阳的中间,如果月球挡住了太阳射向地球的光,便发生日食。
答:
我们在水中可发现变形虫、鼓藻、草履虫、船形硅藻等。
5.3创建索引
1、说说你身边物质变化的例子。
学生表按学号升序建唯一索引
CREATEUNIQUEINDEX学生学号ON学生(学号)
答:
连接北斗七星勺形前端的两颗星,并将连线向勺口方延长约5倍远,处于此位置的那颗星就是北极星。
课程信息表按课程编号升序建唯一索引
1、世界是由物质构成的。
我们身边的书、橡皮、电灯、大树、动物、植物包括我们自己都是由物质构成的。
CREATEUNIQUEINDEX课程编号引ON课程信息(课程编号)
答:
如水资源缺乏,全球气候变暖,生物品种咖快灭绝,地球臭氧层受到破坏,土地荒漠化等世界性的环境问题。
选课表按学号升序和课程编号按降序建唯一索引
CREATEUNIQUEINDEX选课引ON选课(学号ASC,课程编号DESC)
成绩表按成绩降序排列建立索引
CREATECLUSTERINDEX成绩降序ON成绩表(成绩DESC)
5.4创建视图
5.4.1定义视图
建立数理系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有该系的学生。
CREATEVIEWCS(SNO,SNAME,SSEX,AGE)
AS
SELECT学号,姓名,性别,年龄
FROM学生
WHERE所在系=’数理’
WITHCHECKOPTION
5.4.2查询视图
查询数理视图中学号为200903的学生的姓名、年龄及学号。
SELECTSNAME,AGE,SNO
FROMCS
WHERESNO=’200903’
5.5创建存储过程与触发器
5.5.1存储过程
在数据库中,创建一个名为IR的存储过程,该过程的功能是向学生表中插入一条记录,信记录由参数提供。
CREATEPROCEDUREIR
(@学号varchar(14),
@姓名varchar(8)
@性别varchar(8)
@年龄smallint
@所在系varchar(14)
@班级编号varchar
(2)
@政治面貌编号varchar
(2)
@民族编号varchar
(2)
@籍贯编号varchar
(2)
@学籍编号varchar
(2)
)
AS
INSERTINTO学生VALUES(@学号,@姓名,@性别,@年龄,@所在系,@班级编号,@政治面貌编号,@民族编号,@籍贯编号,@学籍编号)
execIR
@学号='200906',
@姓名='张飞',
@性别='女',
@年龄='22',
@所在系='计算机',
@班级编号='1',
@政治面貌编号='0',
@民族编号='1',
@籍贯编号='0',
@学籍编号='0'
5.5.2触发器
创建一个触发器,当向学生表中插入一条记录时,自动显示学生表中的记录。
CREATETRIGGERch
on学生
FORINSERT
AS
SELECT*FROM学生
6系统测试
6.1数据查询
(1)查询学号为200903同学所缴纳的总费用
(2)查询选修02号课程且成绩在80分以上的学生
(3)查询学号为200901的同学的上课地点都在哪里
6.2数据更新
插入一条学生记录
INSERT
INTO学生
VALUES(‘200905’,’杨一涛’,’男’,’22’,’计算机’,’2’,’1’,’1’,’0’,’0’)
7课程设计总结
通过这次对数据库的课程设计,不仅仅让我对所学的知识有了更深一步的掌握及理解,同时也得到了很多有用的发现及认识,大体有一下几个方面。
首先,设计始终应带着面向对象的思想去设计,这是设计的基本原则。
对象的抽取应该符合真实性和抽象性,不能将对象强制抽取合并。
其次,在数据设计中,数据的使用率和冗余应该是设计考虑的通用标准。
对外键的认识不能停留在表面,它代表了一对多的关系,它在真实的实体之间也能体现这关系的。
最后,虽然目前我们的数据库设计模式能够满足开发要求,也节省了开发时间,但是这样的设计会对以后工程项目的维护、改版造成成本上的增加。
数据库表的字段在修改上将对主程序造成影响;另外对于开发和维护人员来说,字段的编码也需要规范化,这样可以统一字段编码,让维护人员一看就懂,增添的字段对以后接手项目的人员来说则很容易上手。
参考文献
[1]望珊,萨师煊.数据库系统概论[M].北京:
高等教育出版社, 2006.5:
75-83
[2]范立南,刘天惠等.SQLServer2000实用教程[M].北京:
清华大学出版社,2004.02:
47-138
[3]ThomasM.Connolly,CarolynE.Begg.数据库设计教程[M].北京:
机械工业出版社,2005.1:
1-49
附录:
(1)创建“班级”数据表
CREATETABLE班级
(班级编号VARCHAR(14)NOTNULL,
年级VARCHAR(4),
班级名称VARCHAR(30),
班级简称VARCHAR(16),
人数NUMERIC(3,0),
导员VARCHAR(8))
(2)创建“学生”数据表
CREATETABLE学生
(学号VARCHAR(14)NOTNULL,
姓名VARCHAR(8),
性别VARCHAR
(2),
年龄SMALLINT,
所在系VARCHAR(20),
班级编号VARCHAR(14),
政治面貌编号VARCHAR
(2),
民族编号VARCHAR
(2),
籍贯编号VARCHAR
(2),
学籍编号VARCHAR
(2))
(3)创建“课程信息”数据表
CREATETABLE课程信息
(课程编号VARCHAR(8)NOTNULL,
课程名称VARCHAR(30)NOTNULL,
先修课VARCHAR(30),
教师VARCHAR(8),
系别VARCHAR(20),
学分SMALLINT)
(4)创建“课程表”数据表
CREATETABLE课程表
(课序号VARCHAR(14)NOTNULL,
课程编号VARCHAR(8)NOTNULL,
上课时间天INTNOTNULL,
上课时间节INTNOTNULL,
上课地点VARCHAR(20)NOTNULL)
(5)创建“成绩表”数据表
CREATETABLE成绩表
(学号VARCHAR(14)NOTNULL,
课程编号VARCHAR(8)NOTNULL,
成绩SMALLINT,
考试次数SMALLINT,
是否补修VARCHAR
(2),
是否重考VARCHAR
(2),
是否已经确定考试成绩VARCHAR
(2))
(6)创建“费用”数据表
CREATETABLE费用
(费用单号VARCHAR(14)NOTNULL,
学号VARCHAR(14)NOTNULL,
学费MONEY,
住宿费MONEY,
课本费MONEY,
杂费MONEY,
补考费MONEY)
(7)创建“选课”数据表
CREATETABLE选课
(学号VARCHAR(14)NOTNULL,
课程编号VARCHAR(8)NOTNULL,
课序号VARCHAR(14)NOTNULL,)
(8)创建其他关键数据表
CREATETABLE政治面貌代码表
(政治面貌编号CHAR
(2)NOTNULL,
政治面貌VARCHAR(14))
GO
CREATETABLE民族代码表
(民族编号CHAR
(2)NOTNULL,
民族VARCHAR(18))
GO
CREATETABLE学籍代码表
(学籍编号CHAR
(2)NOTNULL,
学籍名称VARCHAR(8))
GO
CREATETABLE籍贯代码表
(籍贯编号CHAR
(2)NOTNULL,
籍贯VARCHAR(18))
GO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 教务 管理 系统