数据库高校教务管理系统.docx
《数据库高校教务管理系统.docx》由会员分享,可在线阅读,更多相关《数据库高校教务管理系统.docx(35页珍藏版)》请在冰点文库上搜索。
数据库高校教务管理系统
题目高校教务管理系统
学生姓名xxxxxx
学号xxxxxxxxxxxx
专业班级xxxxxxxxxxxxxxxxxxxxx
一、问题分析-------------------------------------------------------------------3
1、设计背景------------------------------------------------------------------3
2、运行环境------------------------------------------------------------------3
二、需求分析---------------------------------------------------------------------3
1、用户需求------------------------------------------------------------------4
2、系统主要功能------------------------------------------------------------4
3、系统总框架图------------------------------------------------------------6
三、结构设计---------------------------------------------------------------------6
1、数据字典------------------------------------------------------------------6
2、概念结构设计E-R图-------------------------------------------------12
四、系统代码实现(PowerBuilder环境)---------------------------------15
1、SQLServer2008创建表格代码--------------------------------------15
2、PowerBuilder环境数据库连接代码---------------------------------22
3、运行结果-----------------------------------------------------------------24
一、问题分析
1、设计背景
教务管理系统是高等学校教育工作的一项重要内容,是整个学校学校管理的核心和基础。
教务管理工作是指学校管理人员按照一定的教育方针,运用先进的管理手段,组织、协调,指挥和指导各方面人员的活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。
教务管理工作是学校教学工作的中枢,是保证高等教学机制正常运转的枢纽,它是一项目的性、计划性、适应性、创造性和科学性很强的工作。
教务管理工作关系到高等教学秩序的稳定和教学质量的提高,关系到搞笑的发展和人才的培养,教学管理在高校中占有相当重要的地位。
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统的教务管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
同时,运用先进的信息技术,开发高校综合教务管理系统,是深化教务体制改革的有力措施。
要全面理解高校教务管理系统的需求,首先需要了解高校教务管理的内容、方法和流程等知识。
2、运行环境
本学生学籍管理系统(数据库系统)的开发与运行环境如下:
开发环境:
Windows7
辅助工具:
SQLServer2008
数据库管理系统:
PowerBuilder9.0
运行环境:
Windows7/xp
二、需求分析
进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。
目的是为教务管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。
作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
1、用户需求
本系统是针对高等院校的教务管理系统,因此教务管理系统的用户包括学生和课程。
主要涉及系部信息、班级信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。
实现的具体功能如下:
●基础维护:
1、班级信息维护
2、学生信息维护
3、课程信息维护
●教学管理:
1、学生选课管理
2、课表查询
3、成绩输入
●报表打印——打印成绩单
以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。
2、系统主要功能
(1)班级信息维护界面
能够完成学校各个班级所有基本信息的输人登记,所有班级信息的修改、插人、删除等工作。
可以按照特定的信息进行查找,并按照特定的要求进行排序。
提供一定的帮助文件和系统维护功能。
(2)学生信息维护界面
能够完成学生所有基本信息的输人登记,所有学生信息的修改、插人、删除等工作。
可以按照特定的信息进行查找,并按照特定的要求进行排序。
提供一定的帮助文件和系统维护功能。
(3)课程信息维护界面
能够完成学校不同专业课程信息的录入,包括任课老师的信息。
还可以对课程信息进行修改、删除等操作。
可以按照课程编号、课程名称、拼音码进行查询,相应的课程的信息会出现在窗口界面。
(3)学生选课界面
此部分的功能如下:
学生根据自己的学号、姓名、年级进行选课。
可以通过课程拼音、课程名称、课程编号和课程序号对课程信息进行查询,然后会出现所选课程的基本信息。
通过该界面既可以实现选课功能,还可以实现删课功能。
(4)课表查询界面
学生根据自己的学号、姓名、年级进行选课可以查到自己所选课程的详细上课时间。
(5)学生成绩输入界面
当选课结束时,教师可以根据课程编号查询其所教授的课程,然后给学生输入一定的成绩,然后提交。
(6)打印成绩单界面
可以根据学号打印学生相应的成绩。
由于数据库内的信息会很多,注意数据库表格设计,使得学生查询基本信息或学习成绩时使用时间较短。
按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计。
3、系统总框架图
三、结构设计
1、数据字典
(1)数据项
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,教务管理的主要数据见下表。
班级信息表
成绩表
籍贯代码表
课程表
课程信息表
民族代码表
选课表
学籍代码表
学生信息
政治面貌代码表
(2)数据结构
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。
经过数据项和用户需求的分析,我对本系统一共分了5个组,具体如下表所示:
数据结构名
含义说明
组成部分
班级信息
描述班级基本信息
班级编号+年级+班级名称+班级简称+人数+班主任
学生信息
描述学生基本信息
学号+姓名+班级编号+性别+年级+政治面貌+
民族编号+籍贯编号+省份证号+学籍编号
课程信息
描述学校课程的基本信息
课程编号+课程名称+课程简称+拼音码+本学期课程+教师+开课系别
学生选课
学生的信息和选课的课程信息
学号+课序号+课程名称+教师+开课系别+上课时间+上课时间
(3)数据流
系统流程图:
数据流是数据结构在系统内传输的路径。
通过对用户的需求分析,以及数据项和数据流的设计,得出了相应的数据流描述如下表所示:
数据流定义表
编号
数据流名
组成
流量
备注
01
班级信息
班级编号+年级+班级名称+班级简称+人数+班主任
大
班级基本信息
02
学生信息
学号+姓名+班级编号+性别+年级+政治面貌+
民族编号+籍贯编号+省份证号+学籍编号
大
学生详细信息
03
课程信息
课程编号+课程名称+课程简称+拼音码+本学期课程+教师+开课系别
大
课程详细信息
04
课程表信息
学号+姓名+班级+课程名称
大
课程表信息
05
成绩输入
学生成绩+课程编号+课程名称+学号+姓名
大
学生成绩信息
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
经过数据项、数据结构和数据流的设计,本系统一共选用了三个数据存储,具体对数据存储的描述通常如下表所示:
数据存储
编号
数据存储名
输入数据流
输出数据流
数据量
存取方式
A1
班级基本信息
大
批处理、顺序检索
A2
学生基本信息
大
批处理、顺序检索
A3
学生成绩单
大
批处理、更新、顺序检索
处理过程的具体处理逻辑一般用判定表或判定树来描述。
对于本系统用于高校教务管理系统一共设计了三种处理方法,具体处理方式如下表所示:
处理过程
编号
名称
输入数据流
输出数据流
备注
B1
插入修改
01,02,03
01,02,03
插入学生信息信息
B2
更新修改
01,02,03
01,02,03
更新学生信息信息
B3
删除修改
01,02,03
01,02,03
删除学生信息信息
2、概念结构设计的E-R图
图3-1学生实体E-R图
图3-2课程信息实体E-R图
图3-3选课表实体E-R图
图3-4课程表实体E-R图
图3-5成绩表实体E-R图
在基础维护系统中存在这样的关系:
学习(一个学生只能在一个班级学习,而一个班级可以供多个学生学习,故是多对一的关系)。
图3-5学生关系E-R图
在教学管理中存在这样的关系:
选课(一个学生可以选择多门课程,而一门课程可以供多个学生选择,故是多对多的关系)
图3-6选课关系E-R图
3.对于报表统计,我们可以将成绩单实体抽象出来。
图3-7课程实体E-R图
以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体的E-R图:
图3-8学籍管理系统E-R图
四、系统代码实现(PowerBuilder环境)
1、SQLServer2008创建表格代码
(1)建立班级信息表格:
CREATETABLE[dbo].[班级信息](
[班级编号][varchar](14)NOTNULL,
[年级][varchar](4)NULL,
[班级名称][varchar](30)NULL,
[班级简称][varchar](16)NULL,
[人数][numeric](3,0)NULL,
[班主任][varchar](8)NULL,
CONSTRAINT[PK_班级信息]PRIMARYKEYCLUSTERED
(
[班级编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(2)建立成绩表格:
CREATETABLE[dbo].[成绩表](
[编号][int]IDENTITY(1,1)NOTNULL,
[学号][varchar](14)NOTNULL,
[课程编号][int]NOTNULL,
[成绩][int]NOTNULL,
[考试次数][int]NULL,
[是否补修][varchar]
(2)NULL,
[是否重考][varchar]
(2)NULL,
[是否已确定成绩][varchar]
(2)NULL,
CONSTRAINT[PK_成绩表]PRIMARYKEYCLUSTERED
(
[编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(3)建立籍贯代码表格:
CREATETABLE[dbo].[籍贯代码表](
[籍贯编号][varchar]
(2)NOTNULL,
[籍贯][varchar](18)NULL,
CONSTRAINT[PK_籍贯代码表]PRIMARYKEYCLUSTERED
(
[籍贯编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(4)建立课程表格:
CREATETABLE[dbo].[课程表](
[编号][int]IDENTITY(1,1)NOTNULL,
[课序号][varchar](14)NOTNULL,
[课程编号][int]NOTNULL,
[上课时间天][int]NOTNULL,
[上课时间节][int]NOTNULL,
[上课地点][varchar](20)NOTNULL,
CONSTRAINT[PK_课程表]PRIMARYKEYCLUSTERED
(
[编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(5)建立课程信息表格:
CREATETABLE[dbo].[课程信息](
[课程编号][int]NOTNULL,
[课程名称][char](40)NOTNULL,
[课程简称][char](40)NOTNULL,
[拼音码][char](6)NULL,
[本学期课程][char]
(2)NOTNULL,
[教师][char](10)NULL,
[开课系别][char](30)NULL,
[学分][int]NULL,
CONSTRAINT[PK_课程信息]PRIMARYKEYCLUSTERED
(
[课程编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(6)建立民族代码表格:
CREATETABLE[dbo].[民族代码表](
[民族编号][varchar]
(2)NOTNULL,
[民族][varchar](18)NULL,
CONSTRAINT[PK_民族代码表]PRIMARYKEYCLUSTERED
(
[民族编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(7)建立选课表格:
CREATETABLE[dbo].[选课表](
[编号][int]IDENTITY(1,1)NOTNULL,
[学号][varchar](14)NOTNULL,
[课序号][varchar](14)NOTNULL,
CONSTRAINT[PK_选课表]PRIMARYKEYCLUSTERED
(
[编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(8)建立学籍代码表格:
CREATETABLE[dbo].[学籍代码表](
[学籍编号][varchar]
(2)NOTNULL,
[学籍名称][varchar](8)NULL,
CONSTRAINT[PK_学籍代码表]PRIMARYKEYCLUSTERED
(
[学籍编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(8)建立学生信息表格:
CREATETABLE[dbo].[学生信息](
[学号][varchar](14)NOTNULL,
[姓名][varchar](8)NULL,
[班级编号][varchar](14)NULL,
[性别][varchar]
(2)NULL,
[年级][int]NULL,
[政治面貌编号][varchar]
(2)NULL,
[民族编号][varchar]
(2)NOTNULL,
[籍贯编号][varchar]
(2)NOTNULL,
[身份证号][varchar](15)NULL,
[学籍编号][varchar]
(2)NOTNULL,
CONSTRAINT[PK_学生信息]PRIMARYKEYCLUSTERED
(
[学号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(9)建立政治面貌代码表格:
CREATETABLE[dbo].[政治面貌代码表](
[政治面貌编号][varchar]
(2)NOTNULL,
[政治面貌][varchar](14)NULL,
CONSTRAINT[PK_政治面貌代码表]PRIMARYKEYCLUSTERED
(
[政治面貌编号]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
(10)创建主键及外键等表的约束
ALTERTABLE[dbo].[学生信息]WITHNOCHECKADD
CONSTRAINT[PK_学生信息]PRIMARYKEYCLUSTERED
(
[学号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[学籍代码表]WITHNOCHECKADD
CONSTRAINT[PK_学籍代码表]PRIMARYKEYCLUSTERED
(
[学籍编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[成绩表]WITHNOCHECKADD
CONSTRAINT[PK_成绩表]PRIMARYKEYCLUSTERED
(
[编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[政治面貌代码表]WITHNOCHECKADD
CONSTRAINT[PK_政治面貌代码表]PRIMARYKEYCLUSTERED
(
[政治面貌编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[民族代码表]WITHNOCHECKADD
CONSTRAINT[PK_民族代码表]PRIMARYKEYCLUSTERED
(
[民族编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[班级信息]WITHNOCHECKADD
CONSTRAINT[PK_班级信息]PRIMARYKEYCLUSTERED
(
[班级编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[籍贯代码表]WITHNOCHECKADD
CONSTRAINT[PK_籍贯代码表]PRIMARYKEYCLUSTERED
(
[籍贯编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[课程信息]WITHNOCHECKADD
CONSTRAINT[PK_课程信息]PRIMARYKEYCLUSTERED
(
[课程编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[课程表]WITHNOCHECKADD
CONSTRAINT[PK_课程表]PRIMARYKEYCLUSTERED
(
[编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[选课表]WITHNOCHECKADD
CONSTRAINT[PK_选课表]PRIMARYKEYCLUSTERED
(
[编号]
)ON[PRIMARY]
GO
ALTERTABLE[dbo].[成绩表]ADD
CONSTRAINT[DF_成绩表_成绩]DEFAULT(0)FOR[成绩]
GO
ALTERTABLE[dbo].[学生信息]ADD
CONSTRAINT[FK_学生信息_班级信息]FOREIGNKEY
(
[班级编号]
)REFER