




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆科技学院课程设计报告
院(系):_电气与信息工程学院_专业班级:XXX学生姓名:XXX学号:XXX设计地点(单位)______第一实验楼I515___________设计题目:__________学籍管理系统设计_____________________完成日期:指导教师评语:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________成绩(五级记分制):________________
指导教师(签字):________________重庆科技学院《数据库原理》课程设计报告PAGE20摘要随着信息技术的飞速发展,信息化对学生个人提出了驾驭和掌握最新信息技术的要求;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径。例如这次课程设计主要设计的是对学籍信息的管理以及操作,方便对于学生信息的管理。学籍管理系统主要采用了SQL2005作为数据库,使用ODBC作为数据源,在数据库内部实现部分功能时运用的是触发器以及存储过程;而且还可用视图查看部分信息。关键词:数据库触发器存储过程视图重庆科技学院课程设计任务书设计题目:学籍管理系统设计学生姓名XXX课程名称数据库原理课程设计计科2010-03地点I515、I524和计算机自主学习中心起止时间2012.6.25-2012.7.6设计内容及要求内容:学生根据本课程设计指导书中的题目,进行设计。(1)学生基本信息系统能够完成新、老生信息的输人、修改、插人、删除等工作。可以按照特定的信息进行查找,并按照特定的要求进行排序。可以对老生的信息进行备份,以便日后查询。可以对学生的信息进行打印输出。提供详细的帮助文件和系统维护功能。(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概念结构设计 72.1构成系统的实体型 72.2工资管理系统E-R图 73逻辑结构设计 83.1逻辑结构简介 83.2关系模型 84物理模型设计 105物理结构设计与功能实现 115.1定义数据库 115.2创建表 115.3创建存储过程 145.4创建触发器 155.5创建视图 176总结 197致谢 208参考文献 211需求分析1.1系统目标设计(1)使得学生的学籍管理工作更加清晰、条理化、自动化。(2)很容易地完成新生信息的输入、老生信息的备份、毕业学生的信息可以很容易地保存。(3)当学生需要查询成绩时,可以很简单地将其需要的信息从数据库中查找出来并可以打印查询结果。(4)随着当今网络技术的发展,提供网络在线查询功能,可以为毕业生提供更多的就业机会。1.2系统功能分析(1)学生基本信息系统能够完成新、老生信息的输人、修改、插人、删除等工作。可以按照特定的信息进行查找,并按照特定的要求进行排序。可以对老生的信息进行备份,以便日后查询。可以对学生的信息进行打印输出。提供详细的帮助文件和系统维护功能。(2)学生成绩管理系统此部分的功能如下:学生成绩的输入、修改、删除等基本操作。成绩的综合统计功能,包括学生成绩按照不同条件进行排名。管理人员可以选择不同的排序条件,并可以将排序结果进行打印输出。计算各班的总分和平均分,并按照平均分将各班成绩进行排序。统计不及格考生的信息,根据条件确定是重修还是补考。学生奖励统计,自动生成每班获得奖学金的同学的信息,并可以将奖学金分成不同的等级,以及所得奖学金的数目。1.3功能模块分析根据系统功能的基本要求,系统的功能模块设计图如下图所示:图1.1图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)字段名类型约束说明Sexsymbolchar(2)主键性别代码Sexnamechar(2)无性别名表1.12选课表(SC)字段名类型约束说明Snoint主键学号Cnoint主键课程号Scorefloat无成绩morenchar(10)无说明表1.13授课表(TC)字段名类型约束说明Cnoint主键课程号Tnoint主键教师号
2概念结构设计2.1构成系统的实体型由学生学籍系统的数据流图和数据字典,抽取出系统的5个主要实体,包括:学生、教师、班级、课程、毕业生。学生(学号,姓名,出生年月,身份证号码,政治面貌,入学时间,民族,籍贯,家庭住址,联系电话,备注)教师(教师编号,姓名,出生年月,身份证号码,政治面貌,职称,入职时间,民族,籍贯,家庭住址,联系电话,说明)班级(班级代码,班级名称,人数,辅导员)课程(课程号,课程名,先行课,学分)毕业生(毕业编号,学号,已修学分,说明)图2.1工资管理系统E-R图2.2工资管理系统E-R图图2.1工资管理系统E-R图
3逻辑结构设计3.1逻辑结构简介逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。设计逻辑结构一般分为3步进行:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。3.2关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:(1)一个实体型转换为一个关系模式,一个多对多的关系可以转化为一个关系模式;(2)一对多的关系可以融合在其他的相关的关系模式中。将概念结构设计阶段设计好的基本E-R图转换成关系模型,如下所示(以下为主要实体的关系模型): 学生(学号,姓名,性别,寝室代码,班级代码,出生年月,身份证号,政治面貌,入学时间,民族,籍贯,家庭住址,电话号码,奖学金代码,备注),此为学生实体对应的关系模式。 教师(教师号,姓名,性别,出生年月,身份证号,政治面貌,职称代码,学院代码,入职时间,电话号码,民族,籍贯,家庭住址,备注),此为教师实体对应的关系模式。 毕业生(毕业编号,学号,已修学分,说明),此为毕业生实体对应的关系模式。 课程(课程号,课程名,先行课,学分,)此为课程实体对应的关系模式。 院系(院系代码,院系名称,院系主任),此为院系实体对应的关系模式。 选课(学号,课程号,成绩),此为选课关系对应的关系模式。 授课(课程号,教师号),此为授课关系对应的关系模式。
4物理模型设计数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护。将生成的概念模型通过PowerDesigner中的GenertatePhysicalDataModel选项转换成物理模型,此物理模型如下图:图4.1学生学籍管理系统物理模型5物理结构设计与功能实现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(CLnointnotnull,Tnointnotnull,Fnointnull,CLnamevarchar(20)null,CLpeopleintnotnull,constraintPK_CLASSprimarykeynonclustered(CLno));学生课程关系表(SC)createtableSC(Snointnotnull,Cnointnotnull,Scorefloatnull,morevarcharnull,constraintPK_SCprimarykey(Sno,Cno));课程表(Course)createtablecourse(Cnointnotnull,Cnamevarchar(50)null,Cfirstintnull,Ccreditfloatnull,constraintPK_COURSEprimarykeynonclustered(Cno));毕业生表(graduate)createtablegraduate(Gnointnotnull,Snointnotnull,Ghavefloatnotnull,Gmorevarchar(0)notnull,Column_5varchar(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授课(Cnointnotnull,Tnointnotnull,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)=nullAsBEGIN ifEXISTS(select*fromstudentwhereSno=@Sno) print('已存在此学号学生') else Insertintostudent values(@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] @SnointASBEGIN DELETEFROMstudent WHERESno=@SnoEND在学生信息表上建立一个修改学生部分信息的存储过程:USE[StudengtInfo]GOCREATEPROCEDURE[dbo].[student_update] @snoint,@CLsymbolvarchar(20), @Snamevarchar(10),@Spoliticvarchar(10)ASBEGIN updatestudentsetSname=@Snamewhere@sno=Sno updatestudentsetCLsymbol=@CLsymbolwhere@sno=Sno updatestudentsetSpolitic=@Spoliticwhere@sno=SnoEND5.4创建触发器定义一个BEFORE行级的触发器,为学生信息表Ssexsymbol定义完整性规则“学生性别只能是女或者男”。CREATETRIGGER[dbo].[sex_limit]ON[dbo].[student] FORINSERT,UPDATEASDECLARE@Sexsymbolchar(5)BEGIN select@Sexsymbol=Sexsymbolfrominserted if@Sexsymbolnotin(selectSexsymbolfromsex) begin raiserror('性别不能输入m或f以外的字符,其中m代表男性。',16,8) rollbacktran endEND定义一个AFTER行级触发器,当学生信息表中的Sno发生变化后就自动在选课表和毕业生表中发生相应变化。CREATETRIGGER[dbo].[update_sno]ON[dbo].[student] FORupdateASBEGIN updateSCsetSno=(selectSnofrominserted) whereSno=(selectSnofromdeleted) updategraduatesetSno=(selectSnofrominserted) whereSno=(selectSnofromdeleted)END定义一个AFTER行级触发器,在学生信息表中删除一条记录后就自动在选课表和毕业生表中删除相应信息。CREATETRIGGER[dbo].[student_delete]ON[dbo].[student] FORDELETEASBEGIN deletefromSCwhereSno=(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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《探寻北极熊栖息地的》课件
- (67)-考点67 作文-写景状物
- (14)-专题14 写作训练
- (6)-专题06 标点符号辨析与运用
- 全球金融一体化对我国的影响及应对对策
- 2025年太原货运从业资格证考试模拟题库答案大全
- 天津渤海职业技术学院《组织学与胚胎学》2023-2024学年第二学期期末试卷
- 江西环境工程职业学院《大学英语(Ⅲ)-英语应用文写作》2023-2024学年第一学期期末试卷
- 西北工业大学《公共艺术概论》2023-2024学年第二学期期末试卷
- 濮阳医学高等专科学校《光学设计》2023-2024学年第二学期期末试卷
- 2025年人教版小学数学二年级下册期末考试卷(带答案解析)
- 西师大版小学五年级 数学(下)期末测试题(含答案)
- 化工工艺原理考试题库梳理
- 定金款管理制度
- 光伏电站安全培训
- GB/T 37027-2025网络安全技术网络攻击和网络攻击事件判定准则
- 2025年江苏南通苏北七市高三二模高考物理试卷(含答案详解)
- 2024年药理学考试真题回顾试题及答案
- 2025年军队文职(司机类)核心知识点备考题库(含答案)
- 2025年深圳二模考试试题及答案
- (一模)临沂市2025届高三高考第一次模拟考试生物试卷(含标准答案)
评论
0/150
提交评论