教务管理系统数据库大学课程方案设计报告 .docx
精品名师归纳总结理工学院课程设计报 告设计题目教务治理系统专业运算机科学与技术班级学号姓名完成日期 2021 年 12 月 30 日课 程 设 计 任 务 书设计题目: 教务治理系统课程名称数据库课程设计可编辑资料 - - - 欢迎下载精品名师归纳总结设计内容与要求:类似于我校教务治理系统,有四类用户:教务员可以输入同学、老师、班级、课程信息,一个班级只属于一个专业, 一个同学只属于一个班级。教务员负责输入每个专业、每个班级需要学习哪些课程,指定课程的任课老师。老师可以查看学习该课程的同学名单。课程终止后,老师可以录入课程成果。一个老师可以教授多个班的多门课程,每门课由多位老师讲授。课程分两类,必修课和选修课。系统要记录每个同学学习各门必修课的成 绩,仍要记录同学选修了哪些选修课以及课程成果。同学可以查看自己各门课程的成果。同学仍可以进行评教,给老师打分。系统治理员可以输入教室信息,并结合班级、课程、教室信息实现自动排课。指导老师:2021 年 12 月 20 日课 程 设 计 评 语成果:指导老师: 年 月 日可编辑资料 - - - 欢迎下载精品名师归纳总结目 录1 概述.21.1 课程设计目标 .21.2 课程设计的背景和意义 .21.1.2课程设计的背景 2 2 需求分析 .32.1 系统需求 .32.2 可行性分析 .32.3 用户要求 .32.3.1 信息需求 .32.3.2 处理需求 .42.3.3.课程设计的意义 4 3 概念结构设计 .63.1 设计分析 .63.2 概念模型设计 .63.2.1 局部概念结构设计 63.2.2 全局概念结构模型 E-R 图 7 4 规律结构设计 .85 物理结构设计 105.1 数据表的设计 105.2 数据库完整性设计 125.2.1 数据库实体完整性设计125.2.2 数据库参照完整性设计125.2.3 数据库用户定义完整性设计 135.3 数据库安全性设计 13 6 应用程序设计 146.1 系统功能模块图 146.2 系统界面 15 7 设计总结 288 体会与收成 29参考文献 30可编辑资料 - - - 欢迎下载精品名师归纳总结1 概述1.1 课程设计目标课程设计总的目标是衡量同学是否取得学习成效,培育同学具有专业网站初步的规划、设计、制作才能。详细表现在网站内容、功能、安全等方面合理策划和规划。培育具有主页和二级页面的创意、设计等方面的技术处理才能和具有强大的动态成效制作才能。培育同学具有基于后台数据库的编程技术,实现客户 服务器端交互式动态网页的制作才能,把握实际网页设计与制作开发流程和开发方法。1.2 课程设计的背景及意义现如今高等院校的招生人数越来越多,必定就会有大量的同学信息、老师信息及课程信息需要处理。假如只靠人力来完成,这将会变成一项特别繁琐、复杂的工作,而且仍有可能显现很多意想不到的错误,给治理这些数据带来了极大的不便,越来越不适合高校的进展需要。教务治理系统是一个巨大而复杂的系统, 它包括对老师信息的治理,对课程资料的治理,对同学信息的治理和对同学成果的治理等主要功能。教务治理系统是每所高校的一项必不行少的内容,它的好坏直接影响到学校的主要工作,此系统一旦瘫痪,不仅会影响到学校的每一位学 生,学校也会因此受到特别严峻的缺失。随着我校近几年来的快速进展,办学模式多元化,在校同学规模不断扩大,为了加速对教务治理的运算机化,我校需要开发出符合我校实际的教务治理系统,为学校教案治理供应一个快速、简洁规范的治理平台,同时也便利教员查询相关信息,提高信息传播速度,扩大信息共享范畴。所以,现在设计一个功能完整、操作简洁以及界面友好的教务治理系统变得特别重要。通过这个系统,治理员能够对老师信息、课程信息、同学信息和同学成果进行查询、添加、修改和删除等操作,用户也可以对自己的基本信息进行修改,同学仍可以用该系统进行网上选课和成果查询,特别的便利。因此,本系统开发的总体目标就是在教务治理中实现信息治理的系统化、自动化,削减工作繁琐度,增加效率、便利性。可编辑资料 - - - 欢迎下载精品名师归纳总结2 需求分析2.1 系统需求通过调查 , 要求系统需要有以下功能 :由于操作人员的运算机学问普遍较差 , 要求有良好的人机界面。由于该系统的使用对象多 , 要求有较好的权限治理。原始数据修改简洁便利 , 支持多条件修改便利的数据查询,支持多条件查询。在相应的权限下,删除数据便利简洁,数据稳固性好。数据运算自动完成,尽量削减人工干预。2.2 可行性分析由于本系统治理的对象单一 , 都是在校同学,且每个数据内容具有较强的关联性,涉及的运算过程不是很复杂。因此,比较适合于采纳数据库治理。且学校 用于同学治理的微机都是PIII以上的机器,在储备量、速度方面都能满意数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特殊 是网上资料,特殊是参考其它程序的功能,因此完全可以实现。本系统的设计是在Window XP 操作系统环境下,使用 VS 开发胜利的。在开发过程中,如何挑选数据库治理是一个重要的问题,目前,数据库产品较多、开发工具也很多。每种产品都具有各自的特点和适用范畴,因此,在挑选数据库时,应考虑数据库应用的特点及适用范畴,在挑选开发工具时也考虑它的健壮性、可移性、安全性等问题。2.3 用户要求2.3.1 信息需求教务治理系统涉及的实体有:老师工作证号、姓名、职称、电话等。 同学学号、姓名、性别、诞生年月等。 班级班号、最低总学分等。可编辑资料 - - - 欢迎下载精品名师归纳总结系系代号、系名和系办公室电话等。课程课序号、课名、学分、上课时间及名额等。这些实体之间的联系如下:每个同学都属于一个班,每个班都属于一个系,每个老师也都属于一个系。每个班的班主任都由一名老师担任。一名老师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯独的)。一名同学可以选多门课,一门课可被如干同学选中。一名同学选中的课如已学完,应当记录有相应成果。2.3.2 处理需求教务系统主要供应数据爱护、选课和信息查询。其中常见的查询有:系统中各对象的基本信息查询。查询指定班、系的同学信息(名单、人数等)。查询同学的成果、学分情形。查询老师授课情形和同学选课情形。2.3.3 安全性与完整性要求安全性要求:1. 系统应设置拜访用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用。2. 系统应对不同的数据设置不同的拜访级别,限制拜访用户可查询和处理数据的类别和内容。3. 系统应对不同用户设置不同的权限,区分不同的用户,如同学,老师,系统治理员。完整性要求:1. 各种信息记录的完整性,关键信息记录内容不能为空。2. 各种数据间相互的联系的正确性。3. 相同的数据在不同记录中的一样性。2.4 需要的信息治理模块1、同学信息治理该模块是教务工作人员进行对同学信息的治理,进行同学信息的添加、修可编辑资料 - - - 欢迎下载精品名师归纳总结改、删除。2、老师信息治理教务工作人员通过此模块来治理老师信息,包括老师信息的添加、修改、删除等。信息的添加时,需要验证老师的编号是否重复。删除和和修改同学信息,和同学信息治理模块相同。3、院系治理此模块是用来治理院系的信息,包括班级院系的添加,修改,删除等。在进行信息的添加时,需要进行班级的编号是否重复的检查,如院系编号重复就对用户进行提示,不重复就添加胜利。院系治理模块的删除和修改和同学信息治理模块相同。4、课程信息治理教务工作人员通过该模块来治理课程的基本信息,包括课程信息的添加, 修改,删除和班级课程的设置等,详细做法同前面的模块。5、成果治理教务工作人员通过该模块来进行同学成果的治理,在进行同学成果的添加时,可用它来为同学设置所在班级的课程表来直接输入成果。6、综合查询通过该模块可以查询教务所需要的各种信息。如同学信息查询供应了包括同学学号、姓名、所在班级、班主任名字和宿舍等信息,同学信息进行查询的各种查询条件,用户可以依据单个的查询条件或者它们的组合来进行查询。同时,在查询的时候仍供应了进行模糊查询的功能,即该模块能够利用读者输入的非完整的查询条件进行查询,这样更加便利了用户的查询治理。综合查询模块包括了同学信息查询、老师信息查询、班级信息查询、院系信息查询、课程信息查询和成果查询等各种功能查询。可编辑资料 - - - 欢迎下载精品名师归纳总结3 概念结构设计3.1 设计分析在概念结构设计中,我采纳自底向上设计概念结构的方法。即第一步抽象数据并设计局部视图,其次步是集成局部视图,得到全局的概念结构。3.2 概念模型设计3.2.1 局部概念结构设计学号年龄最低总学分班号工作证号姓名邮箱工资姓名同学n属于1班级n老师电话性别属于n系代号1系1工作系代号系名系办公室电话图 3-1 系内关系模式图(2)、选课系统的关系模式图学号年龄平常成果课序号期中成果课名学分姓名同学m选修n课程性别名额期末成果最终成果系代号总评成果图 3-2 选课系统的关系模式图(3)、老师授课系统关系模型图课序号课名工资老师1授课n课程工作证号姓名邮箱电话学分图 3-3 老师授课系统关系模型图名额(1)、系内的关系模式图可编辑资料 - - - 欢迎下载精品名师归纳总结( 4)、老师与班级的关系模型图课名电话工资姓名工作证号最低总学分班级邮箱老师负责1n班号图 3-4 老师与班级的关系模型图3.2.2 全局概念结构模型( E-R 图)学号年龄期末成果平常成果课序号课名学分姓名m同学选修n课程性别n期中成果最终成果名额系代号总评成果属于n班号1课名班级n授课最低总学分n负责属于1111n系工作老师工资系代号系名系办公室电话工作证号姓名邮箱电话图 3-5 全局概念结构模型图可编辑资料 - - - 欢迎下载精品名师归纳总结4 规律结构设计关系模式的设计与优化E-R 图向关系模型的转换:1 “老师”实体对应的关系模式:老师(工作证号,姓名,工资,电话,邮箱,系代号)代码表示为: Teache(rTno. Tname. Salary. Tel. Email. Dno)其中,工作证号为其候选码,又由于老师与系别之间是n:1 的工作关系,经过与系别关系模式的合并后,系别名Dno 成为老师关系模式的外码,存在的关系依靠为 Tno Tname,Salary,Tel,Email,Dno,不存在对候选码的部分依靠与传递依靠,所以满意 BCNF。2 “同学”实体对应的关系模式:同学(学号,姓名,性别,年龄,班号,系代号)代码表示: Student Sno, Sname, Ssex, Sage. Class .Dno其中,学号为其候选码,又由于同学与班级之间是n: 1 的属于关系,经过与班级关系模式的合并后,班号Class 成为同学关系模式的外码,存在的关系依靠为Sno Sname,Ssex.Sage.ClassD. no , Class Dno,存在对候选码的传递依靠,所以满意 2NF.3 系(系代号,系名,系办公室电话)代码表示: Sdept Dno, Dname, Dphone 系代号为候选码,存在的函数依靠为Dno ( Dname,Dphone), 且不存在部分依靠与传递依靠,所以满意BCNF。4 “选修”联系对应的关系模式:选课(学号,课序号,最终成果,平常成果,期中成果,期末成果,)代码表示: SC Sno, Cno,Grade. Daigrade. Midbrade. Lasgrad,e 此为 m:n 联系“选修”所对应的关系模式。 Sno 和 Cno 均为外码。存在的函数依靠为完 全函 数依 赖( Sno, Cno) Grade.Daigrade. Midbrade. Lasgrade.可编辑资料 - - - 欢迎下载精品名师归纳总结Fingrade,且不存在部分依靠与传递依靠,所以满意BCNF。5 “课程”实体对应的关系模式:课程(课序号,课名,学分,名额,工作证号)代码表示: Course Cno, Cname, Credit, Cnum, Tno 其中,课号为其候选码,又由于课程与老师之间是n: 1 的授课关系,所以经过关系模式的合并后,老师的工作证号被合并为课程关系模式中的外码。存在的函 数依靠为 Cno ( Cname,Credit ,Cnum,Tno),且不存在对候选码的部分依靠和传递依靠,所以,满意 BCNF。6 “班级”实体对应的关系模式:班级(班号,最低总学分,工作证号,系代号) 代码表示: Class Class, Ccredit, Tno. Dno 其中,班号为其候选码,又由于班级与系别之间是n: 1 的“属于”关系,经过“班级”与“系别”两个实体关系模式的合并后,系号被合并为班级对应的关系 模式的外码。而班级与老师之间是n:1 的“负责”关系,所以依据规定,老师的工作 证号也被 合并 为班 级的 外码 。存 在的函数 依靠 为 Class ( Ccredit,Tno.Dno ,其中 Class Tno,而 Tno Dno,即存在对候选码的传递依靠,所以只满意 2NF。可编辑资料 - - - 欢迎下载精品名师归纳总结5 物理结构设计5.1 数据表的设计依据实体属性图可以建立以下各表,建表的同时定义表有关的完整性约束条件。1 同学基本信息表表 5-1 同学基本信息表列名长度类型NULLDEFAULT主键学号10charnonoYes姓名20varcharnonono性别2charnonono所在专业2charyesnono所属院系2charyesnono联系电话11charyesnono专业基本信息表表 5-2专业基本信息表2列名长度类型NULLDEFAULT主键专业编号2charnonoYes专业名称20varcharnonono所属院系2charyesnono总学分5charyesnono必修学分5charyesnono3 同学成果表表 5-3同学成果表列名长度类型NULLDEFAULT主键学号10charnonono姓名20charnonono课程名称10charnonono学期学年3charyesnono成果2charyesnono授课老师2charyesnono可编辑资料 - - - 欢迎下载精品名师归纳总结4 院系基本信息表表 5-4 院系基本信息表列名长度类型NULLDEFAULT主键院系号2charnonoyes院系名称20charyesnono负责人10charyesnono教务治理员10charyesnono5 老师基本信息表表 5-5 老师基本信息表列名长度类型NULLDEFAULT主键老师编号10charnonoyes姓名20varcharnonono性别2charyesnono所属院系2charyesnono评教基本信息表表 5-6 评教基本信息表课程基本信息表表 5-7 课程基本信息表班级基本信息表表 5-8 班级基本信息表6列名长度类型NULLDEFAULT主键老师编号10charnonono老师姓名20varcharyesnono课程编号50varcharnonono课程名称10charyesnono中意度2charyesnono7列名长度类型NULLDEFAULT主键课程编号20varcharnonoyes课程名称10charnonono任课老师10charyesnono开设院系30varcharyesnono8列名长度类型NULLDEFAULT主键班级编号10charnonoyes班级人数3charyesnono所属院系2charyesnono可编辑资料 - - - 欢迎下载精品名师归纳总结9 网上选课基本信息表表 5-9 网上选课基本信息表列名长度类型NULLDEFAULT主键课程号50varcharnonono开课院系30varcharyesnono已选人数3charnonono课程类别1charyesnono限选人数3charyesnono5.2 数据库完整性设计数据库完整性是指数据库中数据的正确性和相容性。数据完整性包括三类: 实体完整性,参照体完整性和用户定义完整性。5.2.1 数据库实体的完整性设计本教务治理系统数据库的实体有:同学,老师,专业,院系,教室,考试成果,课程。为保证明体的完整性,将以上全部实体的主属性的属性值都设置为非空。5.2.2 数据库参照完整性设计1、同学与课程选修关系模式同学信息(学号,姓名,性别,年龄)主键:学号 课程信息(课程号,课程名称,学分)主键:课程号选修 学号,课程号,考试成果 主键:学号,课程号2、同学与班级的从属关系模式:同学信息 学号,姓名,班级编号 主键:学号班级信息 班级编号,班级名称,专业名称,院系名称主键:班级编号3、同学与考试成果的考试关系模式同学信息(学号,姓名)主键:学号成果信息(成果号,课程编号)主键:成果号4、班级与专业的从属关系模式专业信息 专业编号,专业名称 主键:专业编号可编辑资料 - - - 欢迎下载精品名师归纳总结班级信息 班级编号,班级名称,专业编号主键:班级编号5、专业与院系的从属关系模式院系信息 院系编号,专业名称 主键:专业编号专业信息 专业编号,专业名称,院系编号主键:专业编号6、老师与课程的授课关系模式老师 老师编号,姓名 主键:老师编号课程 课程编号,课程名称 主键:课程编号授课(课程名称,老师编号,课时)主键:课程名称,老师编号5.2.3 数据库的用户定义完整性设计同学基本信息表:(1)性别必需是男或女(2) 身份证号必需是 18 位(3) 所在专业,所属院系必需是本系统供应的5.3 数据库安全性设计数据库的安全性是指爱护数据库以防止不合法的使用所造成的数据泄露、更换或破坏。系统安全爱护措施是否有效是数据库系统的主要指标之一。数据库的安全性和运算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。信息系统尽管功能强大,技术先进,但由于受到自身体系结构,设计思路以及运行机制等限制,也隐含很多担心全因素。常见因素有:数据的输入,输出, 存取与备份,源程序以及应用软件,数据库,操作系统等漏洞或缺陷,硬件,通信部分的漏洞,企业内部人员的因素,病毒,“黑客”等因素。因此,为使本系统能够真正安全,牢靠,稳固的工作,必需考虑如下问题:为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏。1) 系统要能重建2) 系统应当是可审查的3) 系统应能进行有效掌握,抗干扰才能强4) 系统使用者的使用权限是可识别的可编辑资料 - - - 欢迎下载精品名师归纳总结6 应用程序设计6.1 系统功能模块图本系统设计的并不复杂,模块划分也比较清晰。通过对不同的功能进行分教务治理系统登录治理治理员老师同学析,就可以得到系统的模块划分:登录治理模块, 又分为治理员登录、老师登录和同学登录三个子模块。治理员模块, 包括对老师信息、课程信息、同学信息和同学成果进行查询、添加、修改及删除等子模块。老师模块,包括对个人信息的查询及密码的修改、课表的查询等子模块。同学模块,包括对个人信息的查询及密码的修改、网上选课、课表的查询和个人成果的查询等子模块管教学教课学学个密课个密课网成理师生师程生生人码表人码表上绩员登登信信信成信修查信修查选查登录录息息息绩息改询息改询课询录管管管管查查理理理理询询查添修删查添修删查添修删查添修删询加改除询加改除询加改除询加改除教教教教课课课课学学学学学学学学师师师师程程程程生生生生生生生生信信信信信信信信信信信信成成成成息息息息息息息息息息息息绩绩绩绩图 6-1系统模块图可编辑资料 - - - 欢迎下载精品名师归纳总结6.2 系统界面1 系统的主界面图 6-2系统主界面部分设计代码如下 : namespace 教务治理系统public MainFormInitializeComponent。protected override void Dispose bool disposing if disposing if components .= nullcomponents.Dispose。base.Dispose disposing 。private bool checkChildFrmExiststring childFrmNameforeachForm childFrm in this.MdiChildrenifchildFrm.Name = childFrmNameifchildFrm.WindowState =可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结FormWindowState.Minimized FormWindowState.Normal。childFrm.WindowState = childFrm.Activate。return true。可编辑资料 - - - 欢迎下载精品名师归纳总结return false。private void menuItem2_Clickobject sender, System.EventArgs eif this.checkChildFrmExist"ClassInfo" = truereturn 。ClassInfo newFrm=new ClassInfo。newFrm.MdiParent = this。newFrm.Show。private void menuItem3_Clickobject sender, System.EventArgs eif this.checkChildFrmExist"StudentInfo" = truereturn 。StudentInfo newFrm=new StudentInfo。newFrm.MdiParent = this。newFrm.Show。private void menuItem4_Clickobject sender, System.EventArgs eif this.checkChildFrmExist"CourseInfo" = truereturn 。CourseInfo newFrm=new CourseInfo。newFrm.MdiParent = this。newFrm.Show。private void menuItem6_Clickobject sender,可编辑资料 - - - 欢迎下载精品名师归纳总结可编辑资料 - - - 欢迎下载精品名师归纳总结System.EventArgs eif this.checkChildFrmExist"CourseElect" = true可编辑资料 - - - 欢迎下载精品名师归纳总结return 。CourseElect newFrm=new CourseElect。newFrm.MdiParent = this。newFrm.Show。private void menuItem7_Clickobject sender, System.EventArgs e可编辑资料 - - - 欢迎下载精品名师归纳总结= trueif this.checkChildFrmExist"CurriculumSchedule"return。CurriculumSchedule newFrm=new可编辑资料 - - - 欢迎下载精品名师归纳总结CurriculumSchedule""。newFrm.MdiParent = this。newFrm.Show。private void menuItem8_Clickobject sender, System.EventArgs eif this.checkChildFrmExist"ScoreInput" = truereturn 。ScoreInput newFrm=new ScoreInput。newFrm.MdiParent = this。newFrm.Show。private void menuItem11_Clickobject sender, System.EventArgs ethis.Close。可编辑资料 - - - 欢迎下载精品名师归纳总结2 同学选课界面界面可编辑资料 - - - 欢迎下载精品名师归纳总结部分程序代码如下:图 6-3同学选课界面可编辑资料 - - - 欢迎下载精品名师归纳总结private void CourseElect_Loadobject sender, System.EventArgs edataGrid1.DataSource=this.electTable。string strConn="workstation id=localhost。Integrated Security=SSPI 。database=eisbook 。" 。SqlConnection cn=new SqlConnectionstrConn。cn.Open 。string sql="select a.课序号,a. 课程编号 ,b. 课程名称 ,b.可编辑资料 - - - 欢迎下载精品名师归纳总结老师,b. 开课系别 ,"码"程编号 " 。+"a. 上课的点 ,a. 上课时间天 ,a. 上课时间节 ,b. 拼音+" from课程表 a, 课程信息 b"+" where b.本学期课程 ='Y'anda.课程编号 =b. 课SqlDataAdapter da2=new SqlDataAdaptersql,cn。da2.Fillthis.courseTable。this.dv=courseTable.DefaultView。dataGrid2.DataSource=dv。可编辑资料 - - - 欢迎下载精品名师归纳总结private void ShowInfo/string strConn="workstation id=localhost。Integrated Security=SSPI 。database=eisbook 。" 。SqlConnection cn=new SqlConnectionstrConn。cn.Open 。SqlCommand cmd=cn.CreateCommand。 cmd.CommandText="select a. 姓名,b. 班级名称 ,a. 学籍编号from 同学信息 a, 班级信息 b "+"wherea. 班级编号 =b. 班级编号 and 学号='"+txt1.Text.Trim+"'"。SqlDataReader dr=cmd.ExecuteReader。dr.Read 。if.dr.HasRowsMessageBox.Show"无此同学,请重新输入学号 "," 提示",MessageBoxButtons.OK,MessageBoxIcon.Stop。dr.Close。return 。ifdr.GetValue2.ToString.Trim.="1"MessageBox.Show"该同学并非在籍同学,不能选课"," 提示",MessageBoxButtons.OK,MessageBoxIcon.Stop。return 。可编辑资料 - - - 欢迎下载精品名师归纳总结师," 的点"txt2.Text=dr.GetValue0.ToString.Trim。txt3.Text=dr.GetValue1.ToString.Trim。dr.Close 。string sql="select a. 学号,a. 课序号,b. 课程名称 ,b. 教+"b. 开课系别 ,c. 上课时间天 ,c. 上课时间节 ,c. 上课+" from选课表 a, 课程信息 b, 课程表c"+" wherea.课序号=c. 课序号 and'200400000'+b.可编辑资料 - - - 欢迎下载精品名师归纳总结课程编号 =a. 课序号 "+"anda. 学号='"+txt1.Text.Trim+"'"。SqlDataAdapter da=new SqlDataAdaptersql,cn。da.Fillthis.electTable。this.studentID=txt1.Text.Trim。this.stduentName=txt2.Text.Trim