《数据库原理》-奖学金评定系统_第1页
《数据库原理》-奖学金评定系统_第2页
《数据库原理》-奖学金评定系统_第3页
《数据库原理》-奖学金评定系统_第4页
《数据库原理》-奖学金评定系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上专心-专注-专业数据库原理数据库原理课程设计报告课程设计报告设计题目: 奖学金评定系统 专 业: 信息管理与信息系统 计算机与数据科学学院2019 年 1 月 10 日精选优质文档-倾情为你奉上专心-专注-专业目 录1 概述 .11.1 选题的背景与意义.11.2 相关技术分析 .12 系统功能设计 .22.1 系统总体结构设计图.22.2 系统功能模块.22.2.1 模块一(学生信息处理).22.2.2 模块二(奖学金评定).23 数据库设计 .33.1 需求分析 .33.2 概念结构设计 .83.3 逻辑结构设计.103.4 物理结构设计.103.5 数据库实施.

2、113.6 数据库运行与维护.163.7 插入数据及功能实现.164 总结 .21参考文献 .22精选优质文档-倾情为你奉上专心-专注-专业1 概述1.1 选题的背景与意义随着大学近年来的扩招,大学生人数激增,导致大学奖学金评定工作越来越繁重,越来越需要一套高效的管理系统来辅助大学奖学金评定工作,以前的奖学金评定系统过于庞大,数据操纵麻烦,而我设计的此小型奖学金评定系统可以帮助辅导员进行班级内部评比,我上学期的奖学金是辅导员评的,看他整整评了 3个星期,实在觉得工作量大了,所以能有一个小型个人奖学金评定系统绝对很方便,实施奖学金评定系统,不仅对学生获得奖学金等次进行统计,还要能够对数据表进行录

3、入,修改、删除、查询等操作,另外提高奖学金评定系统查询有效性,减少在查询有效信息带来很多多余的信息,不利于查询者阅读信息奖学金评定系统主要为学校奖学金管理部门提供一个有效的评定管理平台。主要完成对专业信息管理、学生信息管理、评定教师管理、一级评定指标、二级评定指标、学生评定管理、查看得分、审核申报内容、学生加分申请、学生留言等信息进行管理和分析。由计算机来代替人工执行一系列诸如增加、修改、删除、查询、排名等操作。这样就使教师可以轻松快捷地完成奖学金的评定管理任务,使评定工作系统化、规范化、自动化,从而达到提高管理效率的目的。1.2 相关技术分析因为以前都做过一些课程设计,具有一定的程序设计经验

4、,学习过程序设计的相关知识,而且现在也具备了设计宿舍管理系统程序所需的 SQL 知识,同时,在学校这么一个特殊的环境中,遇到问题时可以有许多时间进行经验交流和去图书馆查阅资料,以及上网查找资料和请教老师。无论从硬件或是软件上来说,建立此奖学金评定系统是可行的。从软件开发方面来看,本系统是一个基于 SQL SERVER 2012 的应用程序,ER 图的绘制分析是通过 Adobe Photoshop2019。目前SQL SERVER 2012 开发工具已经十分成熟,我选择的是 SQL SERVER 2012,都是学过的语言。要求的全部功能目标。考虑到开发时间较为紧张,但仍然可以在规定时间内完成开发

5、。精选优质文档-倾情为你奉上专心-专注-专业2 系统功能设计2.1 系统总体结构设计图 (图 2.1)图 2.12.2 系统功能模块1.2.1 模块一(学生信息处理模块)学生信息处理模块对学生角色有三个功能:1 查询自己的个人信息和考试成绩; 2 更新和维护自己的个人信息,查看其他同学的信息; 3 查询自己的测评结果1.2.2 模块二(综合成绩评定模块)综合成绩评定模块对评定员来说有 2 个功能:1 学生个人信息的录入和修改;2 学生综合测评结果的统计和修改精选优质文档-倾情为你奉上专心-专注-专业3 数据库设计3.1 需求分析 需求分析简单说来就是分析用户的要求。用户的需求具体体现在各种信息

6、的提供、保存、更新和查询。这就要求数据库的结构能够充分满足各种信息的输入和输出。需求分析是数据库系统开发的第一步也是最重要的一步,是设计数据库的起点。需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面的各个阶段的设计,并影响设计结果是否合理和实用。这些要求对于评价分析系统来讲也不例外。学生综合测评系统可以及时、准确、公平地计算出学生的综合测评结果。利用计算机对学生综合素质进行测评具有手工测评无法实现的优点。例如:数据处理自动化、管理规范、操作便捷、可靠性高等。学生综合测评系统的用户群可分为普通用户(学生)和管理员,系统功能定义根据两种不同的用户身份进行需求分析。 3.1.1 按角色

