学籍管理系统设计-数据库课程设计报告_第1页
学籍管理系统设计-数据库课程设计报告_第2页
学籍管理系统设计-数据库课程设计报告_第3页
学籍管理系统设计-数据库课程设计报告_第4页
学籍管理系统设计-数据库课程设计报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院课程设计报告院(系):_电气与信息工程学院 _专业班级:XXX设计地点(单位) ______第一实验楼 I515__________ _设计题目:__________学籍管理系统设计 _____________________指导教师评语:________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ___________成 绩 ( 五 级 记 分 制 ) :______ __________指导教师(签字) :________________摘要随着信息技术地飞速发展, 信息化对学生个人提出了驾驭和掌握最新信息技术地要求;信息化也为提高教案质量,提高管理水平,工作效率创造了有效途径 .例如这次课程设计主要设计地是对学籍信息地管理以及操作,方便对于学生信息地管理 .学籍管理系统主要采用了 SQL2005作为数据库,使用 ODBC作为数据源,在数据库内部实现部分功能时运用地是触发器以及存储过程;而且还可用视图查看部分信息 .关键词:数据库 触发器存储过程 视图重庆科技学院课程设计任务书设计题目:学籍管理系统设计学生姓名XXX课程名称数据库原理课程设计专业班级计科2010-03地点I515、I524和计算机自起止时间2012.6.25-2012.7.6主学习中心设 内容:计内 .及要求学生基本信息系统能够完成新、老生信息地输人、修改、插人、删除等工作 .可以按照特定地信息进行查找,并按照特定地要求进行排序 .可以对老生地信息进行备份,以便日后查询

.可以对学生地信息进行打印输出

.提供详细地帮助文件和系统维护功能

.(2)学生成绩管理系统此部分地功能如下:学生成绩地输入、修改、删除等基本操作 .成绩地综合统计功能,包括学生成绩按照不同条件进行排名

.管理人员可以选择不同地排序条件,并可以将排序结果进行打印输出 .计算各班地总分和平均分,并按照平均分将各班成绩进行排序

