学生学籍管理系统数据库系统SQL.doc

上传人:wj 文档编号:1318416 上传时间:2023-04-30 格式:DOC 页数:34 大小:255KB
下载 相关 举报
学生学籍管理系统数据库系统SQL.doc_第1页
第1页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第2页
第2页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第3页
第3页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第4页
第4页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第5页
第5页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第6页
第6页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第7页
第7页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第8页
第8页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第9页
第9页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第10页
第10页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第11页
第11页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第12页
第12页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第13页
第13页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第14页
第14页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第15页
第15页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第16页
第16页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第17页
第17页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第18页
第18页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第19页
第19页 / 共34页
学生学籍管理系统数据库系统SQL.doc_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生学籍管理系统数据库系统SQL.doc

《学生学籍管理系统数据库系统SQL.doc》由会员分享,可在线阅读,更多相关《学生学籍管理系统数据库系统SQL.doc(34页珍藏版)》请在冰点文库上搜索。

学生学籍管理系统数据库系统SQL.doc

学生学籍管理系统(数据库系统)

1设计内容和要求

1.1设计背景

随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。

学生管理正在逐步迈向管理信息现代化。

但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式。

学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。

由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。

面对庞大的信息量,这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。

1.2开发环境

本学生学籍管理系统(数据库系统)的开发与运行环境如下:

开发环境:

WindowsXP

辅助工具:

PowerDesignerTrial11

数据库管理系统:

SQLServer2000

运行环境:

Windows2000/XP/2003

1.3内容和要求

1.3.1系统目标设计

²使得学生的学籍管理工作更加清晰、条理化、自动化。

²很容易地完成新生信息的输入、老生信息的备份、毕业学生的信息可以很容易地保存。

²当学生需要查询成绩时,可以很简单地将其需要的信息从数据库中查找出来并可以打印查询结果。

²随着当今网络技术的发展,提供网络在线查询功能,可以为毕业生提供更多的就业机会。

1.3.2系统功能要求

(1)学生基本信息系统

²能够完成新、老生信息的输人、修改、插人、删除等工作。

²可以按照特定的信息进行查找,并按照特定的要求进行排序。

²可以对老生的信息进行备份,以便日后查询。

²可以对学生的信息进行打印输出。

²提供详细的帮助文件和系统维护功能。

(2)学生成绩管理系统

此部分的功能如下:

²学生成绩的输入、修改、删除等基本操作。

²成绩的综合统计功能,包括学生成绩按照不同条件进行排名。

管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出。

²计算各班的总分和平均分,并按照平均分将各班成绩进行排序。

²统计不及格考生的信息,根据条件确定是重修还是补考。

²学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。