7、需求分析 1.学生需求 学生既是综合测评的对象,也是综合测评的主体。学生可以查询并维护自己的个人档案,同时参加其他同学的综合测评。学生对功能上的需求主要有: 查询课程信息和考试成绩; 更新和维护自己的个人信息,查看其他同学的信息; 查询自己的测评结果2测评员需求 辅导员:学生个人信息的录入和修改,各学期课程信息的录入和修改,学生综合测评结果的统计和修改。操作权限范围是本班同学,除了具备班委的权限外,还要负责对学生奖惩情况的核实,相关数据的维护。数据流图 3.1:精选优质文档-倾情为你奉上专心-专注-专业图 3.12.3.1 数据项数据项是指数据元素可由若干个数据项(data item)组成,是

8、数据的不可分割的最小单位。数据项的名称有、别名、 、数据项的长度、类型、数据项的。数据项是数据记录中最基本的、不可分的有名数据单位,是具有独立含义的最小标识单位。数据项可以是、或两者的组合。通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。表 2.3.1 学生信息表(student):列名数据类型是否为空说明Snochar(8)not null学号Snamechar(8)not null姓名Ssexchar(2)not null性别Sdepartmentvarchar(20)not null院系Sprofessionvarchar(20)not null专

9、业Sclassvarchar(10)not null班级精选优质文档-倾情为你奉上专心-专注-专业表 2.3.2 课程成绩表(Course):列名数据类型是否为空说明Snochar(8)not null学号datedatetimenot null时间Cnamevarchar(10)not null课程名称CscorefloatNot null课程成绩表 2.3.3 评定表(assess):列名数据类型是否为空说明Snochar(8)not null学号Qnochar(3)not null素质编号datedatetimenot null时间Basic_scorefloatnotnull基础分Re

10、wards_scorefloatnot null奖励分Punish_scorefloatnot null惩罚分Final_scorefloatnull最终得分rankintnull排名levelvarchar(2)null等级表 2.3.4 素质表(quality):表 2.3.5 评定结果表(Result):列名数据类型是否为空说明Snochar(8)not null学号Scorefloatnull综合得分列名数据类型是否为空说明Qnochar(3)not null素质编号Qnamevarchar(15)not null素质名称精选优质文档-倾情为你奉上专心-专注-专业rankintnull

11、排名scholar_gradechar(5)null奖学金等级remarkvarchar(5)null备注精选优质文档-倾情为你奉上专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业2.3.2 数据结构数据结构是有意义的数据项集合。内容包括:数据结构名,这些内容组成数据项名。数据结构名含义说明组成的数据项学生信息管理包含学生基本信息以及素质学号,姓名,性别,班级,课程,素质,奖学金管理包含学生的综合成绩基础分,奖励分,惩罚分以及最终得分2.3.3 数据流数据流可以是数据项,也可以是数据结构,它表示某一过程中数据在系统内传输路径。内容包括:数据流名,说明,流入过程,流出过程,这些内容组成

12、数据项或数据结构。数据流含义说明输入数据流输出数据流组成成绩学生成绩成绩学生信息考试得分2.3.4 数据存储数据存储是数据结构停留或保存的地方,也是数据数据流的来源和去向之一。内容包括:数据存储名,输入数据流,输出数据流。这些内容组成数据项或数据结构,数据量,存取频度,存取方式。 数据存储名含义说明输入数据流输出数据流组成综合测评对学生课外活动的综合评估课外活动素质素质结果分2.3.5 数据处理处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明性信息。处理过程包括:处理过程名,说明,输入(数据流) ,输出(数据流)和处理(简要说明)处理过程名含义说明输入数据流输出数

13、据流插入删除修改更新学生信息学生个人信息更新后的学生个人信息精选优质文档-倾情为你奉上专心-专注-专业3.2 概念结构设计学生-素质 ER 图 3.2.1:学生-素质 ER 图 3.2.1:成绩-素质 ER 图 3.2.2:成绩-素质 ER 图 3.2.2:精选优质文档-倾情为你奉上专心-专注-专业学生评定结果 ER 图 3.2.3:学生评定结果 ER 图 3.2.3全局 ER 图 3.2.4:全局 ER 图 3.2.4:精选优质文档-倾情为你奉上专心-专注-专业一个学生只有一个评定结果,所以学生和评定结果是一对一的关系,不同的学生有不同的素质,所以学生和素质是多对多的关系,每个成绩包含一个素

