数据库-高校教务管理系统(优.选)_第1页
数据库-高校教务管理系统(优.选)_第2页
数据库-高校教务管理系统(优.选)_第3页
数据库-高校教务管理系统(优.选)_第4页
数据库-高校教务管理系统(优.选)_第5页
已阅读5页,还剩28页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、题 目 学生姓名 XXXXXX 学 号 XXXXXXXXXXXX 专业班级 XXXXXXXXXXXXXXXXXXXXX目录一、问题分析 31、设计背景 32、运行环境 3二、需求分析 31、用户需求 42、系统主要功能 43、系统总框架图 6三、结构设计 61、数据字典 62、概念结构设计 E-R 图12四、系统代码实现 ( PowerBuilder 环境)151、SQL Server 2008 创建表格代码 152、PowerBuilder 环境数据库连接代码 223、运行结果 24、问题分析1、设计背景教务管理系统是高等学校教育工作的一项重要内容, 是整个学校学校管理的 核心和基础。 教务

2、管理工作是指学校管理人员按照一定的教育方针, 运用先进的 管理手段,组织、协调,指挥和指导各方面人员的活动,以便高效率、高质量地 完成各项教学任务, 完成国家所制定的教育目标。 教务管理工作是学校教学工作 的中枢,是保证高等教学机制正常运转的枢纽,它是一项目的性、计划性、适应 性、创造性和科学性很强的工作。 教务管理工作关系到高等教学秩序的稳定和教 学质量的提高, 关系到搞笑的发展和人才的培养, 教学管理在高校中占有相当重 要的地位。随着计算机技术的飞速发展和高等教育体制改革的不断深入, 传统的教务管 理方法、手段以及工作效率已不能适应新的发展需要, 无法很好地完成教学管理 工作。提高教务管理

3、水平的主要途径是更新管理者的思想, 增强对管理活动的科 学认识。同时,运用先进的信息技术,开发高校综合教务管理系统,是深化教务 体制改革的有力措施。要全面理解高校教务管理系统的需求,首先需要了解高校教务管理的内容、 方法和流程等知识。2、运行环境 本学生学籍管理系统(数据库系统)的开发与运行环境如下: 开发环境: Windows 7 辅助工具: SQL Server 2008 数据库管理系统: PowerBuilder 9.0 运行环境: Windows 7/xp二、需求分析进行数据库设计首先必须准确了解也分析用户需求 (包括数据和处理) 。目 的是为教务管理数据库系统的设计打下牢牢的基础,

4、是数据库开发的重要文件依 据,主要为数据库设计人员使用, 是用户和系统分析员的项目依据文件。 作为“地 基”的需求分析是否做得充分与准确, 它决定了在其上构建数据库大厦的速度和 质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。1、用户需求本系统是针对高等院校的教务管理系统, 因此教务管理系统的用户包括学生 和课程。主要涉及系部信息、班级信息、学生信息、课程信息以及选课记录和成 绩等多种数据信息。实现的具体功能如下:基础维护:1、班级信息维护2、学生信息维护3、课程信息维护教学管理:1、学生选课管理2、课表查询3、成绩输入报表打印 打印成绩单 以上是用户对系统的基本的功能要求,此外用户

5、还要求系统的效率要 高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。2、系统主要功能(1) 班级信息维护界面 能够完成学校各个班级所有基本信息的输人登记,所有班级信息的修 改、插人、删除等工作。可以按照特定的信息进行查找,并按照特定的要求进行排序。提供一定的帮助文件和系统维护功能。(2) 学生信息维护界面 能够完成学生所有基本信息的输人登记,所有学生信息的修改、插人、 删除等工作。可以按照特定的信息进行查找,并按照特定的要求进行排序。 提供一定的帮助文件和系统维护功能。(3) 课程信息维护界面 能够完成学校不同专业课程信息的录入,包括任课老师的信息。还可以 对课程信息进行修改、删

