高校学籍管理系统数据库设计Word格式.docx
《高校学籍管理系统数据库设计Word格式.docx》由会员分享,可在线阅读,更多相关《高校学籍管理系统数据库设计Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
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
不允许空
ssex
性别
char
(2)
nation
民族
char(10)
sage
年龄
tinyint
symbol
政治面貌
varchar(8)
允许空
mno
专业号
id
号
varchar(20)
birthplace
籍贯
homeaddr
家庭地址
varchar(30)
intime
入学时间
class
班级
varchar(10
classid
班级号
int
Course表:
cno
课程号
varchar(5)
cname
课程名
varchar(15)
credit
学分
smallint
ctime
课时
Teacher表:
tno
教工号
tname
tsex
profess
职称
dmpno
学院号
tel
Tc表:
vatchar(5)
char(5)
Class表:
不允许空,主键
number
人数
Sc表:
vatchar(10)
grade
成绩
float
Major表:
mname
专业名
vatchar(20)
Collage表:
dname
学院名
dmphead
院长名
Award表:
ano
奖励号
award
奖励
rank
奖励等级
time
获奖时间
3、存储过程
usewdd
go
createprocedurepp
sno_invarchar(10),
sname_outvarchar(10)output,
cname_outvarchar(15)output,
grade_outfloatoutput
asselectsname_out=sname,cname_out=cname,grade_out=gradefromstudent,sc,course1
wherestudent.sno=sno_inandstudent.sno=sc.snoando=o
declaresno_invarchar(10),
sname_outvarchar(10),
cname_outvarchar(15),
grade_outfloat
selectsno_in='
2010508044'
execppsno_in,sname_outoutput,cname_outoutput,grade_outoutput
printsname_out
printcname_out
printgrade_out
4、触发器
4.1更新学生表
createtriggert3
onstudentforupdate
as
declareclass_oldvarchar(10),
mno_oldchar(10),
class_newvarchar(10),
mno_newchar(10)
selectclass_old=classfromdeleted
selectmno_old=mnofromdeleted
selectclass_new=classfrominserted
selectmno_new=mnofrominserted
updateclasssetnumber=number-1fromclasswhereclass=class_oldandmno=mno_old
updateclasssetnumber=number+1fromclasswhereclass=class_newandmno=mno_new
4.2删除学生表
createtriggert2
onstudentfordelete
declareclass_readvarchar(10),
mno_readchar(10)
selectclass_read=classfromdeleted
selectmno_read=mnofromdeleted
updateclasssetnumber=number-1fromclasswhereclass=class_readandmno=mno_read
4.3插入学生表
createtriggert1
onstudentforinsert
selectclass_read=classfrominserted
selectmno_read=mnofrominserted
updateclasssetnumber=number+1fromclasswhereclass=class_readandmno=mno_read
5、数据库的恢复与备份
数据库的完全备份
backupdatabasewdd
todisk='
f:
\备份数据库\wdd'
withinit
go
数据库的恢复
restoredatabasewdd
fromdisk='
withrecovery
数据库差异备份
withnorecovery
withfile=2