14、质,所以素质与成绩是一对多的关系合并该 ER 图的时候,存在命名冲突和结构冲突,素质一开始我定义为量化,但是在综合成绩里面他又成为素质,所以一开始我就直接用素质代表量化,合并的时候消除了命名冲突,素质在局部 ER 图中是实体,但在综合成绩中是属性,存在结构冲突,合并的时候我只选择了素质的属性来代表素质这一个实体,这样消除了结构冲突精选优质文档-倾情为你奉上专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业3.3 逻辑结构设计将 E 一 R 图转换为关系模型实际上就是要将实休、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式,实体的属性就是

15、关系的属性,实体的码就是关系的码。学生(学号,姓名,性别,学院,专业,班级) ,主码为学号成绩(学号,时间,课程,成绩) ,主码为学号素质(素质编号,素质名称) ,主码为素质编号评定(学号,素质编号,时间,基础分,奖励分,惩罚分,得分,排名,贫困等级)主码为学号,素质编号评定结果(学号,综合得分,排名,奖学金等级,各注) ,主码为学号函数依赖、范式:学生关系模式中,学号为主码,不存在非主属性对主键的部分数依赖和传递数依赖,所以,它满足第三范式在评定表中,在满足第三范式的条件下,它消除了所有属性的传递数依赖,它又满是 BCNF。同理,成绩、素质、评定结果关系模式满足第三范式。 3.4 物理结构设

16、计数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个。系统的性能。因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务。要进行仔细分析,获得优化数据车物理设计的参数。数据库的物理设计通常分为两步:(1)确定数据车的物理结构,在关系数据库中主要指存取方法和存取结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。由于本系统的数据库建立不是很大,所以数据存储采用的是一个磁盘的一个分区。3.4.1 索引的建立:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数

17、据处理速度通常是最普遍采用的优化方法。数据库中的索引类似于一本书的目录,在一本书中使用目录可以快速找到你想要的信息,而不需要读完全书。在数据库中,数据库程序使用索引可以重到表中的数据,而不必扫描整个表。书精选优质文档-倾情为你奉上专心-专注-专业中的目录是一个字词以及各字词所在的页码列表,数据库中的索引是表中的值以及各值存储位置的列表。精选优质文档-倾情为你奉上专心-专注-专业本奖学金系统为学生建立了两个索引,方便并加快查询自己的个人信息CREATE INDEX PersonIndexON Student (Sno,Sname,Ssex,Sdepartment,Sprofession,Scla

18、ss)CREATE INDEX PersonIndexon Result(rank ,scholar_grade,remark) 3.5 数据库实施数据库的建立:create database 奖学金评定系统 on primary(name=scholarship,filename=E:schloarshipscholarship.mdf,size=5,maxsize=20,filegrowth=2)log on(name=schloarship_log,filename=E:schloarshipschloarship.mdf,size=5,maxsize=20,filegrowth=2)创