.统计不及格考生地信息,根据条件确定是重修还是补考 .学生奖励统计,自动生成每班获得奖学金地同学地信息,并可以将奖学金分成不同地等级,以及所得奖学金地数目 .本系统可以在单机上运行,也可以应用在网络上供在线查询成绩和其他一些学生地信息(此功能选做人提供给学生进行查询地系统和提供给教务处使用地系统,在不同用户使用时,应该会有不同地使用权限 .提供详细地帮助文件 .要求:按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计,使学生掌握数据库应用软件地开发流程, SQL语句地使用和存储过程地使用 .设至少5个表结构;3个存储过程;2个触发器;3个视图.计参数进度19.1讲课阅读分析任务书制订设计计划求参考资料其它

19.2-3需求分析概念结构设计19.4-5概念结构设计准备文挡20.1-3逻辑结构设计物理结构设计20.4-5写文挡答辩交设计报告书1.雷亮等《数据库原理课程设计》指导书2.王珊、萨师煊.《数据库系统概述》(第四版) .北京:高等教育出版社.2006.3.C.J.Date 著.孟小峰、王珊等译.《数据库系统导论》 (第8版).北京:机械工业出版社.2007.4.陈根才等. 数据库课程设计.浙江.浙江大学出版社. 2007说1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一明 份由负责教师留用 .2.若填写内容较多可另纸附后 .3.一题多名学生共用地,在设计内容、参数、要求等方面应有所区别 .教研室主任: 指导教师:雷亮 /游明英/张亚军/裴仰军2012年06 月15 日目录1需求分析 11.1系统目标设计 11.2系统功能分析 11.3功能模块分析 21.4系统全局数据流图 21.5数据字典 32概念结构设计.................................................. 62.1构成系统地实体型..................................................................................................62.2工资管理系统E-R图..............................................................................................73逻辑结构设计..................................................73.1逻辑结构简介...........................................................................................................73.2关系模型..................................................................................................................74物理模型设计..................................................85物理结构设计与功能实现........................................95.1定义数据库...............................................................................................................95.2创建表....................................................................................................................105.3创建存储过程........................................................................................................125.4创建触发器............................................................................................................145.5创建视图................................................................................................................156总结.........................................................177致谢.........................................................178参考文献.....................................................18需求分析1.1系统目标设计(1)使得学生地学籍管理工作更加清晰、条理化、自动化 .2)很容易地完成新生信息地输入、老生信息地备份、毕业学生地信息可以很容易地保存.3)当学生需要查询成绩时,可以很简单地将其需要地信息从数据库中查找出来并可以打印查询结果 .4)随着当今网络技术地发展,提供网络在线查询功能,可以为毕业生提供更多地就业机会.1.2系统功能分析(1)学生基本信息系统能够完成新、老生信息地输人、修改、插人、删除等工作 .可以按照特定地信息进行查找,并按照特定地要求进行排序 .可以对老生地信息进行备份,以便日后查询 .可以对学生地信息进行打印输出 .提供详细地帮助文件和系统维护功能 .(2)学生成绩管理系统此部分地功能如下:学生成绩地输入、修改、删除等基本操作 .成绩地综合统计功能,包括学生成绩按照不同条件进行排名 .管理人员可以选择不同地排序条件,并可以将排序结果进行打印输出 .计算各班地总分和平均分,并按照平均分将各班成绩进行排序 .统计不及格考生地信息,根据条件确定是重修还是补考 .学生奖励统计,自动生成每班获得奖学金地同学地信息,并可以将奖学金分成不同地等级,以及所得奖学金地数目 .1.3功能模块分析根据系统功能地基本要求,系统地功能模块设计图如下图所示:图1.1功能模块图1.4系统全局数据流图系统地全局数据流图,也称第一层数据流图,是从整体上描述系统地数据流,反映系统数据地整体流向,给设计者、开发者和用户一个总体描述 .管理员用户 身份验证 主界面 教师 学生学籍数据库学生图1.2数据流图1.5数据字典表1.1学生表基本信息表(student)字段名数据类型约束说明Snoint主键学号Snamevarchar(10)不为空姓名Sbirthdatetime无出生年月Sidvarchar(20)无身份证号码Spoliticvarchar(10)无政治面貌Scomedatetime不为空入学时间Sminzuvarchar(10)无民族Sjiguanvarchar(10)无籍贯Saddvarchar(100)无家庭住址Stelvarchar(15)无联系电话Smorevarchar(500)无联系电话表1.2毕业生表(graduate)字段名类型约束说明Gnoint主键毕业编号Snoint不为空学号Ghavefloat不为空已修学分Gmorevarchar无说明表1.3教师表(teacher)字段名数据类型约束说明Tnoint主键教师号Tnamevarchar(10)不为空姓名Sexsymbolchar(2)无性别Tbirthdatetime无出生年月Tidvarchar(20)无身份证号码Tpoliticvarchar(10)无政治面貌Tcomedatetime无入职时间Tminzuvarchar(10)无民族Tjiguanvarchar(10)无籍贯Taddvarchar(100)无家庭地址Ttelvarchar(15)无联系电话Tmorevarchar(500)无说明表1.4院系表(faculty)字段名数据类型约束说明Fnoint主键院系号FnameVarchar(50)无院系名Fmonsterint无系主任表1.5专业表(specialty)字段名类型约束说明Spsymbolvarchar(20)不为空专业代码Spnamevarchar(50)无专业名SpmonsterInt无学院Fnoint外键专业主任表1.6班级表(Class)字段名类型约束说明CLsymbolvarchar(10)主键班级号CLnamevarchar(50)无班级名CLpeopleint无人数TnoInt无辅导员SpnoInt外键专业号表1.7课程表(course)字段名类型约束说明Cnoint主键,不为空课程号CnameVarchar无课程名Cfirstint无先行课CcreditFloat无学分表1.8宿舍表(Department)字段名类型约束说明Dnoint主键宿舍号Dnamevarchar(50)无宿舍名Dpeopleint无人数表1.9职称表(Jobtitle)字段名类型约束说明Jsymbolvarchar(10)主键职称代号Jnamevarchar(50)无职称名称表1.10奖学金表(Award)字段名类型约束说明Asymbolvarchar(10)主键奖学金代号Anamevarchar(50)无奖学金名Amoneyint无金额表1.11性别表(sex)字段名Sexsymbol

