高校学籍管理系统数据库设计阐明书学院:信息学院专业:学生:学生:指引教师:【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)容许空intimeclassclassidCourse表:入学时间班级班级号varchar(20)varchar(10int不容许空容许空不容许空列名阐明类型备注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)容许空dmpnoCollage表:学院号vatchar(20)容许空列名阐明类型备注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、存储过程usewddgocreateprocedurepp@sno_invarchar(10),@sname_outvarchar(10)output,@cname_outvarchar(15)output,@grade_outfloatoutputasselect@sname_out=sname,@cname_out=cname,@grade_out=gradefromstudent,sc,course1wherestudent.sno=@sno_inandstudent.sno=sc.snoandsc.cno=course1.cnousewddgodeclare@sno_invarchar(10),@sname_outvarchar(10),@cname_outvarchar(15),@grade_outfloatselect@sno_in='508044'execpp@sno_in,@sname_outoutput,@cname_outoutput,@grade_outoutputprint@sname_outprint@cname_outprint@grade_out4、触发器4.1更新学生表usewddgocreatetriggert3onstudentforupdateasdeclare@class_oldvarchar(10),@mno_oldchar(10),@class_newvarchar(10),@mno_newchar(10)select@class_old=classfromdeletedselect@mno_old=mnofromdeletedselect@class_new=classfrominsertedselect@mno_new=mnofrominsertedupdateclasssetnumber=number-1fromclasswhereclass=@class_oldandmno=@mno_oldupdateclasssetnumber=number+1fromclasswhereclass=@class_newandmno=@mno_new4.2删除学生表usewddgocreatetriggert2onstudentfordeleteasdeclare@class_readvarchar(10),@mno_readchar(10)select@class_read=classfromdeletedselect@mno_read=mnofromdeletedupdateclasssetnumber=number-1fromclasswhereclass=@class_readandmno=@mno_read4.3插入学生表usewddgocreatetriggert1onstudentforinsertasdeclare@class_readvarchar(10),@mno_readchar(10)select@class_read=classfrominsertedselect@mno_read=mnofrominsertedupdateclasssetnumber=number+1fromclasswhereclass=@class_readandmno=@mno_read5、数据库恢复与备份数据库完全备份backupdatabasewddtodisk='f:\备份数据库\wdd'withinitgo数据库恢复restoredatabasewddfromdisk='f:\备份数据库\wdd'withrecoverygo数据库差别备份backupdatabasewddtodisk='f:\备份数据库\wdd'withinitgo数据库恢复restoredatabasewddfromdisk='f:\备份数据库\wdd'withnorecoverygorestoredatabasewddfromdisk='f:\备份数据库\wdd'withfile=2go