学生学籍管理系统数据库系统SQLWord下载.docx

上传人:b****8 文档编号:22663888 上传时间:2023-02-05 格式:DOCX 页数:40 大小:288.15KB
下载 相关 举报
学生学籍管理系统数据库系统SQLWord下载.docx_第1页
第1页 / 共40页
学生学籍管理系统数据库系统SQLWord下载.docx_第2页
第2页 / 共40页
学生学籍管理系统数据库系统SQLWord下载.docx_第3页
第3页 / 共40页
学生学籍管理系统数据库系统SQLWord下载.docx_第4页
第4页 / 共40页
学生学籍管理系统数据库系统SQLWord下载.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

学生学籍管理系统数据库系统SQLWord下载.docx

《学生学籍管理系统数据库系统SQLWord下载.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统数据库系统SQLWord下载.docx(40页珍藏版)》请在冰豆网上搜索。

学生学籍管理系统数据库系统SQLWord下载.docx

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

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

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

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

提供详细的帮助文件。

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

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

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

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

2需求分析

2.1引言

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

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

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

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

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

2.2用户需求

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

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

实现的具体功能如下:

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

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

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

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

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

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

2.3划分功能模块

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

图2-1系统功能模块图

2.4数据字典

2.4.1数据项

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

表2.1老师基本信息表

序号

字段

别名

数据类型

数据长度

1

tno

学号

char

10

Y

2

tname

姓名

varchar

N

3

tsex

性别

Char

4

profess

职称

5

dname

所属院系

8

6

tel

电话

int

表2.2学生基本信息表

sno

sname

ssex

birthday

出生日期

timestamp

20

symbol

政治面貌

Id

身份证号

7

Intime

入学时间

birthplace

籍贯

9

homeaddr

家庭住址

30

postcode

邮政编码

表2.3专业信息表

mno

专业号

mname

专业名

intime

datetime

 

表2.4毕业信息表

gno

毕业证编号

ycredit

已修学分

float

xcredit

需修学分

表2.5院系信息表

dmpno

院系号

院系名称

dmphead

院长名

表2.6课程信息表

cno

课程号

cname

课程名

15

credit

学分

smallint

表2.7学生选课信息表

grade

成绩

表2.8老师授课信息表

教工号

ctime

课时

2.4.2数据结构

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

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

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

表2.9数据结构表

数据结构名

含义说明

组成部分

学生基本信息管理

描述学生基本信息

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

老师基本信息管理

描述老师基本信息

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

学生、老师相关信息管理

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

学号+课程号+成绩

课程号+教工号

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

学生成绩管理

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

系统管理

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

2.4.3数据流

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

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

1、数据流定义表

表2.10数据流定义表

编号

数据流名

组成

流量

备注

01

学生信息

学生基本信息

02

教师信息

一般

教师基本信息

03

学生成绩

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

学生详细信息

04

科目成绩

学生考试成绩

05

各门成绩

课程号+课程名+学分

同上

06

查询结果

科目成绩+各门成绩

各种信息

07

统计分析

学生奖励

2、外部项定义表

表2.11外部项定义表

名称

输入数据流

输出数据流

学生处

主要用于录入学生信息

学生

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

老师

主要用于老师提交成绩

教务员

06/07

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

2.4.4数据存储

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

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

表2.12数据存储表

数据存储名

数据量

存取方式

A1

学生相关信息

批处理、顺序检索

A2

教师相关信息

A3

学生成绩单

06,07

批处理、更新、顺序检索

2.4.5处理过程

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

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

表2.13数据处理过程表

B1

插入修改

01,02,03

插入学生信息和老师信息

B2

更新修改

更新学生信息和老师信息

B3

删除修改

删除学生信息和老师信息

B4

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图转换为关系模型,如下所示:

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

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

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

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

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

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

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

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

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//建立学生信息表更新触发器

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

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

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

UPDATEMAJOR//更新专业信息表MAJOR

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

CREATETRIGGERstudent1ONdbo.major//建立专业信息表更新触发器

UPDATESTUDENT//更新学生信息信息表STUDENT

SETMNO=(SELECTMNOFROMINSERTED)//将STUDENT表中的专业号改成专业表修改后的

WHEREMNO=(SELECTMNOFROMDE

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

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1