数据库原理与应用大作业题目:数据库系统学院:信息与计算科学学院班级:08级统计二班姓名:孔令太学号:20080526指导老师:张昇成绩:二〇一〇年六月学生学籍管理系统(数据库系统)1设计内容和要求1.1设计背景随着我国教育体制改革的深入进行,教育系统得到了前所未有的发展。学生管理正在逐步迈向管理信息现代化。但是我国的学生管理信息化水平还处在初级阶段,主要表现在对学生的交费管理、学生的档案管理还是采用原有的人工管理方式。学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。由于大学生类别和专业的设置的多样化,大学生的学籍管理历来是非常繁琐和复杂的的工作。面对庞大的信息量,这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。1.2开发环境本学生学籍管理系统(数据库系统)的开发与运行环境如下:开发环境:WindowsXP辅助工具:PowerDesignerTrial11数据库管理系统:SQLServer2000运行环境:Windows2000/XP/20031.3内容和要求1.3.1系统目标设计使得学生的学籍管理工作更加清晰、条理化、自动化。很容易地完成新生信息的输入、老生信息的备份、毕业学生的信息可以很容易地保存。当学生需要查询成绩时,可以很简单地将其需要的信息从数据库中查找出来并可以打印查询结果。随着当今网络技术的发展,提供网络在线查询功能,可以为毕业生提供更多的就业机会。1.3.2系统功能要求(1)学生基本信息系统能够完成新、老生信息的输人、修改、插人、删除等工作。可以按照特定的信息进行查找,并按照特定的要求进行排序。可以对老生的信息进行备份,以便日后查询。可以对学生的信息进行打印输出。提供详细的帮助文件和系统维护功能。(2)学生成绩管理系统此部分的功能如下:学生成绩的输入、修改、删除等基本操作。成绩的综合统计功能,包括学生成绩按照不同条件进行排名。管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出。计算各班的总分和平均分,并按照平均分将各班成绩进行排序。统计不及格考生的信息,根据条件确定是重修还是补考。学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。本系统可以在单机上运行,也可以应用在网络上供在线查询成绩和其他一些学生的信息(此功能选做人提供给学生进行查询的系统和提供给教务处使用的系统,在不同用户使用时,应该会有不同的使用权限。提供详细的帮助文件。由于数据库内的信息会很多,注意数据库表格设计,使得学生查询基本信息或学习成绩时使用时间较短。按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计。系统的功能模块设计图如图所示。2需求分析2.1引言进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。目的是为学籍管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。本系统的开发是设计一个学生学籍管理系统(数据库系统)。2.2用户需求本系统是针对高等院校的学生学籍管理,因此学籍管理系统的用户包括系统管理员、教师和学生。主要涉及系部信息、班级信息、任课教师信息、学生信息、课程信息以及选课记录和成绩等多种数据信息。实现的具体功能如下:基本信息管理——系统管理员负责对各种基本信息的录入、修改、删除等操作。学生成绩管理——系统管理员负责对学生成绩的录入、修改、删除等操作,学生可以查询各科成绩。信息查询统计——学生可以查询基本信息和各科的考试成绩,老师可以查询基本信息和授课信息,系统管理员负责把老师提交的学生成绩进行管理,计算总成绩和平均成绩,统计不及格学生信息和获得奖学金学生的信息,最后再输出所有的信息。毕业生信息管理——系统管理员负责计算毕业学生在学校期间所修课程的总学分,并进行审核,最后输出登记表和名册。系统用户管理——系统管理员负责用不同的权限来限制不同用户对系统的使用。以上是用户对系统的基本的功能要求,此外用户还要求系统的效率要高,查询速度要快,比较小的冗余,易维护,具有较高的数据安全性。2.3划分功能模块根据系统功能的需求分析和高等院校学籍管理的特点,经过模块化的分析得到如下图1-1所示的系统功能模块结构图。图2-1系统功能模块图2.4数据字典2.4.1数据项数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,学籍管理的主要数据见下表。表2.1老师基本信息表序号字段别名数据类型数据长度码1tno学号char10Y2tname姓名varchar10N3tsex性别Char2N4profess职称varchar10N5dname所属院系varchar8N6tel电话intN学籍管理系统基本信息管理毕业生信息管理学生成绩管理系统用户管理信息查询统计基本信息删除基本信息修改基本信息录入学生成绩删除学生成绩修改学生成绩录入修改密码输出相关信息统计学生成绩计算学生成绩学生成绩查询基本信息查询输出名册审核资格计算学分帮助信息表2.2学生基本信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2sname姓名varchar10N3ssex性别Char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份证号varchar20N7Intime入学时间varchar20N8birthplace籍贯varchar10N9homeaddr家庭住址varchar30N10postcode邮政编码intN表2.3专业信息表序号字段别名数据类型数据长度码1mno专业号char10Y2sno学号varchar10N3mname专业名char10N4intime入学时间datetimeN表2.4毕业信息表序号字段别名数据类型数据长度码1gno毕业证编号char10Y2sno学号varchar10N3sname姓名varchar10N4ssex性别char2N5dname所属院系varchar10N6intime入学时间datetimeN7ycredit已修学分floatN8xcredit需修学分floatN表2.5院系信息表序号字段别名数据类型数据长度码1dmpno院系号varchar10Y2dname院系名称varchar10N3dmphead院长名varchar20N表2.6课程信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2cname课程名varchar15N3credit学分smallintN表2.7学生选课信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2cno课程号varchar5Y3grade成绩floatN表2.8老师授课信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2tno教工号char10Y3ctime课时smallintN2.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教师相关信息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概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体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图在学生信息管理中存在这样的关系:选择(一个学生只能选择一个专业,而一个专业可以供多个学生选择,故是多对一的关系)、学习(一个学生只能在一个院系学习,而一个院系可以供多个学生学习,故是多对一的关系)。学生院系专业选择学习n1n1图3-6学生关系E-R图2.对于老师信息管理,我们可以将老师实体抽象出来,老师属于学院可以将学院作为一个实体。教师教工号职称电话性别姓名所属院系图3-7老师实体E-R图在老师信息管理中存在这样的关系:拥有(一个老师只能在一个院系工作,而一个院系可以供多个多个老师工作,故是多对一的关系)。老师院系工作n1图3-8老师关系E-R图3.对于教务信