《数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告.docx(16页珍藏版)》请在第壹文秘上搜索。
1、数据库原理与应用课程设计报告题目:学生成绩管理系统学校:专业班级:学生姓名:学号:指导教师:2012年12月一概述1.1 目的与要求随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。1.2 设计环境Microsof
2、tSQ1.Server2005二需求分析1.1 信息需求高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。1.2 数据需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。1.3 功能需求具体功能应包括:系统应该提供课程安排数据的插入
3、、删除、更新、查询:成绩的添加、修改、删除、查询,学生基本信息查询的功能。1.4 安全性与完整性要求需求分析内容: 一个学生可以选修多门课程,一门课程可供多名学生选修;一个学生选修一门课程会有一个成绩。 一个教师教授多门课程,一门课程由一名教师教授。3.数据字典数据项是数据库的关系中不可再分的数据单位,以下分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQ1.SerVer2005建立“学生选课”数据库,其基本表清单及表结构描述如下:1)课程信息(CoUrSe):I课程号(cno)char(10)primarykey定义为主键I课程名cname)Char(IO)非空I课时(hour)c
4、har(10)非空I学分(credit)char(4)非空2学生信息(student):I学号(SnO)char(10)Primarykey定义主键I姓名(sname)Char(IO)非空I性别(SSeX)Char(2)非空I年龄(sage)char(2)非空I专业(smajor)char(10)非空I系别(Sdepart)Char(IO)非空3)成绩信息(score):I学号(sno)char(10)primarykey定义主键I课程号(cno)char(10)非空I成绩(degree)char(10)I课程名(Cname)Char(IO)非空三概念结构设计阶段概念结构设计阶段是整个数据库设
5、计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。1 .数据库的局部E-R图学生信息表课程信息图成绩图2 .数据库完整E-R图四逻辑结构设计阶段E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、成绩三个关系,其关系模式中对每个实体定义的属性如下:课程信息表:(课程号,课程名,教师号,学分)此为联系”课程信息表”所对应的关系模式。课程名为该关系的候选码。学生信息表:(学号,姓名,性别,年龄,专业,系别)此为联系“学生信息表”所对应的关系模式。学号为该关系的候选码
6、。成绩表:(学号,课程号,课程名,成绩)此为联系“输入”所对应的关系模式。题目编号、管理号为该关系的候选码数据库中包含3个表,即课程信息(CoUrSe),学生信息(StUdent),成绩信息(score)o数据库中用到的表:数据库表名关系模式名称备注Student学生学生学籍信息表Course课程课程基本信息表Score成绩选课成绩信息表StUdent基本情况数据表,结构如下:字段名数据类型约束控制说明Student_snoCharPrimarykey学号Student_sncharNotNull姓名Student_sexchar男或女性别Student_departchar系别Student
7、agechar年龄Student_majorchar专业COUrSe数据表,结;向如下:字段名数据类型约束控制说明coursecnochar主键(primarykey)课程号course_cnamecharnotnull.课程名course_hourintnotnull课时coursescorenumeric(2l1)notnull学分SCOre情况数据表,结构如下:字段名数据类型约束控制、说明score-cnointnotnull课程号course_snamecharnotnull课程名student_snochar外部键学号scoreint成绩五数据库的物理设计数据库物理设计的任务是为上一
8、阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。1 .系统结构设计1.1 系统功能模块学生成绩管理系统学生管理课程管理成绩管理退出系统学生管理六数据库实施创建数据库createdatabaseSTUDENT创建表在此学生成绩管理系统中需要创建三个表,即课程信息表、学生信息表和成绩表。创建数据库后,为STUDENT数据库添加数据表,步骤如下
9、。(1) 新建查询窗口(2) 在查询窗口中键入下列SQ1.语句createtablecourse(cnochar(10)primarykey,cnamechar(1O)notnull,teanochar(10)Notnullcreditchar(4)1Notnull)执行上述SQ1.语句即可创建课程信息表相关表格createtablestudent(snochar(10)primarykey,snamechar(1O)notnull,ssexchar(2)notnull,Sagechar(2)notnull,Majorchar(10)notnull,Departchar(10)notnull,
10、)执行上述SQ1.语句即可创建学生信息表相关表格createtablescore(snochar(10),cnochar(10),cdegreechar(10),cnamechar(10)l执行上述SQ1.语句即可创建成绩表相关表格学生信息相关表格Snosnamessexsagemajordepart0901薛克强男22软件计算机系0902陈波:男23通信计算机系0903宋丹丹女20会计金融系0904王恒文男22园林土木系0905沈网中男20软件计算机系课程信息相关表格Cnocnametnamecredit0301C语言王月敏20302信号与系统杜鹃2.50303微积分王可2.50304高等数
11、学刘甸宝4成绩信息表SnoCnocdegreecname0901030390微积分0902030484高等数学0902030181C语言0903030279信号与系统0903030485高等数学0904030494高等数学七数据库的运行和维护1、当试运行数据库合格后,数据库开发设计的工作就基本完成了,接下来就是正式运行中的调试,因为该系统比较简单,数据量小,数据库中几乎不会发生什么大的变化,但是还是需要做好数据的备份,在SQ1.SERVER中我们可以利用备份数据库的功能对已经设计好的数据做备份,如果数据库受到破坏或系统故障,我们便可轻松的利用备份文件恢复数据库的数据。当然也可以利用其他各种方法
12、进行数据维护。2 、数据操作数据库查询操作A.单表查询:(1)查询sno为09901学生的snameselectsnamefromstudentwheresno=090结果:(2)查询ssex为女并且Sdepart为金融系的snameselectsnamefromstudentwheressex=女andsdepart=金融系(3)查询所有学生的姓名和系别。selectsname,Departfromstudent结果:1.JsnameDePart1.1.j薛克强计It机系b_lKtt计算机系2_1*丹金融系1.j王恒文土木系I沈网中计算机系(4)查询Depart为计算机系的Sname。sel
13、ectsnamefromstudentwhereDepart=计算机系(5)查询所有学生所在院系名称selectdistinctDepartfromstudent结果:(6)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和系别SeleCtSname1Departfromstudentwheresage21orsage21B.嵌套查询查询选修了0304这门课的所有学生的学号、姓名、年龄、院系Selectsno,sname,sage,DepartFromstudentWheresnoin(selectsnoFromscoreWherecno=0304)SnOsnameSageDepart1i0902陈波23计篁机系20903宋丹20金融系30904王恒文23土木系查询结果3、数据库更新操作A.插入数据向Student表中添加一项记录:姓名:杨昇昇,学号:0907,性别:男,年龄:22专业:信息管理,系别:金融系InsertIntoStudentl(Sno,Sname,Ssex,sage,major,depart)Values(0907,杨昇昇,男22,信息管理金融系)snosna