2022年《SQL数据库实训》学生成绩管理信息系统设计报告郭江涵 .pdf

上传人:C****o 文档编号:32050823 上传时间:2022-08-08 格式:PDF 页数:22 大小:1.20MB
返回 下载 相关 举报
2022年《SQL数据库实训》学生成绩管理信息系统设计报告郭江涵 .pdf_第1页
第1页 / 共22页
2022年《SQL数据库实训》学生成绩管理信息系统设计报告郭江涵 .pdf_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《2022年《SQL数据库实训》学生成绩管理信息系统设计报告郭江涵 .pdf》由会员分享,可在线阅读,更多相关《2022年《SQL数据库实训》学生成绩管理信息系统设计报告郭江涵 .pdf(22页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、山东理工大学课程实训报告数据库实训题目:学生成绩管理信息系统学院:计算机科学与技术学院班级:软件 1304 姓名:郭江涵学号131105721XX 指导教师:XX 总评成绩指导教师签名2016 年 01 月 04 日 2016 年 01 月 10 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 22 页 - - - - - - - - - 实训成绩评定表1.设计报告部分(30 分) 封面设计符合要求(3 分) ; 报告格式符合要求(7 分) ; 功能叙述完备,错别字少,

2、章节段落分布合理,无抄袭或雷同现象(10 分) ; 排版质量高,图片处理且效果好(10 分) 。2. 设计内容部分得分点及分数数据流图、 E-R图和数据库关系图数据流图15 E-R图15 数据库关系图20 合计50 得分点及分数程序设计说明书简要程序设计流程图代码20 合计20 3.成绩评定综合评语指导教师签名:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 22 页 - - - - - - - - - 目录第一章 概述 . 1第二章系统分析 . 2第三章数据库设计

3、 . 4第四章系统实现 . 7第五章结束语 . 19名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 22 页 - - - - - - - - - 1第一章概述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。随着信息时代的发展,对于学生信息的管理已经不再局限于纸上的那些繁琐的记录,而是通过电脑软件程序对学生的信息进行管理,这样不

4、但可以简化管理的复杂度,还可以提高管理过程中的准确性, 因此有必要设计一款专门针对于学生信息管理的一个程序,于是设计了此学生信息管理系统。该应用程序能够对每个学生的相关信息进行注册、储存、修改和删除等操作。该系统要求按身份登陆, 即学生、 教师、 管理员等不同身份进行访问。该程序便于操作,面向广大群体, 条理清晰,容易理解,容易修改。学生信息管理系统,从字面来看主要是对学生信息的资料进行管理,但实际上,核心却是系统与管理人员的交互, 如何能把如此多的信息登记尽可能的进行操作上的精简是我们的一大难题。与其进行繁琐的操作, 让操作标的简洁才是我们工作的重点. 程序上是分为JAVA窗体程序和数据库两

5、大部分,主要进行数据库的调用,设计需要满足以下的需求:1. 学生的信息的资料,应该包括学生的学号、姓名、所属学院、所属专业、所属班级、家庭地址,并且系统还能够修改输入错误的学生个人信息记录。2. 可以对学生的选课进行管理,包括可选课程和个人已选课信息,并进行相应的选课操作。3. 可以对课程进行管理,课程管理包括增加课程和删除课程,该课程包括任课教师和所属专业。4. 根据学号、姓名、班级查询学生信息。根据课程、专业、学分查询课程的相关信息。5. 系统使用权限管理方式。根据工作流程,系统有2 种角色:管理员、学生和教师。管理员允许对课程信息、教师信息、学生信息的管理。学生可以进行选课和查看课程信息

6、的操作。教师可以查看本人所售课程的学生信息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 22 页 - - - - - - - - - 2第二章 系统分析1.系统需求:1.使用友好的全屏幕用户界面,菜单驱动,多窗口。2.数据维护功能,通过窗体实现录入、添加和修改所有表的内容。3.查询统计功能,设置多种查询方式,实现对学生的基本信息、考试成绩情况等进行查询。4.系统维护功能,适当的加入系统密码管理、数据备份等帮助功能。2. 输入的形式和输入值的范围形式:输入学生的学号,姓

7、名,年龄,性别,出生年月,地址,电话,E-mail 。输入一个学生信息一个回车。 用输入的学号p1-num 来控制输入, 当输入的学号为0 时,用 break 跳出循环。即 if(p1-num=0)break。输入值的范围:学号、年龄为整型 long num; int age; 姓名为字符串型15 个字节 char name15; 性别为字符串型,10 个字节 char sex10; 出生为字符串型,20 个字节 char chushen20; 地址为字符串型,30 个字节 char dizhi30; 邮箱为字符串型,输入11 位数字 char email11。3. 输出的形式输出是以表格的形

8、式输出,即表格的每一行都能显示第一个学生的信息,第二行是显示第二个学生的信息4. 课题实现:首先建立数据库,然后创建数据表,设置主键以及各种约束,学生属性主要包括姓名,学号,性别,年龄,学院,联系电话,家庭住址。其中学号为主键,车号设立唯一性约束,将数据库拥有者更改为sa,密码设置为123。该应用程序包含了管理员模块(包含学生管理子模块和课程管理子模块)、教师模块、学生模块和公共模块。管理员模块是系统的核心,学生管理子系统实现对学生信息的添加、修改、删除操作,以输入条件进行条件查询。课程管理子系统实现对课程的添加,添加时为其分配任课教师、上名师资料总结 - - -精品资料欢迎下载 - - -

9、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 22 页 - - - - - - - - - 3课时间、地点和课程详细信息,实现对课程的修改、删除,查看某个课程的详细信息等。教师模块实现查看自己所教授的课程、课程有哪些学生选修,以及利用本系统提交学生的成绩。学生模块实现学生的选课,查看、修改自己的选课信息。公有模块实现用户的身份验证,密码修改,退出系统等功能。在学生管理子系统包括学生信息和选课信息,要求对学生信息和选课信息的添加、删除、修改和查询,该模块中当学生修改信息时,对相关的组件添加了事件,相应的JComboBox 添

10、加了ItemStateChange的相关事件, 对其进行了三级联动设计,利用形式参数进行传递一个int型的值,当点击相应的JComboBox时启动下一个相关的组件应用。在课程查询时应用相应的JScorllPane组件显示所查询的相关信息。整个学生管理系统的数据都是在数据库有存储信息的,因此在应用程序中要应用相应的SQL server语句来对数据库添加、删除、修改相应信息。 SQL server语句主要有update 、 insert、 select语句。运用 Frm 窗体编辑窗口程序,建立Frm 窗体,插入标签以及按钮,设置按钮触发功能,然后运用 DriverManager.registerD

11、river(new SQLServerDriver();con = DriverManager.getConnection(strConn, sa, 123);语句链接数据库内容。LoginFrame 界面主要为 JTextField,利用 JTextField的 getText属性获取文本框里输入的相应的内容,然后应用SQL server的 select的语句来查询并验证密码是否与数据库一致,如若不一致则弹出一个MessageBox的信息提示框提示输入正确的密码。在验证密码是应用了equals 关键字, equals 主要应用于字符的比较,而等号(=)主要应用于数据的比较。MainFrame

12、 界面主要JMenu和 JMenuItem 组件,完成了主界面的菜单栏,并分别对每个JMenuItem 添加了一个事件监听器,使点击时显示每个相应的Item 界面,以便于对信息的操作。学生信息管理主要包括学生信息和选课信息,完成了相应的信息注册、修改、查询和选课查询操作。学生信息注册包含姓名、学号、省份证号、所属学院及专业和班级、家庭住址等信息。数据库的 Student 表也添加了相应的列。 在学生信息注册和修改页面还应用了JComboBox的三级联动,使用参数传递,获取相应的JComboBox的 getSelectedIndex来控制显示的内容。班级信息录入和班级信息管理对各个班级的信息进行

13、管理的界面,主要有JComboBox的二级联动和 JRadioButton组件的应用。 班级信息管理界面中声明了displayButtonGroup用于控制三个JRadioButton组件。用不同的方式查询班级信息,当点击修改时弹出一个修改的JFrame 界面。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 22 页 - - - - - - - - - 4第三章数据库设计1. 数据库设计1). 学生学籍表如图 3.1.1 字段名称标识名称数据类型空否字段说明userid

14、学号Varcha(16)否主键uername 姓名Varcha(16)可空sex 性别Char(4) 可空birthday 出生日期Datetime 可空class 班级Char(20)可空图 3.1.1 2). 课程信息表如图3.1.2 字段名称标识名称数据类型空否字段说明course 课程号Char(16) 否主键coursenanme 课程名称Char(16) 可空coursetime 课时Char(16) 可空fen 学分Char(10) 可空type 类型Char(10) 可空year 年度nChar(10) 可空图 3.1.2 3). 学生成绩表字段名称标识名称数据类型空否字段说明

