数据库大型实验-实验报告_第1页
数据库大型实验-实验报告_第2页
数据库大型实验-实验报告_第3页
数据库大型实验-实验报告_第4页
数据库大型实验-实验报告_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

高校成绩管理系统数据库设计与实现高校成绩管理系统数据库设计与实现 专业班级 机自 1001 班 学 号 201026811803 学生姓名 胡绍利 1 需求分析需求分析 1 1 系统开发意义 随着学校规模的不断扩大 专业 班级 学生的数量急剧增加 有关学生选课的各种信息量也成倍增长 而目前许多高校的学生选课管理 荏苒停留在复杂的人工操作上 重复工作较多 工作量大 效率地 因此 迫切需要开发基于互联网的学生信息管系统来提高管理工作的效率 基于 这种学生信息管理系统在学生选课的规范管理 科学统计和快速查询方面 具有较大的实用意义 它提高了信息的开发性 达到地改善了学生 教师 对其最新信息查询的准确性 学生成绩管理系统是一个教育单位不可或缺 的部分 它的内容对于学校的决策者和管理者来说都是至关重要的 所以 学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段 对 学生来说可以轻松地查阅自己在校的成绩已经信息等 但是一直以来人们 都是靠传统人工的方式管理学生成绩 这种管理方式存在着许多缺点 效 率低 保密性差 另外时间一长 将产生大量的文件和数据 这对于查找 更新和维护都带来了不是困难 因此 开发这样的一套成绩管理系统成为 很必要的事情 学生成绩管理系统提供了强大学生成绩管理功能 方便系 统管理员对学生成绩等信息的添加 修改 删除 查询等操作 同时也方 便学生对自己各科成绩的查询学习的必要性 1 2 功能需求功能需求 学生成绩管理系统主要提供学生成绩的查询 维护 方便管理的网上的 信息查阅平台 学生可以通过该系统查阅与自己相关信息 教师可以通过 成绩管理系统查阅学生信息 教师信息 以及自己所执教课程学生成绩的 录入 系统管理员可以实现以上的所以功能 还有对学生信息的添加 删 除 修改 教师信息的添加 删除 修改 课程信息的添加 删除 修改 具体功能如下 a 管理员模块 主要功能是对每学期课课程信息的添加 修改 删除 教师信息的 添加 删除 修改 学生信息的添加 修改 删除 还可以对全体学生信 息 教师信息的查询 学生成绩的查询以及自己登陆密码的修改等 b 教师模块 主要功能是对自己教课程进行成绩的录入 还有对全体学生信息 教师部分信息的查询 学生成绩的查询以及自己登陆密码的修改等 c 学生模块 主要功能是对自己信息的查询 每学期成绩的查询 自己已修课程 和学分的查询 登陆密码修改等 1 3 环境配置需求环境配置需求 系统运行环境 1 硬件环境 键盘 鼠标 显示器 2 软件环境 windows 操作系统 Microsoft SQL sever 2008 iis6 0 Macromedia Dreamweaver 8 b 适合用户 适合各类中等学校对中学生成绩事务管理 c 系统模块化设计 本系统遵循了 自顶向下 逐层展开 结构化时间原则 系统功能按模 块化实现 各模块之间既关联又相互独立 每个模块执行特定的功能 系统设 计操作简单 可读性强 d 系统实用性 为了提高系统效率 系统提供了多种形式的对话框 并在设计过程中 考虑尽量减少用户的输入 为了提高查询效率 系统提供了多种组合查询 e 系统安全性 为了防止非法人员进入系统 造成意外破坏 在进入本系统之前 需经 过密码认证 同时 系统管理员对每个用户的使用权限进行设置 使不至于越 权操作 1 4 数据需求描述数据需求描述 学生成绩管理系统学生成绩管理系统 登录登录 学生模块学生模块教师模块教师模块 管理员模块管理员模块 成绩查询 密码修改 已修学分及课程查询 密码修改 学生成绩维护 教师课程查询 公共查询 教师信息维护 学生信息维护 密码修改 课程信息维护 公共查询 全体学生成绩查询 教师授课信息查询 按地区学生成绩查询 以上各模块的作用分别是 1 对于学生用户 通过登录进入到管理系统 学生界面有密码修改 成绩查询三个 选项等 点击修改密码 则进入修改密码界面 该界面上已有学生的用户名和旧密码 学生只需输入新密码 点击修改 则可修改成功 点击成绩查询 则可进入成绩查询 界面 通过输入学期 则可查询该学期的各门课程成绩情况 学生的选课是通过班级 课程的安排设置的 所以没有特别的选择 即可认为学生的选课由班级决定 这在管 理员基本功能中实现 2 对于教师用户 通过登录进入到管理系统 教师界面有密码修改 学生成绩的维护 教师课程查询 公共查询页面 密码修改功能与学生用户一样 点击进入学生成绩的 维护界面 教师可以通过添加按钮 修改按钮 删除按钮对学生成绩进行基本的添加 修改和删除 点击进入教师课程查询 教师可以查询到自己所教学生的成绩以及成绩 的基本统计 对于公共查询 教师可以对学生基本信息 教师基本信息的查询 教师 还可以通过在按地区查询学生信息界面输入地区名字查询该地区的学生信息 3 对于管理员用户 通过登录进入到管理系统 管理员界面也设置了三个选择方向 基本功能有密码修改 学生信息的维护 教师信息的维护 公共查询 课程信息的维 护 密码修改同前两种用户一致 三种信息的维护则是通过添加按钮输入相应的新的 信息 修改按钮修改已有选中信息 以及删除按钮删除选择信息 公共查询与教师界 面的公共查询一样 2 概念结构设计概念结构设计 2 1 设计各个局部 设计各个局部 E R 图图 学号 学生 姓名年龄出生地性别已修学分班级编号 教师编号教师姓名教师性别职称教师年龄教师电话 教师 课程编号课程姓名开课学期学分教师编号课程类 型 课程 学时 学生学号 学期 课程名称 成绩 教师编号 学生成绩 班级 班级编号班级名称专业 2 2 合并出统一的全局 合并出统一的全局 E R 学生 课程 班级教师 学生成绩 学号 学生姓名 学生性别 学生年龄 生源所在地 已修学分 学号学期课程编号成绩教师编号 课程编号 教师编号 课程名称 开课学期 课程类型 学分 教授 属于开设 上课 班级编号班级名称所属院校所属专业教师编号教师姓名教师性别教师年龄 职称 教师电话 1 n n m m n nm m n 班级编号 3 逻辑结构设计 逻辑结构设计 3 1 E R 图向关系模式转换 定义实体型和属性及其联系 图向关系模式转换 定义实体型和属性及其联系 课程 课程编号 课程名称 教师编号 开课学期 学时 课程类型 学分 教师 教师编号 教师姓名 性别 年龄 职称 电话 学生 学号 姓名 班级编号 性别 年龄 生源地 已修学分 学生成绩 学号 课程号 学期 成绩 教师编号 班级 班级编号 名称 所属专业 3 2 数据字典描述 数据字典描述 A 数据字典是系统中各类数据描述的集合 是进行详细的数据收集和数据分析所获 得的主要成果 数据字典是对系统所用到的所有表结构的描述 学生成绩管理系统的主要 数据见下表 班级信息表班级信息表 序号字段别名数据类型长度约束条件主键 1班级编号 HSL 班级号Char20Y 2班级名称 HSL 班级名称Char20N 3专业 HSL 专业Char20N 学生信息表学生信息表 序号字段别名数据类型长度约束条件主键 1学号 HSL 学号Char20Y 2姓名 HSL 姓名Char 20N 3性别 HSL 性别Char 2男 or 女N 4年龄 HSL 年龄Int 0 And 0N 7班级编号 HSL 班级编号Char 20N 教师信息表教师信息表 序号字段别名数据类型长度约束条件主键 1教师编号 HSL 教师编号Char20Y 2教师姓名 HSL 教师姓名Char20N 3教师性别 HSL 教师性别Char2男 or 女N 4教师年龄 HSL 教师年龄Char20 0 And0N 6课程类型 HSL 课程类型Char20考查 or 考试 N 7学时 HSL 学时Int 0N 学生成绩信息表学生成绩信息表 序号字段别名数据类型长度约束条件主键 1学生学号 HSL 学生学号Char20Y 2课程编号 HSL 课程编号Char20Y 3学期 HSL 学期CHAR20N 4成绩 HSL 成绩Int 0N 5教师编号 HSL 教师编号Char20N B 数据结构 数据结构反映了数据之间的组合关系 一个数据结构可以由若干个数据项组成 也可以 由若干个数据结构组成 或若干个数据项和数据结构混合组成 经过数据项和用户需求 的分析 我对本系统一共分了 5 个组 具体如下表所示 数据结构名含义说明组成部分 3 3 关系模式的优化 规范化处理 模式的评价与修正关系模式的优化 规范化处理 模式的评价与修正 优化全局 E R 模式的几个原则 1 实体型的合并 这里的合并不是指 公共实体型 的局部 E R 模式合并 而是指两个 有联系的实体型的合并 2 冗余属性的消除 通常在各个局部 E R 模式中式不允许冗余属性存在的 但在合 并为全局 E R 模式后 可能产生全局范围内的冗余属性 3 冗余联系的消除 由于上述关系模式都为 BCNF 因此不需要对他们进行规范化了 4 物理结构设计 物理结构设计 4 1 聚簇设计聚簇设计 聚簇是将有关的数据元组集中存放于一个物理块内或若干相邻物理块内或同一柱面内 以提高查询效率的数据存储结构 聚簇设计就是根据用户需求确定每个关系是否需要建立 聚簇 如果需要 则应确定在该关系的哪些属性列上建立聚簇 一般在遇到以下一些特定 情况时才考虑对一个关系建立聚簇 a 当对一个关系的某些属性列的访问时该关系的主要应用 而对其他属性的访问很少 或是次要应用时 可以考虑对该关系在这些属性列上建立聚簇 b 如果一个关系在某些属性列上的值重复率很高 则可以考虑对该关系在这些组属性 列上建立聚簇 c 如果一个关系一旦装入数据 某些属性列的值很少修改 也很少增加或删除元组 则可以考虑对该关系对该关系在这些组属性列上建立聚簇 基于以上要求 该成绩管理系统可建立的聚簇索引有 学生 学生号 学生基本信息 这是学生成绩管理系统的主 要数据结构 定义一个学生 的基本信息 学号 姓名 班级 性别 年龄 生源地 已修学分 教师基本信息 这是学生成绩管理系统的主 要数据结构 定义一个老师 的基本信息 教师编号 姓名 性别 年 龄 职称 电话 课程基本信息 这是学生成绩管理系统的主 要数据结构 描述课程的相 关信息 老师的授课信息 以及班级学生的选课信息 课程编号 课程名称 教师 编号 开课学期 学分 课 程类型 学时 学生成绩管理 描述学生相关课程的成绩情 况 学生学号 课程编号 学期 教师编号 成绩 教师 教师号 课程 课程号 事实上 SQL 在建表的过程中已经相应地在各个表中建立了聚簇索引 4 2 索引设计索引设计 索引也是按照关系的某些属性列建立的 它与聚簇的不同之处在于 当索引属性列发 生变化 或增加 删除元组时 只有索引发生变化 而关系中原先得元组的存放位置不受 影响 此外 每个关系只能建立一个聚簇 但却可以同时建立多个索引 对于一个确定的 关系 通常在下列情况下可以考虑建立索引 a 在在主属性列和外键属性列上通常都可以分别建立索引 不仅有助于唯一性检测和 完整性检查 而且可以加快连接查询的速度 b 以查询为主的关系可以建立尽可能多的索引 c 对等值连接 但满足条件的元组较少的查询可考虑建立索引 d 如果查询可以从索引直接得到结果而不必访问关系 则对此种查询可建立索引 例 如 为查询某个属性的 MIN MAX AVG SUM COUNT 等函数值 可在该属性列上建立索 引 根据以上要求 本关系的课程表 学生表 教师表分别按照课程号 学号 教师编号 的升序建立索引 4 3 分区设计分区设计 磁盘分区设计的一般原则 1 减少访问冲突 提高 I O 并发性 多个事物并发访问同一磁盘时 会产生磁盘 访问冲突而导致效率低下 如果事务访问数据均能分布于不同磁盘上 则 I O 可并发执行 从而提高数据库访问速度 2 分散热点数据 均衡 I O 负担 在数据库中数据访问的频率是不均匀的 那些 经常被访问的数据成为热点数据 此类数据宜分散存在于不同的磁盘上 以均 衡各个磁盘的负荷 充分发挥多磁盘的并行操作的优势 3 保证关键数据快速访问 缓解系统瓶颈 在数据库中有些数据如数据字典等的 访问频率很高 为保证对它的访问不直接影响整个系统的效率 可以将其存放 在某一固定磁盘上 以保证其快速访问 该成绩管理系统由于程序较小 所以不进行分区设计 统一储存在 F 盘 数据库大型 实验 5 数据库实施数据库实施 5 1 基本表的建立基本表的建立 数据库 D01hushaoli 的建立 基本表 班级 HSL 的建立 create table 班级HSL 班级编号HSL CHAR 20 PRIMARY KEY 班级名称HSL CHAR 20 NOT NULL 专业HSL CHAR 20 NOT NULL 基本表 学生 HSL 的建立 create table 学生HSL 学号HSL char 20 PRIMARY KEY 姓名HSL char 20 NOT NULL 性别HSL char 2 check 性别hsl 男 or 性别hsl 女 NOT NULL 年龄HSL int check 年龄hsl 0 and 年龄hsl 0 AND 教师年龄HSL 100 教师职称HSL CHAR 20 教师电话HSL char 20 基本表 课程 HSL 的建立 create table 课程HSL 课程编号HSL CHAR 20 PRIMARY KEY 课程名称HSL CHAR 20 NOT NULL 教师编号HSL CHAR 20 NOT NULL 开课学期HSL CHAR 20 NOT NULL 课程类型HSL CHAR 20 CHECK 课程类型HSL 考试 or 课程类型HSL 考查 NOT NULL 学分HSL INT CONSTRAINT FK 老师 课程 foreign key 教师编号HSL REFERENCES 教师HSL 基本表 学生成绩 HSL 的建立 CREATE TABLE 学生成绩HSL 学生学号HSL CHAR 20 NOT NULL 课程编号HSL CHAR 20 NOT NULL 学期HSL CHAR 20 NOT NULL 成绩HSL FLOAT 教师编号HSL CHAR 20 NOT NULL PRIMARY KEY 学生学号HSL 课程编号HSL CONSTRAINT FK 学生成绩 课程 FOREIGN KEY 课程编号HSL REFERENCES 课 程HSL CONSTRAINT FK 学生成绩 学生 FOREIGN KEY 学生学号HSL REFERENCES 学 生HSL CONSTRAINT FK 学生成绩 教师 FOREIGN KEY 教师编号HSL REFERENCES 教 师HSL 基本表 开课 HSL 的建立 create table 开课HSL 班级编号HSL CHAR 20 课程编号HSL CHAR 20 PRIMARY KEY CONSTRAINT FK 开课 班级 FOREIGN KEY 班级编号HSL REFERENCES 班级HSL CONSTRAINT FK 开课 课程 FOREIGN KEY 课程编号HSL REFERENCES 课程HSL 5 2 视图的建立视图的建立 视图 学生成绩统计 HSL 的创建 create view学生成绩统计HSL AS SELECT 学生HSL 学号HSL 学生HSL 姓名HSL 课程HSL 课程编号HSL 课程HSL 课程名称HSL 学生成绩HSL 学期HSL 学生成绩HSL 成绩HSL FROM 学生HSL 课程HSL 学生成绩HSL WHERE 学生HSL 学号HSL 学生成绩HSL 学生学号HSL AND 课程HSL 课程编号HSL 学生成绩HSL 课程编号HSL 视图 每门课平均成绩统计 HSL 的创建 create view 课程平均成绩HSL AS SELECT 学生成绩HSL 课程编号HSL AVG 学生成绩HSL 成绩HSL 平均成绩HSL FROM 学生成绩HSL GROUP BY 学生成绩 HSL 课程编号 HSL 视图 学生所学课程及学分统计HSL 的创建 create view 学生所学课程及学分统计HSL as select 学生成绩HSL 学生学号HSL 学生成绩HSL 课程编号HSL 课程HSL 学分HSL FROM 学生成绩HSL 课程HSL WHERE 学生成绩HSL 课程编号HSL 课程HSL 课程编号HSL 教师任课查询HSL的建立 CREATE VIEW 教师任课查询HSL AS SELECT 教师HSL 教师编号HSL 教师HSL 教师姓名HSL 课程HSL 课程名称HSL 课程HSL 开课学期HSL 课程HSL 课程类型HSL FROM 教师HSL 课程HSL WHERE 教师HSL 教师编号HSL 课程HSL 教师编号HSL 视图 班级开设课程 的建立 create view 班级开设课程HSL as select 班级HSL 班级编号HSL 班级HSL 班级名称HSL 课程HSL 课程名称HSL FROM 开课HSL 课程HSL 班级HSL WHERE 班级HSL 班级编号HSL 开课HSL 班级编号HSL and 开课HSL 课程编号HSL 课程HSL 课程名称HSL 5 3 索引的建立索引的建立 CREATE UNIQUE INDEX 学生 HSL 学号 HSL ON 学生 HSL 学号 HSL CREATE UNIQUE INDEX 教师 HSL 教师编号 HSL ON 教师 HSL 教师编号 HSL CREATE UNIQUE INDEX 班级 HSL 班级编号 HSL ON 班级 HSL 班级编号 HSL CREATE UNIQUE INDEX 课程 HSL 课程编号 HSL ON 课程 HSL 课程编号 HSL 5 4 触发器的建立触发器的建立 1 使用自定义完整性实验中的学生成绩 HSL 表 为此表建立触发器 UPD 学生成绩 HSL 当插入或使更新表中的数据时 保证所操作的纪录的学生成绩成绩 HSL 值为 0 到 100 之间 的数 CREATE TRIGGER UPD 学生成绩HSL ON 学生成绩HSL FOR INSERT UPDATE AS IF SELECT 成绩HSL FROM INSERTED 100 BEGIN PRINT 学生成绩必须是零到一百之间的数 操作失败 ROLLBACK TRANSACTION END 2 使用自定义完整性实验中的课程表 为此表建立触发器学分 HSL 当插入或使更新表中 的数据时 保证所操作的纪录的学生成绩课程 学分 HSL 大于 0 的数 CREATE TRIGGER 学分HSL ON 课程HSL FOR INSERT UPDATE AS IF SELECT 学分HSL FROM INSERTED 0 BEGIN PRINT 学分必须大于零的数 操作失败 ROLLBACK TRANSACTION END 5 5 存储过程的建立存储过程的建立 创建一个存储过程 insertResult 添加学生成绩 要求输入 学号 课程名 分数 如果输入的学号不存在 则提示 学生基本信息表中不存在此学号 请检查后重新输入 如果输入的课程不存在 则提示 还没有这门课程 请检查后重新输入 最后添加成绩 若成功 则显示 成绩添加成功 建立存储过程如下 CREATE PROCEDURE InsertResult 学号HSL char 20 课程编号HSL char 20 学生成绩HSL float AS SET NOCOUNT ON DECLARE nCount int SET nCount 0 DECLARE nCourse int SET nCourse 0 DECLARE nExistAchievement int SET nExistAchievement 0 SELECT nCount COUNT 学号HSL FROM 学生HSL WHERE 学生HSL 学号HSL 学号HSL IF nCount 1 BEGIN PRINT 学生基本信息表中不存在此学号 请检查后重新输入 RETURN END SELECT nCourse COUNT 课程编号HSL FROM 课程HSL WHERE 课程HSL 课程编号HSL 课程编号HSL IF nCourse 1 BEGIN PRINT 还没有这门课程 请检查后重新输入 RETURN END UPDATE 学生成绩HSL SET 学生成绩HSL 成绩HSL 学生成绩HSL WHERE 学生成绩HSL 学生学号HSL 学号HSL PRINT 成绩添加成功 5 6 数据维护数据维护 6 应用系统开发与试运行应用系统开发与试运行 6 1

温馨提示

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

评论

0/150

提交评论