首页 > 数据库 >数据库课程设计报告

数据库课程设计报告

时间:2023-05-28 14:55:05浏览次数:54  
标签:课程设计 java 实例 报告 数据库 信息 学生 课程 成绩

一、概述

1.    项目背景

学生成绩管理系统是学校管理的重要工具,是学校不可或缺的一部分。随着在校人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂,资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着众多的弊端,如:保密性差,查询不便,效率低,很难维护和更新等。然而,本系统针对以上的缺点能够极大的提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。

2.    选题理由

随着这些年电脑计算机的速度发生大量的提高,成本更远远下降,IT互联网大众趋势得以发展,我们使用电脑的高效率才使处理数据信息成为可能。学生成绩管理系统的出现,正是管理人员与信息数据,计算机与人类进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心入手。使用JDBC在Java代码中操作Mysql中的数据,制作了一个简易的学生成绩管理系统,系统拥有用户登录、注册,查看学生基本信息,添加学生基本信息等功能,通过JDBC可以向数据库中添加,删除,修改,查询数据,实现基本功能。通过这个系统,可以做到信息的规范处理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效的把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。

3.    目前条件

eclipse(2021-12版)、JavaSE-1.8、Mysql、Navicat Premium 12(12.1.22版)、JDBC。

二、系统需求描述

1.      需求分析

学生信息的基本管理:学号、姓名、性别、专业、年级等。

学生成绩信息的基本管理:包括学号、课程编号、课程名字、分数等。

课程信息的基本管理:包括课程编号、课程名称、任课教师等。

 

教师对功能的需求:

具有基础的账号系统,可以对学生的基本信息,考试成绩,课程信息进行统一管理,细分如下:

       有关学生信息的浏览,学生信息的添加、修改和删除

       有关学生的成绩信息的浏览,学生成绩的添加、修改和删除

       有关学校的基本课程的浏览,学校课程的添加、删除

 

学生对功能的需求:

具有基础的账号系统,可以利用此系统进行与自己有关的信息查询与输入,细分如下:

       浏览课程信息

       浏览考试成绩

       浏览课程信息

2.      数据流图

3.      数据字典

数据结构:student

描述:学生信息的基本表

定义:

student = ID + name + sex +major + grade

ID={限整数型}

name={限10个字符以内}

sex={限3个字符以内}

major={限12个字符以内}

grade={限4个字符以内}

数据结构:mark

描述:学生成绩的基本信息表

定义:

mark = ID + Knumber + Kname + result

Knumber={限整数型}

Kname={限10个字符以内}

result={限实数型}

数据结构:kmark

描述:学校课程信息表

定义:

Kmark = Knumber + Kname + name

name={限10个字符以内}

数据结构:register

描述:登录用户信息表

定义:

register = identity + user + password + id

user={限12个字符以内}

password={限12个字符以内}

三、 概要结构设计  

1.      E-R图设计

 

四、逻辑结构设计

学生信息: 学号,姓名,性别,专业,年级

选课:学号,课程编号,课程名称,分数

课程信息:课程编号,课程名字,任课教师‎

 

 

 

 

五、    数据库实施

建库:create database stu;

 

建表:create table student(

ID int(12) auto_increment primary key,

name varchar(10),

sex char(3),

major varchar(12),

grade varchar(4)

) ;

 

create table mark(

ID int(11) auto_increment,

Knumber int(11),

Kname varchar(10),

result double,

primary key(ID,Knumber)

);

 

create table Kmark(

Knumber int(11),

Kname varchar(10),

name varchar(10),

primary key(Knumber)

);

 

create table register(

identity varchar(12),

user varchar(12),

password varchar(12),

id int(11) auto_increment primary key);

 

六、    系统实现

1. 主程序流程图

 

2. 项目的包结构

 

3. 程序描述

DBUtils.java 用于连接数据库。

Kc_1.java 实例化课程信息对象。

Kc_2.java 向数据库发送sql语句实现增加课程信息,实现查询全部课程信息,实现删除课程信息。

Kc_3.java 打印课程信息的相关页面到控制台中,并实现交互。

Kmark.java 循环打印出全部课程信息。

Main.java 主函数所在,整个程序的开端,实现用户登录或注册。

RegDao.java 向数据库发送sql语句实现添加用户,实现查看用户账号和密码,实现获取用户账号,实现获取用户账号和密码。

Register.java 实例化用户对象,账号,密码,身份。

StuCtrl.java 打印学生信息的相关页面到控制台中,并实现交互。

StuDao.java 向数据库发送sql语句实现增加学生信息,实现查看全部学生列表,实现根据ID(学号)获取学生信息,实现修改学生信息,实现删除学生信息。

Student.java 实例化学生信息对象。

StuMark.java 实例化学生成绩(选课)对象。

StuMarkCtrl.java 打印学生成绩的相关页面到控制台中,并实现交互。

StuMarkDao.java 向数据库发送sql语句实现增加学生成绩信息,实现查看全部学生成绩信息,实现根据ID(学号)获取学生成绩信息,实现修改学生成绩信息,实现删除学生成绩信息。

View.java 主视图,打印管理界面,学生界面,教师界面到控制台,并与相关功能进行实例化的使用。

4. 系统实现思路

首先通过主函数实例化View对象(主视图)并调用ChooseMenu方法,进入管理界面,1.教师入口,2.学生入口,3.退出系统。通过实例化Scanner类获取用户的输入来判断进入学生系统还是教师系统,进入用户管理界面1.登录,2.注册,调用Main的Login(登录),register(注册)方法再来到RegDao.java与数据库中的数据进行核对或修改从而完成交互。