15、Name 学生姓名Char(16)可空Class 班级Char(16)可空Id 学号Char(16)否主键usually 平时成绩Int (5)可空finally 期末成绩Int (5)可空图 3.1.3学生成绩表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 22 页 - - - - - - - - - 52. 数据库关系图1). 数据流图如图 3.2.1 图 3.2.1 2) .数据 E-R 图 如图 3.2.2 学号学生姓名性别出生日期班级学院联系方式地址课程课程编

16、号课程名称课程类别学时学分成绩学生编号课程编号期末成绩补考成绩是否重催图 3.2.2 3). 数据库关系图如图 3.2.3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 22 页 - - - - - - - - - 6图 3.2.3名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 22 页 - - - - - - - - - 7第四章 系统实现 1、

17、打开系统会提示选择操作事项。如图4.1 图 4.1 主界面 2 、选择查询操作后可查询学生和课程以及成绩信息。如图4.2 由以下代码实现:public class selectAll extends javax.swing.JFrame datatOper dt; /* Creates new form selectAll */ public selectAll() initComponents(); dt=new datatOper(); dm=new DefaultTableModel(); dm.addColumn(课程信息 ); dm.addColumn(成绩信息 ); dm.addC

18、olumn(学生信息 ) table.setModel(dm); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 22 页 - - - - - - - - - 8图 4.2 查询信息界面3、选择系统维护,可进入数据备份界面,如图4.3 由以下代码实现:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) int result = 0; File file = null; String p