19、建学生表:use 奖学金评定系统gocreate table Student(Sno char(8) primary key,Sname char(8) not null,Ssex char(2) not null check(Ssex in(男,女),Sdepartment varchar(20) not null,Sprofession varchar(10)not null,Sclass varchar(10) not null)创建课程表:create table Course(Sno char(8) not null,datedatetimenot null,Cnamevarchar

20、(10) not null,CscorefloatNot null primary key (Sno,date,Cscore),foreign key (Sno) references Student(Sno),)精选优质文档-倾情为你奉上专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业创建素质表create table Quality(Qno char(3) primary key,Qname varchar(15) not null)创建结果表:create table Result(Sno char(10)primary key,Score float null,rank in

21、t null,scholar_grade char(5) null,remarkvarchar(5) null)创建评定表:create table assess(Sno char(8) not null,Qno char(3) not null,date datetime not null,basic_score float not null,rewards_score float not null,punish_score float not null,Final_score float null,rank int null,level varchar(2) nullprimary key

22、 (Sno,Qno,date),foreign key (Sno) references Student(Sno),foreign key (Qno) references Quality(Qno),)所有表如图 3.5.1 所示:图 3.5.1精选优质文档-倾情为你奉上专心-专注-专业创建综合视图结果如图 3.5.2 所示:create view view_Resultasselect Student.Sno as学号,Sname as姓名,Ssex as性别,Sdepartment as学院,Sprofession as专业,Sclass as班级,score as得分,rank as排名

23、,scholar_grade as奖学金等级,remark as备注from Student,Resultwhere Student.Sno=Result.Sno图 3.5.23.5.1 存储过程的建立:存储过程就是作为可执行对象存放在数据库中的一个或多个 SQL 命令。 通俗来讲:存储过进行程其实就是能完成一定操作的一组 SQL 语句。存储过程只在创造时编译,以后每次执行存储过程都不需再重新编译,而一般SQL 语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。存储过程可以重复使用,可减

24、少数据库开发人员的工作量。SQL Server 中的存储过程是使用 T_SQL 编写的代码段。它的目的在于能够方便的从系统表中查询信息,或者完成与更新数据库表相关的管理任务和其他的系统管理任务.T_SQL 语句是 SQL Server 数据库与应用程序之间的编程接口。在很多情况下,一些代码会被开发者重复编写多次,如果每次都编写相同功能的代码,不但繁琐,而且容易出错,而且由于 SQL Server 逐条的执行语句会降低系统的运行效率。精选优质文档-倾情为你奉上专心-专注-专业本奖学金评定系统先定义一个名称为“chaxun”的存储过程,以实现学生的查询use 奖学金评定系统gocreate pro

25、cedure chaxun asselect*from Student定义了一个名称为“deletestudent”的存储过程,实现数据的删除CREATE PROCEDURE deletestudent ASDELETE FROM StudentGO其次定义了一个名称为“charu”的存储过程,实现数据的插入use 奖学金评定系统gocreate procedure charu (Sno char(8),Sname char(8),Ssex char(2) ,Sdepartment varchar(20) ,Sprofession varchar(10),Sclass varchar(10)a

26、sinsert into Student Values( Sno,Sname,Ssex,Sdepartment,Sprofession,Sclass )精选优质文档-倾情为你奉上专心-专注-专业3.5.2 触发器的建立:触发器(trigger)是SQL server提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。触发器可以从 DBA_TRIGGERS ,USER_TRI

27、GGERS 数据字典中查到触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂参照完整性和数据的一致性,它能够对数据库中的相关表进行级联修改,提高比CHECK约束更复杂的的数据完整性,并自定义错误消息。触发器的主要作用主要有以下接个方面:1. 强制数据库间的引用完整性2. 级联修改数据库中所有相关的表,自动触发其它与之相关的操作3. 跟踪变化,撤销或回滚违法操作,防止非法修改数据4. 返回自定义的错误消息,约束无法返回信息,而触发器可以5. 触发器可以调用更多的存储过程本系统定义了一个删除学生课程记录的触发器create trigger trig_delete2on Courseafte

28、r deleteasbegin select Sno as 已删除的学生编号,date,Cname,Cscore from deletedend;精选优质文档-倾情为你奉上专心-专注-专业3.6 数据库运行与维护备份类型的选择和还原模式的确定都应遵循这样的原则:尽最大可能、以最快速度减少或消灭数据丢失。(1) 、用 backup 命令对你的数据库进行完全备份Backup database 奖学金评定系统To disk= E:schloarship奖学金评定系统.bakWith format,Name=奖学金评定系统的完整备份图3.6(2) 、用 restore 命令对上题的备份进行还原Rest

29、ore database 奖学金评定系统From disk= E:schloarship奖学金评定系统.bak3.7 插入数据及功能实现:插入数据:insert into Student(Sno,Sname,Ssex,Sdepartment,Sprofession,Sclass) values(,吴亦凡,男,计算机,信管,2班),(,彭于晏,男,计算机,信管,2班),(,林更新,男,计算机,物联网,1班),(,吴彦祖,男,计算机,信管,2班),(,杨幂,女,计算机,数媒,1班),(,迪丽热巴,女,计算机,计科,2班),(,唐嫣,女,计算机,计科,2班),(,杨超越,女,计算机,物联网,2班)i

30、nsert into Course(Sno,date,Cname,Cscore)精选优质文档-倾情为你奉上专心-专注-专业values(,2019-01-07,数据库,6 ),(,2019-01-06,数据库,6 ),(,2019-01-05,数据库,6 ),(,2019-01-07,数据库,6 ), (,2019-01-06,数据库,6 ),(,2019-01-05,数据库,6 ),(,2019-01-06,数据库,6 ),(,2019-01-05,数据库,6 )insert into Quality(Qno,Qname)values(1,2分 ),(2,1分 ),(3,3分 ),(4,1分

31、 ), (5,0分 ),(6,2分 ),(7,0分 ),(8,1分 )insert into assess(Sno,Qno,date,Basic_score,Rewards_score,Punish_score,Final_score,rank,level) values(,1,2019-01-07,0,0,0,1,8,3),(,2,2019-01-06,1,1,0,4,7,3),(,3,2019-01-05,1,0,0,4,6,3),(,4,2019-01-07,1,1,0,6,5,2),(,5,2019-01-06,1,2,0,8,4,2),(,6,2019-01-05,1,2,0,9,3,2),(,7,2019-01-06,1,1,0,9,2,1),(,8,2019-01-05,1,3,0,12,1,1)insert into Result(Sno,Score,rank,scholar_grade) values(,1,8,三等),(,1,7,三等),(,2,6,三等),(,3,5,二等),(,3,4,二等),(,4,3,二等),精选优质文档-倾情为你奉上专心-专

温馨提示

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

评论

0/150

提交评论