当登录到教师管理界面回到主视图显示:

1.新增学生信息与成绩,2.修改学生基本信息与成绩,3.删除学生信息,4.获取所有学生成绩,5.查询所有学生信息与成绩,6.查询课程信息,7.添加课程信息,8.删除课程信息,9.退出该界面。

当选择1、2、3、4、5时,进入StuCtrl.java,选1时实例化Student对象,再调用StuDao的add(添加学生信息)方法,实现功能。选2时实例化StuDao对象并调用FindById(根据ID获取学生信息)方法,再通过实例化Student对象修改学生信息。选3时通过实例化StuDao对象调用FindById方法核实学生信息、delete(删除学生信息)方法,完成删除。选4时实例化StuMarkCtrl对象并调用queryAllStuMark(查询所有学生成绩信息)方法,方法内再实例化StuMarkDao对象,调用list()方法,其内运用StuMark对象遍历完成对数据库的数据访问并返回相关值,最后返回集合,读取集合的相关信息显示于控制台上。选5时,同4相同,只是将集合的相关信息读取完整。选6时实例化Kmark对象,调用kc(打印查询课程信息结果)方法,方法内实例化Kc_2对象,调用list()方法,其内运用Kc_1对象遍历完成对数据库的数据访问并返回相关值,最后返回集合,读取集合的相关信息显示于控制台上。选7时实例化Kc_3对象调用add方法,方法内实例化Kc_1完成课堂信息的储存, 方法内实例化Kc_2调用add方法完成向数据库添加课程信息。选8时实例化Kc_3对象,调用delKmark(删除课程信息)方法,方法内实例Kc_2对象,调用FindById_2(根据课程编号获取课程信息),确认删除后再调用delete方法,完成删除数据库课程信息。选9即跳出do-while循环,即退出系统。

标签:课程设计,java,实例,报告,数据库,信息,学生,课程,成绩
From: https://www.cnblogs.com/gjkt2001/p/17438266.html

相关文章

  • django_ORM_数据库取值
    #查询方法1:直接查询models.Info_Phone.objects.filter(mobile="157137632",id=2)#查询方法2:把查询条件放在字典里面data_list={"mobile":"157137632","id":2}models.Info_Phone.objects.filter(**data_l......
  • 「解题报告」P9197 [JOI Open 2016] 摩天大楼
    水个题。好像是连续段DP模板题,但是没怎么做过连续段DP。连续段DP大致思想就是对排列的计数,可以按照某个顺序依次填入每个数,将当前填的数看做若干连续段,每次考虑合并两个连续段,新建两个连续段或拓展一个连续段,然后就容易对排列进行计数了。这题有一个绝对值的限制,而我们可......
  • HCIP学习笔记-数据库服务规划-5
    1.数据库服务概览1.1数据库发展趋势数据规模爆炸式增长,数据应用模式不断丰富。云计算大规模应用,传统业务模式发生转变。1.2云数据库优势相比传统数据库,云数据库一般具有以下有点易用性:云数据库一般也是作为一个云服务提供,与其他云服务一样,可以快速部署和运行,同时一般还可以免......
  • 数据库保护
    在数据库领域中,事务(Transaction)是指由一个或多个操作组成的不可分割的工作单元。事务必须满足ACID原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。原子性(Atomicity)事务被视为原子的,这意味着它是不可分割的。如果事务包含多个操作,那么其中任何......
  • 数据库系统结构
    数据指的是描述现实世界中事物和事件的符号化表现形式,可以是文字、数字、图像、视频等。数据库所管理的数据指的是按照某种数据模型结构化并存储在计算机系统中的数据。数据模型指的是描述数据与数据之间关系的一组概念,用于帮助人们理解和组织数据。数据模型可以分为逻辑模型和......
  • 数据库基本概念
    数据库(Database),是指按照一定的数据模型组织、描述和存储数据的集合。可以理解为是一个可存储、管理和检索数据的仓库。数据库管理系统(DatabaseManagementSystem,简称DBMS),是指管理和操作数据库的软件系统,通常包括数据定义、数据操作和数据控制三部分,常用的DBMS有Oracle、MySQL、SQ......
  • JAVA的springboot私人健身与教练预约管理系统、健身房管理系统,附源码+数据库+lw文档+P
    1、项目介绍任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java技术、springboot框架、B/S机构、Mysql数据库设计并实现了私人健身与教练预约管理系统。系统主要包括首页,个人中心,用户管理,教练管理,健身项目......
  • 数据库字符定义
    1)定义:char:固定长度,存储ANSI字符,不足的补英文半角空格。nchar:固定长度,存储Unicode字符,不足的补英文半角空格varchar:可变长度,存储ANSI字符,根据数据长度自动变化。nvarchar:可变长度,存储Unicode字符,根据数据长度自动变化。nvarchar(n):包含n个字符的可变长度Unicode字符......
  • Canal 安装 && 使用,监听Mysql数据库
    1.下载canal.deployer-1.1.5.tar.gz2.查看数据库是否开启binlog模式(必须)showvariableslike'log_%';log_bin属性值为ON,则binlog模式开启;为OFF则binlog模式关闭。若binlog模式关闭,则在MySQL配置文件my.cnf(my.ini)设置如下信息:[mysqld]log-bin=mysql-bin#开启binlogbi......
  • 电子熔断器IC行业市场调研分析报告
    2023-2029全球电子熔断器IC行业调研及趋势分析报告2022年全球电子熔断器IC市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国电子熔断器IC市场占据全球约%的市场份额,为全球最主......