大学《数据库系统》课程设计报告

article/2025/10/8 19:23:10

二话不说,先怼源码:
gitHub源码地址

题 目: 教学管理系统 专 业:计算机科学与技术
作 者: 马志成
完成时间: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与数据库知识掌握程度的机会,在此次课程设计中收获颇丰,再次有类似的学习事件机会。
以下为本人的数据库课设的页面展示。希望对读者有所启迪。
在这里插入图片描述在这里插入图片描述在这里插入图片描述


http://chatgpt.dhexx.cn/article/MdJBXCy6.shtml

相关文章

数据库成绩管理系统课程设计mysql_数据库学生成绩管理系统课程设计报告

数据库学生成绩管理系统课程设计报告 数据库课程设计报告1.功能需求 本报告主要介绍学生成绩管理系统的数据库设计,从需求分析到数据库的运行与维护都 进行详细的叙述。该系统是利用 SQL 开发出来的。通过 SQL 建立学生成绩管理系统,大大 方便和简化了数…

数据库课程设计报告——员工工资管理系统

这个设计报告是之前在学校里上数据库课程所写的报告 但也通用适用于Java web的课程报告 写的比较早,难免有错误的地方 所用到的对应项目是SSH框架的员工管理系统 如果有不对的地方可以自己借鉴重新编辑 更多相关的资料,查看专栏介绍了解更多 源码已上传h…

数据库课程设计实验报告--图书管理系统

数据库课设图书管理系统 目录 一、系统背景 二、需求分析 (一)系统综合需求 (二)系统逻辑模型 三、系统设计 (一)概念结构设计 (二) 逻辑结构设计 (三)子…

《数据库原理》课程设计报告

《数据库原理》课程设计报告 题目:KTV管理系统 就是记录一下小组做的 以后或许有点用 文章目录 一、简要概述二、需求分析三、 概念结构设计四、逻辑结构设计五、数据库物理实现六、总结 一、简要概述 顾客来到KTV一定会开包房消费,但是包房会有大小之…

数据库课程设计报告(毕业生管理系统)

声明:本片课程设计只列举了数据库设计部分,系统实现部分省略了。如果单纯只做数据库课程设计还是有一定的参考价值的。 由于版权原因,这次源码不能提供给大家了。 报告比较简单,本博主写的比较快,所以难免会有些小问题…

什么是黑盒测试?【黑盒测试技术】的正确打开方式!

黑盒测试介绍 黑盒测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格…

黑盒测试(什么是黑盒测试 黑盒测试的优缺点 黑盒测试中的测试方法)

一、什么是黑盒测试? 黑盒测试就是测试人员把软件产品或阶段性产品看做是一个黑盒子,在测试过程中测试人员只需关心对这个软件黑盒进行操作会得到什么样的结果,而不必深入的去了解软件的内部实现 就是说呢黑盒测试只考虑系统的输入和输出&…

测试所用的技术(黑盒、白盒测试等)

目录 1. 🔍按测试对象划分测试 1.1 🎈界面测试 1.2 🎈可靠性测试 1.3 🎈容错性测试 1.4 🎈文档测试 1.5 🎈兼容性测试 1.6 🎈易用性测试 1.7 🎈安装卸载测试 1.8 &#x1f…

实验二 黑盒测试

、目的和要求 1、掌握应用黑盒测试技术进行测试用例设计。 2、掌握对测试用例进行优化设计方法。 二、实验内容 日期问题 测试以下程序:该程序有三个输入变量month、day、year(month、day和year均…

软件测试-黑盒测试

文章目录 黑盒测试等价类划分例题 边界值分析法例题 判定表法例题 Pair-wise方法黑盒测试的优缺点优点缺点 黑盒测试 软件黑盒测试就是测试者把软件程序想象为一个没打开的黑盒子。测试者不必了解程序的内部情况,不考虑程序内部逻辑结构,只根据程序的输入…

软件测试——黑盒测试

1.概述 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检验每个功能都是否能够正常使用。 在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测…

黑盒测试基础

黑盒测试方法: 黑盒测试方法:等价类划分法:边界值分析法:因果图法:决策表法:(判定表法)正交试验设计法:错误推测法:功能分解法:*(又叫…

LIS系统字典模块功能

字典管理模块: 系统参数功能简介:集中设置系统使用过程中所需的参数值,一般由开发或实施人员进行设置。 标本管理功能简介:标本管理是对检验业务中涉及的检验标本类型进行初始化设置, …

区域检验管理系统(云LIS)源码

1、区域检验管理系统(云LIS)概述 云LIS是为区域医疗提供临床实验室信息服务的计算机应用程序,可协助区域内所有临床实验室相互协调并完成日常检验工作,对区域内的检验数据进行集中管理和共享,通过对质量控制的管理&am…

LIS算法

经典LIS算法:导弹拦截 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国…

大型三甲医院检验系统LIS源码 LIS系统源代码

一套功能完善,源码完整,可完美运行的医院LIS系统源码。源码中附带第三方示例代码,除Redis外源码中还有MongoDB常用方法,可方便更换缓存数据库。 私信了解更多! LIS系统即实验室信息管理系统。LIS系统能实现临床检验信…

【C#】医学检验系统(LIS)源码

一、医学检验系统(Laboratory Information Management System 简称:LIS)LIS是HIS系统的一个重要的组成部分,其主要功能是将检验的实验仪器传出的检验数据经分析后,生成检验报告,通过网络存储在数据库中&…

LIS系统源码

LIS系统(Laboratory Information System) 即实验室(检验科)信息系统,它是医院信息管理的重要组成部分之一,自从人类社会进入信息时代,信息技术的迅速发展加快了各行各业现代化与信息化的进程。LIS系统逐步采用了智能辅…

医院检验LIS系统源码

医院lis源码 实验室信息管理系统源码 .net检验系统源码 医院系统源码 了解更多源码内容,可私信我。 开发环境:.NET4.0 WPF VS2017或VS2019SQL2016 实验室信息管理系统以条码标本为主线,实现从采集、检测、报告、归档的全程跟踪管理。 支持…

实验室信息管理系统(LIS)的一些个人总结

目录 一、实验室信息管理系统(LIS)是什么? 二、LIS系统的主要功能是什么? 1):门诊患者标本的流程管理。 2):住院患者标本的流程管理。 3):体检患者标本的…