6、除等操作。可以按照课程编号、课程名称、拼音码进行查询,相应的课程的信息会 出现在窗口界面。(3) 学生选课界面 此部分的功能如下: 学生根据自己的学号、姓名、年级进行选课。 可以通过课程拼音、课程名称、课程编号和课程序号对课程信息进行查 询,然后会出现所选课程的基本信息。通过该界面既可以实现选课功能,还可以实现删课功能。(4) 课表查询界面 学生根据自己的学号、姓名、年级进行选课可以查到自己所选课程的详 细上课时间。(5) 学生成绩输入界面 当选课结束时,教师可以根据课程编号查询其所教授的课程,然后给学 生输入一定的成绩,然后提交。(6) 打印成绩单界面 可以根据学号打印学生相应的成绩。由于数

7、据库内的信息会很多,注意数据库表格设计,使得学生查询基本信息或学习成绩时使用时间较短。按照数据库系统开发步骤进行数据库概念结构设 计、逻辑结构设计、物理结构设计。3、系统总框架图三、结构设计1、数据字典(1)数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析 所获得的主要成果,数据字典是对系统所用到的所有表结构的描述, 教务管理的 主要数据见下表。ZUOVANG-HP.eisbcok - Tba.班圾f言息列名數据类型,”t! S!S ! H ! B S 班级編号j v archar(14侖varchar(4)班舉名祢vaKharf3Q)班靈简称vacchartlfej人

