成绩管理系统数据库应用.doc_第1页
成绩管理系统数据库应用.doc_第2页
成绩管理系统数据库应用.doc_第3页
成绩管理系统数据库应用.doc_第4页
成绩管理系统数据库应用.doc_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

序言在当今这个社会,迅速发展的经济,日新月异的科技水平,无一不彰显着信息时代的到来,也提醒并要求着我们要熟练掌握信息技术,要学会并擅于运用相应的技术。而数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为一个企业或坐直生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越光弹的应用,越来越多新的应用领域采用数据库技术来存储和处理信息资源。 随着高端人才需求的日益增加,学校的数目正在逐年增长,如何更加妥善安排师生的日常生活成为了一个备受关注的话题。传统的手工操作方式不仅易发生数据丢失,而却劳动强度高、时间慢,但如果使用计算机则可以告诉、有效、快捷的完成相应工作。在这个互联网的时代,可以便捷的传送数据,实现数据共享,避免了冗余无用的劳动,提高了教育教学的管理质量,也对其在管理行为方面进行了规范,可谓一举多得。学生成绩管理系统以计算机为主要工具,以数据库技术为依托,通过现代化科学技术,提高广大师生工作人员的办公效率,实现管理工作的自动化、高效化。本系统主要面对的对象是全校师生,针对学生成绩、课程等信息开发的管理系统,主要包含学生的基本信息,学生课程的设置,成绩信息的统计等。学生成绩管理系统包括学生信息管理、学生成绩管理、学生课程管理以及教师信息管理几部分:1. 学生信息管理包括添加录入学生籍贯、性别、出生日期、院系名称以及政治状态;2. 学生成绩管理包括添加录入教师编号、课程号以及分数;3. 学生课程管理包括添加录入课程名、课程号以及学分;4. 教师信息管理包括添加录入教师籍贯、性别、出生日期、职称以及政学历。一、系统分析1.1用户需求分析随着计算机的日渐普遍,以及网络的深入人心,各大高校也逐渐开始使用数据库来记录或统计分析数据。“学生成绩管理系统”可以更好的帮助教师便捷、迅速的提高学生成绩管理效率,具有便于查找,安全性好,存储量大,不易损害坏,寿命长,低成本等有点,方便教师对学生课程、成绩等相 关内容进行查询、统计等操作。系统总体构图如下: 学生成绩管理系统管理者教师查询系统学生查询系统管理者管理信息学生信息查询图1.1系统总体构图1.2业务流程分析:(如图1.2所示)开始输入号码登陆用户类型判断教师学生教师编号、学生课程、成绩查询学生信息、课程、成绩查询错误:重新输入退出图1.2业务流程分析图1.3信息需求分析从原始资料中抽出各栏目名称等系统要保存的相关事项,去掉组合项、导出项、泛指项、得到基本项,就是所要组织数据库表中的信息。列举如下:学号、教师编号、课程号、分数、姓名、性别、出生年月、院系名称、学历、职称、课程名、学分、学生学号、学生姓名、出生地、政治面貌。1.4功能需求分析(1)管理员可以根据要求添加、修改或删除学生信息;(2)管理员可以根据要求添加、修改或删除班级信息;(3)教师可以查询教师信息(4)教师可以查询学生信息,录入学生成绩(5)学生可以用学号登录,对课程、成绩进行查询。根据以上对系统功能的分析,建立了系统功能分析图,系统功能分析(如下图所示)反映了系统功能模块之间的层次关系:学生成绩查询系统学生登录教师登录管理员登录课程查询选择信息查询学生信息查询相关限制成绩录入退出管理界面录入学生信息信息操作图1.3系统功能分析图二、数据库概念模型设计2.1构思ER图的原则:原则1:能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特征需要关注时,就应把它作为实体。原则2:两个或多个实体间的关系与联合,如主管、从属、组成、占有、作用、配合、协同等等,当需要予以关注时,应作为联系。联系通常是某类行为动作,ERD中关注的是其状态与结果而非过程。原则3:实体的属性是实体的本质特征。实体应有标识属性(能把不同的个体区分的开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。属性具有以下几个特点:a:非多值性;b:非符合性;c:非导出性。而实体的属性还有非关联性。原则4(一事一地原则):所有基本项在同一E-R图中作为属性要仅在一个地方出现。2.2 数据库需求分析:针对“学生成绩管理系统”数据库信息的查询、学生成绩信息系统查询流程,以及对学生课程、成绩和教师相关信息的需求分析,设计如下数据项与数据结构:学生:学号、姓名、性别、出生日期、院系名称、入学时间、出生地、政治面貌、备注教师:教师编号、姓名、性别、出生日期、院系名称、学历、职称、备注课程:课程号、课程名、学分、备注成绩表:学号、教师编号、课程号、分数2.3设计ER图:年龄姓名授课学生MN上课NM政治面貌姓名学号入学时间所在院系出生地出生日期课程号课程学分课程名所在院系出生日期职称性别教师图2.1为系统实体联系ER图三、数据库逻辑模型设计3.1一般逻辑模型设计:3.11一般关系模型的四条原则:原则1:ER图中的每一个独立实体变换为一个关系,其属性变为关系的属性,气主标识变为关系的主码;原则2:ER图中的从实体及相应的“的联系变换为一个关系,从实体的属性上加主体的关系的主码构成这个关系的属性。如果“的”联系时1:1的,则以主实体关系的主码为这个关系的主码;如果“的”联系时1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实个体赖以互相区分的属性组,组成该关系的主码;原則3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码;原则4:M:M联系转换成一个独立的关系,被联系的实体关系的主码和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合码。3.12数据库初步关系框架学生表(学号、姓名、性别、出生日期、院系名称、入学时间、出生地、政治面貌、备注)教师表(教师编号、姓名、性别、出生日期、院系名称、学历、职称、备注)课程表(课程号、课程名、学分、备注)成绩表(学号、教师编号、课程号、分数)3.2具体逻辑模型设计:表3.2.1学生表(student)字段名学号姓名性别出生日期入学时间院系名称出生地政治面貌备注类型intcharchaidatetimesmalldatetimecharnvarcharchartext宽度810266201010NULL否否是是是是是是是表3.2.2教师表(teacher)字段名教师编号姓名性别出生日期院系名称学历职称备注类型charncharchaidatetimecharcharchartext宽度4626201010NULL否否是是是是是是表3.2.3课程表(course)字段名课程号课程学分备注类型charcharinttext宽度2202NULL否否否是表3.2.4成绩表(grade)字段名学号课程号教师编号分数类型charcharcharsmallint宽度8646NULL四、数据库物理结构设计与数据库实施以及维护设计4.1设计索引(1)在学生表建立索引,按照学号升序排列。(2)在教师表建立索引,按教师编号升序排列。(3)在课程表建立索引,按课程号升序排列。(4)在成绩表建立索引,按学号升序排列,在同一学号下,按成绩升序排列。4.2设计表之间的关系:父表学生表成绩表教师表课程表子表成绩表课程表课程表成绩表关联索引学号课程号教师编号课程号表间关系类型m:nm:nm:nm:n4.3建立查询查询是数据库的核心操作。在SQL语句中,数据库查询时数据库的核心,包括单表查询、连接查询、嵌套查询以及集合查询。SQL提供了select语句、order by语句、group by语句等进行查询操作。根据不同用户的查询需要创建下述十一个查询:(1)查询女教师的教师编号、姓名和出生日期。select 教师编号,姓名,出生日期from 教师表where 性别=女;(2)根据教师的年龄,将教师分为:老年(大于等于50岁)、中年(40岁至50岁之间)和青年(小于等于40岁)。SELECT *, (CASE WHEN(age = 50) THEN 老年 WHEN(age = 40) THEN 中年 ELSE 青年 END) 年纪FROM (SELECT *,DATEDIFF(YEAR,出生日期,GETDATE() AS age FROM 教师表) t(3)查询选修“大学英语”的学生的姓名,并按照分数从高到低输出前3名。select top 3 姓名from 学生表,课程表,成绩表order by 分数DESC;(4)查询体育学院和外语学院,而且在1986年出生的学生信息。select *from 学生表where 院系名称=体育学院 or 院系名称=外语学院 and 出生日期=1986(5)查询计算机学院姓张,并且姓名是两个字的学生的信息。select *from 学生表where 姓名like 张_ and 院系名称=计算机学院(6)查询所有学生的分数信息,如果分数大于等于80,则为“优秀”;大于等于60,则为“及格”;小于60,则为“不及格”。使用CASE函数给每个学生的分数设定等级。select *,(casewhen (分数=80) then 优秀when (分数=60 )then 及格when (分数(select 分数 from 学生表,成绩表,课程表 where 成绩表.学号=学生表.学号and 成绩表.课程号=课程表.课程号and 姓名=王莹莹 )4.4建立视图视图是数据库的一个对象,并且是动态表的静态定义。视图时一个虚表,通过视图可以对表中的记录进行查看、修改、添加、删除等操作。根据不同类型用户的查询需要创建下述四个视图:(1)创建“学生_课程_分数”视图,包括计算机学院的学生的学号、姓名,和他们选修的课程号、课程名、分数。SELECT dbo.学生表.姓名, dbo.成绩表.课程号, dbo.课程表.课程名, dbo.成绩表.分数, dbo.成绩表.教师编号 FROM dbo.成绩表 INNER JOIN dbo.课程表 ON dbo.成绩表.课程号 = dbo.课程表.课程号 INNER JOIN dbo.学生表 ON dbo.成绩表.学号 = dbo.学生表.学号 WHERE (dbo.学生表.院系名称 = 计算机学院)(2)创建“不及格学生信息”视图,包括全校学生中有不及格成绩的姓名、课程名、分数。SELECT dbo.学生表.姓名, dbo.课程表.课程名, dbo.成绩表.分数FROM dbo.成绩表 INNER JOIN dbo.课程表 ON dbo.成绩表.课程号 = dbo.课程表.课程号 INNER JOIN dbo.学生表 ON dbo.成绩表.学号 = dbo.学生表.学号WHERE (dbo.成绩表.分数 =50 then 老年when year(getdate()-year(出生日期)40 and year(getdate()-year(出生日期)50 then 中年when year(getdate()-year(出生日期)=80 then 优秀 when 分数=60 then 及格 when 分数=80 then 优秀 when 分数=60 then 及格 when 分数60 then 不及格 end from 学生表,成绩表 where 学生表.学号=成绩表.学号 go(3)使用游标查看数据库XSCJ中“学生表”中计算机学院的记录个数。use 学生表 go select 学号,姓名,性别,出生日期 from 学生表 go4.7创建触发器触发器是一种特殊类型的存储过程,其特殊性在于它并不需要由用户来直接调用,当对表进行插入、删除、修改等操作时自动执行。根据不同用户的查询需要创建了以下三个触发器:(1)创建一个AFTER触发器,要求实现以下功能:在成绩表上创建一个插入、更新类型的触发器TR_ScoreCheck,当在成绩表字段中插入或修改考试分数后,触发该触发器,检查分数是否在0-100之间。create trigger TR_ScoreCheckon 成绩表for insert,updateas begin update 成绩表 set 分数=i.分数 from inserted i where i.学号=成绩表.学号and i.课程号= 成绩表.课程号and i.教师编号= 成绩表.教师编号and i.分数between 0 and 100; endGO(2)创建一个AFTER触发器,要求如下:在学生表上创建一个删除类型的触发器TR_Stu_Delete,当在学生表中删除某一条记录后,触发该触发器,在成绩表中删除与此学号对应的记录。CREATE TRIGGER TR_Stu_DeleteON dbo.学生表 FOR DELETEAS PRINT 删除触发器开始执行DECLARE StuNum char(10)PRINT 把在学生表中删除的记录的学号赋值给局部变量StuNum。SELECT StuNum=学号FROM deletedPRINT 开始查找并删除成绩表中的相关记录DELETE FROM 成绩表WHERE 学号=StuNumPRINT 删除了成绩表中的学号为+RTRIM(StuNum)+ 的记录。(3)在学生表上创建一个触发器TR_SexCheck,当插入一条记录时,检查性别字段,判断只能是“男”或“女”,否则认为非法,重新输入。create trigger TR_ScoreCheck on 成绩表instead of insertas begindeclare gender charselect 性别 as gender from insertingif(gender not like 男 and gender not like 女)print 输入的性别非法endgo4.8数据库的备份与还原及数据的导入导出在工作中,数据可能存储在excel工作表或其他数据库中,用户如果需要在SQL Server 中利用这些火速局,就需要一种能够将数据转换到SQL Server中的工具。可以将SQL Server中的数据导出到其他系统中,例如Excel工作表、文本文件等。与数据导出相反,数据导入是指将其他数据源中的数据导入到SQL Server数据库的过程。数据库的备份就是制作数据库结构和数据的副本,以便在数据库遭到破坏时能够恢复数据库。数据库的恢复则是指将数据库备份加载到服务器中去。数据库备份的具体操作如下:在企业管理中右击需要备份的数据库,在弹出快捷菜单中选择“所有任务”/“备份数据库”命令;代开“SQL

温馨提示

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

评论

0/150

提交评论