• 湖南科技大学计算机科学与工程学院 《数据库系统》 课 程 设 计 题 目: 教学管理系统 专 业:计算机科学与技术 年 级: 2017级 班 级: 计科三班 ...数据库系统课程设计是为了配合数据库原理及应用开发而...
    **二话不说,先怼源码:**
    [gitHub源码地址](https://github.com/jikeMisma/java_datapase_project)
    
    题    目:    教学管理系统    专    业:计算机科学与技术      
    作   者:    马志成   
    完成时间:2019年1月3日
    
    
    
    ### 一.实验目的
    数据库系统课程设计是为了配合数据库原理及应用开发而设置的,是计算机科学与技术、 网络工程、信息安全、物联网工程、软件工程等专业集中实践的教学环节,是将关系数据库 理论知识转化为解决实际问题能力的重要环节。数据库系统课程设计目的在于加深对关系数 据库理论知识的理解,通过使用具体的 DBMS,掌握一种实际的数据库管理系统并掌握其 操作技术,熟练掌握使用数据库前端开发工具(如 VB、C++、Java、Delphi、PowerBuilder 等),进一步提高同学们运用数据库技术解决实际问题的能力。
    ### 二.实验平台	
    数据库:Mysql 
    页面及朱语句:java(),开发工具eclipse。
    ### 三.实验内容
    目前市面上流行的数据库管理系统有:适合大型企业的Oracle,适合中小型企业的SQL SERCER,以及开源的Mysql。考虑到数据库管理系统的易操作性以及实验的实际情况,本次课程设计使用的是开源的Mysql。使用的数据库操作语言是java。将数据库操作SQL语言嵌入java语句中完成数据库各项增删改查等操作。同时用户操作界面也是使用java实现。Java加载MySQL的驱动,实现利用java操作数据库。利用两周的时间完成有关数据库的各项原型设计以及有关数据库的模型设计和实现。同时完成前端界面的编写,数据库与java的连接,数据库的安全性的测试,java操作数据库的测试和改善。在完成了对数据库中数据的基本增删改查的功能之后利用多余的时间完成其他操作,包括模糊查询等。本次课程设计的前端界面的编写可以使用任意的工具。可以使用安卓的AS,也可以使用eclipse的windoubuilder插件等等的各种工具。设计的界面采用菜单或对话框的形式,根据自己所选的课程设计题目给出系统分析,设计出概念模型,以及实现最后的运营以及维护。 
    ### 四.实验要求
    经典的桌面数据库应用开发是典型的 C/S 计算模式,即应用数据库前端开发工具编写客 户端程序,通过客户端程序来连接和访问后台数据库。考虑到同学们都学习过 Java,因此, 本次选用 Java 作为前台数据库开发工具(也可以选用 VB、Delphi、C/C++等)。 两周的课程设计要求同学们开发一个小型数据库管理信息系统。所设计的小型管理信息 系统应包含查询、插入、删除、修改、统计、用户权限管理等基本功能,界面采用菜单或对 话框的形式。根据同学们所选的设计课题,给出系统需求分析,设计出系统的概念模型、逻 辑模型,用 SQL 语言实现数据库的建立、应用和维护,最后写出详细的设计说明书。 本次课程设计要求同学们充分认识数据库系统课程设计对培养自己动手能力的重要性, 认真做好设计前的各项准备工作。虚心接受老师的指导,充分发挥自学能力和查找资料的能 力。结合课题,独立思考,努力钻研,勤于实践,勇于创新。独立完成规定的工作任务,不 得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。严格要求自己,按时、按质、按量 完成每天的课程设计任务。
    ### 五.实验步骤
    ##### 1.系统需求分析
    1系统功能分析本系统主要有以下功能要求:课程设置,包括:增加、删除、查询和修改课程信息。 课程时间和教室的安排,以及课程清单打印输出。 l学生选课和学生课表的打印输出。 l课程学生名单的打印输出和期末成绩输入。 l成绩查询、报表。
    1.2系统功能模块设计系统各功能模块的关系如图 1 所示。 图 1、教学管理信息系统功能模块图 因为使用这套系统的人员不光是教务管理人员,还包括教师和学生。不同的身份对数据 库的操作权限也不同。为了避免管理的混乱,需要针对不同的角色分别设计客户端应用程序, 对同一个数据库进行合理的修改。页面流程图:             
    1.3 与其他系统的关系教学管理信息系统同样是校园信息管理系统的一个有机组成部分。需要从学生信息管理 系统获取学生的个人信息,从教师信息管理系统获取任课教师的相关信息。同时,提供的成 绩单为其他系统提供必要的参考。
    1.4数据流程图教学信息管理系统的数据流程如图
    ##### 2.数据库设计
    2.1数据库需求分析根据我们前面的分析,教学信息管理系统需要以下数据项:课程:课程号、课程名称、讲课教师、学分、学时、上课时间、上课地点、简介、 课程状态。 l选课结果:记录编号、选课人、所选课程。成绩单:记录编号、学生、课程、成绩。所需的外部数据支持: l 学生:学号、姓名、班级。 l教师:员工号、姓名、课程院系。
    2.2数据库概念结构设计本系统所需数据的 E-R 模型图: 
    2.3数据库逻辑结构设计需要3个基本信息表:教师信息、学生信息、课程信息。其中, 教师信息和学生信息在实际系统中是从其它信息管理系统的数据表中直接读取。学生的选课 信息需要用 1 个表来单独保存。由于每学期期末前都要进行选课,因此选课结束后要将这个 表的内容及时保存到成绩单数据表中。使用本系统的不光是教务处的管理人员和教师,每个 学生都需要登录到选课系统进行课程的选择。因此,需要对不同的登录人员进行密码认证和 权限的限制,防止出现越权行为。用户名、密码和权限单独保存在 1 个数据表中。另外需要 一个课程状态代码表,这 7 个数据表的结构如表 1 到表 7 所示(请设计者完成这 7 个数据表 的逻辑结构)。
     ##### 3.各个功能模块的设计与实现
     3.1功能说明本系统需要按照不同的用户分别创建 3 个工程:教师课程管理应用程序、教务课程调度 应用程序和学生选课应用程序。 首先,三个模块的用户的权限是有很大的差异的,教务处的用户的权限大于教师的用户权限,教师的用户权限大于学生的用户权限。所以登录不同的模块对于数据的操作的允许范围是不同的。
     #####  一.教务课程调度应用程序功能说明。  
        登录教务处权限的模块,可以对所有数据进行操作,包括学生的各项学习的查询。学生的课程的查询,教授的信息查询,教师设置课程的查询以及教师和学生的学习的的增删改查等等。同时此用户权限拥有对所有数据的掌握。
     #####  二.教师课程管理应用程序功能说明。  
       教师登录模块主要进行的是对于教师信息的修改查询以及对学生信息的查询和学生成绩的设置与查询。以及开设课程。
     #####  三.学生选课应用程序功能说明。
      学生用户的权限较低,他只有对自己的信息的修改以及查询成绩,查询教师所开设课程和选课的去权利。四.实现了用户数据的导入导出。在实现了基本的增删改查的基础上对于自己完成的教务管理系统,新增加了数据导出为Excel格式和从Excel中读取数据至数据库中的新功能。
     3.2用户界面设计根据权限的不同,用户界面分为三类,登录选项也为三类,各模块的界面视图如图所示:
     1.教务管理系统用户权限界面如图,用户可以在界面内选择相应的群像进行登录。
     2.教务处用户登录界面,选择相应的用户权限之后进入相应的用户的登录界面。其它两个用户权限的登录界面与之类似,以下只展示一个登录界面。输入密码或者账号错误会有相应的提示框。         
     3.教务处用户的登录后主操作界面。教务处用户登录后进行相应数据的操作。左侧为一个树目录结构,点击各个子节点可以进行各个表之间的转换。右面为各个子操作界面的展示,在子界面内进行各个数据的查看与操作。 
     4.教师权限用户的主界面如图所示,教师可以在主界面完成相应的操作,包括学生信息的查询,成绩的添加修改,课程的设置与修改等。       
      5.学生用户的登录主界面,进行查课,选课和成绩查询及个人信息修改等操作。教师登录后查询学生的成绩哥信息等,同时可以查询和修改自己的信息。同时在界面内设置和修改自己要开设的课程。
     6.数据库的建立。
    7.数据以Excel的形式导入导出。连接数据库之后可以实现数据的导入和导出为Excel形式。实现数据的导入导出要在java的驱动文件中加载。建立相应的导入导出数据的类,并进行定义,再链接数据库进行定义,就实现数据的导入导出。 导入导出的连接数据库的部分代码如图所示。其主要能容为建立一个workbook的工作部,在工作簿中完成导入导出的各项操作。 
    8.代码目录结构的展示,基本文件的分类为是按照各个页面的分类来进行的,即一个页面为一个java文件,其它的辅助文件和数据库连接文件为一个java文件。
    4.1实验中的错误一、 写界面遇到的错误
    1、表格的表头无法显示  我一开始用的String类型的数组储存的表头,表格也是用的数组,表头无法显示;然后我百度发现,表格要先放入一个容器才能显示表头。我按照例子改用vctor类型储存我的表头,但是我一开始是用的add方法把表格加入容器的,所以表头还是无法显示,通过百度我才知道表头的数组显示方法才能让表头显示,而且容器的布局不能为null。然后表格就正常了2、登陆界面(不管我是否输入了信息,都可以正常地登陆)我一开始是用
    user.equals("")||user==null来判断的,没有去掉字符串前后的空格,所以不管怎么判断字符串其实是有空格的,所以不管怎么都可以成功登陆,二、写数据库的错误1、我的数据库一开始不能输入中文安装的时候没有注意Mysql的语言类型,默认的语言不是中文,所以不能输入中文,把每个表改成了utf8,改了之后虽然在navicat可以输入中文,但是如果在mysql里面打开后,发现全部用?替代了。然后就百度,根据百度的方法,我打开mysql查看发现除了一部分的字符属性改成了utf8,其余都没有变,然后把全部都改了以后,还是会乱码。后来我发现是我eclipes这边的代码还是之前的语言类型,然后就把全部都改了,就可以输入了中文。
    ### 六.实验心得
    为期两周的数据库课程设计马上结束,在这两周里面收获颇丰。从课设开始的第一天,我们在老师的指导和阅读指导书的前提下自主完成了一个简单的数据库系统的编写。从系统的分析,到整体的设计,再到数据库的建立,以及java前端页面的编写。数据库驱动的加载。可以说整个的项目开发都是由一个人完成。这是在本学期学习了java课程和数据库课程之后的第一次也是在校的一次很宝贵的实战经验总结。之前对两门课程的学习只是简单的基础学习,没有设计到整个系统的开发。但是在这次的实践中对于整个系统开发有了更深的认识。从专业知识学习的角度说,首先我学会了作为一个系统的整个数据库的建立和完善。学会将SQL语句嵌入java中,对数据库进行操作。也学会了如何利用java的Mysql驱动连接数据库,这为之后的java的其他开发奠定了坚实的基础。其次数据库可课程设计更是提升了java的实战能力。在本次课设中,通过主函数中对其他各个累的调用和 其他设计,更深层次的了解或者说是掌握了java的面向对象这一概念。此次开发总共涉及了自己编写的大大小小的十几个java文件,但正是由于面向对象的思想,对于java的操作却没有想象的那么复杂。系统的维护和改动也只需要在相应的子文件里面做改动。本次实战中具有突出的是在java的主界面的编写中,为了对于各个子文件(子页面)的操作更加的简便,也为了主菜单格式的统一,我使用了树目录结构的方式,使得主界面的操作灵活方便。也使得各个操作在主界面的显示样式更加的统一方便好看。总体来说本次的数据库课程设计从整体上独立完成了一个系统的开发。为之后多项专业课的学习打下了坚实的基础,也是一个检验自己java与数据库知识掌握程度的机会,在此次课程设计中收获颇丰,再次有类似的学习事件机会。                                                                                                                                                                          
    	   以下为本人的数据库课设的页面展示。希望对读者有所启迪。                
    	  ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190103160028263.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L216Y19sb3Zl,size_16,color_FFFFFF,t_70#pic_center)![在这里插入图片描述](https://img-blog.csdnimg.cn/2019010316015888.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L216Y19sb3Zl,size_16,color_FFFFFF,t_70#pic_center)![在这里插入图片描述](https://img-blog.csdnimg.cn/20190103155948336.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L216Y19sb3Zl,size_16,color_FFFFFF,t_70#pic_center)                                                                                                                              
    
    
    展开全文
  • 数据库应用课程设计 2020-05-25 21:45:57
    武汉纺织大学 数学与计算机学院 ...
  • 由于时间关系,里面许多图片都已经变形或错位  ...课程设计(学年论文)      题目:学生选课管理系统的设计与实现    系 院 计算机科学技术系 专 业 计算机科学与技术  班 级  姓 名  学 号
  • 数据库课程设计-JAVA实现学生信息管理系统源代码,是自己进行课程设计的时候的,运行没有问题!可以参考!
  • 数据库管理系统既便于数据的集中管理,控制冗余,提高数据的利用率和一致性,又利于应用程序的开发和维护。 随着高校学生人数越来越多,课程越来越丰富,学生多老师少,迫切需要一个数据库管理系统来管理、...
  • 数据库课程设计 mysql图书管理系统 链接 https://pan.baidu.com/s/1SfetHRyqU4SlVj4njHe3lA 提取码4t8f
  • 关于一个大课题的课程设计 要求学生根据周围的实际情况.自选一个小型的数据库应用项目并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统...
  • 刚结束课程设计,也预示着
  • 数据库课程设计个人总结 2011-06-29 16:23:00
    数据库课程设计个人总结 
  • 这学期学习了数据库之后,到结尾写个数据库课程设计,下面这个课程设计可是我花了好长时间才写完,先供大家参考 目 录 1需求分析 …………………………………………………………4      &...
  • 特殊时期,不能外出,整理一下本科期间过的课程设计,学完数据库,设计一个学生选课管理信息系统,老师给的要求如下: 系统功能基本要求 教师信息,包括教师编号、教师姓名、性别、年龄、学历、职称、毕业院校,...
  • 可以直接从我的GitHub中获取文档: 学生选课系统GitHub ...三 结构概念设计 计划受众表信息 学生表信息 教师表信息 课程表信息 教学计划表信息 任课表信息 学生选课表信...
  • 1、一对一的关系,两个实体要建到一张表中然后利用视图去面向不同的应用程序2、对数据库系统的三级模式结构的重新认识数据库系统的三级模式结构是指数据库系统是由模式、外模式和内模式三级构成的。 (1)模式 模式...
  • 数据库课程设计——图书馆管理系统(一) 1.需求分析 系统的设计目标: Library系统(图书管理系统)是通过本系统软件,能帮助图书馆管理人员利用计算机,快速方便地对图书馆书籍,读者资料,借还书等进行高效的管理。...
  • 一、 实现的功能 1、 系统管理员 Ø ... Ø 课程管理模块: 管理员可以对课程进行增,删,查,改等操作。 Ø 教室管理模块: 管理员可以对教室信息进行增,删,查,改等操
  • 数据库课程设计 2009-04-05 20:50:00
    数据库课程设计是在学生系统的学习了数据库原理课程后,按照关系型数据库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的管理信息系统(MIS)。通过对一个实际问题的分析、设计与实现,将原理与...
  • 1需求分析  生活在21世纪,我们每个人的日常生活免不了跟银行打交道。安全、规范、操作简单、功能齐全的...在此我运用数据库课上所学知识,结合自己平时的银行业务体验,认为一个合格的银行管理系统至少应该具备以下
  • 通过了解餐饮行业的特点和实际情况,从分析饭店的基本情况入手,结合要实现的功能,对系统的可行性进行分析,为提高其可行性,故了以下数据分析。 2.概念结构设计 2.1 数据需求 餐桌数据包括餐桌号、座位数、...
  • 利用触发器实现级联删除有两个表一个是教师表,一个是教师的开课情况表,实现当删除教师的记录时,自动将该教师的开课情况的记录删除在定义数据库关系时,要注意以下设置,我还没找到原因,但是这样设置肯定没问题...
  • 1 引言 1.1需求分析 滴滴打车系统的主要应用需求来自乘客、司机两个身份的用户需求。...管理员是一个特殊的存在,我设计其用户名为root,密码为123,可以查看各项信息,比如所有乘客信息、所有司机信息、所...
1 2 3 4 5 ... 20
收藏数 33,275
精华内容 13,310