数据库原理课程设计报告-学生成绩管理系统.doc_第1页
数据库原理课程设计报告-学生成绩管理系统.doc_第2页
数据库原理课程设计报告-学生成绩管理系统.doc_第3页
数据库原理课程设计报告-学生成绩管理系统.doc_第4页
数据库原理课程设计报告-学生成绩管理系统.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

数据库原理课程设计报告数据库原理课程设计报告 设计题目设计题目 学生成绩管理系统学生成绩管理系统 专业班级专业班级 学学 号号 学生姓名学生姓名 指导教师指导教师 同组人同组人 起止日期起止日期 2011 年年 1 月月 10 日至日至 1 月月 20 日日 信息工程系信息工程系 1 目录目录 1.问题描述问题描述.2 1.11.1 背景背景2 2 1.21.2 功能要求功能要求2 2 .需求分析需求分析3 2.12.1 数据流数据流程程图图3 3 2.22.2 数据字数据字典典.4.4 3.概念结构设计概念结构设计.5 3.13.1 e-e-r r 图图 5 5 4.逻辑结构设计逻辑结构设计.6 5.物理结构设计物理结构设计.7 6.角色与触发器设计角色与触发器设计9 7.数据库的实施和维护数据库的实施和维护11 8.结束语结束语13 8答辩与成绩考核答辩与成绩考核.14 2 1.问题描述问题描述 1.11.1 背景背景 在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是 当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的 实际应用意义。但是,我们看到,其实我们学校的学生成绩管理系统在很多方面作的不是实际应用意义。但是,我们看到,其实我们学校的学生成绩管理系统在很多方面作的不是 很完善,功能方面也有欠缺。随着科技的发展,基本上所有的具有一定数量数据的机构都很完善,功能方面也有欠缺。随着科技的发展,基本上所有的具有一定数量数据的机构都 开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制, 大大减少了学校学生成绩管理的工作量。该课程设计要求设计一个学生成绩的数据库管理大大减少了学校学生成绩管理的工作量。该课程设计要求设计一个学生成绩的数据库管理 系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。 要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深, 加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。 1.21.2 功能要求功能要求 该学生成绩管理系统,实现简单的成绩查询、课程查询、学生查询等操作,并能实现该学生成绩管理系统,实现简单的成绩查询、课程查询、学生查询等操作,并能实现 简单的数据统计。简单的数据统计。 (一)(一) 学生查询学生查询 1、学生信息修改、学生信息修改 修改选中当前学生的信息。修改选中当前学生的信息。 2、学生信息的添加、学生信息的添加 增加新学生的信息。增加新学生的信息。 3、学生信息删除、学生信息删除 删除选中当前学生信息。删除选中当前学生信息。 (二)(二) 课程查询课程查询 1、课程修改、课程修改 实现对课程名、学时、学分的修改。实现对课程名、学时、学分的修改。 2、课程添加、课程添加 对一门新开设的课程进行录入,并存入数据库。对一门新开设的课程进行录入,并存入数据库。 3、 课程删除课程删除 对一门不在开设的课程进行删除,并从数据库中删除。对一门不在开设的课程进行删除,并从数据库中删除。 (三)(三) 成绩查询成绩查询 1、 成绩修改成绩修改 先选中要修改的成绩信息,然后进行修改。先选中要修改的成绩信息,然后进行修改。 2、 成绩添加成绩添加 直接弹出添加对话框,然后进行添加。直接弹出添加对话框,然后进行添加。 3、 成绩删除成绩删除 先选中要删除的成绩信息,然后直接删除。先选中要删除的成绩信息,然后直接删除。 3 .需求分析需求分析 2.12.1 数据流程图数据流程图 学生信息 学生信息管理 基本信息 录入 d1 学生信息 返回 d2 d3 基本信 息录入 课程信息 成绩信息 成绩信息管理 课程信息管理 基本信 息录入 图图 2-1 系统的数据流图系统的数据流图 4 2.22.2 数据字典数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、 长度、取值能否为空。利用长度、取值能否为空。利用 sql server 2000 建立建立“studentcourse”数据库,其基本表数据库,其基本表 清单及表结构描述如下:清单及表结构描述如下: 数据库中用到的表:数据库中用到的表: 数据库表名数据库表名关系模式名称关系模式名称备注备注 student学生学生学生学籍信息表学生学籍信息表 course课程课程课程基本信息表课程基本信息表 score成绩成绩选课成绩信息表选课成绩信息表 student 基本情况数据表,结构如下:基本情况数据表,结构如下: 字段名字段名字段类型字段类型not null说明说明 student _snocharprimary key学号学号 student _snamecharnot null学生姓名学生姓名 student _sexchar男男或或女女性别性别 student _deptchar系别系别 student_agechar年龄年龄 student_addresschar地址地址 course 数据表,结构如下:数据表,结构如下: 字段名字段名字段类型字段类型约束控制约束控制说明说明 course_cnochar主键(主键(primary key)课程号课程号 course_cnamecharnot null课程名称课程名称 course_hourintnot null课时课时 course_scorenumeric(2,1)not null学分学分 score 情况数据表,结构如下:情况数据表,结构如下: 字段名字段名字段类型字段类型约束控制约束控制说明说明 course_cnochar外部键外部键课程号课程号 student_snochar外部键外部键学号学号 scoreint成绩成绩 2.32.3 存储过程存储过程 (1)在在 course 中插入一元组中插入一元组 create procedure course_prod as insert into course 5 values(1018,微机原理微机原理,36,3.5) (2)创建一个查询过程创建一个查询过程 create procedure course_prod1 as select * from course (3)创建一个删除存储过程创建一个删除存储过程 create procedure course_prod2 as delete from course where course_cno=1007 3.3.概念结构设计概念结构设计 3.13.1 e-re-r 图图 由需求分析的结果可知,本系统设计的实体包括:由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,专业。)学生基本信息:学号,姓名,性别,地址,年龄,专业。 学生基本信息实体 姓名 学号 年龄 性别 地址 专业 (2)课程基本信息:)课程基本信息: 课程名,课程号,学时,学分。课程名,课程号,学时,学分。 课程基本信息实体 课程名 课程号学时 学分 6 (3)成绩基本信息:课程号,学号,分数。)成绩基本信息:课程号,学号,分数。 成绩基本信息 课程号 学号 分数 这些实体间的联系包括:这些实体间的联系包括: 每位学生可以学习多门课程,每门课程可供多位学生学习。每位学生可以学习多门课程,每门课程可供多位学生学习。 由上述分析可得到系统的由上述分析可得到系统的 er 图:图: 4.4.逻辑结构设计逻辑结构设计 4 41 1 将将 e-re-r 图转换为关系模型图转换为关系模型 实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对 于实体间的联系则有以下不同的情况:于实体间的联系则有以下不同的情况: 一个一个 m:n 联系转换为一个独立的关系模式。与该联系相联的个实体的码以及联系本联系转换为一个独立的关系模式。与该联系相联的个实体的码以及联系本 身的属性均转换为关系的属性,而关系的码为各实体码的组合。身的属性均转换为关系的属性,而关系的码为各实体码的组合。 选修课程成绩学生 课程号 课程名 学时 学分 分数 学号 姓名 性别 系别 地址 年龄 nn 7 一个一个 1:n 联系可以转换为一个独立的关系模式,也可以与联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模式合并。端对应的关系模式合并。 如果转换为一个独立的关系模式,则与该联系相联的各实体的码以及联系本身的属性均转如果转换为一个独立的关系模式,则与该联系相联的各实体的码以及联系本身的属性均转 换为关系的属性,而关系的码为换为关系的属性,而关系的码为 n 端实体的码。端实体的码。 一个一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合 并。并。3 个或个或 3 个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相联个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相联 的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合, 具有相同的关系模式可合并。具有相同的关系模式可合并。 具体的基本具体的基本 er 图向关系模式的转化如下:图向关系模式的转化如下: (1)学生(学号,姓名,性别,年龄,地址,系别)学生(学号,姓名,性别,年龄,地址,系别) ,其主关键字为学号,其主关键字为学号; (2)课程(课程名,课程号,学时,学分)课程(课程名,课程号,学时,学分) ,其中主关键字为课程号;,其中主关键字为课程号; (3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。)成绩(课程号,学号,分数)其中主关键字为学号和课程号。 可以与学生关系模式合并为:可以与学生关系模式合并为: 学生(学号,姓名,性别,年龄,地址,系别,成绩,课程号)学生(学号,姓名,性别,年龄,地址,系别,成绩,课程号) 。 42 模型优化模型优化 关系模式学生,课程不存在非主属性对主属性的部分函数依赖,也不存在传递函关系模式学生,课程不存在非主属性对主属性的部分函数依赖,也不存在传递函 数依赖,已经达到了数依赖,已经达到了 3nf。 5.物理结构设计物理结构设计 1 建立数据表建立数据表 (1)学生信息表的建立。学生信息表的建立。 create table student (student_sno char(10) primary key, student_sname char(10) not null, student_sex char(2), student_dept char(10), student_age char(10), student_address char(10); (2)课程信息表的建立课程信息表的建立 creatr table course (course_cno char(10) primary key, course_cname char(10) not null, course_hour int, course_score float(8); 8 (3)分数信息表的建立分数信息表的建立 create table score (course_cno char(10), student_sno float(8), score float(8); 2 建立视图建立视图 (1)查询学生基本信息的视图定义如下:查询学生基本信息的视图定义如下: create view student_view(student_sno,student_sname,student_sex,student_de pt,student_age,student_address) as select * from student (2)课程信息查询的视图定义如下:课程信息查询的视图定义如下: create view course_view(course_cno, course_cname, course_hour, course_score) as select * from course (3)成绩信息查询视图定义如下:成绩信息查询视图定义如下: create view score_view(course_no, student_sno, score float) as select * from score 3 建立索引建立索引 (1)为学生)为学生 student 表的学生姓名建立索引。表的学生姓名建立索引。 create cluster index snameindex on student(student_sname); (2)为课程)为课程 course 表的课程名建立索引。表的课程名建立索引。 create cluster index cnameindex on course(course_cname); 9 6.角色与触发器设计角色与触发器设计 1.创建一个角色创建一个角色 (1) 为普通学生创建一个角色为普通学生创建一个角色 r1,并对其授权查询操作。,并对其授权查询操作。 create role r1 grant select on table student,course,score to r1; 在在 在数据库目录下的角色上右击,选择新建数据库角色。在数据库目录下的角色上右击,选择新建数据库角色。 单击单击确定确定 ,再选择角色,再选择角色 r1 属性属性 10 选择权限选择权限 勾选三个表的勾选三个表的 select 权限,确定即可。权限,确定即可。 (2)为老师创建一个角色为老师创建一个角色 r2,并对其授权查询、插入、更新、删除操作。,并对其授权查询、插入、更新、删除操作。 create role r2 grant select,insert,update,delete on table student,course,scorse to r2; 方法同(方法同(1), 第第步权限选择如下图步权限选择如下图: 2.创建触发器创建触发器 当删除当删除 student 表中某一学生基本信息时,触发表中某一学生基本信息时,触发 course 表,删除相应的记录。表,删除相应的记录。 create trigger student-delete on student for delete as delete course form deleted where course.sno=deleted.sno 11 7.数据库的实施和维护数据库的实施和维护 7.17.1 数据库的实施数据库的实施 1.数据插入数据插入 插入新的课程,课程号为插入新的课程,课程号为 1018,课程名为微机原理,学时为,课程名为微机原理,学时为 36,学分为,学分为 3.5 insert into course values(1018,微机原理微机原理,36,3.5); 插入学号为插入学号为 200803 学生的微机原理成绩,分数为学生的微机原理成绩,分数为 81 insert into score values(1018,200803, 81); 2.查询数据查询数据 查询学号为查询学号为 200801 的学生信息:的学生信息: 12 select * from student where student_sno = 200801 查询名字为张三的学生成绩及课程名:查询名字为张三的学生成绩及课程名: select score,course_cname from score,course where student_sno in (select student_sno from student where student_sname=张三张三and course.course_cno=score.course_cno); 3.删除数据删除数据 删除课程号为删除课程号为 1018 的课程的课程 delete from course where course_cno=1018 删除学生柴胡的所有成绩记录删除学生柴胡的所有成绩记录 delete from score where student_sno in (select student_sno from student where student_sname=柴胡柴胡); 13 7.2.7.2.数据库的维护数据库的维护 数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行,但是,由于数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行,但是,由于 应用环境在不断变化,数据库运行过程中物理结构存储也会不断变化,对数据库设计进行应用环境在不断变化,数据库运行过程中物理结构存储也会不断变化,对数据库设计进行 评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。 数据库运行一段时间后,由于记录不断增,删,改,会使数据库的物理存储情况变坏数据库运行一段时间后,由于记录不断增,删,改,会使数据库的物理存储情况变坏 降低了数据的存取效率,数据库的性能下降,这时候作为数据库管理员就要对数据库进行降低了数据的存取效率,数据库的性能下降,这时候作为数据库管理员就要对数据库进行 重组织或部分重组织(只对频繁增、删的表进行重组织)重组织或部分重组织(只对频繁增、删的表进行重组织) 。dbms 一般都提供数据重组织一般都提供数据重组织 的实用程序。在重组织的过程中,按原设计要求重新安排存储的位置、回收垃圾、减少指的实用程序。在重组织的过程中,按原设计要求重新安排存储的位置、回收垃圾、减少指 针链等,提高系统性能。针链等,提高系统性能。 数据库的重组织并不修改原设计的逻辑和物理结构,而数据库的重构造则不同,它是数据库的重组织并不修改原设计的逻辑和物理结构,而数据库的重构造则不同,它是 指部分修改数据库的模式和内模式。指部分修改数据库的模式和内模式。 由于数据库应用环境发生变化,增加了新的应用或者新的实体,取消了某些应用,有由于数据库应用环境发生变化,增加了新的应用或者新的实体,取消了某些应用,有 的实体与实体间的联系也发生改变,使原有的数据库设计不能满足新的需求,需要调整数的实体与实体间的联系也发生改变,使原有的数据库设计不能满足新的需求,需要调整数 据库的模式和内模式。据库的模式和内模式。 8.结束语结束语 在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情, 如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相 互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解, 也学会了做人与处世。也学会了做人与处世。 通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的 理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始, 对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,e-r 图图 的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,

温馨提示

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

评论

0/150

提交评论