收藏 分销(赏)

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

上传人:人****来 文档编号:2507098 上传时间:2024-05-30 格式:DOC 页数:37 大小:308.54KB
下载 相关 举报
学生学籍综合管理系统数据库系统SQL.doc_第1页
第1页 / 共37页
学生学籍综合管理系统数据库系统SQL.doc_第2页
第2页 / 共37页
学生学籍综合管理系统数据库系统SQL.doc_第3页
第3页 / 共37页
学生学籍综合管理系统数据库系统SQL.doc_第4页
第4页 / 共37页
学生学籍综合管理系统数据库系统SQL.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、学生学籍管理系统(数据库系统)1 设计内容和要求1.1设计背景伴随中国教育体制改革深入进行,教育系统得到了前所未有发展。学生管理正在逐步迈向管理信息现代化。不过中国学生管理信息化水平还处于初级阶段,关键表现在对学生交费管理、学生档案管理还是采取原有人工管理方法。学校规模不停扩大,学生数量急剧增加,相关学生多种信息量也成倍增加。因为大学生类别和专业设置多样化,大学生学籍管理一向是很繁琐和复杂工作。面对庞大信息量, 这时人工管理几乎无法实现,在这种情况下用数据库进行管理变尤为必需,这能够发挥计算机优势,就需要有学生信息管理系统来提升学生管理工作效率.经过这么系统,能够做到信息规范管理,科学统计和快

2、速查询,从而降低管理方面工作量和降低人为错误。1.2开发环境本学生学籍管理系统(数据库系统)开发和运行环境以下:开发环境:Windows XP辅助工具:PowerDesigner Trial 11数据库管理系统:SQL Server 运行环境:Windows /XP/1.3内容和要求1.3.1系统目标设计 使得学生学籍管理工作愈加清楚、条理化、自动化。 很轻易地完成新生信息输入、老生信息备份、毕业学生信息能够很轻易地保留。 当学生需要查询成绩时,能够很简单地将其需要信息从数据库中查找出来并能够打印查询结果。 伴随当今网络技术发展,提供网络在线查询功效,能够为毕业生提供更多就业机会。1.3.2系

3、统功效要求(1)学生基础信息系统 能够完成新、老生信息输人、修改、插人、删除等工作。 能够根据特定信息进行查找,并根据特定要求进行排序。 能够对老生信息进行备份,方便以后查询。 能够对学生信息进行打印输出。 提供具体帮助文件和系统维护功效。(2)学生成绩管理系统 此部分功效以下: 学生成绩输入、修改、删除等基础操作。 成绩综合统计功效,包含学生成绩根据不一样条件进行排名。管理人员能够选择不一样排序条件,并能够将排序结果进行打印输出。 计算各班总分和平均分,并根据平均分将各班成绩进行排序。 统计不及格考生信息,依据条件确定是重修还是补考。 学生奖励统计,自动生成每班取得奖学金同学信息,并能够将奖