类型char(2)

约束主键

说明性别代码Sexname char(2) 无 性别名表1.12选课表(SC)字段名类型约束说明Snoint主键学号Cnoint主键课程号Scorefloat无成绩morenchar(10)无说明表1.13授课表(TC)字段名类型约束说明Cnoint主键课程号Tnoint主键教师号概念结构设计2.1构成系统地实体型由学生学籍系统地数据流图和数据字典,抽取出系统地 5个主要实体,包括:学生、教师、班级、课程、毕业生 .学生(学号,姓名,出生年月,身份证号码,政治面貌,入学时间,民族,籍贯,家庭住址,联系电话,备注)教师(教师编号,姓名,出生年月,身份证号码,政治面貌,职称,入职时间,民族,籍贯,家庭住址,联系电话,说明)班级(班级代码,班级名称,人数,辅导员)课程(课程号,课程名,先行课,学分)毕业生(毕业编号,学号,已修学分,说明)2.2工资管理系统 E-R图宿舍毕业生离校住宿宿舍号<pi>Integer<M>学生宿舍名Variablecharacters(10)毕业编号<pi>Integer<M>学号<pi>Integer<M>人数Integer已修学分Float<M>Identifier_1<pi>姓名Variablecharacters(10)<M>应修学分Float<M>出生年月Date说明Variablecharacters(50)身份证号码Variablecharacters(20)Identifier_1<pi>政治面貌Variablecharacters(10)申请入学时间Date奖学金民族Variablecharacters(10)奖学金代码<pi>Variablecharacters(10)<M>籍贯Variablecharacters(10)家庭住址Variablecharacters(100)奖学金名称Variablecharacters(50)奖学金金额Integer<M>联系电话Variablecharacters(15)备注Variablecharacters(500)奖学金人数Integer包含Identifier_1<pi>Identifier_1<pi>选课性别关系性别3.1逻辑结构简介课程性别代码<pi>Characters(2)<M>性别名称Characters(2)课程号<pi>Integer<M>课程名Variablecharacters(50)先行课Integer性别选择学分Float(2)E-R图转换为与选用DBMS产品逻辑结构设计就是把概念结构设计阶段设计好地基本Identifier1<pi>教师班级教师编号<pi>Integer<M>所支班级名称持地数据Variable模型相符合地characters(20)逻辑结构.授课班级号<pi>Integer<M>姓名Variablecharacters(10)人数Integer<M>辅导身份证号码Variablecharacters(20)政治面貌Variablecharacters(10)Identifier_1<pi>3步进行:入职时间Date设计逻辑结构一般分为民族Variablecharacters(10)籍贯Variablecharacters(10)家庭地址Variablecharacters(100)所属院系联系电话Variablecharacters(15)Identifier_1<pi>包括院系号<pi>Integer<M>院系名Variablecharacters(50)系主任IntegerDBMS支持下地数据模型转换;(2)将转换来地关系、网状、层次模型向特定Identifier1<pi>职称关系职称(3)对数据模型进行优化 .

职称代号 <pi> Variablecharacters(10) <M>职称名称 Variablecharacters(50)Identifier_1 <pi>图2.1 工资管理系统 E-R图3.2关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体地属性和实体型之间地联系转换为关系模式,这种转换一般遵循如下原则:(1)一个实体型转换为一个关系模式,一个多对多地关系可以转化为一个关系模式;(2)一对多地关系可以融合在其他地相关地关系模式中.将概念结构设计阶段设计好地基本 E-R图转换成关系模型,如下所示(以下为主要实体地关系模型):学生(学号,姓名,性别,寝室代码,班级代码,出生年月,身份证号,政治面貌,入学时间,民族,籍贯,家庭住址,电话号码,奖学金代码,备注),此为学生实体对应地关系模式 .教师(教师号,姓名,性别,出生年月,身份证号,政治面貌,职称代码,学院代码,入职时间,电话号码,民族,籍贯,家庭住址,备注),此为教师实体对应地关系模式.毕业生(毕业编号,学号,已修学分,说明),此为毕业生实体对应地关系模式 .课程(课程号,课程名,先行课,学分,)此为课程实体对应地关系模式 .院系(院系代码,院系名称,院系主任),此为院系实体对应地关系模式 .选课(学号,课程号,成绩),此为选课关系对应地关系模式 .授课(课程号,教师号),此为授课关系对应地关系模式 .物理模型设计数据库物理设计是将逻辑设计影射到存储介质上,利用可用地硬件和软件功能尽可能快地对数据进行物理访问和维护 .将生成地概念模型通过 PowerDesigner中地GenertatePhysicalDataModel选项转换成物理模型,此物理模型如下图:毕业生毕业编号 int <pk>学号 int <fk>已修学分 float说明 varchar(0)Column_5 varchar(Max)学生学号 int宿舍号 int班级号 int性别代码 char(2)奖学金代码 varchar(10)毕业编号 int姓名 varchar(10)出生年月 datetime身份证号码 varchar(20)政治面貌 varchar(10)入学时间 datetime民族 varchar(10)籍贯 varchar(10)家庭住址 varchar(100)联系电话 varchar(15)备注 varchar(Max)选课学号int<pk,fk1>课程号int<pk,fk2>成绩float说明varchar

