1、 数据库原理与应用课程设计报告题目: 学生成绩管理系统 学 校: 专业班级: 学生姓名: 学 号: 指引教师: 12 月 一 概述 1.1目与规定随着科技发展,基本上所有具备一定数量数据机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据机制,大大减少了学校学生成绩管理工作量。该课程设计规定设计一种学生成绩数据库管理系统,数据库中规定包括学生基本信息,学科基本信息,以及学生所学课程考试成绩。要以便学生进行成绩查询,通过该课程设计,应当达到把数据库理论知识更加巩固加深,加强动手能力与实践能力,学以致用,与现实生活中应用充分结合起来。 1.2设计环境 Microsoft S
2、QL Server 二 需求分析 1.1信息需求高校学生成绩管理工作量大、繁杂,人工解决非常困难。学生成绩管理系统借助于计算机强大解决能力,大大减轻了管理人员工作量,并提高了解决精确性。学生成绩管理系统开发运用,实现了学生成绩管理自动化,不但把广大教师从繁重成绩管理工作中解脱出来、把学校从老式成绩管理模式中解放出来,并且对学生成绩判断和整顿更合理、更公正,同步也给教师提供了一种精确、清晰、轻松成绩管理环境。 1.2数据需求 可以进行数据库数据定义、数据操纵、数据控制等解决功能,进行联机解决相应时间要短。 1.3功能需求详细功能应涉及:系统应当提供课程安排数据插入、删除、更新、查询;成绩添加、修
3、改、删除、查询,学生基本信息查询功能。 1.4安全性与完整性规定需求分析内容: 一种学生可以选修多门课程,一门课程可供多名学生选修;一种学生选修一门课程会有一种成绩。 一种教师专家多门课程,一门课程由一名教师专家。 2.数据流图 3.数据字典 数据项是数据库关系中不可再分数据单位,如下分别列出了数据名称、数据类型、长度、取值能否为空。运用SQL Server 建立“学生选课”数据库,其基本表清单及表构造描述如下:1)课程信息(course): 课程号(cno) char(10) primary key 定义为主键课程名cname) char(10) 非空学时(hour) char(10) 非空
4、 | 学分(credit) char(4) 非空2学生信息(student): 学号(sno) char(10) primary key 定义主键姓名(sname) char(10) 非空性别(ssex)char(2) 非空年龄(sage) char(2) 非空专业(smajor) char(10) 非空系别(sdepart) char(10) 非空3)成绩信息(score ): 学号(sno) char(10) primary key 定义主键课程号(cno)char(10) 非空成绩(degree)char(10) 非空课程名( cname)char(10) 非空三 概念构造设计阶段概念构
5、造设计阶段是整个数据库设计核心,它通过对顾客需求进行综合、归纳与抽象,形成一种独立于详细DBMS概念模型。1.数据库局部E-R图学生信息表学生信息表姓名学号系别年龄姓别专业课程信息图课程信息表课程名课程号 学时学分成绩图 成绩成绩课程名课程号学号 2.数据库完整E-R图学生信息表姓名学号系别年龄性别专业选课课程信息表课程名课程号 学时学分 成绩成绩课程名课程号学号四 逻辑构造设计阶段E-R图向关系模型转化要解决问题是如何将实体型和实体间联系转化为关系模式,如何拟定这些关系模式属性和码。设计学生成绩管理数据库,涉及课程、学生、成绩三个关系,其关系模式中对每个实体定义属性如下:课程信息表:(课程号
6、,课程名,教师号,学分)此为联系“课程信息表”所相应关系模式。课程名为该关系候选码。学生信息表:(学号,姓名,性别,年龄,专业,系别)此为联系“学生信息表”所相应关系模式。学号为该关系候选码。成绩表:(学号,课程号,课程名,成绩)此为联系“输入”所相应关系模式。题目编号、管理号为该关系候选码数据库中包括3个表,即课程信息(course),学生信息(student ),成绩信息(score )。数据库中用到表:数据库表名关系模式名称备注Student学生学生学籍信息表Course课程课程基本信息表Score成绩选课成绩信息表Student基本状况数据表,构造如下:字段名数据类型约束控制阐明Stu
7、dent _snoCharPrimary key学号Student _sncharNot Null姓名Student _sexchar男或女性别Student _departchar系别Student_agechar年龄Student_majorchar专业course数据表,构造如下:字段名数据类型约束控制阐明course_cnochar主键(primary key)课程号course_cnamecharnot null课程名course_hourintnot null学时course_scorenumeric(2,1)not null学分score状况数据表,构造如下:字段名数据类型约束控
8、制阐明score_cnointnot null课程号course_snamecharnot null课程名student_snochar外部键学号scoreint成绩五 数据库物理设计 数据库物理设计任务是为上一阶段得到数据库逻辑模式,即数据库逻辑构造选取适当应用环境物理构造,既拟定有效地实现逻辑构造模式数据库存储模式,拟定在物理设备上所采用存储构造和存取办法,然后对该存储模式进行性能评价、修改设计,通过多次重复,最后得到一种性能较好存储模式。数据库物理设计内容涉及记录存储构造设计,存储途径设计。 1.系统构造设计 1.1系统功能模块学生成绩管理系统学生管理学生管理学生查询课程管理课程查询课程
9、管理成绩管理成绩管理成绩查询退出系统退出系统 六 数据库实行创立数据库create database STUDENT创立表在此学生成绩管理系统中需要创立三个表,即课程信息表、学生信息表和成绩表。创立数据库后,为STUDENT数据库添加数据表,环节如下。(1) 新建查询窗口(2) 在查询窗口中键入下列SQL语句create table course( cno char(10) primary key, cname char(10) not null, teano char(10) Not null credit char(4),Not null ) 执行上述SQL语句即可创立课程信息表有关表格c
10、reate table student( sno char(10) primary key, sname char(10) not null, ssex char(2) not null, Sage char(2) not null, Major char(10) not null, Depart char(10) not null, )执行上述SQL语句即可创立学生信息表有关表格create table score( sno char(10), cno char(10), cdegree char(10), cname char(10), 执行上述SQL语句即可创立成绩表有关表格学生信息有关
11、表格Snosnamessexsagemajordepart0901薛克强男 22软件计算机系0902陈波男 23通信计算机系0903宋丹丹女20会计金融系0904王恒文男22园林土木系0905沈网中男20软件计算机系课程信息有关表格Cnocnametnamecredit0301C语言王月敏20302信号与系统杜鹃2.50303微积分王可2.50304高等数学刘甸宝4成绩信息表SnoCnocdegreecname0901030390微积分0902030484高等数学0902030181C语言0903030279信号与系统0903030485高等数学0904030494高等数学七 数据库运营和维护
12、 1、当试运营数据库合格后,数据库开发设计工作就基本完毕了,接下来就是正式运营中调试,由于该系统比较简朴,数据量小,数据库中几乎不会发生什么大变化,但是还是需要做好数据备份,在SQL SERVER中咱们可以运用备份数据库功能对已经设计好数据做备份,如果数据库受到破坏或系统故障,咱们便可轻松运用备份文献恢复数据库数据。固然也可以运用其她各种办法进行数据维护。 2、数据操作数据库查询操作A.单表查询:(1)查询sno为09901学生snameselect snamefrom studentwhere sno= 0901成果:(2)查询ssex为女并且sdepart为金融系snameselect s
13、namefrom studentwhere ssex =女 and sdepart =金融系成果:(3)查询所有学生姓名和系别。 select sname,Depart from student成果:(4)查询Depart为计算机系sname。select snamefrom studentwhere Depart =计算机系成果:(5)查询所有学生所在院系名称select distinct Departfrom student成果:(6)查询学生信息表中年龄不大于21和年龄不不大于21学生姓名和系别select sname,Departfrom studentwhere sage21 or
14、sage21成果:B.嵌套查询 查询选修了0304这门课所有学生学号、姓名、年龄、院系Select sno,sname,sage,DepartFrom studentWhere sno in (select sno From score Where cno=0304)查询成果3、数据库更新操作A.插入数据向Student表中添加一项记录:姓名:杨昇昇,学号:0907,性别:男,年龄:22专业:信息管理,系别:金融系InsertInto Student1(Sno,Sname,Ssex,sage,major,depart)Values (0907, 杨昇昇,男, 22, 信息管理,金融系)B.修改
15、数据修改学号为0908:Update StudentSet Sno=0908Where Sname=陈波;C.删除数据删除所有金融学生记录Delete from studentWhere(depart=金融系);4、视图操作:数据库视图定义(创立和删除)、查询和更新A.查询所有学生选课信息,涉及学号、姓名、课程号、课程名、成绩create view score1asselect student.sno学号,student.sname学生名,o课程号,ame课程名,score.degree成绩from student,class,scorewhere student.sno=score.sno
16、and o=o Go查询成果B.更新视图:(1)修改信息:将宋丹丹名字改为宋丹Update score1set 学生名=宋丹丹where 学生名=宋丹(2)删除信息:删除视图score1中王恒文记录deletefrom scorewhere 学生名=王恒文八 总结 设计心得通过数据库课程设计,我对数据库理解又加深了一步,从简朴理论到事实上机操作中种种困难,都必要自己去摸索和克服。而当解决了困难后来,我发现自己基本能将课本上章节都融会贯通了,从而也达到了复习效果。纵观整个设计,要想完毕一种数据库系统,最重要是要彻底理解数据库设计六个基本环节,及每个基本环节要完毕任务,要实现内容。此外,在设计整体和局部E-R图时,实体和属性选取,以及实体于实体间联系时,都是在通过了几次修改,不断研究系统性能状况下才完毕。而这每一次修改,又牵动了后续进行,通过这样重复修改和思考,才使得系统模型基于成熟,因此说一种好系统是需要不断修改不断完善才干成功。最后,本次课程设计的确让我受益匪浅。起码在已有水平上,我理论与实践均有了长足进步。这对后来设计也是一笔宝贵财富。