4、学金分成不一样等级,和所得奖学金数目。 本系统能够在单机上运行,也能够应用在网络上供在线查询成绩和其它部分学生信息(此功效选做人提供给学生进行查询系统和提供给教务处使用系统,在不一样用户使用时,应该会有不一样使用权限。 提供具体帮助文件。因为数据库内信息会很多,注意数据库表格设计,使得学生查询基础信息或学习成绩时使用时间较短。根据数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计。系统功效模块设计图图所表示。图 1-1 系统功效模块设计图2 需求分析2.1 引言 进行数据库设计首先必需正确了解也分析用户需求(包含数据和处理)。目标是为学籍管理数据库系统设计打下牢牢基础,是数据

5、库开发关键文件依据,关键为数据库设计人员使用,是用户和系统分析员项目依据文件。作为“地基”需求分析是否做得充足和正确,它决定了在其上构建数据库大厦速度和质量。需求分析做得不好,甚至会造成整个数据库设计返工重做。本系统开发是设计一个学生学籍管理系统(数据库系统)。2.2 用户需求本系统是针对高等院校学生学籍管理,所以学籍管理系统用户包含系统管理员、老师和学生。关键包含系部信息、班级信息、任课老师信息、学生信息、课程信息和选课统计和成绩等多个数据信息。实现具体功效以下:l 基础信息管理系统管理员负责对多种基础信息录入、修改、删除等操作。l 学生成绩管理系统管理员负责对学生成绩录入、修改、删除等操作

6、,学生能够查询各科成绩。l 信息查询统计学生能够查询基础信息和各科考试成绩,老师能够查询基础信息和讲课信息,系统管理员负责把老师提交学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和取得奖学金学生信息,最终再输出全部信息。l 毕业生信息管理系统管理员负责计算毕业学生在学校期间所修课程总学分,并进行审核,最终输出记录表和名册。l 系统用户管理系统管理员负责用不一样权限来限制不一样用户对系统使用。以上是用户对系统基础功效要求,另外用户还要求系统效率要高,查询速度要快,比较小冗余,易维护,含有较高数据安全性。2.3 划分功效模块依据系统功效需求分析和高等院校学籍管理特点,经过模块化分析得到

7、以下图1-1所表示系统功效模块结构图。学籍管理系统基础信息管理毕业生信息管理学生成绩管理系统用户管理信息查询统计基础信息删除基础信息修改基础信息录入学生成绩删除学生成绩修改学生成绩录入修改密码输出相关信息统计学生成绩计算学生成绩学生成绩查询基础信息查询输出名册审核资格计算学分帮助信息图 2-1 系统功效模块图2.4 数据字典2.4.1 数据项数据字典是系统中各类数据描述集合,是进行具体数据搜集和数据分析所取得关键结果,数据字典是对系统所用到全部表结构描述,学籍管理关键数据见下表。表 2.1 老师基础信息表序号字段别名数据类型数据长度码1tno学号char10Y2tname姓名varchar10

8、N3tsex性别Char2N4profess职称varchar10N5dname所属院系varchar8N6tel电话intN表 2.2 学生基础信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2sname姓名varchar10N3ssex性别Char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份证号varchar20N7Intime入课时间varchar20N8birthplace籍贯varchar10N9homeaddr家庭住址varchar30N10postcode邮政编码intN表 2.3 专业信息表序号字段

9、别名数据类型数据长度码1mno专业号char10Y2sno学号varchar10N3mname专业名char10N4intime入课时间datetimeN表 2.4 毕业信息表序号字段别名数据类型数据长度码1gno毕业证编号char10Y2sno学号varchar10N3sname姓名varchar10N4ssex性别char2N5dname所属院系varchar10N6intime入课时间datetimeN7ycredit已修学分floatN8xcredit需修学分floatN表 2.5 院系信息表序号字段别名数据类型数据长度码1dmpno院系号varchar10Y2dname院系名称var

10、char10N3dmphead院长名varchar20N表 2.6 课程信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2cname课程名varchar15N3credit学分smallintN表 2.7 学生选课信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2cno课程号varchar5Y3grade成绩floatN表 2.8 老师讲课信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2tno教工号char10Y3ctime课时smallintN2.4.2数据结构数据结构反应了数据之间组合关系。一个数据结构能够由若干个数据项组成,也

11、能够由若干个数据结构组成,或若干个数据项和数据结构混合组成。经过数据项和用户需求分析,我对本系统一共分了5个组,具体以下表所表示:表 2.9 数据结构表数据结构名含义说明组成部分学生基础信息管理描述学生基础信息学号+姓名+性别+出生日期+身份证号+入课时间+政治面貌+家庭住址+籍贯+邮政编码+民族老师基础信息管理描述老师基础信息教工号+姓名+性别+职称+所属院系+电话学生、老师相关信息管理描述学生选课信息,毕业信息,专业、院系信息,老师讲课信息,院系信息学号+课程号+成绩课程号+教工号毕业证编号+学号+姓名+性别+身份证号+所属院系+入课时间+已修学分+需修学分学生成绩管理描述学生平均成绩、总

12、成绩计算,统计相关信息学号+课程号+成绩系统管理描述用户修改密码,帮助信息2.4.3数据流数据流是数据结构在系统内传输路径。经过对用户需求分析,和数据项和数据流设计,得出了对应数据流描述以下表所表示:1、数据流定义表表 2.10 数据流定义表编号数据流名组成流量备注01学生信息学号+姓名+性别+出生日期+身份证号+入课时间+政治面貌+家庭住址+籍贯+邮政编码+民族大学生基础信息02老师信息教工号+姓名+性别+职称+所属院系+电话通常老师基础信息03学生成绩学号+姓名+性别+学号+课程号+成绩大学生具体信息04科目成绩学号+课程号+成绩大学生考试成绩05各门成绩学号+课程号+成绩课程号+课程名+

13、学分大同上06查询结果科目成绩+各门成绩大多种信息07统计分析科目成绩+各门成绩大学生奖励2、外部项定义表表 2.11 外部项定义表编号名称输入数据流输出数据流备注1学生处01关键用于录入学生信息2学生06关键用语学生查询信息和成绩3老师03关键用于老师提交成绩4教务员06/07关键用于输出查询和统计信息结果2.4.4数据存放数据存放是数据结构停留或保留地方,也是数据流起源和去向之一。经过数据项、数据结构和数据流设计,本系统一共选择了三个数据存放,具体对数据存放描述通常以下表所表示:表 2.12 数据存放表编号数据存放名输入数据流输出数据流数据量存取方法A1学生相关信息01大批处理、次序检索A

14、2老师相关信息0302通常批处理、次序检索A3学生成绩单06,07大批处理、更新、次序检索2.4.5处理过程处理过程具体处理逻辑通常见判定表或判定树来描述。对于本系统用于学生学籍管理一共设计了四种处理方法,具体处理方法以下表所表示:表 2.13 数据处理过程表编号名称输入数据流输出数据流备注B1插入修改01,02,0301,02,03插入学生信息和老师信息B2更新修改01,02,0301,02,03更新学生信息和老师信息B3删除修改01,02,0301,02,03删除学生信息和老师信息B4统计分析05,0605,06统计学生信息和成绩3 概念结构设计概念结构设计是整个数据库设计关键,它经过对用

15、户需求进行综合、归纳和抽象,形成独立于具体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 毕业实

16、体E-R图在学生信息管理中存在这么关系:选择(一个学生只能选择一个专业,而一个专业能够供多个学生选择,故是多对一关系)、学习(一个学生只能在一个院系学习,而一个院系能够供多个学生学习,故是多对一关系)。图 3-6 学生关系E-R图2 对于老师信息管理,我们能够将老师实体抽象出来,老师属于学院能够将学院作为一个实体。图 3-7 老师实体E-R图在老师信息管理中存在这么关系:拥有(一个老师只能在一个院系工作,而一个院系能够供多个多个老师工作,故是多对一关系)。图 3-8 老师关系E-R图3 对于教务信息管理,我们能够将课程实体抽象出来。图 3-9 课程实体E-R图在教务信息管理中存在这么关系:毕业

17、(一个学生拥有一个毕业信息,而一个毕业信息只属于一个学生,故是一对一关系)、选修(一个学生能够选修多门课程,而一门课程能够被多个学生选修,故是多对多关系)、开设(一个专业能够开设多门课程,而一门课程能够被多个专业选择,故是多对多关系)、讲课(一门课程能够被多个老师讲授,而一个老师能够讲授多门课程,故是多对多关系)。 图 3-10 教务关系E-R图以上是本系统中基础实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体E-R图:图 3-11 学籍管理系统E-R图3.3 概念模型概念模型是在对用户需求分析以后,经过画出本系统抽象出E-R图,由概念模型辅助工具PowerDesigner11进行

18、设计,经过具体地设置和绘图,最终就形成了以下所表示概念模型图,生成概念结构就能真实、充足地反应现实世界,包含事物和事物之间联络,能满足用户对数据处理要求,是对现实世界一个真实模型。图 3-12 学籍管理系统概念模型图4 逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好基础E-R图转换为和选择DBMS产品所支持数据模型相符合逻辑结构。设计逻辑结构通常分为3步进行:(1)将概念结构转换为通常关系、网状、层次模型;(2)将转换来关系、网状、层次模型向特定DBMS支持下数据模型转换;(3)对数据模型进行优化。4.1 关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体属性和实体型之间联络转换

19、为关系模式,这种转换通常遵照以下标准:一个实体型转换为一个关系模式。实体属性就是关系属性,实体码就是关系码。对于实体型间联络则有以下不一样情况:(1)一个1:1联络能够转换为一个独立关系模式,也能够和任意一端对应关系模式合并。假如转换为一个独立关系模式,则和该联络相连个实体码和联络本身属性均转换为关系属性,每个实体码均是该关系侯选码。假如和某一端实体对应关系模式合并,则需要在关系模式属性中加入另一个关系模式码和联络本身属性。(2)一个1:n联络能够转换为一个独立关系模式,也能够和n端对应关系模式合并。假如转换为一个独立关系模式,则和该联络相连个各实体码和联络本身属性均转换为关系属性,而关系码为

20、n端实体码。(3)一个m:n联络转换为一个关系模式。和该联络相连个实体码和联络本身属性均转换为关系属性,各实体码组成关系码或关系码一部分。(4)3个或3个以上实体间一个多元联络能够转换为一个关系模式。和该多元联络相连各实体码和联络本身属性均转换为关系属性,各实体码组成关系码或关系码一部分。(5)含有相同码关系模式可合并。将概念结构设计阶段设计好基础E-R图转换为关系模型,以下所表示:n 学生(学号,专业号,院系号,姓名,性别,出生日期,身份证号,入课时间,政治面貌,家庭住址,籍贯,邮政编码,民族),此为学生实体对应关系模式。n 老师(教工号,姓名,性别,职称,所属院系,电话),此为老师实体对应

21、关系模式。n 毕业(毕业证编号,学号,姓名,性别,身份证号,所属院系,入课时间,已修学分,需修学分),此为毕业实体对应关系模式。n 课程(课程号,课程名,学分),此为课程实体对应关系模式。n 院系(院系号,院系名称,院长名),此为院系实体对应关系模式。n 选修(学号,课程号,成绩),此为选修关系对应关系模式。n 讲课(课程号,教工号,课时),此为老师讲课关系对应关系模式。n 开设(专业号,课程号),此为专业开设课程关系对应关系模式。4.2 物理模型将生成概念模型经过单击PowerDesigner11工具菜单栏上Tools选项,再选择Generate Physical Data Model选项,

22、就能够转换为物理模型,生成最终结果具体以下图所表示:图 4-1 学籍管理系统物理模型图5 物理结构设计和功效实现5.1 物理结构设计数据库物理设计就是为一个给定逻辑数据模型选择一个最适合应用要求物理结构过程。物理结构设计阶段实现是数据库系统内模式,它质量直接决定了整个系统性能。所以在确定数据库存放结构和存取方法之前,对数据库系统所支持事务要进行仔细分析,取得优化数据库物理设计参数数据库物理设计通常分为两步:(1)确定数据库物理结构,在关系数据库中关键指存取方法和存取结构;(2)对物理结构进行评价,评价关键是时间和空间效率。5.1.1 确定数据库存放结构因为本系统数据库建立不是很大,所以数据存放

23、采取是一个磁盘一个分区。5.1.2 存取方法和优化方法存取方法是快速存取数据库中数据技术。数据库管理系统通常全部是提供多个存取方法。常见存取方法有三类。第一类是索引方法,现在关键是B+树索引方法;第二类是聚簇方法;第三类是HASH方法。数据库索引类似书目录。在书中,目录许可用户无须浏览全书就能快速地找到所需要位置。在数据库中,索引也许可应用程序快速找到表中数据,而无须扫描整个数据库。在书中,目录就是内容和对应页号清单。在数据库中,索引就是表中数据和对应存放位置列表。使用索引能够大大降低数据查询时间。但需要注意是索引即使能加速查询速度,不过为数据库中每张表全部设置大量索引并不是一个明智做法。这是

24、因为增加索引也有其不利一面:首先,每个索引全部将占用一定存放空间,假如建立聚簇索引(会改变数据物理存放位置一个索引),占用需要空间就会更大;其次,当对表中数据进行增加、删除和修改时候,索引也要动态地维护,这么就降低了数据更新速度。5.2 功效实现完成数据库物理设计以后,设计人员就要用RDBMS提供数据定义语言和其它实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS能够接收源代码,再经过调试产生目标模式。然后就能够组织数据入库,最终就在此基础上编写各个表相关触发器和存放过程。5.2.1 触发器触发器是用户定义在关系表上一类由事件驱动特殊过程。一旦定义,任何用户对表增、删、改操作均由

25、服务器自动激活对应触发器,在DBMS关键层进行集中完整性控制。因为本系统触发器比较多,在这里我只写出了其中一部分触发器,具体以下所表示。(1)数据更新-CREATE TRIGGER scupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE SC /更新学生选课表SCSET SNO = (SELECT SNO FROM INSERTED) /将SC表中学号改成学生表改后WHERE SNO = (SELECT SNO FROM DELETED); /更改对应学生学号-CREATE TRIGGER graduateupdate ON dbo.s

26、tudent /建立学生信息表更新触发器FOR UPDATE ASUPDATE GRADUATE /更新学生毕业信息表GRADUATESET SNO = (SELECT SNO FROM INSERTED) /将GRADUATE表中学号改成学生表修改后WHERE SNO = (SELECT SNO FROM DELETED); /更改对应学生学号-CREATE TRIGGER majorupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE MAJOR /更新专业信息表MAJORSET SNO = (SELECT SNO FROM INSE

27、RTED) /将MAJOR表中学号改成学生表修改后WHERE SNO = (SELECT SNO FROM DELETED); /更改对应学生学号-CREATE TRIGGER student1 ON dbo.major /建立专业信息表更新触发器FOR UPDATE ASUPDATE STUDENT /更新学生信息信息表STUDENTSET MNO = (SELECT MNO FROM INSERTED) /将STUDENT表中专业号改成专业表修改后WHERE MNO = (SELECT MNO FROM DELETED); /更改对应专业号-CREATE TRIGGER student2u

28、pdate ON dbo.department /建立院系信息表更新触发器FOR UPDATE ASUPDATE STUDENT /更新学生信息信息表STUDENTSET DMPNO = (SELECT DMPNO FROM INSERTED) /将STUDENT表中院系号改成专业表修改后WHERE DMPNO = (SELECT DMPNO FROM DELETED); /更改对应院系号-(2) 数据删除-CREATE TRIGGER teach1update ON dbo.teacher /建立老师信息表删除触发器FOR DELETE ASUPDATE TEACH /删除讲课信息表TEAC

29、HSET TNO = NULL /删除TEACH表中教工号删除WHERE TNO = (SELECT TNO FROM DELETED) /找到对应教工号-CREATE TRIGGER sc1update ON dbo.course /建立课程信息表删除触发器FOR DELETEASUPDATE SC /删除选课信息表SCSET CNO = NULL /删除SC表中课程号删除WHERE CNO = (SELECT CNO FROM DELETED) /找到对应课程号-CREATE TRIGGER stu_majorupdate ON dbo.major /建立专业信息表删除触发器FOR DEL

30、ETE ASUPDATE STUDENT /删除学生信息表STUDENT SET MNO = NULL /删除STUDENT 表中专业号删除WHERE MNO = (SELECT MNO FROM DELETED) /找到对应专业号-CREATE TRIGGER teacherupdate ON dbo.department /建立院系信息表删除触发器FOR DELETE ASUPDATE TEACHER /删除老师信息表TEACHER SET DMPNO = NULL /删除TEACHER表中院系号删除WHERE DMPNO = (SELECT DMPNO FROM DELETED) /找到

31、对应院系号-5.2.2 存放过程存放过程是PL/SQL语句书写过程,这个过程经编译和优化后存放在数据库服务器中,使用时只要调用即可。(1)数据查询-存放过程名:老师信息查询入口参数:tno varchar(10)/输入老师教工号出口参数:tno char(10), tname varchar(10), profess varchar(10), dname varchar(10), tel int, tsex char(2),/定义存放输出老师信息变量CREATE PROCEDURE selectteacher /建立查询老师信息存放过程tnoASSELECT tno = tno FROM IN

32、SERTED /选择和输入教工号相等全部统计SELECT * /选出符合条件老师全部信息 FROM teacher GO-存放过程名:院系信息查询入口参数:dmpno/输入院系院系号出口参数:dmpno, dmpname,dmphead, /定义存放输出院系信息变量CREATE PROCEDURE selectdepartment/建立查询院系信息存放过程dmpnoASSELECT dmpno = dmpno FROM INSERTED/选择和输入院系号相等全部统计SELECT */选出符合条件院系全部信息 FROM department GO-(2)数据插入-存放过程名:学生信息插入入口参数

33、:sno varchar(10), id varchar(20), intime varchar(20),birthplace varchar(10), sname varchar(10),ssex char(2), birthday varchar(20),symbol varchar(8), homeaddr varchar(20), postcode int,/输入需要插入学生全部信息 出口参数: 无CREATE PROCEDURE insertstudent/建立插入学生信息存放过程 sno varchar(10), id varchar(20),intime varchar(20),

34、birthplace varchar(10), sname varchar(10),ssex char(2), birthday varchar(20),symbol varchar(8),homeaddr varchar(20), postcode int,/定义存放插入学生信息变量ASINSERT INTO student(sno,sname,ssex,birthday,symbol,id,intime,birthplace,homeaddr,postcode)/插入学生表对应列名VALUES (sno varchar(10), sname varchar(10), ssex char(2

35、),birthday varchar(20), symbol varchar(8), id varchar(20),intime varchar(20), birthplace varchar(10),homeaddr varchar(20), postcode int)/插入学生表对应列名值GO-存放过程名:老师信息插入入口参数:tno char(10), tname varchar(10), profess varchar(10), dname varchar(10), tel int, tsex char(2), /输入需要插入老师全部信息 出口参数: 无CREATE PROCEDURE

36、 insertteacher tno char(10), tname varchar(10),profess varchar(10),dname varchar(10), tel int,tsex char(2),/定义存放输出老师信息变量ASINSERT INTO teacher(tno,tname,tsex,profess,dname,tel)/插入老师表对应列名VALUES (tno char(10), tname varchar(10), tsex char(2),profess varchar(10), dname varchar(10), tel int,)/插入老师表对应列名值GO-(3)数据删除-

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服