8、数nuTieric(3r 0)班主任varchar(8班级信息表ZUOYANG-HP.iook -日bd成畀 QYANG-HP.isboQk - dbu数需类型允祥NJffl用3?Sint学号varchar(lB课程编号intintB考何灰勘int是否补絵vanchar(2)昱舌重考V3nchaf(2E是哥已晞定成摘vanchait?H成绩表ZUOANG-HP.ei sbeok - dbo.霜要代闱表列容数据类型允1午创值昭籐鑑昌_J varchar(2)黠贯varcharflS)n籍贯代码表ZUOYANG-HP.eisbQDk -ZU0YANak -柏心民族代码表_ 歹馆_魏搦类型允许Nul

9、l 11喘尿躍?昌varcharCnReSvarchar(ia民族代码表ZUO YANG-HP.ek book - dbo.选课晝|列容数1B类型允许值Irrt学号vencha(w)课韩号varchar(14)选课表ZUOYANG-HRjttlsbookrg学轄代首表教揚类型允许剛值*锻理君V3rrhar(2jB学藉瞥称vairher(8)匣_1 n n学籍代码表2UCVANG-HP.eibo&k -数桶类型允许Nul值vanchartl-l)nwcharQh班级编号varchar(14)B性别vanchar(2E毎级int政洽面貌骗号vanthar(2)民庶編号vanliaitij曙贯漏号v

10、arthar(n身份证号vanhartlS)匣学籍漏号varcliflrC2)B n学生信息(2) 数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。 经过数据项和用户需求的分析,我对本系统一共分了 5个组,具体如下表所示:数据结构名含义说明组成部分班级信息描述班级基本信息班级编号+年级+班级名称+ 班级简称+人数+班主任学生信息描述学生基本信息学号+姓名+班级编号+性别 +年级+政治面貌+ 民族编号+籍贯编号+省份 证号+学籍编号课程信息描述学校课程的基本信息课程编号+课程名称+课程 简称+拼音码+本学

11、期课程+ 教师+开课系别学生选课学生的信息和选课的课程 信息学号+课序号+课程名称+教 师+开课系别+上课时间+上 课时间(3) 数据流系统流程图:数据流是数据结构在系统内传输的路径。通过对用户的需求分析,以及数据项和数据流的设计,得出了相应的数据流描述如下表所示:数据流定义表编号数据流名组成流量备注01班级信息班级编号+年级+班级名称+班级 简称+人数+班主任大班级基 本信息02学生信息学号+姓名+班级编号+性别+年级 +政治面貌+民族编号+籍贯编号+省份证号+ 学籍编号大学生详 细信息03课程信息课程编号+课程名称+课程简称+ 拼音码+本学期课程+教师+开课 系别大课程详 细信息04课程表

12、信息学号+姓名+班级+课程名称大课程表 信息05成绩输入学生成绩+课程编号+课程名称+ 学号+姓名大学生成 绩信息数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。经 过数据项、数据结构和数据流的设计,本系统一共选用了三个数据存储,具体对 数据存储的描述通常如下表所示:数据存储编号数据存储名输入数据流输出数据流数据量存取方式A1班级基本信息大批处理、顺序检索A2学生基本信息大批处理、顺序检索A3学生成绩单大批处理、更新、顺 序检索处理过程的具体处理逻辑一般用判定表或判定树来描述。对于本系统用于高校教务管理系统一共设计了三种处理方法,具体处理方式如下表所示:处理过程编号名称输入数据

13、流输出数据流备注B1插入修改 01, 02, 03 101, 02, 03插入学生信息信息B2更新修改01, 02, 0301, 02, 03更新学生信息信息B3删除修改01, 02, 0301, 02, 03删除学生信息信息2、概念结构设计的E-R图学生图3-1学生实体E-R图图3-2课程信息实体E-R图图3-3选课表实体E-R图在基础维护系统中存在这样的关系:学习(一个学生只能在一个班级学 习,而一个班级可以供多个学生学习,故是多对一的关系)。图3-5学生关系E-R图在教学管理中存在这样的关系:选课(一个学生可以选择多门课程,而 门课程可以供多个学生选择,故是多对多的关系)图3-6选课关系

14、E-R图3.对于报表统计,我们可以将成绩单实体抽象出来图3-7课程实体E-R图以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描 述,下面是本系统总体的E-R图:E罄代麻_曲一?*0廊怖?E曲帝1图3-8学籍管理系统E-R四、系统代码实现(PowerBuilder环境)1、SQL Server 2008创建表格代码(1) 建立班级信息表格:CREATE TABLE dbo.班级信息(班级编号varchar(14) NOT NULL,年级varchar (4) NULL,班级名称varchar(30) NULL,班级简称varchar ( 16 ) NULL,人数numeric(3,

15、0) NULL,班主任varchar (8) NULL,CONSTRAINT PK_ 班级信息PRIMARY KEY CLUSTERED(班级编号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) 建立成绩表格:CREATE TABLE dbo . 成绩表 ( 编号 int IDENTITY ( 1, 1) NOT NULL, 学号 varchar (

16、14 ) NOT NULL, 课程编号 intNOT NULL, 成绩 intNOTNULL, 考试次数 intNULL, 是否补修 varchar( 2) NULL, 是否重考 varchar( 2) NULL, 是否已确定成绩 varchar ( 2) NULL,CONSTRAINT PK_ 成绩表 PRIMARY KEY CLUSTERED( 编号 ASC) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS =

17、 ON) ON PRIMARY) ON PRIMARY(3) 建立籍贯代码表格:CREATE TABLE dbo . 籍贯代码表 ( 籍贯编号 varchar ( 2) NOT NULL, 籍贯 varchar ( 18 ) NULL,CONSTRAINT PK_ 籍贯代码表 PRIMARY KEY CLUSTERED( 籍贯编号 ASC) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIM

18、ARY) ON PRIMARY4)建立课程表格:CREATE TABLEdbo . 课程表 ( 编号 intIDENTITY ( 1, 1) NOT NULL, 课序号 varchar( 14 ) NOT NULL, 课程编号 intNOT NULL, 上课时间天 intNOT NULL, 上课时间节 intNOT NULL, 上课地点 varchar( 20 ) NOT NULL,CONSTRAINT PK_ 课程表 PRIMARY KEY CLUSTERED ( 编号 ASC= OFF, IGNORE_DUP_KEYON) ON PRIMARY) WITH ( PAD_INDEX = OF

19、F, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS ) ON PRIMARY( 5)建立课程信息表格:CREATE TABLE dbo . 课程信息 ( 课程编号 int NOT NULL, 课程名称 char ( 40) NOT NULL, 课程简称 char ( 40) NOT NULL, 拼音码 char ( 6) NULL, 本学期课程 char ( 2) NOT NULL, 教师 char ( 10 ) NULL, 开课系别 char ( 30) NULL, 学分 int NULL, CONS

20、TRAINT PK_ 课程信息 PRIMARY KEY CLUSTERED( 课程编号 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)建立民族代码表格:CREATE TABLE dbo . 民族代码表 ( 民族编号 varchar ( 2) NOT NULL, 民族 varchar ( 18 ) NULL,CONSTRAINT PK_ 民族

21、代码表 PRIMARY KEY CLUSTERED 民族编号 ASC) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS ) ON PRIMARY= OFF, IGNORE_DUP_KEY= ON) ON PRIMARY(7) 建立选课表格:CREATE TABLE dbo . 选课表 ( 编号 int IDENTITY ( 1, 1) NOT NULL, 学号 varchar ( 14 ) NOT NULL, 课序号 varchar ( 14 ) NOT N

22、ULL,CONSTRAINT PK_ 选课表 PRIMARY KEY CLUSTERED( 编号 ASC) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS= OFF, IGNORE_DUP_KEY = ON) ON PRIMARY) ON PRIMARY(8) 建立学籍代码表格:CREATE TABLE dbo . 学籍代码表 ( 学籍编号 varchar ( 2) NOT NULL, 学籍名称 varchar ( 8) NULL,CONSTRAINT PK

23、_ 学籍代码表 PRIMARY KEY CLUSTERED( 学籍编号 ASC) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEYOFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKSON) ON PRIMARY) ON PRIMARY (8)建立学生信息表格: CREATE TABLE dbo 学号 varchar 姓名 varchar 班级编 性别 varchar 年级 int 政治面貌编 民族编号 籍贯编号 身份证号 学籍编号CONSTRAINT(. 学生信息 ( (

24、14 ) NOT NULL, (8) 号 varchar(2) NULL, 号 varchar varchar varchar varchar varchar PK_ 学生信息NULL,( 14 ) NULL,NULL,(2)(2) ( 15 )(2)( 2) NULL,NOT NULL,NOT NULL, NULL,NOT NULL,PRIMARY KEY CLUSTERED 学号 ASC) WITH ( PAD_INDEX = OFF, = OFF, ALLOW_ROW_LOCKSSTATISTICS_NORECOMPUTE= ON, ALLOW_PAGE_LOCKS= OFF, IGNO

25、RE_DUP_KEY= ON) ON PRIMARY) ON PRIMARY(9) 建立政治面貌代码表格:CREATE TABLE dbo . 政治面貌代码表 ( 政治面貌编号 varchar ( 2) NOT NULL, 政治面貌 varchar ( 14 ) NULL,CONSTRAINT PK_ 政治面貌代码表 PRIMARY KEY CLUSTERED( 政治面貌编号 ASC) WITH ( PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_P

26、AGE_LOCKS = ON) ON PRIMARY) ON PRIMARY(10) 创建主键及外键等表的约束ALTER TABLE dbo . 学生信息 WITH NOCHECK ADDCONSTRAINT PK_ 学生信息 PRIMARY KEY CLUSTERED( 学号 ) ON PRIMARYGOALTER TABLE dbo . 学籍代码表 WITH NOCHECK ADDCONSTRAINT PK_ 学籍代码表 PRIMARY KEY CLUSTERED( 学籍编号 ) ON PRIMARYGOALTER TABLE dbo . 成绩表 WITH NOCHECK ADD CONS

