班级管理系统后台数据库设计
设计人:xxx
一、 需求分析
班级是我们生活的大集体,现在的手工处理方式比起计算机数据库来,不方便保存与查阅,不方便录入和查询,处理麻烦,效率不高,并且观看很难查找。班级管理系统后台数据库方便辅导员管理学生,了解学生的各种信息,记录学生在学校期间的活动和成长过程。班级管理系统后台数据库也方便学生们,找到自己的信息,了解自己做学校期间的各种活动,班委可以方便的知道自己的职责所在。班级管理系统后台数据库比起手工处理方式好处很多,方便资料的保存,方便信息的查询,录入。方便观看和处理。
二、 系统功能
经调研,我们认为本系统应具备以下功能:
(1)学生基本信息管理
(2)学生成绩管理
(3)记录学生出勤情况
(4)记录偶发事件情况
(5)记录班委的信息和职责
(6)助学金管理
三、数据库设计
(1)学生基本信息
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
字段名
字段类型
长度
主键或外键
字段值约束
学号
VarChar
20
主键
无
姓名
VarChar
20
无
性别
Char
2
默认为男
民族
Char
2
默认为汉族
出生日期
Datetime
籍贯
Char
10
默认为中国
联系电话
Char
20
家庭住址
varchar
50
父母电话
Char
20
是否团员
Char
10
默认是
入学成绩
Int
5
(2)学生成绩表
字段名
字段类型
长度
主键或外键
字段值约束
学号
VarChar
20
主键
无
姓名
VarChar
20
无
C语言
float
10
默认0
计算机基础
float
10
默认0
电脑美术
float
10
默认0
大学英语
float
10
默认0
国学
float
10
默认0
思政
float
10
默认0
体育
float
10
默认0
(3)日常考勤表
字段名
字段类型
长度
主键或外键
字段值约束
日期
Datetime
学号
VarChar
20
主键
无
早训
Int
2
第一节
Int
2
第二节
Int
2
第三节
int
2
第四节
int
2
第五节
Int
2
第六节
Int
2
第七节
int
2
第八节
int
2
晚训
int
2
晚点名
int
2
(4)考勤类别表
字段名
字段类型
长度
主键或外键
字段值约束
类别代码
int
2
类别说明
VarChar
20
无
(5)偶发事件表
字段名
字段类型
长度
主键或外键
字段值约束
日期
Datetime
情况说明
VarChar
100
处理结果
varchar
100
(6)班委信息表
字段名
字段类型
长度
主键或外键
字段值约束
职务
Varchar
20
学号
VarChar
20
姓名
varchar
20
工作职责
VarChar
50
(7)助学金信息表
字段名
字段类型
长度
主键或外键
字段值约束
学号
VarChar
20
姓名
varchar
20
收入
证明
住所证明下载场所使用证明下载诊断证明下载住所证明下载爱问住所证明下载爱问
VarChar
10
政府证明
Char
10
是否合格
char
5
金额
int
10
卡号
Char
20
是否领取
char
2
四、 实施步骤
(1) 数据库的创建
Creat database 班级管理系统
(2) 表对象的创建
create table 学生基本信息表
(
学号 varchar(20) primary key,
姓名 varchar(20),
性别 cahr(2) default '男',
民族 char(2) default '汉',
出生日期 datetime,
籍贯 char(10) default '中国',
联系电话 varcahr(20),
家庭住址 varchar(50),
父母电话 char(20),
是否团员 char(10),
入学成绩 int(5)
)
create table 学生成绩表
(
学号varchar(20) primary key,
姓名varchar(20),
C语言 float(10) default 0,
计算机基础 float(10) default 0,
电脑美术 float(10) default 0,
大学英语 float(10) default 0,
国学 float(10) default 0,
思政 float(10) default 0,
体育 float(10) default 0
)
create table 日常考勤表
(
日期datetime,
学号varchar(20) primary key,
早训 int(2),
第一节 int(2),
第二节 int(2),
第三节 int(2),
第四节 int(2),
第五节 int(2),
第六节 int(2),
第七节 int(2),
第八节 int(2),
晚训 int(2),
晚点名 int(2)
)
create table 考勤类别表
(
类别代码int(2),
类别说明varchar(20)
)
create table 偶发事件表
(
日期datetime,
情况说明varchar(100),
处理结果varchar(100)
)
create table 班委信息表
(
职务varchar(20),
学号varchar(20),
姓名varchar(20),
工作职责varchar(50)
)
create table 助学金信息表
(
学号varchar(20),
姓名varchar(20),
收入证明varchar(10),
政府证明char(10),
是否合格char(5),
金额int(10),
卡号char(20),
是否领取char(2)
)
(3) 表数据的编辑
-- 添加
insert into 学生信息表
values('123456789','哈哈','','','2012-04-10','','130********','中国四川','','共青团员','')
go
-- 删除
delete 学生信息表
where 姓名='哈哈'
-- 修改
update 学生信息表
set 姓名='呵呵'
where 姓名='哈哈'
(4) 数据查询
--查询每个学生学号、姓名、年龄和联系电话。
select 学号,姓名,年龄,联系电话
from 学生信息表
--分别统计男、女生的人数
select count(性别='男') as 男生,count(性别='女') as 女生
from 学生信息表
group by 性别
--查询每个学生的成绩,显示总分和平均分,并按平均分增减排序
select (计算机基础+C语言+国学+电脑美术+思政+体育) as 总分,avg(计算机基础+C语言+国学+电脑美术+思政+体育) as 平均分
from 学生成绩表
order by avg(计算机基础+C语言+国学+电脑美术+思政+体育)desc
--查询平均分不合格的同学的学号、姓名、平均成绩和联系电话
select 学生信息表.学号,学生成绩表.姓名, avg(计算机基础+C语言+国学+电脑美术+思政+体育) as 平均分,联系电话
from 学生信息表,学生成绩表
where avg(计算机基础+C语言+国学+电脑美术+思政+体育)<60
--统计3月份早训缺勤的次数
select count(早训)
from 日常考勤
where 日期<'20120401'
--统计3月份早训缺勤的学生姓名及次数
select 姓名,count(早训)
from 学生信息表,日期考勤表
where 学生信息表.学号=日常考勤表.学号and 日期<'20120401'
五、小结
通过对班级系统管理中数据的操作,让我们更加熟练的SQL中的一些基本的语句和一些基本的功能,进一步的掌握了SQL的功能,同时了解了SQL对数据操作的简化性。感谢同伴刘茂飞同学,在与刘茂飞同学的讨论下我们共同完成了老师所布置的作业。
参考文献
[1]SQL Server数据库技术大全 曾毅 等著 清华大学出版社 2009年5月第1版。
[2]SQL入门经典 作者:威尔顿、科尔比著,敖富江 译,出版社:清华大学出版社。出版日期:2006-06-01.