²本系统可以在单机上运行,也可以应用在网络上供在线查询成绩和其他一些学生的信息(此功能选做人提供给学生进行查询的系统和提供给教务处使用的系统,在不同用户使用时,应该会有不同的使用权限。

²提供详细的帮助文件。

由于数据库内的信息会很多,注意数据库表格设计,使得学生查询基本信息或学习成绩时使用时间较短。

按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计。

系统的功能模块设计图如图所示。

图1-1系统功能模块设计图

2需求分析

2.1引言

进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。

目的是为学籍管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。

作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。

需求分析做得不好,甚至会导致整个数据库设计返工重做。

本系统的开发是设计一个学生学籍管理系统(数据库系统)。

2.2用户需求

本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。

主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。

实现的具体功能如下:

l基本信息管理——系统管理员负责对各种基本信息的录入、修改、删除等操作。

l学生成绩管理——系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。

l信息查询统计——学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和获得奖学金学生的信息,最后再输出所有的信息。

l毕业生信息管理——系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。

l系统用户管理——系统管理员负责用不同的权限来限制不同用户对系统的使用。

以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。

2.3划分功能模块

根据系统功能的需求分析和高等院校学籍管理的特点,经过模块化的分析得到如下图1-1所示的系统功能模块结构图。

学籍管理系统

基本信息管理

毕业生信息管理

学生成绩管理

系统用户管理

信息查询统计

基本信息删除

基本信息修改

基本信息录入

学生成绩删除

学生成绩修改

学生成绩录入

修改密码

输出相关信息

统计学生成绩

计算学生成绩

学生成绩查询

基本信息查询

输出名册

审核资格

计算学分

帮助信息

图2-1系统功能模块图

2.4数据字典

2.4.1数据项

数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,学籍管理的主要数据见下表。

表2.1老师基本信息表

序号

字段

别名

数据类型

数据长度

1

tno

学号

char

10

Y

2

tname

姓名

varchar

10

N

3

tsex

性别

Char

2

N

4

profess

职称

varchar

10

N

5

dname

所属院系

varchar

8

N

6

tel

电话

int

N

表2.2学生基本信息表

序号

字段

别名

数据类型

数据长度

1

sno

学号

varchar

10

Y

2

sname

姓名

varchar

10

N

3

ssex

性别

Char

2

N

4

birthday

出生日期

timestamp

20

N

5

symbol

政治面貌

varchar

8

N

6

Id

身份证号

varchar

20

N

7

Intime

入学时间

varchar

20

N

8

birthplace

籍贯

varchar

10

N

9

homeaddr

家庭住址

varchar

30

N

10

postcode

邮政编码

int

N

表2.3专业信息表

序号

字段

别名

数据类型

数据长度

1

mno

专业号

char

10

Y

2

sno

学号

varchar

10

N

3

mname

专业名

char

10

N

4

intime

入学时间

datetime

N

表2.4毕业信息表

序号

字段

别名

数据类型

数据长度

1

gno

毕业证编号

char

10

Y

2

sno

学号

varchar

10

N

3

sname

姓名

varchar

10

N

4

ssex

性别

char

2

N

5

dname

所属院系

varchar

10

N

6

intime

入学时间

datetime

N

7

ycredit

已修学分

float

N

8

xcredit

需修学分

float

N

表2.5院系信息表

序号

字段

别名

数据类型

数据长度

1

dmpno

院系号

varchar

10

Y

2

dname

院系名称

varchar

10

N

3

dmphead

院长名

varchar

20

N

表2.6课程信息表

序号

字段

别名

数据类型

数据长度

1

cno

课程号

varchar

5

Y

2

cname

课程名

varchar

15

N

3

credit

学分

smallint

N

表2.7学生选课信息表

序号

字段

别名

数据类型

数据长度

1

sno

学号

varchar

10

Y

2

cno

课程号

varchar

5

Y

3

grade

成绩

float

N

表2.8老师授课信息表

序号

字段

别名

数据类型

数据长度

1

cno

课程号

varchar

5

Y

2

tno

教工号

char

10

Y

3

ctime

课时

smallint

N

2.4.2数据结构

数据结构反映了数据之间的组合关系。

一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。

经过数据项和用户需求的分析,我对本系统一共分了5个组,具体如下表所示:

表2.9数据结构表

数据结构名

含义说明

组成部分

学生基本信息管理

描述学生基本信息

学号+姓名+性别+出生日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码+民族

老师基本信息管理

描述老师基本信息

教工号+姓名+性别+职称+所属院系+电话

学生、老师相关信息管理

描述学生选课信息,毕业信息,专业、院系信息,老师授课信息,院系信息

学号+课程号+成绩

课程号+教工号

毕业证编号+学号+姓名+性别+身份证号+所属院系+入学时间+已修学分+需修学分

学生成绩管理

描述学生平均成绩、总成绩的计算,统计相关信息

学号+课程号+成绩

系统管理

描述用户修改密码,帮助信息

2.4.3数据流

数据流是数据结构在系统内传输的路径。

通过对用户的需求分析,以及数据项和数据流的设计,得出了相应的数据流描述如下表所示:

1、数据流定义表

表2.10数据流定义表

编号

数据流名

组成

流量

备注

01

学生信息

学号+姓名+性别+出生日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+邮政编码+民族

学生基本信息

02

教师信息

教工号+姓名+性别+职称+所属院系+电话

一般

教师基本信息

03

学生成绩

学号+姓名+性别+学号+课程号+成绩

学生详细信息

04

科目成绩

学号+课程号+成绩

学生考试成绩

05

各门成绩

学号+课程号+成绩

课程号+课程名+学分

同上

06

查询结果

科目成绩+各门成绩

各种信息

07

统计分析

科目成绩+各门成绩

学生奖励

2、外部项定义表

表2.11外部项定义表

编号

名称

输入数据流

输出数据流

备注

1

学生处

01

主要用于录入学生信息

2

学生

06

主要用语学生查询信息和成绩

3

老师

03

主要用于老师提交成绩

4

教务员

06/07

主要用于输出查询和统计信息的结果

2.4.4数据存储

数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。

经过数据项、数据结构和数据流的设计,本系统一共选用了三个数据存储,具体对数据存储的描述通常如下表所示:

表2.12数据存储表

编号

数据存储名

输入数据流

输出数据流

数据量

存取方式

A1

学生相关信息

01

批处理、顺序检索

A2

教师相关信息

03

02

一般

批处理、顺序检索

A3

学生成绩单

06,07

批处理、更新、顺序检索

2.4.5处理过程

处理过程的具体处理逻辑一般用判定表或判定树来描述。

对于本系统用于学生学籍管理一共设计了四种处理方法,具体处理方式如下表所示:

表2.13数据处理过程表

编号

名称

输入数据流

输出数据流

备注

B1

插入修改

01,02,03

01,02,03

插入学生信息和老师信息

B2

更新修改

01,02,03

01,02,03

更新学生信息和老师信息

B3

删除修改

01,02,03

01,02,03

删除学生信息和老师信息

B4

统计分析

05,06

05,06

统计学生信息和成绩

3概念结构设计

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型。

3.1数据流图

数据流图表达了数据和处理的关系,根据用户的需求分析和高校学籍管理系统的需求,得出如下图1-1所示的学籍管理数据流图。

学生

教师

管理员

学生记录

成绩

毕业

送进信息

录入

查询

计算

统计

更新

录入

新生?

学生信息

批准?

成绩单

批准?

核对信息

学生名单

提交申请

审核信息

合格

图3-1学籍管理系统数据流图

3.2系统E-R图

1.对于学生信息管理,我们可以将学生实体抽象出来,学生属于学院可以将学院作为一个实体,学生所属专业和毕业信息都将可以作为一个实体。

图3-2学生实体E-R图

图3-3院系实体E-R图

图3-4专业实体E-R图

图3-5毕业实体E-R图

在学生信息管理中存在这样的关系:

选择(一个学生只能选择一个专业,而一个专业可以供多个学生选择,故是多对一的关系)、学习(一个学生只能在一个院系学习,而一个院系可以供多个学生学习,故是多对一的关系)。

图3-6学生关系E-R图

2.对于老师信息管理,我们可以将老师实体抽象出来,老师属于学院可以将学院作为一个实体。

图3-7老师实体E-R图

在老师信息管理中存在这样的关系:

拥有(一个老师只能在一个院系工作,而一个院系可以供多个多个老师工作,故是多对一的关系)。

图3-8老师关系E-R图

3.对于教务信息管理,我们可以将课程实体抽象出来。

图3-9课程实体E-R图

在教务信息管理中存在这样的关系:

毕业(一个学生拥有一个毕业信息,而一个毕业信息只属于一个学生,故是一对一的关系)、选修(一个学生可以选修多门课程,而一门课程可以被多个学生选修,故是多对多的关系)、开设(一个专业可以开设多门课程,而一门课程可以被多个专业选择,故是多对多的关系)、授课(一门课程可以被多个老师讲授,而一个老师可以讲授多门课程,故是多对多的关系)。

图3-10教务关系E-R图

以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体的E-R图:

图3-11学籍管理系统E-R图

3.3概念模型

概念模型是在对用户需求分析之后,通过画出本系统抽象出的E-R图,由概念模型辅助工具PowerDesigner11进行设计,通过具体地设置和绘图,最后就形成了如下所示的概念模型图,生成的概念结构就能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。

图3-12学籍管理系统概念模型图

4逻辑结构设计

逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

设计逻辑结构一般分为3步进行:

(1)将概念结构转换为一般的关系、网状、层次模型;

(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

(3)对数据模型进行优化。

4.1关系模型

将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:

一个实体型转换为一个关系模式。

实体的属性就是关系的属性,实体的码就是关系的码。

对于实体型间的联系则有以下不同的情况:

(1)一个1:

1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。

如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。

(2)一个1:

n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(3)一个m:

n联系转换为一个关系模式。

与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。

与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(5)具有相同码的关系模式可合并。

将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:

n学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间,政治面貌,家庭住址,籍贯,邮政编码,民族),此为学生实体对应的关系模式。

n教师(教工号,姓名,性别,职称,所属院系,电话),此为老师实体对应的关系模式。

n毕业(毕业证编号,学号,姓名,性别,身份证号,所属院系,入学时间,已修学分,需修学分),此为毕业实体对应的关系模式。

n课程(课程号,课程名,学分),此为课程实体对应的关系模式。

n院系(院系号,院系名称,院长名),此为院系实体对应的关系模式。

n选修(学号,课程号,成绩),此为选修关系对应的关系模式。

n授课(课程号,教工号,课时),此为老师授课关系对应的关系模式。

n开设(专业号,课程号),此为专业开设课程关系对应的关系模式。

4.2物理模型

将生成的概念模型通过单击PowerDesigner11工具菜单栏上的Tools选项,再选择GeneratePhysicalDataModel选项,就可以转换为物理模型,生成的最后结果具体如下图所示:

图4-1学籍管理系统物理模型图

5物理结构设计与功能实现

5.1物理结构设计

数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。

物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。

因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数

数据库的物理设计通常分为两步:

(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;

(2)对物理结构进行评价,评价的重点是时间和空间效率。

5.1.1确定数据库的存储结构

由于本系统的数据库建立不是很大,所以数据存储采用的是一个磁盘的一个分区。

5.1.2存取方法和优化方法

存取方法是快速存取数据库中数据的技术。

数据库管理系统一般都是提供多种存取方法。

常用的存取方法有三类。

第一类是索引方法,目前主要是B+树索引方法;第二类是聚簇方法;第三类是HASH方法。

数据库的索引类似书的目录。

在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置。

在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。

在书中,目录就是内容和相应页号的清单。

在数据库中,索引就是表中数据和相应存储位置的列表。

使用索引可以大大减少数据的查询时间。

但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法。

这是因为增加索引也有其不利的一面:

首先,每个索引都将占用一定的存储空间,如果建立聚簇索引(会改变数据物理存储位置的一种索引),占用需要的空间就会更大;其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度。

5.2功能实现

完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。

然后就可以组织数据入库,最后就在此基础上编写各个表相关的触发器和存储过程。

5.2.1触发器

触发器是用户定义在关系表上的一类由事件驱动的特殊过程。

一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。

由于本系统的触发器比较多,在这里我只写出了其中的一部分触发器,具体如下所示。

(1)数据更新

---------------------------------------------------------------------------------------------------------------------

CREATETRIGGERscupdateONdbo.student//建立学生信息表更新触发器

FORUPDATE

AS

UPDATESC//更新学生选课表SC

SETSNO=(SELECTSNOFROMINSERTED)//将SC表中的学号改成学生表改后的

WHERESNO=(SELECTSNOFROMDELETED);//更改对应的学生学号

---------------------------------------------------------------------------------------------------------------------

CREATETRIGGERgraduateupdateONdbo.student//建立学生信息表更新触发器

FORUPDATE

AS

UPDATEGRADUATE//更新学生毕业信息表GRADUATE

SETSNO=(SELECTSNOFROMINSERTED)//将GRADUATE表中的学号改成学生表修改后的

WHERESNO=(SELECTSNOFROMDELETED);//更改对应的学生学号

---------------------------------------------------------------------------------------------------------------------

CREATETRIGGERmajorupdateONdbo.student//建立学生信息表更新触发器

FORUPDATE

AS

UPDATEMAJOR//更新专业信息表MAJOR

SETSNO=(SELECTSNOFROMINSERTED)//将MAJOR表中的学号改成学生表修改后的

WHERESNO=(SELECTSNOFROMDELETED);//更改对应的学生学号

-------------------------------------------------------------------------------

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2