27、TRAINT PK_ 成绩表 PRIMARY KEY CLUSTERED ( 编号 ) ON PRIMARYGOALTER TABLE dbo . 政治面貌代码表 WITH NOCHECK ADD CONSTRAINT PK_ 政治面貌代码表 PRIMARY KEY CLUSTERED ( 政治面貌编号 ) ON PRIMARYGOALTER TABLE dbo . 民族代码表 WITH NOCHECK ADD CONSTRAINT PK_ 民族代码表 PRIMARY KEY CLUSTERED ( 民族编号 ) ON PRIMARYGOALTER TABLE dbo . 班级信息 WITH

28、NOCHECK ADD CONSTRAINT PK_ 班级信息 PRIMARY KEY CLUSTERED ( 班级编号 ) ON PRIMARYGOALTER TABLE dbo . 籍贯代码表 WITH NOCHECK ADD CONSTRAINT PK_ 籍贯代码表 PRIMARY KEY CLUSTERED ( 籍贯编号 ) ON PRIMARYGOALTER TABLE dbo . 课程信息 WITH NOCHECK ADD CONSTRAINT PK_ 课程信息 PRIMARY KEY CLUSTERED ( 课程编号 ) ON PRIMARYGOALTER TABLE dbo .

29、 课程表 WITH NOCHECK ADD CONSTRAINT PK_ 课程表 PRIMARY KEY CLUSTERED ( 编号 ) ON PRIMARYGOALTER TABLE dbo. 选课表 WITH NOCHECK ADDCONSTRAINT PK_ 选课表 PRIMARY KEY CLUSTERED ( 编号 ) ON PRIMARYGOALTER TABLE dbo . 成绩表 ADDCONSTRAINT DF_ 成绩表 _ 成绩 DEFAULT ( 0) FOR 成绩 GOALTER TABLE dbo . 学生信息 ADDCONSTRAINT FK_ 学生信息 _ 班级

