《数据库信息管理系统》课程设计报告-学生成绩管理系统.doc
《《数据库信息管理系统》课程设计报告-学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《《数据库信息管理系统》课程设计报告-学生成绩管理系统.doc(24页珍藏版)》请在三一文库上搜索。
1、数据库开发与实践数据库信息管理系统课程设计报告学院:现代科技学院专业:计算机科学与技术班级:08-3班 姓名:学号:指导教师:同组成员: 2011年7月1日一开发背景及目的学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件学生成绩,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社
2、会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。通过调研目前教学管理系统中的成绩管理子系统,了解成绩管理子系统的业务流程;通过分析比较,结合用户对成绩管理子系统的改进意见与实现情况,运用面向对象思想方法,设计和实现一个满足功能和性能,并有所创新的成绩管理子系统,以提高成绩管理的自动化、友好性等。本系统基于oracle10数据库和前台java语言图形界面
3、设计,并且通过odbc进行后台数据库和前台界面的连接。二数据结构及数据库设计(后台设计)2.1由需求分析,E-R图如下:2.2数据结构学生管理=学籍,学生学籍,组成:学号,姓名,性别,出生日期,班级,电话班级管理=班级,班级情况,组成:班号,年级,班主任,教室课程管理=课程,课程分配,组成:课程号,课程名字,课程形式,备注年级课程=年级课程,年级课程分配,组成:年级,课程号成绩=成绩,成绩情况,组成:考试学期,学号,课程名字,成绩,评语分级用户=用户,用户管理,组成:用户名,口令,权限2.3由E-R图,有如下至少满足3NF的的关系模式学生(学号,姓名,性别,出生日期,班级,电话);班级(班号,
4、年级,班主任,教室);课程(课程号,课程名字,课程形式,备注);年级课程(年级,课程号);成绩(考试学期,学号,课程名字,成绩,评语分级);2.4数据流数据流如下图所示:2.5系统功能结构图2.6流程图查询用户登入数据库后台插入管理2.7数据库设计本例采用oracle10作为后台数据库。2.7.1模型设计用PowerDesigner画出对应的CDM图,有系统自动生成PDM图PDM图如下:2.7.2建立数据库表学生表:CREATE TABLE student(student_ID int PRIMARY KEY,student_Name varchar(50) UNIQUE,student_Se
5、x char(2),born_Date datetime,class_NO int,tele_Number varchar(50)班级表:CREATE TABLE class(class_No int PRIMARY KEY,grade int,director char(10),classroom_No char(10) 课程表:CREATE TABLE course(course_No int PRIMARY KEY,course_Name varchar(50),course_Type char(10),course_Des char(50)课程年级表:CREATE TABLE grad
6、ecourse(grade char(10),course_Name char(20)成绩表CREATE TABLE result(exam_No char(10),student_ID int,course_Name varchar(50),result float, level char(10) 2.7.3建立数据库触发器语句:create table student_before_log( student_id number(9,0), student_name varchar2(50), student_sex char(4), born_date date, class_no num
7、ber(4,0), tele_number varchar2(50), ru_date date, address varchar2(50), when date);create or replace trigger biufer_studentbefore insert or update or deleteon studentfor each rowbegin insert into student_before_log values(:old.student_id,:old.student_name,:old.student_sex,:old.born_date,:old.class_n
8、o,:old.tele_number,:old.ru_date,:old.address,sysdate);end;create table class_before_log( class_No number(4,0), grade number(20,0), director char(10), classroom_No char(10), when date);create or replace trigger biufer_classbefore insert or update or deleteon classfor each rowbegin insert into class_b
9、efore_log values(:old.class_No,:old.grade,:old.director ,:old.classroom_No,sysdate);end;create table course_before_log( course_No number(20,0), course_name varchar2(50), course_Type varchar2(50), course_des char(50), when date);create or replace trigger biufer_coursebefore insert or update or delete
10、on coursefor each rowbegin insert into class_before_log values(:old.course_No,:old.course_name,:old.course_Type ,:old.course_des,sysdate);end;create table result_before_log( exam_No char(10), student_id number(9,0), student_name varchar2(50), class_No number(4,0), course_name varchar2(50), result bi
11、nary_float , when date);create or replace trigger biufer_resultbefore insert or update or deleteon resultfor each rowbegin insert into result_before_log values(:old.exam_No,:old.student_id,:old.student_name ,:old.class_No,:old.course_name,:old.result,sysdate);end;建立的表如下图:3 建立用户界面(前台设计)本实验采用odbc进行前台j
12、ava语言和后台oracle数据库的链接,连接过程如下:3.1前台程序,用户登陆连接数据库代码:import java.sql.*; public class qtdm public static void main(String args) throws SQLException, ClassNotFoundException /定义了数据库连接串 String dbUrl = jdbc:odbc:test; /数据库的用户名 String user = test; /数据库的用户口令 String password = test; / 加载jdbc-odbc bridge驱动程序 Clas
13、s.forName(sun.jdbc.odbc.JdbcOdbcDriver); / 与url指定的数据源建立连接 Connection conn = DriverManager.getConnection(dbUrl, user, password); /采用Statement进行查询 Statement state = conn.createStatement(); System.out.println(sucessful ); state.close();conn.close(); / 关闭Statement,其上的ResultSet也将关闭 3.2插入信息代码:import java.
14、awt.CardLayout;import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;public class xueshengjm extends JFram
15、e implements ActionListenerJMenuBar jm = new JMenuBar();JMenu jm1 = new JMenu(信息);JMenu jm2 = new JMenu(成绩);JMenuItem jmi1 = new JMenuItem(录入);JMenuItem jmi2 = new JMenuItem(查询);JMenuItem jmi21 = new JMenuItem(录入);JMenuItem jmi22 = new JMenuItem(查询);public xueshengjm() this.setTitle(老师界面); this.setL
16、ayout(null); this.setJMenuBar(jm); jm.add(jm1); jm.add(jm2); jm1.add(jmi1); jm1.add(jmi2); JLabel JL1 = new JLabel(欢迎进入老师查询界面); jmi1.addActionListener(this); jmi2.addActionListener(this); jm2.add(jmi21); jm2.add(jmi22); jm2.addActionListener(this); jmi2.addActionListener(this); jmi21.addActionListen
17、er(this); this.add(JL1); JL1.setForeground(Color.red); JL1.setFont(new java.awt.Font(宋体,Font.PLAIN,20); JL1.setBounds(150, 80, 200, 200); this.setBounds(400, 250, 500, 400); this.setVisible(true); public void actionPerformed(ActionEvent e) public static void main(String agrs) new xueshengjm(); 3.3添加
18、学生信息代码:import java.awt.Color;import java.awt.Font;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowEvent;import java.awt.event.WindowListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLExcept
19、ion;import java.sql.Statement;import javax.swing.ButtonGroup;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JRadioButton;import javax.swing.JTextField;public class chaxun extends JFrame implements ActionListener JLabel
20、 JL = new JLabel(查询成績,JLabel.CENTER); JLabel JLNumber = new JLabel(请输入学号:); JTextField JTNumber =new JTextField(); JButton JBset =new JButton(查询); JButton JBnext = new JButton(重置); JButton JBcr = new JButton(插入); JLabel JLName = new JLabel(姓名); JTextField JTName = new JTextField(); JLabel JLClass =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库信息管理系统 数据库 信息管理 系统 课程设计 报告 学生 成绩管理系统
链接地址:https://www.31doc.com/p-5016878.html