<pk><fk3><fk4><fk1><fk2><fk5>课程课程号 int <pk>课程名 varchar(50)先行课 int学分 float

宿舍宿舍号 int <pk>宿舍名 varchar(10)人数 int奖学金奖学金代码 varchar(10) <pk>奖学金名称 varchar(50)奖学金金额 integer奖学金人数 int性别性别代码char(2)<pk>性别名称char(2)教师班级班级号int<pk>教师编号int<fk2>院系号int<fk1>班级名称varchar(20)人数int院系院系号 int <pk>院系名 varchar(50)系主任 int

授课课程号 int <pk,fk1>教师编号 int <pk,fk2>

教师编号int<pk>职称代号varchar(10)<fk1>性别代码char(2)<fk2>院系号int<fk3>姓名varchar(10)出生年月datetime身份证号码varchar(20)政治面貌varchar(10)入职时间datetime民族varchar(10)籍贯varchar(10)家庭地址varchar(100)联系电话varchar(15)职称职称代号 varchar(10) <pk>职称名称 varchar(50)图4.1学生学籍管理系统物理模型物理结构设计与功能实现5.1定义数据库通过SQL语言进行数据库创建,创建数据库地语句如下:CreatedatabasestudentInfo。5.2创建表创建学生基本信息表(student)createtablestudent(Snointnotnull,Dnointnotnull,CLnointnotnull,Sexsymbolchar(2)notnull,Asymbolvarchar(10)notnull,Gno2intnull,Snamevarchar(10)notnull,Sbirthdatetimenull,Sidvarchar(20)null,Spoliticvarchar(10)null,Scomedatetimenull,Sminzuvarchar(10)null,Sjiguanvarchar(10)null,Saddvarchar(100)null,Stelvarchar(15)null,Smorevarchar(Max)null,constraintPK_STUDENTprimarykeynonclustered(Sno))。班级表(Class)createtableClass(CLno int notnull,Tno int notnull,Fno int null,CLname varchar(20) null,CLpeople int notnull,constraintPK_CLASSprimarykeynonclustered(CLno))。学生课程关系表(

SC)createtableSC(Sno int notnull,Cno int notnull,Score float null,more varchar null,constraintPK_SCprimarykey(Sno,Cno))。课程表(Course)createtablecourse(Cno int notnull,Cname varchar(50) null,Cfirst int null,Ccredit float null,constraintPK_COURSEprimarykeynonclustered(Cno))。毕业生表(graduate)createtablegraduate(Gno int notnull,Sno int notnull,Ghave float notnull,Gmore varchar(0) notnull,Column_5 varchar(Max) null,constraintPK_GRADUATEprimarykeynonclustered(Gno))。教师表(teacher)createtableteacher(Tnointnotnull,Jsymbolvarchar(10)notnull,Sexsymbolchar(2)notnull,Fnointnull,Tnamevarchar(10)null,Tbirthdatetimenull,Tidvarchar(20)null,Tpoliticvarchar(10)null,Tcomedatetimenull,Tminzuvarchar(10)null,Tjiguanvarchar(10)null,Taddvarchar(100)null,Ttelvarchar(15)null,constraintPK_TEACHERprimarykeynonclustered(Tno))。教师课程关系表(授课)createtable授课(Cno int notnull,Tno int notnull,constraintPK_授课primarykey(Cno,Tno))。5.3创建存储过程在学生表中创建插入学生地存储过程:USE[StudengtInfo]GOCREATEprocedure[dbo].[student_insert]@Snoint,@Snamevarchar(10),@Ssexsymbolchar(2)=null,@Dsymbolchar(10)=null,@CLnovarchar(10)=null,@Sbirthint=null,@Sidvarchar(20)=null,@Spoliticvarchar(20)=null,@Scomedatetime=null,@Sminzuvarchar(10)=null,@Sjiguanvarchar(10)=null,@Saddvarchar(100)=null,@Stelvarchar(15)=null,@Asymbolvarchar(10)=null,@Smorevarchar(500)=nullAsBEGINifEXISTS(select*fromstudentwhereSno=@Sno)print('已存在此学号学生 ')elseInsertintostudentvalues(@Sno,@Sname,@Ssexsymbol,@Dsymbol,@CLno,@Sbirth,@Sid,@Spolitic,@Scome,@Sminzu,@Sjiguan,@Sadd,@Stel,@Asymbol,@Smore)UPDATEdepartmentSETDpeople=Dpeople+1WHEREDsymbol=@DsymbolEND在学生信息表上创建一个删除学生信息地存储过程:USE[StudengtInfo]GOCREATEPROCEDURE[dbo].[delete_student]@SnointASBEGINDELETEFROMstudentWHERESno=@SnoEND在学生信息表上建立一个修改学生部分信息地存储过程:USE[StudengtInfo]GOCREATEPROCEDURE[dbo].[student_update]@snoint,@CLsymbolvarchar(20),@Snamevarchar(10),@Spoliticvarchar(10)ASBEGINupdatestudentsetSname=@Snamewhere@sno=SnoupdatestudentsetCLsymbol=@CLsymbolwhere@sno=SnoupdatestudentsetSpolitic=@Spoliticwhere@sno=SnoEND5.4创建触发器定义一个 BEFORE行级地触发器,为学生信息表 Ssexsymbol定义完整性规则 “学生性别只能是女或者男 ”.CREATETRIGGER[dbo].[sex_limit]ON[dbo].[student]FORINSERT,UPDATEASDECLARE@Sexsymbolchar(5)BEGINselect@Sexsymbol=Sexsymbolfrominsertedif@Sexsymbolnotin(selectSexsymbolfromsex)beginraiserror('性别不能输入 m或f以外地字符,其中 m代表男性.',16,8)rollbacktranendEND定义一个 AFTER行级触发器,当学生信息表中地 Sno发生变化后就自动在选课表和毕业生表中发生相应变化 .CREATETRIGGER[dbo].[update_sno]ON[dbo].[student]FORupdateASBEGINupdateSCsetSno=(selectSnofrominserted)whereSno=(selectSnofromdeleted)updategraduatesetSno=(selectSnofrominserted)whereSno=(selectSnofromdeleted)END定义一个AFTER行级触发器,在学生信息表中删除一条记录后就自动在选课表和毕业生表中删除相应信息.CREATETRIGGER[dbo].[student_delete]ON[dbo].[student]FORDELETEASBEGINdeletefromSCwhereSno=(selectSnofromdeleted)deletefromgraduatewhereSno=(selectSnofromdeleted)END5.5创建视图用奖学金表以及学生表创建一个获得奖学金地同学地部分信息,代码如下:SELECTdbo.student.SnoAS学号,dbo.student.SnameAS姓名,dbo.award.AnameAS奖学金名,dbo.award.AmoneyAS金额FROMdbo.awardINNERJOINdbo.studentONdbo.award.Asymbol=dbo.student.Asymbol此代码运行结果如下图:图5.5.1获得奖学金同学视图用课程表、选课表以及学生表创建考试不及格学生地视图,代码如下:SELECTdbo.student.SnoAS学号,dbo.student.SnameAS姓名,dbo.course.CnameAS课程名,dbo.course.CcreditAS学分,dbo.SC.ScoreAS成绩,dbo.SC.moreAS说

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论