30、信息 FOREIGN KEY 班级编号 ) REFERENCES dbo . 班级信息 ( 班级编号 ),CONSTRAINT FK_ 学生信息 _ 籍贯代码表 ( 籍贯编号 ) REFERENCES dbo . 籍贯代码表 ( 籍贯编号 ),CONSTRAINT FK_ 学生信息 _ 民族代码表 ( 民族编号 ) REFERENCES dbo . 民族代码表 ( 民族编号 ),CONSTRAINT FK_ 学生信息 _ 学籍代码表 ( 学籍编号 ) REFERENCES dbo . 学籍代码表 (FOREIGN KEYFOREIGN KEYFOREIGN KEY 学籍编号 ),CONSTRA

31、INT FK_ 学生信息 _ 政治面貌代码表 FOREIGN ( 政治面貌编号 ) REFERENCES dbo . 政治面貌代码表 ( 政治面貌编号 )GOALTER TABLE dbo . 成绩表 ADDCONSTRAINT FK_ 成绩表 _ 课程信息 FOREIGN KEY ( 课程编号 ) REFERENCES dbo . 课程信息 ( 课程编号 ),CONSTRAINT FK_ 成绩表 _ 学生信息 FOREIGN KEY ( 学号 ) REFERENCES dbo . 学生信息 ( 学号 )GOALTER TABLE dbo . 课程表 ADDCONSTRAINT FK_ 课程表

32、 _ 课程信息 FOREIGN KEY ( 课程编号 ) REFERENCES dbo . 课程信息 ( 课程编号 )GO(11)创建存储过程create proc sf_ 成绩提交 courseid int asbegin tran- 提交成绩 , 提交后不可以再修改update 成绩表 set 是否已确定成绩 =Y where 课程编 and 成绩 0commitGOSET QUOTED_IDENTIFIER OFFKEY=courseidGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO create pr

33、oc sf_ 终止选课asbegin tran- 应该单独有一个【终止选课】的功能,终止选课后生成空的成绩单- 所有学生将不允许更改课程信息,如果需要更改,必须单独申请,特殊处理。- 终止选课一学年应该只能进行一次操作 , 实例没有制作开始选课等功能,终止- 选课后在学生选课中仍然可以更改选择的课程。insert into 成绩表 ( 学号 , 课程编号 , 成绩 , 考试次数 , 是否补修 , 是否重考 , 是否已确定 成绩)select distinct a. 学号, b. 课程编号 , 0 , 1 , N , N , N from 选课表 as a, 课程表 as b where a.

34、课序号 =b. 课序号 and rtrim (a. 学号)+ rtrim (b. 课程编号 ) not in( select rtrim ( 学号 )+ rtrim ( 课程编号 ) from 成绩表 )- 因为没有记录选课状态 , 上面的 sql 语句加了判断 , 如果成绩表以有- 改学号 / 课程 , 就不插入 , 实际应用中如果是重复的 , 应该是补修和重考- 的情况 , 应该更改已有信息的这些状态- 还要注意 select 语句加了 distinct 说明 , 因为选课表一个课序号- 一个学号可能有两条记录commitGO2、 PowerBuilder 环境数据库连接代码:forwardglobal type eisbook from applicationend typeglobal transaction sqlcaglobal dynamicdescriptionarea sqlda global dynamicstagingarea sqlsa global error errorglob

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论