19、ath = null; JFileChooser fileChooser = new JFileChooser(); FileSystemView fsv = FileSystemView.getFileSystemView(); System.out.println(fsv.getHomeDirectory(); /得到桌面路径fileChooser.setCurrentDirectory(fsv.getHomeDirectory(); fileChooser.setDialogTitle(请选择要进行备份的文件夹.); fileChooser.setApproveButtonText(确定

20、 ); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); Component chatFrame = null; result = fileChooser.showOpenDialog(chatFrame); if (JFileChooser.APPROVE_OPTION = result) path=fileChooser.getSelectedFile().getPath(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -

21、 - - 第 11 页,共 22 页 - - - - - - - - - 9System.out.println(path: +path); Connection conn = Connect.getConnection(); try Statement statement = conn.createStatement(); statement.executeUpdate(USE master); String sql=backup database BankServer to disk=+path+ with format,init; statement.executeUpdate(sql)

22、; JOptionPane.showMessageDialog(this, 数 据 库 备 份成 功 , 系统 提 示 , JOptionPane.NO_OPTION); catch(SQLException e) System.out.println(数据库备份失败); e.printStackTrace(); 图 4.3 系统信息4、 选择课程查询可查询课程信息。如图4.4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 22 页 - - - - - - - - -

23、 10由以下代码实现:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) try String str=select * from course; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(课程编号 ); dm.addColumn(课程名称 ); dm.addColumn(课程类型 ); dm.addColumn(学时 ); dm.addColumn(学分 ); table.setModel(dm);

24、while(res.next() Vector v=new Vector(); ResultSetMetaData da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE, null, ex); 名师资料总结 - -

25、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 22 页 - - - - - - - - - 11图 4.4 课程查询信息5、选择成绩查询,可进入成绩查询界面。如图4.5 有以下代码实现private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) try String str=select * from score; ResultSet res=dt.selectInfo(str); dm=new DefaultTa

26、bleModel(); dm.addColumn(成绩编号 ); dm.addColumn(课程编号 ); dm.addColumn(期末成绩 ); dm.addColumn(补考成绩 ); dm.addColumn(是否重修 ); table.setModel(dm); while(res.next() Vector v=new Vector(); ResultSetMetaData da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); 名师资料总结 - - -精品资料欢迎下载

27、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 22 页 - - - - - - - - - 12 dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE, null, ex); 图 4.5 成绩查询界面6、选择学生信息查询可进入学生查询界面。如图4.6 有以下代码实现private void jBu

28、tton3ActionPerformed(java.awt.event.ActionEvent evt) try String str=select * from students; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(学生编号 ); dm.addColumn(学生姓名 ); dm.addColumn(性别 ); dm.addColumn(出生日期 ); dm.addColumn(所属班级 ); dm.addColumn(所属学院 ); dm.addColumn(联系电话 ); d

29、m.addColumn(所在地址 ); table.setModel(dm); while(res.next() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 22 页 - - - - - - - - - 13 Vector v=new Vector(); ResultSetMetaData da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.a

30、ddRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE, null, ex); 图 4.6 学生信息查询界面7、在主界面中选择学生信息录入,可进入录入学生信息界面。如图4.7 由以下代码实现:private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) boolean flagB; try / TODO add you

31、r handling code here: String sql=insert into students values(+this.jtxt1.getText()+,+this.jtxt2.getText()+,+this.jtxt3.getText()+,+this.jtxt4.getText()+,+this.jtxt5.getText()+,+this.jtxt6.getText()+,+this.jtxt7.getText()+,+this.jtxt8.getText()+); datatOper Oper=new datatOper(); flagB=Oper.addInfo(sq

32、l); if(flagB=true) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 22 页 - - - - - - - - - 14 JOptionPane.showMessageDialog(this, 学生信息录入成功, 系统信息 , JOptionPane.NO_OPTION); else JOptionPane.showMessageDialog(this, 系统信息录入失败, 系统信息 , JOptionPane.ERROR_MESSAGE); catch

