高校学籍管理系统数据库设计.docx
《高校学籍管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《高校学籍管理系统数据库设计.docx(13页珍藏版)》请在冰豆网上搜索。
高校学籍管理系统数据库设计
高校学籍管理系统
数据库设计说明书
学院:
信息学院
专业:
学生:
学生:
指导老师:
【2013年1月17日星期四】
数据库设计说明书
1、引言
1.1编写目的
随着高校办学规模的扩大和招生人数的增加,学籍管理维护是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,介于它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。
运用学生成绩管理维护系统可以减轻学院教学人员的工作量,缩小开支,提高工作效率与准确率,能够节省时间,学生也能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。
而学生成绩管理系统的应用也为今天的民办教育在未来市场的竞争力有所提高。
在现代高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。
学生成绩管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。
对于一个学校而言,管理好学生的成绩,是非常重要的。
因此开发出一套学生成绩管理系统是非常必要的。
1.2背景
a.待开发软件系统的名称:
高校学籍管理系统
b.本项目的任务提出者:
c.本项目开发者:
d.本项目用户:
大学学籍管理工作者、老师、学生
1.3参考资料
SQLServer实验指导(第三版)马晓梅
2结构设计
2.1逻辑结构设计
2.1.1学生实体E-R图
2.1.2学院实体E-R图
2.1.3教师实体E-R图
2.1.4课程实体E-R图
2.1.5专业实体E-R图
2.1.6奖惩实体E-R图
2.1.7课程实体E-R图
2.1.8授课实体E-R图
2.1.9班级实体E-R图
2.1.10整体实体关系E-R图
2.2关系图
2.3物理结构设计
Student表:
列名
说明
类型
备注
sno
学号
varchar(10)
不允许空,主键
sname
姓名
varchar(10)
不允许空
ssex
性别
char
(2)
不允许空
nation
民族
char(10)
不允许空
sage
年龄
tinyint
不允许空
symbol
政治面貌
varchar(8)
允许空
mno
专业号
char(10)
不允许空
id
身份证号
varchar(20)
不允许空
birthplace
籍贯
varchar(10)
允许空
homeaddr
家庭地址
varchar(30)
允许空
intime
入学时间
varchar(20)
不允许空
class
班级
varchar(10
允许空
classid
班级号
int
不允许空
Course表:
列名
说明
类型
备注
cno
课程号
varchar(5)
不允许空,主键
cname
课程名
varchar(15)
允许空
credit
学分
smallint
允许空
mno
专业号
char(10)
不允许空
ctime
课时
smallint
允许空
Teacher表:
列名
说明
类型
备注
tno
教工号
char(10)
不允许空,主键
tname
姓名
varchar(10)
允许空
tsex
性别
char
(2)
允许空
profess
职称
varchar(10)
允许空
dmpno
学院号
varchar(10)
不允许空
tel
电话
int
允许空
Tc表:
列名
说明
类型
备注
cno
课程号
vatchar(5)
不允许空,主键
tno
教工号
char(5)
不允许空,主键
Class表:
列名
说明
类型
备注
classid
班级号
int
不允许空,主键
class
班级
varchar(10)
不允许空
mno
专业号
char(10)
不允许空
number
人数
tinyint
允许空
Sc表:
列名
说明
类型
备注
sno
学号
vatchar(10)
不允许空,主键
cno
课程号
vatchar(5)
不允许空,主键
grade
成绩
float
允许空
Major表:
列名
说明
类型
备注
mno
专业号
vatchar(10)
不允许空,主键
mname
专业名
vatchar(20)
允许空
dmpno
学院号
vatchar(20)
允许空
Collage表:
列名
说明
类型
备注
dmpno
学院号
vatchar(10)
不允许空,主键
dname
学院名
vatchar(20)
允许空
dmphead
院长名
vatchar(20)
允许空
Award表:
列名
说明
类型
备注
ano
奖励号
vatchar(10)
不允许空,主键
sno
学号
vatchar(10)
不允许空
award
奖励
vatchar(20)
允许空
rank
奖励等级
vatchar(20)
允许空
time
获奖时间
vatchar(20)
允许空
3、存储过程
usewdd
go
createprocedurepp
@sno_invarchar(10),
@sname_outvarchar(10)output,
@cname_outvarchar(15)output,
@grade_outfloatoutput
asselect@sname_out=sname,@cname_out=cname,@grade_out=gradefromstudent,sc,course1
wherestudent.sno=@sno_inandstudent.sno=sc.snoando=o
usewdd
go
declare@sno_invarchar(10),
@sname_outvarchar(10),
@cname_outvarchar(15),
@grade_outfloat
select@sno_in='2010508044'
execpp@sno_in,@sname_outoutput,@cname_outoutput,@grade_outoutput
print@sname_out
print@cname_out
print@grade_out
4、触发器
4.1更新学生表
usewdd
go
createtriggert3
onstudentforupdate
as
declare@class_oldvarchar(10),
@mno_oldchar(10),
@class_newvarchar(10),
@mno_newchar(10)
select@class_old=classfromdeleted
select@mno_old=mnofromdeleted
select@class_new=classfrominserted
select@mno_new=mnofrominserted
updateclasssetnumber=number-1fromclasswhereclass=@class_oldandmno=@mno_old
updateclasssetnumber=number+1fromclasswhereclass=@class_newandmno=@mno_new
4.2删除学生表
usewdd
go
createtriggert2
onstudentfordelete
as
declare@class_readvarchar(10),
@mno_readchar(10)
select@class_read=classfromdeleted
select@mno_read=mnofromdeleted
updateclasssetnumber=number-1fromclasswhereclass=@class_readandmno=@mno_read
4.3插入学生表
usewdd
go
createtriggert1
onstudentforinsert
as
declare@class_readvarchar(10),
@mno_readchar(10)
select@class_read=classfrominserted
select@mno_read=mnofrominserted
updateclasssetnumber=number+1fromclasswhereclass=@class_readandmno=@mno_read
5、数据库的恢复与备份
数据库的完全备份
backupdatabasewdd
todisk='f:
\备份数据库\wdd'
withinit
go
数据库的恢复
restoredatabasewdd
fromdisk='f:
\备份数据库\wdd'
withrecovery
go
数据库差异备份
backupdatabasewdd
todisk='f:
\备份数据库\wdd'
withinit
go
数据库的恢复
restoredatabasewdd
fromdisk='f:
\备份数据库\wdd'
withnorecovery
go
restoredatabasewdd
fromdisk='f:
\备份数据库\wdd'
withfile=2
go