样本--sql学生成绩管理系
更新时间:2023-09-06 10:05:01 阅读量: 教育文库 文档下载
——指导老师: ——指导老师:江国粹 指导老师
目 录一、引言 ························· 3 1.1 编写目的 ······················ 3 1.2 项目背景 ······················ 3 1.3 参考资料 ······················ 3 二、任务概括 ······················· 4 2.1 目标 ························ 4 2.2 用户的特点 ····················· 4 三、需求规定 ······················· 4 3.1 学生成绩管理系统应该完成的内容 ··········· 4 3.2 我们的系统需要实现的功能 ·············· 5 3.3 数据需求 ······················ 6 四、数据完整性 ······················ 7 五、数据 ························· 7 5.1 数据描述 ······················ 8 5.2 关系模型 ······················ 9 5.3 数据描述 ······················ 9
2
学生成绩管理 需 求 规 格 说 明一、引言 1.1 编写目的 编写本报告的目的是明确本系统的详细需求, 编写本报告的目的是明确本系统的详细需求,供使用单位确认系统 的功能和性能,并作为软件人员的设计依据和使用单位的验收标准。 的功能和性能,并作为软件人员的设计依据和使用单位的验收标准。 1.2 项目背景 人工管理学生成绩的手续繁琐, 人工管理学生成绩的手续繁琐,效率低下给具有强烈时间观念的管 理人员带来了诸多不便, 理人员带来了诸多不便,学校教务管理缺少一套完善的学生成绩管理软 件,为了使学生成绩方便管理,所以必须开发学生成绩管理系统。随着 为了使学生成绩方便管理,所以必须开发学生成绩管理系统。 开发学生成绩管理系统 计算机技术的不断发展,计算机已深入到了社会生活的各个角落。而采 计算机技术的不断发展,计算机已深入到了社会生活的各个角落。 用人工管理学生成绩的方法,不仅效率低,易出错,手续繁琐, 用人工管理学生成绩的方法,不仅效率低,易出错,手续繁琐,而且消 耗了大量的人力资源。为了满足学生成绩管理人员能快速计算、查找、 耗了大量的人力资源。为了满足学生成绩管理人员能快速计算、查找、 修改学生成绩进行高效的管理, 修改学生成绩进行高效的管理,在工作人员具备一定计算机操作能力的 前提下,特编写学生成绩管理系统软件以辅助提高教务管理效率。 前提下,特编写学生成绩管理系统软件以辅助提高教务管理效率。 ★ 开发软件名称:学生成绩管理系统 开发软件名称: ★ 项目开发者 : 电子学
院计算机科学系 “ 学生成绩管理系统 ” 项目开发者: 电子学院计算机科学系“ 学生成绩管理系统”
小组: 开发小组:张小梅( 组长) 张小梅(100202206 号,组长) , 涂莉( 涂莉(100202205 号) , 郝芳(100202204 号) 郝芳( 1.3 参考资料
3 3
江国粹等, 数据库建模技术》 安徽电子信息技术职业技术学院 江国粹等, 数据库建模技术》 《数据库建模技术 ,安徽电子信息技术职业技术学院 《 , 计机科学系; 机科学系; 二、任务概括 2.1 目标 本系统通过强大的计算机系统技术给教务系统管理人员和学生、 本系统通过强大的计算机系统技术给教务系统管理人员和学生、老 师输入和查看成绩带来便利。本系统除了教务室管理的一般功能以外, 师输入和查看成绩带来便利。本系统除了教务室管理的一般功能以外, 包括网上在线查询成绩信息、 还 包括网上在线查询成绩信息、查询本人的成绩情况和添加成绩等功 能。 目标还包括: 目标还包括: ☆ 减少人力与管理费用; 减少人力与管理费用; ☆ 提高信息准确度; 提高信息准确度; ☆ 改进管理和服务; 改进管理和服务; ☆ 更简便,信息化程度更高的成绩管理流程; 更简便,信息化程度更高的成绩管理流程; ☆ 建立高效的信息传输和服务平台,提高信息处理速度和利用 建立高效的信息传输和服务平台, 务平台 率。 2.2 用户的特点 1、本软件的最终用户是面向教务管理员(教务管理员和其它教务 本软件的最终用户是面向教务管理员( 管理人员) 查看人员(老师和学生等) 、查看人员 。 管理人员) 查看人员(老师和学生等) . 、 可以比较熟悉操作计算机。 教务管理员和老师都是经常性用户。 2、 可以比较熟悉操作计算机。 教务管理员和老师都是经常性用户。 系统维护人员为计算机专业人员,熟悉数据库、操作系统维护工。 系统维护人员为计算机专业人员,熟悉数据库、操作系统维护工。 维护工 三、需求规定 学生成绩管理系统应该完成以下两方面的内容: 3.1 学生成绩管理系统应该完成以下两方面的内容:
4 4
学生档案资料的管理、学生成绩的管理(包括必修课和选修课) 学生档案资料的管理、学生成绩的管理(包括必修课和选修课) , 每个内容均需要提供添加、修改和查询的功能。学生成绩管理系统在开 每个内容均需要提供添加、修改和查询的功能。学生成绩管理系统在开 发过程中收集到的客户需求文档记录的关键部分可概括为以下几个部 分: 1、可能会使用该系统的用户:系统管理员、教师、学生; 可能会使用该系统的用户:系统管理员、教师、学生; 2、各类
用户的权限不一样。例如:系统管理员可以添加、修改、 各类用户的权限不一样。例如: 系统管理员可以添加、 修改、 查询学生档案资料和学生成绩。学生只能查询自己的档 查询学生档案资料和学生成绩。学生只能查询自己的档案、成绩以及一 些公共的信息,教师可以发布学生的成绩的信息, 些公共的信息,教师可以发布学生的成绩的信息,而且只能查询自己所 授课程的信息以及一些公共信息。 授课程的信息以及一些公共信息。 要有系统备份功能,一旦系统出故障时,因为有相应的应急 的应急应 3、要有系统备份功能,一旦系统出故障时,因为有相应的应急应 急的应急措施或者系统恢复功能。 的应急措施或者系统恢复功能。 由此可见, 方面的需求: 由此可见,学生成绩管理系统需要满足 3 个方面的需求:管理员使 用系统对全部数据进行维护操作; 用系统对全部数据进行维护操作;教师对于自己相关的部分数据实体进 操作 行操作;学生作为查询者对数据实体进行查询操作。 行操作;学生作为查询者对数据实体进行查询操作。现在的学生成绩管 理系统基本上能做到这几个方面的要求, 理系统基本上能做到这几个方面的要求,但多数系统在功能上依然存在 缺陷和不足,尤其是在用户界面的友好性以及查询结果的可视化方面存 缺陷和不足, 在着很大问题。 在着很大问题。 3.2 我们的系统需要实现的功能主要包括以下几个方面: 3.2 我们的系统需要实现的功能主要包括以下几个方面: (1)设计不同用户的操作权限和登录方法; 设计不同用户的操作权限和登录方法; (2)管理员可以添加、 管理员可以添加、修改和查询学生的档案记录, 修改和查询学生的档案记录,同时可以添加、 同时可以添加、 修改和查询学生的成绩记录,对学生成绩信息开放度的管理权; 修改和查询学生的成绩记录,对学生成绩信息开放度的管理权; (3)管理员对学生的档案和对成绩进行审查,生成学生的档案记录 管理员对学生的档案和对成绩进行审查,生成学生的档案记录
5 5
报表和学生成绩报表; 报表和学生成绩报表; (4)教师可以查询所受课程的学生信息,可以录入并查询所授课程 教师可以查询所受课程的学生信息, 的成绩; 的成绩; (5)学生有查询个人档案信息和成绩信息的权利; 学生有查询个人档案信息和成绩信息的权利; (6)用户界面的直观性和成绩查询结果的可视化。 用户界面的直观性和成绩查询结果的可视化。 在查询结果的可视化方面,主要是针对当前众多的成绩管理系统的“通 在查询结果的可视化方面,主要是针对
当前众多的成绩管理系统的“ ,我们所涉及的利于查询用户的一项新功能,除了带来便捷性之外, 病” 我们所涉及的利于查询用户的一项新功能,除了带来便捷性之外, 在数据的分析等方面也有很大的帮助。 在数据的分析等方面也有很大的帮助。 满足上述要求的系统应该包括以下几个模块:基本数据维护功能; 数 满足上述要求的系统应该包括以下几个模块:基本数据维护功能; 据库管理功能 基本业务功能。 据库管理功能;基本业务功能。 3.3 数据需求 通过调查,总结出用户对数据的需求如下: 通过调查,总结出用户对数据的需求如下: (1)学生信息 包括:学号、学生姓名、性别、出生日期、所在学校、 包括:学号、学生姓名、性别、出生日期、所在学校、班级 (2)课程信息 包括:课程编号、课程名称 包括:课程编号、 (3)成绩信息 成绩信息 包括:平时成绩、期末成绩、 包括:平时成绩、期末成绩、实践成绩 成绩 (4)系信息 包括:系名称、 包括:系名称、系号 (5)班级信息 班级信息 包括:班级名称、专业代码、专业名称、班级号、 包括:班级名称、专业代码、专业名称、班级号、辅导员
6 6
(6)基本数据维护功能 1、 添加学生的档案信息 2、 修改学生的档案信息 3、 删除学生的档案信息 4、 添加学生的成绩信息 5、 修改学生的成绩信息 6、 删除学生的成绩信息 四、数据完整性: 数据完整性: 查询结果的可视化管理 个方面的需求: 学生成绩管理系统需要满足 3 个方面的需求: 1、管理员使用系统对全部数据进行维护操作; 管理员使用系统对全部数据进行维护操作; 2、教师对于自己相关的部分数据实体进行操作; 教师对于自己相关的部分数据实体进行操作; 3、学生作为查询者对数据实体进行查询操作; 学生作为查询者对数据实体进行查询操作; 4、成绩管理系统中学生成绩均实行百分制。 成绩管理系统中学生成绩均实行百分制。 课程成绩有平时成绩、 实验成绩、 期末成绩三部分综合评定。其 ( 5、 课程成绩有平时成绩、 实验成绩、 期末成绩三部分综合评定。 中各部分所占比例分别为 30%、30%、40%。各个科目的成绩由代课老 30%、30%、40%。 师给出。 师给出。如果学生有一门课成绩低于 60 分,则此学生必须得进行此课 程的补考, 如果学生补考成绩大于 60 分则按 60 分计, 分计, 程的补考, 如果小于 60 分则 再次进行补考,具体时间根据安排。如果此学生此门课一直没过, 再次进行补考,具体时间根据安排。如果此学生此门课一直没过,则不 给其颁发毕业证,直到次门课程通过考试为止方可领取毕业证
。 给其颁发毕业证,直到次门课程通过考试为止方可领取毕业证。) 五、数据 5.1 数据描述
7 7
(1)E---R 图 ---R ---R A、 分 E---R 图性别 出生日 期 姓名 班级号 课程编 号 课程名 称
学号
学生
m
学习
n
课程
平时成 绩
期末成 绩
实践成 绩
学号
出生日 性别 期
出生日 期
班级号
姓名
专业名 称
班级名 称
班级号
辅导员
学生
n
属于
1
班级
专业名 称
班级名 称
班级号
辅导员
系名
系号
班级
n
构成
1
系
B、 基本 E---R 图 ---R
学生m
n
1
属于
班级n
学习n
构成1
课程8 8
系
5、2 关系模型 关系模型 学生(学号、姓名、性别、出生日期、班级号) 学生(学号、姓名、性别、出生日期、班级号) 学习(学号、课程编号、平时成绩、期末成绩、实践成绩) 学习(学号、课程编号、平时成绩、期末成绩、实践成绩) 课程(课程编号、课程名称) 课程(课程编号、课程名称) 班级(班级号、班级名称、辅导员、系号) 班级号、班级名称、辅导员、系号) 系(系号、系名) 系号、系名) 5、3 数据描述 1、数据库
文件 数据库 日志
文件名称 Grate_Data.mdf Grate_log.ldf
初始大小 3 1
增长大小 2 1
最大文件大小 不受限制 不受限制
create database grate on (name=grate,filename='c:\grate_data.mdf',size=3,maxsize=unli mited,filegrowth=2) log on (name=grate_log,filename='c:\grate_log.ldf',size=1,maxsize=u nlimited,filegrowth=1) go 1、 数据表 、 学生表名: 表名:xs 序号 1 2 属性名称 XH XM 属性描述 学号 姓名 数据类型 char char 字节数 9 8 空否 否 默认值 备注 主键
9 9
3 4 5
XB CSRQ BJH
性别 出生日期 班级号
bit smalldatetime int
1 4 4 外键
create table xs (xh char(9) not null primary key, xm char(8) null, xb bit null, csrq smalldatetime null, bjh int null foreign key) go 课程 表名:KC序号 1 2 属性名称 KCH KCMC 属性描述 课程编号 课程名称 数据类型 char varchar 字节数 9 20 空否 否 否 默认值 备注 主键
create table kc (kch char(9) not null primary key, kcmc varchar (20) not null) go
班级表名:BJ 序 属性名称 号 1 2 3 4 BJH BJMC FDY DepartNo 班级号 班级名称 辅导员 系号 char 10 否 外键 int char char 4 9 6 否 否 引用列 主键,标识列 属性描述 数据类型 字节数 空否 默认值 备注
create table bj 10 10
(bjh int identity(1001,10) not null primary key, bjmc char(9) not null, fdy char(6) null,
departno char(10) null foreign key) go 系 表名:Department序 属性名称 号 1 2 DepartNo DepartName 系号 系名 char char 10 9 否 否 主键 属性描述 数据类型 字节数 空否 默认值 备注
create table department (departno char(10) not null primary key, departname char(9) not null) go 学习 表名:序号 1 2 3 4 5 6 属性名称 XH KCH PSCJ QMCJ SJCJ Z
P 属性描述 学号 课程编号 平时成绩 期末成绩 实践成绩 总评 数据类型 char char decimal decimal decimal 字节数 9 9 5 5 5 计算列 空否 否 否 默认值 备注 主键 主键
注:zp=pscj*0.3+sjcj*0.3+qmcj*0.4 create table xuexi (xh char(9) not null, kch char(9) not null, pscj decimal(5) null,
11 11
qmcj decimal(5) null, sjcj decimal (5) null primary key(xh,kch), zp as (pscj*0.3+sjcj*0.3+qmcj*0.4) ) go
2、 用户自定义完整性 、 、视图结构 (1) 视图结构 ) 、 学生对于自己成绩的查询 create view view1 with encryption as select xs.xm,xs.xh,kc.kcmc,zp from xx,xs,kc where xx.xh=xs.xh and xx.kch=kc.kch go 、索引结构 (2) 索引结构 ) 、 注:加快查询的速度! 加快查询的速度! use grade go if exists(select * from sysindexes where name=in_bjh) drop index xs.in_bjh go create nonclustered index in_bjh on xs(bjh asc) go 注:加快学生的查询 加快学生的查询 use grade go 12 12
if exists(select * from sysindexes where name=in_a1) drop index xs.in_a1 go create nonclustered index in_a1 on xs(bjh,xh asc) go 、存储过程 (3) 存储过程 ) 、 use grade go if object_id (N'p','addxs')is not null drop proc addxs go create proc addxs @xh char(9) , @xm char(8) , @xb bit , @csrq smalldatetime, @bjh int as if @xh is null or @xm is null begin print'请重新学生的信息!' print'你必须输入学生的学号和姓名' print'学号和姓名不允许为空' end return if not exists(select * from bj where bjh=@bjh) begin print'该班不存在,请重新输入!' return 13 13
end insert xs(xh,xm,xb,csrq,bjh) values(@xh,@xm,@xb,@csrq,@bjh) go 注:给学生表添加记录 use grade go if exists(select * from sysobjects where type='p' and name='p1') drop proc p1 go create proc p1 @xh char(9) as begin select kcmc,xs.xh,zp from xs,kc,xx where xx.xh=xs.xh and xx.kch=kc.kch and xh=@xh end go 注:学号不对的不能插入记录! 学号不对的不能插入记录!
、触发器 (4) 触发器 ) 、
create trigger tri_update_xx on xx for update as declare @pscj decimal(5,1),@sjcj decimal(5,1), @qmcj decimal(5,1) select @pscj=pscj from inserted select @sjcj=sjcj from inserted select @qmcj=qmcj from inserted if(@pscj not between 0 and 100) or
14 14
(@sjcj not between 0 and 100) or (@qmcj not between 0 and 100) begin print'你更新的成绩不在到0到100之间!' rollback tran end go 之间则插入不进去! 注:更新的成绩不在 0 到 100 之间则插入不进去! use grade go if exists(select * from sysobjects where type='tr' and name='tri_insert_xx') drop trigger tri_insert_xx go create trigger tri_insert_xx on xx after insert as if exists( select * from xx where (xx.kch not in (select kch from kc)) or (xx.xh not in (select xh from xs))) begin
print'不允许插入非法数据!' rollback end go 注:当向学习表中插入记录不符合要求的则不允许插入! 当向学习表中插入记录不符合要求的则
不允许插入! use grade go create trigger tri1 on xx
15 15
after update as if update (qmcj) begin raiserror('期末成绩不能更改!',16,1) rollback end go
表中的期末成绩! 注:不允许更改 xx 表中的期末成绩! use grade go create trigger tri2 on xs for delete as delete xx where xh in (select xh from deleted)
注:学生和学习级联! 学生和学习级联
16 16
正在阅读:
样本--sql学生成绩管理系09-06
2012-2013年初三数学上册期中考试试卷及答案05-23
七上文言文注释分类整理04-21
小飞侠彼得潘优秀读书笔记10篇.doc05-03
安徽省国家税务局转发国家税务总局关于下放增值税专用发票最高开12-02
精选保姆雇佣聘用合同书修订版04-17
中级工程师申报资料之个人自述07-31
李礥同志优秀共产党员评选材料04-13
资中县血橙产业发展项目实施方案 - 图文12-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 管理系
- 样本
- 成绩
- 学生
- sql
- 卫生理化思考题整理
- 《公共关系实务》电子教案
- 广东省清远市2013-2014学年度高二第一学期期末测试物理试题
- 案例二——伊利、蒙牛危机公关四大“战役”
- 赠与合同范本2017
- 嵌入式Linux操作系统的移植与研究
- 加气混凝土砌块技术交底
- 流动资金贷款需求量测算表
- 音乐剪辑
- 中国灯饰行业市场深度调研及发展趋势预测报告2016-2021年
- 泵类基础知识
- 2017-2018学年最新北师大版小学数学三年级下册全册教案(含教学反思)
- 2007年11月catti三级笔译实务试题
- 西南交大-计算机网络-课程设计(组网技术)
- 综合一年级职业生涯规划期末考试试题
- JGJ62-90旅馆建筑设计规范
- 目录_2017-2022年中国互联网+医疗行业发展前景预测及投资战略规划(目录)
- 邱东林_基础综合英语(研究生)_1至7单元完整版-课文翻译
- 中国钢结构制造企业资质等级标准一级标准
- 试用期延长申请书