33、 (SQLException ex) Logger.getLogger(addStuInfo.class.getName().log(Level.SEVERE, null, ex); 图 4.7 录入学生信息界面8、在主界面中选择学生信息修改或删除,都可进入修改或删除学生信息界面。如图4.8 由以下代码实现: private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) / TODO add your handling code here: boolean flag; String sql=update student

34、s set RealName=+this.jtxt2.getText()+,Sex=+jtxt3.getText()+,Brithday=+jtxt4.getText()+,Class=+jtxt5.getText()+,School=+ jtxt6.getText()+,Tell=+jtxt7.getText()+,addres=+jtxt8.getText()+ where StuId=+Stuid+; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 22 页 -

35、- - - - - - - - 15 datatOper Oper=new datatOper(); try flag=Oper.DelUpInfo(sql); if(flag=true) JOptionPane.showMessageDialog(this, 更新成功! ! !, 系统信息 , JOptionPane.NO_OPTION); else JOptionPane.showMessageDialog(this, 更新失败! ! !, 系统信息 , JOptionPane.ERROR_MESSAGE); catch(SQLException e) e.printStackTrace(

36、); 图 4.8 修改或删除学生信息界面9、在主界面中选择课程信息录入,可进入录入课程信息界面。如图4.9 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 22 页 - - - - - - - - - 16图 4.9 录入课程信息界面10、在主界面中选择课程信息修改或删除,都可进入修改删除课程信息信息界面。如图4.10 图 4.10 修改删除课程信息界面11、在主界面中选择学生成绩录入,可进入录入学生成绩界面。如图4.11 名师资料总结 - - -精品资料欢迎下载 -

37、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 22 页 - - - - - - - - - 17图 4.11 录入学生成绩界面12、在主界面中选择成绩信息修改或删除,都可进入修改删除成绩信息信息界面。如图 4.12 图 4.12 修改删除成绩信息界面13、在主界面中选择退出,进入退出系统界面。如图4.13 由以下代码实现:rivate void jMenu7MouseClicked(java.awt.event.MouseEvent evt) / TODO add your handling code here:

38、 int i=JOptionPane.showConfirmDialog(this, 是 否 退 出 ? , 系 统 提 示 , JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if(i = JOptionPane.YES_OPTION)System.exit(0); else return; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 22 页 - - - - - - - - - 18图 4.13

39、 退出界面名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 22 页 - - - - - - - - - 19第五章 结束语通过这次系统的设计以及功能的实现,让自己学到了很多东西。其中最主要的就是每当自己学到的东西越多,就会明白自己需要学习的还有很多,就像某个伟人在地上+识来让我们去学习,父辈们通过自己毕生的努力来给我们积累了无数的宝贵经验,他们把经验写成书来传承下去。而我们需要做的就是把这种传承继续下去,然后不断完善这种传承,然后通过自己努力和勤奋来完善和修改这种传承。

40、这种事情的发展是必要的,我们现在要做的事情很简单,那就是学习,通过这次系统的设计,我明白了很多的东西,也认识到自己的不足。虽然通过老师的讲解我学习到了很多的新鲜知识,但是没有经过实践的检验,自己学到的知识是不扎实的,只有经过自己的运用和理解,才能更好的发挥出自己所学习东西的优势。这样就会让我们的认识更加清晰,认识到自己在代码编写上的一些不足,和在程序框架接触上的一些不流畅,只有认识到自己的问题在哪里,才能更好的去解决这些问题。所以说,这次的实践是十分值得和肯定的。通过这次学生信息管理系统期末检测,我终于达到了大学中所学课程与实际情况的结合,我才认识到这是在大学中所学知识的一次实际应用,虽然因为

41、个人能力有限,完成的学生信息管理系统还有许多不尽如人意之处,但是在这次期末检测中,我不管是知识还是能力都得到了很大程度的提高,而且对软件开发工作有了真正的理解和认识。通过这次期末检测,我真正体会到了知识永远不嫌多,活到老学到老。很多东西虽然我们学了但是不会灵活运用,也有很多要点课本上没有需要自己摸索研究。这让我知道了自己的不足,也让我知道了我们现在要做的事情很简单,那就是学习。我们在课堂中从老师那学到了很多东西。他的工作态度认真负责的,治学精神严格谨慎,理论水平深厚。这些都使我们受益匪浅。他无论在理论上还是在操作实践中,都给予我们很大的帮助,使我们的编程水平得到了很大的提高。这对于我们以后即将的工作和学习产生了深远的影响,感谢老师耐心的辅导,才使我们的系统设计能够顺利完成。谢谢老师的帮助和支持。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 22 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com