




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计实验报告学生成绩管理系统姓 名:学 号:班 级: 专 业: 信息管理与信息系统 2011年11月09日一、需求分析阶段1.信息需求高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计教室管理数据库包括学生、课程、教师三个关系。经分析本系统的E-R图如下:学生信息表姓名姓名姓名姓名姓名课程信息表课程名课程号学分教师号学时教师名教师系别教师性别教师年龄教师信息表教师号成绩表学号课程号成绩各实体间的E-R图如下:学分教师号课程名课程号学时专业学号教师系别教师号教师名教师年龄教师性别教师信息表学号成绩性别系别年龄姓名课程信息表教课选课学生信息表课程号成绩关系图:三、逻辑结构设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师年龄,教师性别,教师系别)1、课程信息表(class)字段名描述数据类型字段限制cno课程号char(10)Primary keycname课程名char(10)Not nulltno教师号char(10)Not nullcredit学分char(4)Not nullctime学时char(50)Not null2、学生信息表(student)字段名描述数据类型字段权限sno学号char(10)Primary key sname姓名char(10)Not null ssex性别char(2)Not nullsage 年龄IntNot null major专业char(10)Not nullsdept系别char(10)Not null3.教师表(teacher)字段名属 性数据类型字段权限tno教师号char(10)Primary keytname教师名char(10)Not nulltsex教师性别char(2)Not nulltage教师年龄IntNot nulltdept教室系别char(10)Not null4.成绩表(score)字段名属 性数据类型字段权限sno学号char(10)Primary keycno课程名char(10)Not nullgrade成绩IntNot null四、物理设计阶段 数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。五、数据库实现数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进行试运行。1、创建数据库(1) 打开SQL工具“查询分析器”(2) 在查询窗口中键入下列SQL语句Create database ScoreSystem执行上述SQL语句即可新建一名为Score System的数据库2、创建数据表 一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。创建数据库后,为Score System数据库添加数据表,步骤如下。(1) 新建查询窗口(2)a.在查询窗口中键入下列SQL语句Create table Class( /创建课程信息表 cno char(10) , /课程号 cname char(10) Not null, /课程名 tno char(10) Not null , /教师号 credit char(4) Not null, /学分 ctime char(50) Not null /学时 ) 执行上述SQL语句即可b.创建课程信息表相关表格执行下述SQL语句即可创建学生信息表相关表格create table student ( / sno char(10) primary key, /学号 sname char(10) not null, /姓名 ssex char(2) not null, /性别 Sage int not null, /年龄 Major char(10) not null, /专业 Sdept char(10) not null / /系别 ) c.执行下述SQL语句即可创建教师信息表相关表格create table teacher ( /创建教师信息表 tno char(10) primary key, /教师号 tname char(10) not null, /教师名 tage int , /教师年龄 tsex char(2), /教师性别 tdept char(10) /教师系别 )d.执行下述SQL语句即可创建成绩表相关表格create table score ( /创建成绩表 sno char(10), /学号 cno char(10) /课程号 )学生信息相关表格snosnamessexsagemajorsdept1021030301李娜女 18商务英语外国语1021030302林俊杰男 19信息管理理学院1021030303周杰男18计算机软件1021030304孙颖女20数学理学院1021030305齐婷女19影视艺术学院1021030306张恒男20经济管理工商课程信息相关表格cnocnametnocreditctime1001线性代数0043.5451002C语言0073.1321003程序设计0023.3481004大学语文0062.5311005商务英语0054601006大学体育0092201007中国影视0082.5301008高等数学0034601009数据库原理001350成绩信息表Snocnograde10210303011006 8510210303011003901021030301100586102103030210068210210303021004841021030302100181102103030310069310210303031002791021030303100485102103030410069410210303041008741021030304100786102103030510029410210303051006781021030305100883教师信息表tnotnametagetsextdept001肖俊芳35男理学院002黄国辉41男软件003何杰35男理学院004李水平31男理学院005廖丽丽29女外国语006秦磊毅49男理学院007吴志强32男软件008张微微25女影视009谢俊29男工商添加记录:学生信息表:Insertinto student values(1021030301,李娜,女,18,商务英语,外国语)Insertinto student values(1021030302,林俊杰,男,19,信息管理,理学院)Insertinto student values(1021030303,周杰,男,18,计算机,软件)Insertinto student values(1021030304,孙颖,女, 20,数学,理学院)Insertinto student values(1021030305,齐婷,女,20,影视,艺术学院)Insertinto student values(1021030306,张恒,男,20,经济管理,工商)课程信息表:Insertinto classvalues(1001,线性代数,004,3.5,45)Insertinto classvalues(1002,C语言,007,3.1,32)Insertinto classvalues(1003,程序设计,002,3.3,48)Insertinto classvalues(1004,大学语文,006,2.5,31)Insertinto classvalues(1005,商务英语,005,4,60)Insertinto classvalues(1006,大学体育,009,2,20)Insertinto classvalues(1007,中国影视,008,2.5,30)Insertinto classvalues(1008,高等数学,003,4,60)Insertinto classvalues(1009,数据库原理,001,3,50)成绩信息表:Insertinto scorevalues(1021030301,1006,85)Insertinto scorevalues(1021030301,1003,90)Insertinto scorevalues(1021030301,1005,86)Insertinto scorevalues(1021030302,1006,82)Insertinto scorevalues(1021030302,1004,84)Insertinto scorevalues(1021030302,1001,81)Insertinto scorevalues(1021030303,1006,93)Insertinto scorevalues(1021030303,1002,79)Insertinto scorevalues(1021030303,1004,85)Insertinto scorevalues(1021030304,1006,94)Insertinto scorevalues(1021030304,1008,74)Insertinto scorevalues(1021030304,1007,86)Insertinto scorevalues(1021030305,1002,94)Insertinto scorevalues(1021030305,1006,78)Insertinto scorevalues(1021030305,1008,83)老师信息表:Insertinto teachervalues(001,肖俊芳,35,男,理学院)Insertinto teachervalues(002,黄国辉,41,男,软件)Insertinto teachervalues(003,何杰,35,男,理学院)Insertinto teachervalues(004,李水平,31,男,理学院)Insertinto teachervalues(005,廖丽丽,29,女,外国语)Insertinto teachervalues(006 , 秦磊毅,49,男,理学院)Insertinto teachervalues(007,吴志强,32,男,软件)Insertinto teachervalues(008,张薇薇,25,女,影视)Insertinto teachervalues(009,谢俊,29,男,工商)六、数据库运行和维护阶段1、数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除(1)基本表的创建,建表语句 create table students(sno char(10) primary key, sname char(10) not null, ssex char(2) not null, sage char(10) not null, major char(10) not null, sdept char(10) not null )(2)基本表的删除drop table student2、数据操作数据库查询操作A.单表查询:(1)查询sno为1021030303学生的sname,sage,major,sdept,ssexselect sname,sage,major,sdept,ssexfrom studentwhere sno= 1021030303(2) 查询ssex为女并且sdept为艺术学院的sname,sage Select sname,sage From student Where ssex=女 and sdept=艺术学院(3)查询所有学生的姓名和系别。 select sname,sdept from student(4) 查询学生信息表中年龄小于20和年龄大于17的学生的姓名和系别select sname,sdeptfrom studentwhere sage between 19 and 20(3)查询所有学生的平均年龄select avg(sage) as 平均年龄from Student(5)查询所有学生所选课程的平均分:select avg(sage) as 平均分,student.sname as 姓名,student.sno as 学号from Student ,score,classwhere student.sno=class.sno and o=oB.连接查询(1) 学生的学号、姓名,所选课程的课程号、课程名和成绩、任课教师名Select student.sno ,student.sname , o ,ame ,score.grade, teacher.tnameFrom student ,class ,score ,teacherWhere student.sno =score.sno and o=o and teacher.tno=class.tno(2) 找出教授数据库原理的老师的教师名select teacher1.tnamefrom class,teacher1Where class.tno=teacher1.tno and ame=数据库原理C. 嵌套查询 查询选修了1006这门课的所有学生的学号、姓名、年龄、院系Select sno,sname,sage,sdeptFrom studentWhere sno in (select sno From score Where cno=1006)D.嵌套查询 查询选修了1006这门课的所有学生的学号、姓名、年龄、院系Select sno,sname,sage,departFrom student1Where sno in (select sno From score Where cno=1006)3、数据库更新操作A.插入数据向Student1表中添加一项记录:姓名:景甜,学号:1021030201,性别:女,年龄:20专业:外交英语,系别:外国语B.修改数据修改林俊杰的学号为1021030307:Update StudentSet Sno=1021030307Where Sname=林俊杰;C.删除数据删除所有理学院学生的记录Delete from studentWhere sdept=理学院4、为数据库建立索引创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。第四,在使用ORDER BY和GROUP BY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。A.创建索引:(1) 在class表的cno列上创建非聚集索引。 Create index classrname ON class (cno)(2) 在student1表的sno列上创建非聚集索引。 Create unique index 学号_sno ON Student (sno)(3) 在Student1表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。 Create index学号 ON student(sno ASC)B.删除索引:(1)删除student表中的studentno 索引。 Drop index student.学号_sno 5、视图的操作:数据库视图的定义(创建和删除)、查询和更新A.查询所有学生成绩的信息,包括学号、课程号、成绩 create view score4asselect student.sno学号,sname学生名,o课程号,cname课程名,score.grade成绩from student ,class ,score where student.sno=score.sno and o=o B.更新视图:(1)修改信息:将周杰的名字改为周杰伦Update score4set 学生名=周杰伦where 学生名=周杰(2)删除信息:删除视图score4中周
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古锡林郭勒盟 锡林浩特市迎东口腔门诊部招聘13人备考考试题库附答案解析
- 2025农业农村部在京事业单位招聘43人考试参考试题及答案解析
- 广安市华蓥市2025年下半年“小平故里英才计划”引进急需紧缺专业人才考试参考试题及答案解析
- 2025山东济宁学院招聘二级学院院长3人备考考试题库附答案解析
- 2025年河北唐山芦台经济开发区高校毕业生临时公益性岗位招聘备考考试题库附答案解析
- 济南市教育局所属学校公开招聘2026届部属公费师范毕业生(163人)笔试参考题库附答案解析
- 2025江苏南通市机关事务管理局招聘政府购买服务岗位人员1人笔试备考试题及答案解析
- 2025年山东省水利工程建设监理有限公司公开招聘(8人)备考考试题库附答案解析
- 中医推拿健康宣教课件
- 3山东八年级物理第一学期期中考试试题以及答案(适合沪科版)
- 2025建设银行秋招笔试真题及答案
- 【数学】角的平分线 课件++2025-2026学年人教版(2024)八年级数学上册
- 阿迪产品知识培训内容课件
- 幼儿园副园长岗位竞聘自荐书模板
- 老旧小区健身设施增设规划方案
- T∕CEPPEA5004.5-2020核电厂常规岛施工图设计文件内容深度规定第5部分仪表与控制
- 2025年中国中煤能源集团有限公司人员招聘笔试备考题库附答案详解(完整版)
- 酸碱防护知识培训课件
- 值勤岗亭安装方案范本
- 2025年吉林省中考数学真题卷含答案解析
- 大模型概念、技术与应用实践 课件 第6章 智能体
评论
0/150
提交评论