基于Oracle数据库的学生信息管理系统
oracle数据库学生信息管理系统
![oracle数据库学生信息管理系统](https://img.taocdn.com/s3/m/d42b10de89eb172ded63b71e.png)
Part 4
4.2实体的属性
该系统涉及到的实体分别为管理员实体,教师实体,学生实体.根据系统需求,我们将以下实体的属性确定如下: 1.管理员实体,包含管理员的信息,详细属性如下: (1)管理员ID. (2)登录密码. 2.教师实体,包含教师的信息,详细属性如下: (1)教师ID. (2)教师姓名. (3)登录密码. 3.学生实体,包含学生的基本信息,详细属性如下: (1)学生ID. (2)所属系别. (3)姓名. (4)性别. (5)年龄. (6)出生日期. (7)电话. (8)系别. (9)籍贯. (10)入学日期. (11)职务. (12)班级号. (13)学位. (14)登录密码. 4课程实体,包含课程的信息,详细属性如下: (1)课程号. (2)课程名称. (3)课程教师. (4)教师ID.
8
管理员:
可以对学生信息修改、删除、添加、查询; 可以对教师信息修改、删除、添加、查询; 可以对课程信息修改、删除、添加、查询;
所有的学生信息,全部保存在中心数据库,并且只有管理 员本人才能对这些信息进行增加、修改和删除操作。 软件 提供对信息的增加、修改和删除的操作。 同时,软件提供 对信息的查询、查找操作,以方便用户查找到特定的信息。
学生信息管理系统数据库设计
《 oracle 大型数据库》课程演讲
刘昊 计144-2 201458504221
主讲人:刘昊
项目背景
Part 1
项目来源
1 开发背景
2
3
开发意义
随着学校规模的不断扩大,学生数量急剧增加, 有关学生的各种信息也成倍增加。面对庞大的 信息量,传统的人工方式管理会导致学生信息 管理上的混乱,人力与物力过多浪费,管理费 用的增加,从而使学校管理人员的负担过重, 影响整个学校的运作和控制管理,因此,必须 制定一套合理、有效,规范和实用的学生信息 管理系统,对学生信息进行集中统一的管理。 通过这样的系统,可以做到信息的规范管理、 科学统计和快速的查询,从而减少管理方面的 工作量。提高学生信息管理的工作效率,作到 信息的规范管理,科学统计和快速查询,让该 系统更好的为学校,社会服务。
实验十九Oracle数据库系统开发实例-学生成绩管理系统
![实验十九Oracle数据库系统开发实例-学生成绩管理系统](https://img.taocdn.com/s3/m/722410a44028915f804dc280.png)
实验十九Oracle数据库系统开发实例-学生成绩管理系统【一】实验目的1.掌握采用开发Oracle数据库系统的方法;2.掌握开发C/S模式的数据库系统的方法。
【二】实验内容利用SQL Developer,在scott用户下创建6张表:student、teacher、course、allocate、score和users表,如表19-1至19-7所示。
表19-1 users表结构表19-2 users表的数据表19-3 student表的结构表19-4 teacher表的结构表19-5 course表的结构表19-6 allocate表的结构表19-7 score表的结构一、系统功能1.实现学生基本数据的编辑和相关查询。
2.实现教师基本数据的编辑和相关查询。
3.实现课程基本数据的编辑和相关查询。
4.实现各课程任课教师安排和相关查询。
5.实现学生成绩数据的编辑和相关查询。
6.实现用户管理和控制功能。
二、系统结构本系统对应的项目为“学生成绩管理系统.sln”,共有20个窗体和1个公共模块。
本项目的启动窗体为pass,该窗体提示用户输入相应的用户名/密码,并判断是否为合法用户。
如果是非法用户(用户名/密码输入错误),则提示用户再次输入用户名/密码,若用户非法输入3次,便自动退出系统运行。
如果是合法用户,则调用main多文档窗体启动相应的菜单,用户通过该系统菜单执行相应的操作。
系统结构图,如图19-1所示。
main窗体学生数据管理menu13_Click过程系统维护setuser窗体setuser1窗体pass窗体editstudent窗体editstudent1窗体querystudent窗体教师数据管理editteacher窗体editteacher1窗体queryteacher窗体课程数据管理editcourse窗体editcourse1窗体querycourse窗体成绩数据管理editscore窗体queryscore窗体课程安排管理allocatecourse窗体allocatecourse1窗体queryallocate窗体menu62_Click过程2.pass窗体pass窗体用于接受用户的用户名/密码输入,判断是否为合法用户。
学生学籍信息管理系统oracle课程设计
![学生学籍信息管理系统oracle课程设计](https://img.taocdn.com/s3/m/c7c99e800b1c59eef9c7b4cd.png)
目录一、系统目标 (4)二、系统功能需求 (4)三、非功能需求 (5)四、数据流图 (5)0层数据流 (5)1层数据流 (6)2层数据流 (4)五、数据字典 (7)数据流描述 (7)数据存储描述 (8)加工描述 (9)六、用例图 (10)系统用例图 (12)下层用例图 (13)用例详细描述 (14)七、概要设计与详细设计说明书 (17)数据库概要设计(ER图) (17)OOA类图 (18)顺序图 (19)系统结构图 (22)八、逻辑设计 (22)九、物理设计 (23)ORACLE数据库部分一、建立各表并向表中插入数据查询 (26)二、删除语句 (31)三、查看表结构 (32)四、视图的创建与查询 (33)五、聚簇的建立 (34)六、界面的实现 (35)学籍信息系统登录界面的实现 (35)学籍注册界面的实现 (36)查询成绩界面的实现 (37)查询学生选课情况的实现 (38)七、参考文献 (40)八、附录 (40)学生学籍信息管理系统一、系统目标建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。
帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。
二、系统功能需求根据上述系统目标,学生学籍信息管理系统的系统功能需求如下所示:1)界面需求用户界面简洁明了,提供功能实用,按钮逻辑排列清晰,容易使用2)管理员需求管理员对功能的需求管理员权限最大,可以对学生,课程,老师的管理,管理员对功能的需求细分如下:(1)系统管理员有自己的账号和密码,通过身份验证登录系统(2)系统管理员可以修改自己的密码(3)学生学籍的注册,删除,修改,查询(4)教师信息的添加,删除,修改,查询(5)学籍变更管理包括添加,删除,修改,查询(6)奖惩的管理的包括添加,删除,修改,查询(7)成绩的管理包括添加,删除,修改,查询3)学生的需求学生只是利用此系统进行与自己有关的信息查询,输入等,不必关心其他的内容,学生对功能的需求如下:(1)查看个人基本信息,具体内容包括学号,姓名,性别,登录密码,入学日期,所在系名,所学专业名,所在班级名,班级号,政治面貌,身份号码,获奖记录,处分记录,家庭住址,联系电话。
基于Java和Oracle的学生信息管理系统
![基于Java和Oracle的学生信息管理系统](https://img.taocdn.com/s3/m/493df7c8d15abe23482f4dc8.png)
学生信息管理系统自己做的学生信息管理系统,由于能力有限,其中的错误和不足较多,但可以正常运行也加入了必要的提示操作,希望能为有需要的童鞋一些启示。
附录:学生信息管理系统代码1.登录界面1.1登录界面模块//函数库import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;//登录界面主程序public class system extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;static system ss;JPanel panel = new JPanel();JMenuBar jmb1 = new JMenuBar();JMenuBar mBar=new JMenuBar();JMenu Help = new JMenu(" 帮助 ");JMenu About = new JMenu(" 关于 ");JMenuItem Password = new JMenuItem("忘记密码");JMenuItem Aboutus = new JMenuItem("关于软件");//设置姓名、密码、登陆、退出按钮JLabel label1 = new JLabel("账号");JTextField usernumber = new JTextField();JLabel label2 = new JLabel("密码");JPasswordField pwd = new JPasswordField();JButton Enter = new JButton("登录");JButton Exit = new JButton("退出");//设置主题图片String url = "C:\\Users\\Design\\Capture.PNG";ButtonGroup bgp = new ButtonGroup();//设置学生、教师角色,并设置角色按钮JRadioButton stu = new JRadioButton("学生"); JRadioButton tch = new JRadioButton("教师"); public system(){//设置窗口题头super("***学生管理系统");this.setSize(500,400);this.setResizable(false);panel.setOpaque(false);this.setJMenuBar(jmb1);JLabel img = new JLabel(new ImageIcon(url)); img.setBounds(0,0,575,70);Password.addActionListener(this);Aboutus.addActionListener(this); setJMenuBar(jmb1);//向面板中一次添加图片、按钮,并设置按钮尺寸jmb1.add(Help);jmb1.add(About);Help.add(Password);About.add(Aboutus);mBar.add(Help);mBar.add(About);setJMenuBar(mBar);panel.add(img);stu.setBounds(210,150,70,30);tch.setBounds(310,150,70,30);bgp.add(stu);bgp.add(tch);panel.add(stu);panel.add(tch);Enter.setBounds(210,180,70,20);Exit.setBounds(290,180,70,20);Enter.addActionListener(this);Exit.addActionListener(this);Help.setForeground(Color.blue);Password.setForeground(Color.blue);About.setForeground(Color.blue);Aboutus.setForeground(Color.blue);panel.add(Enter);panel.add(Exit);panel.setLayout(null);this.add(panel);label1.setBounds(175,90,50,25);panel.add(label1);usernumber.setBounds(210,90,150,25);panel.add(usernumber);label2.setBounds(175,125,50,25);panel.add(label2);pwd.setBounds(210,125,150,25);panel.add(pwd);this.setBounds(110,60,540,320);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);//setVisible(true);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e){String id , password;id= usernumber.getText();password = pwd.getText();if(e.getSource()==Password)JOptionPane.showMessageDialog(this,"请联系任课教师重置密码!","忘记密码",RMATION_MESSAGE);if(e.getSource()==Aboutus)JOptionPane.showMessageDialog(this,"作者: 张三\n\n单位: 信息工程学院\n\n版本: Version 1.1.8","关于软件",RMATION_MESSAGE);if(e.getSource()==Exit){System.exit(0);}if(e.getSource()==Enter){//加载数据库驱动try{Class.forName("oracle.jdbc.driver.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(ss,ce.getMessage());}if(!(stu.isSelected())&&!(tch.isSelected())){JOptionPane.showMessageDialog(this,"请选择学生或教师!");}else if(stu.isSelected()){if(id.equals("")||password.equals(""))//如果没输账号或密码,则提示对不起,请输入账号或密码{JOptionPane.showMessageDialog(this,"对不起,你输入账号或密码为空!");}else//如果都有数据了就开始连接数据库验证{try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU");rs=stmt.executeQuery("select * from STU where ID='"+id+"'");if(rs.next())//如果账号存在,则验证密码{if(rs.getString("Pwd").equals(password))//如果密码正确就提示,反之{this.setVisible(false);@SuppressWarnings("unused")Students stu = new Students();}else{JOptionPane.showMessageDialog(this,"对不起,密码错误,请重新输入!");}}else//如果没有查找到用户名就提示{JOptionPane.showMessageDialog(this,"账号不存在,请重新输入!");}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage());}}}else{if(id.equals("")||password.equals(""))//如果没输账号或密码,则提示对不起,请输入用户名或密码{JOptionPane.showMessageDialog(this,"对不起,请输入账户或密码!");}else//如果都有数据了就开始连接数据库验证{try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl ","system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from TCH");rs=stmt.executeQuery("select * from TCH whereID='"+id+"'");if(rs.next())//如果存在,就验证密码{if(rs.getString("PWD").equals(password))//如果密码正确就提示,反之{this.setVisible(false);@SuppressWarnings("unused")Teachers tch = new Teachers();} else{JOptionPane.showMessageDialog(this,"对不起,密码错误,请重新输入!");}}else//如果没有查找到账号就提示{JOptionPane.showMessageDialog(this,"账号不存在,请重新输入!");}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage());}}}}}public static void main(String[] args){@SuppressWarnings("unused")system sys = new system();}}2.学生管理2.1学生界面模块//函数库import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyPanel extends JPanel{private static final long serialVersionUID = 1L;Imageimg1=Toolkit.getDefaultToolkit().getImage("C:/Users/lincy/workspace/D esign/1.png");public void paint(Graphics g){g.drawImage(img1,0,0,this);}}public class Students extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;JMenuBar jmb = new JMenuBar();JMenu Message = new JMenu("信息");JMenu Score = new JMenu("成绩");JMenu logpassword = new JMenu(" 密码 ");JMenuItem Item1 = new JMenuItem(" 添加 ");JMenuItem Item2 = new JMenuItem(" 查询 ");JMenuItem Item3 = new JMenuItem(" 修改登录密码 ");JMenuItem Item4 = new JMenuItem("查询");JPanel jpl = new JPanel();public Students(){super("学生界面");this.setSize(500,400);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);setContentPane(new MyPanel());this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(jmb);this.add(jpl);jmb.add(Message);jmb.add(Score);jmb.add(logpassword);jpl.setBackground(Color.white);Message.add(Item1);Message.add(Item2);logpassword.add(Item3);Score.add(Item4);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);Item4.addActionListener(this);}@SuppressWarnings("unused")public void actionPerformed(ActionEvent e){if(e.getSource()==Item1){AddMessage ad = new AddMessage();}else if(e.getSource()==Item2){Search ser = new Search();}else if(e.getSource()==Item3){stulogpassword change = new stulogpassword();}else{Score sc = new Score();}}public static void main(String[] args){@SuppressWarnings("unused")Students stu = new Students();}}2.2.学生添加个人信息模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class AddMessage extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;static AddMessage s;/*添加学生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel("密码",JLabel.CENTER);JLabel label2 = new JLabel("学号",JLabel.CENTER);JLabel label3 = new JLabel("姓名",JLabel.CENTER);JLabel label4 = new JLabel("性别",JLabel.CENTER);JLabel label6 = new JLabel("班级",JLabel.CENTER);JLabel label7 = new JLabel("学院",JLabel.CENTER);JTextField oldpassword = new JTextField(8);JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton("清空");JButton addmsg = new JButton("添加");public AddMessage(){super("添加基本信息");this.setSize(500,400);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);addmsg.addActionListener(this);reset.addActionListener(this);/*插入面板*/label1.setBounds(130,60,80,20);jpl.add(label1);oldpassword.setBounds(190,60,140,20);jpl.add(oldpassword);label2.setBounds(135,20,70,20);jpl.add(label2);num.setBounds(190,20,140,20);jpl.add(num);label3.setBounds(135,100,70,20);jpl.add(label3);nam.setBounds(190,100,140,20);jpl.add(nam);label4.setBounds(135,140,70,20);jpl.add(label4);man.setBounds(210,140,60,20);women.setBounds(280,140,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);label6.setBounds(135,180,70,20);jpl.add(label6);clas.setBounds(190,180,140,20);jpl.add(clas);label7.setBounds(135,220,70,20);jpl.add(label7);scl.setBounds(190,220,140,20);jpl.add(scl);reset.setBounds(190,260,65,20);addmsg.setBounds(265,260,65,20);jpl.add(reset);jpl.add(addmsg);}@SuppressWarnings("unused")public void actionPerformed(ActionEvent e) {if(e.getSource()==addmsg){String sex=null;String id,b,c,d, f;id= num.getText();b= nam.getText();c= oldpassword.getText();d= clas.getText();f= scl.getText();if(id.equals("")||b.equals("")||c.equals("")||d.equals("")) {JOptionPane.showMessageDialog(this,"你输入的信息不全,无法完成添加!");}else if((!man.isSelected())&&(!women.isSelected())){sex="";JOptionPane.showMessageDialog(this,"性别不可为空,无法完成添加!");}else{if(man.isSelected()){sex="男";}else{sex="女";}try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try{Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt1 = con.createStatement();ResultSet rs1 = stmt1.executeQuery("select * from STU");rs1=stmt1.executeQuery("select * from STU where ID='"+id+"'");if(rs1.next())//如果账号存在则进行添加信息操作 {if(rs1.getString("PWD").equals(c)){String sql1="delete from message whereid="+id+"";stmt1.executeUpdate(sql1);int a = stmt1.executeUpdate("insert into message(ID , Name , Sex , Class ,College)values('"+num.getText()+"','"+nam.getText()+"','"+sex+"','"+c las.getText()+"','"+scl.getText()+"')");if(a==1){JOptionPane.showMessageDialog(s,"信息已成功添加!");setVisible(false);}else{JOptionPane.showMessageDialog(s,"信息添加失败!");setVisible(true);}}else{JOptionPane.showMessageDialog(s,"对不起,添加失败,密码不正确!");}}else{JOptionPane.showMessageDialog(this,"对不起,添加失败,您输入的学号不存在!");}rs1.close();stmt1.close();}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}}else{num.setText("");oldpassword.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();}}public static void main(String[] args){@SuppressWarnings("unused")AddMessage amg = new AddMessage();}}2.3.学生查询个人信息模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Search extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;/*查询学生信息控件*/static Search s;JPanel jpl = new JPanel();JLabel label1 = new JLabel("学号",JLabel.CENTER);JButton search = new JButton("查询");JLabel label2 = new JLabel("姓名",JLabel.CENTER);JLabel label3 = new JLabel("班级",JLabel.CENTER);JLabel label4 = new JLabel("学院",JLabel.CENTER);JLabel label5 = new JLabel("性别",JLabel.CENTER);JLabel label6 = new JLabel("密码",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField num = new JTextField();JTextField password = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton("重置");public Search(){super("查询信息");this.setSize(500,400);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);search.addActionListener(this);reset.addActionListener(this);/*查询面板*/label1.setBounds(110,30,100,20);jpl.add(label1);num.setBounds(180,30,160,20);jpl.add(num);/*查询面板*/label6.setBounds(110,70,100,20);jpl.add(label6);password.setBounds(180,70,160,20);jpl.add(password);search.setBounds(180,110,65,20);reset.setBounds(275,110,65,20);jpl.add(search);jpl.add(reset);label2.setBounds(125,150,70,20);jpl.add(label2);nam.setBounds(180,150,160,20);jpl.add(nam);label5.setBounds(125,190,70,20);jpl.add(label5);man.setBounds(205,190,60,20);women.setBounds(290,190,60,20);bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(125,230,70,20);jpl.add(label3);clas.setBounds(180,230,160,20);jpl.add(clas);label4.setBounds(125,270,70,20);jpl.add(label4);scl.setBounds(180,270,160,20);jpl.add(reset);jpl.add(scl);}public void actionPerformed(ActionEvent e){String id = num.getText();String oldpad = password.getText();if(e.getSource()==search){try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}if(id.equals("")){JOptionPane.showMessageDialog(s,"学号未填写!");}else{try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU where ID = "+ id + "");if(rs.next()){if(rs.getString("PWD").equals(oldpad)){ResultSet rs1 = stmt.executeQuery("select * from message where ID = "+ id + "");if(rs1.next()){nam.setText(rs1.getString("Name"));if(rs1.getString("Sex").equals("男")){man.setSelected(true);}else{women.setSelected(true);}clas.setText(rs1.getString("Class"));scl.setText(rs1.getString("College"));setVisible(true);}else{JOptionPane.showMessageDialog(s,"查询失败!");setVisible(true);}}else{JOptionPane.showMessageDialog(s,"登录密码错误,查询失败!");setVisible(false);}rs.close();}else{JOptionPane.showMessageDialog(s,"学号不存在,查询失败!");setVisible(true);}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}}else{num.setText("");password.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();}}public static void main(String[] args){@SuppressWarnings("unused")Search sch = new Search();}}2.4.学生查询成绩模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Score extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;static Score s;JPanel jpl = new JPanel();JLabel label1 = new JLabel("学号",JLabel.LEFT);JLabel label2 = new JLabel("密码",JLabel.LEFT);JTextField num = new JTextField();JTextField password = new JTextField();JButton search = new JButton("查询");JButton reset = new JButton("清空");JTextField txt1=new JTextField();JTextField txt2=new JTextField();JTextField txt3=new JTextField();JTextField txt4=new JTextField();JTextField txt5=new JTextField();JTextField txt6=new JTextField();JTextField txt7=new JTextField();JTextField txt8=new JTextField();JTextField txt9=new JTextField();JTextField txt10=new JTextField();JTextField txt11=new JTextField();JTextField txt12=new JTextField();JTextField txt13=new JTextField();JTextField txt14=new JTextField();public Score(){super("查询成绩");this.setSize(500,500);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);label1.setBounds(140,40,80,20);jpl.add(label1);num.setBounds(180,40,170,20);jpl.add(num);label2.setBounds(140,80,80,20);jpl.add(label2);password.setBounds(180,80,170,20);jpl.add(password);search.setBounds(180,120,65,20);reset.setBounds(285,120,65,20);jpl.add(search);jpl.add(reset);search.addActionListener(this);reset.addActionListener(this);txt1.setBounds(270,160,80,20);txt2.setBounds(270,200,80,20);txt3.setBounds(270,240,80,20);txt4.setBounds(270,280,80,20);txt5.setBounds(270,320,80,20);txt6.setBounds(270,360,80,20);txt7.setBounds(270,400,80,20);txt8.setBounds(180,160,80,20);txt9.setBounds(180,200,80,20);txt10.setBounds(180,240,80,20);txt11.setBounds(180,280,80,20);txt12.setBounds(180,320,80,20);txt13.setBounds(180,360,80,20);txt14.setBounds(180,400,80,20);jpl.add(txt1);jpl.add(txt2);jpl.add(txt3);jpl.add(txt4);jpl.add(txt5);jpl.add(txt6);jpl.add(txt7);jpl.add(txt8);jpl.add(txt9);jpl.add(txt10);jpl.add(txt11);jpl.add(txt12);jpl.add(txt13);jpl.add(txt14);}public void actionPerformed(ActionEvent e){if(e.getSource()==search){String id = num.getText();String oldpad = password.getText();try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU"); rs=stmt.executeQuery("select * from STU where ID='"+id+"'");if(id.equals("")){JOptionPane.showMessageDialog(this,"学号未填写!"); }else if(rs.next())//如果账号存在{if(oldpad.equals("")){JOptionPane.showMessageDialog(this,"密码未填写!"); }else if(rs.getString("PWD").equals(oldpad)){ResultSet rs1 = stmt.executeQuery("select * from object where object.ID ='" + id + "'");while(rs1.next()){txt8.setText(rs1.getString(2));txt9.setText(rs1.getString(3));txt10.setText(rs1.getString(4));txt11.setText(rs1.getString(5));txt12.setText(rs1.getString(6));txt13.setText(rs1.getString(7));txt14.setText(rs1.getString(8));}ResultSet rs2 = stmt.executeQuery("select score.* from STU,score where STU.ID ='" + id + "' AND STU.ID = score.ID");while(rs2.next()){txt1.setText(rs2.getString(2));txt2.setText(rs2.getString(3));txt3.setText(rs2.getString(4));txt4.setText(rs2.getString(5));txt5.setText(rs2.getString(6));txt6.setText(rs2.getString(7));txt7.setText(rs2.getString(8));}}else{JOptionPane.showMessageDialog(this,"密码错误,请重新输入!");}}else//如果没有查找到学号就提示{JOptionPane.showMessageDialog(this,"学号不存在,请重新输入!");}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}else{num.setText("");password.setText("");txt1.setText("");txt2.setText("");txt3.setText("");txt4.setText("");txt5.setText("");txt6.setText("");txt7.setText("");txt8.setText("");txt9.setText("");txt10.setText("");txt11.setText("");txt12.setText("");txt13.setText("");txt14.setText("");num.setText("");}}public static void main(String[] args){@SuppressWarnings("unused")Score s = new Score();}}2.5.学生修改登录密码模块//函数库import javax.swing.*;import java.awt.event.*;import java.sql.*;public class stulogpassword extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;/*学生修改登陆密码控件*/static Changepassword s;JPanel jpl = new JPanel();JLabel label1 = new JLabel("学号",JLabel.LEFT);JLabel label2 = new JLabel("原密码",JLabel.LEFT);JLabel label3 = new JLabel("新密码",JLabel.LEFT);JTextField ID = new JTextField();JTextField oldpassword = new JTextField();JTextField password = new JTextField();JButton Changepassword = new JButton("重置");JButton reset = new JButton("清空");public stulogpassword(){super("修改登陆密码(学生)");this.setSize(500,400);this.setVisible(true);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);Changepassword.addActionListener(this);reset.addActionListener(this);label1.setBounds(140,120,50,20);jpl.add(label1);ID.setBounds(190,120,150,20);jpl.add(ID);label2.setBounds(140,160,50,20);jpl.add(label2);oldpassword.setBounds(190,160,150,20);jpl.add(oldpassword);label3.setBounds(140,200,50,20);jpl.add(label3);password.setBounds(190,200,150,20);jpl.add(password);Changepassword.setBounds(190,240,65,20);jpl.add(Changepassword);reset.setBounds(275,240,65,20);jpl.add(reset);}public void actionPerformed(ActionEvent e){String id = ID.getText();String oldpad = oldpassword.getText();String pad = password.getText();if(e.getSource()==Changepassword){try{Class.forName("oracle.jdbc.OracleDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl"," system","manager");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU"); rs=stmt.executeQuery("select * from STU where ID='"+id+"'");if(id.equals(""))//如果账号为空{JOptionPane.showMessageDialog(s,"学号未填写!");}else if(rs.next())//如果账号存在{if(oldpad.equals("")){JOptionPane.showMessageDialog(s,"原密码未填写!");}else{if(rs.getString("PWD").equals(oldpad))//如果密码正确就提示,反之{if(pad.equals(0)){JOptionPane.showMessageDialog(s,"密码不能为空!");}else{int a = stmt.executeUpdate("update STU set PWD = '"+pad+"' where PWD ='"+oldpad+"'");if(a==1){JOptionPane.showMessageDialog(s,"密码已重置!");this.setVisible(false);}else{JOptionPane.showMessageDialog(s,"密码失败!");}rs.close();stmt.close();}}else{JOptionPane.showMessageDialog(s,"原密码不正确!");}}}else{JOptionPane.showMessageDialog(s,"学号不存在,请重新输入正确的学号!");}}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}else{ID.setText("");oldpassword.setText("");password.setText("");ID.requestFocus();}}public static void main(String[] args){@SuppressWarnings("unused")stulogpassword chang = new stulogpassword();}}3.教师管理3.1.教师界面模块//函数库import java.awt.*;import javax.swing.*;import java.awt.event.*;class MyPanel1 extends JPanel{private static final long serialVersionUID = 1L;Imageimg2=Toolkit.getDefaultToolkit().getImage("C:/Users/lincy/workspace/D esign/2.png");public void paint(Graphics g){g.drawImage(img2,0,0,this);}}public class Teachers extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;JMenuBar bar = new JMenuBar();JMenu menu1 = new JMenu(" 信息 ");JMenu menu2 = new JMenu(" 成绩 ");JMenu menu3 = new JMenu(" 登陆密码管理 ");JMenuItem item1 = new JMenuItem("录入学生信息");JMenuItem item2 = new JMenuItem("录入学生成绩");JMenuItem item3 = new JMenuItem("重置学生登陆密码");JMenuItem item4 = new JMenuItem("修改登录密码");JPanel jpl = new JPanel();public Teachers(){super("教师界面");this.setSize(500,400);//将当前窗口防止在屏幕中央setLocationRelativeTo(null);setContentPane(new MyPanel1());this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(bar);this.add(jpl);jpl.setLayout(null);bar.add(menu1);bar.add(menu2);bar.add(menu3);menu1.add(item1);menu2.add(item2);menu3.add(item3);menu3.add(item4);item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==item1){@SuppressWarnings("unused")TCHAddMessage mge1 = new TCHAddMessage();}if(e.getSource()==item2){@SuppressWarnings("unused")AddScore as = new AddScore();}if(e.getSource()==item3){@SuppressWarnings("unused")Changepassword ch = new Changepassword();}if(e.getSource()==item4){@SuppressWarnings("unused")tchlogpassword change = new tchlogpassword();}}public static void main(String[] args){@SuppressWarnings("unused")Teachers tch = new Teachers();}}3.2教师添加学生信息模块//函数库import javax.swing.*;。
学生课程管理系统Oracle大数据库论文设计
![学生课程管理系统Oracle大数据库论文设计](https://img.taocdn.com/s3/m/5b81856749649b6648d747be.png)
《大型数据库系统应用》集中实训报告系统名称:学生课程管理系统专业:信息管理与信息系统班级:信管B1201学号: 123629 姓名:晓雪指导教师:王希娟2015 年 6 月11 日目录1前言 (1)1.1 课题简介 (1)1.2 方案及其论证 (1)2需求分析 (2)2.1可行性分析 (2)2.2性能需求 (2)3概念结构设计 (3)3.1功能模块设计 (3)3.2 E-R图 (4)4逻辑结构设计 (5)4.1关系模式 (5)4.2规处理 (5)4.3视图设计 (5)5详细设计 (6)5.1数据库设计部分代码 (6)5.2前台界面开发部分代码 (7)5.3数据库连接部分代码 (11)6总结与体会 (12)7参考文献 (12)1前言1.1课题简介(1)开发系统的名称:学生课程管理系统(2)实训目的:通过《大型数据库系统应用》课程的学习,将数据结构、数据库应用在具体的编程方面,更加了解课程所学习的容及思维逻辑。
(3)实训意义:利用信息系统开发与实践课程设计,了解学生对Oracle数据库的理解、应用,以及加强学生对软件开发方面的应用知识。
希望今后学生好好利用所学的软件开发方面的知识和思想,解决各方面的编程难题。
(4)实训容:按照系统开发基本原理,综合运用所学的知识,设计开发一个小型的管理系统。
(5)实训预期实现效果:系统开发文档+能运行的小系统或者部分模块1.2 方案及其论证语言:VB+Oracle 11g运行环境:Microsoft Visual Studio 20102需求分析2.1可行性分析(1)技术可行性:学生选课系统,数据库方面采用Oracle 11g,采用VB语言。
(2)经济可行性:随着网络技术的发展,各高校纷纷建立自己的高速校园网,并建有属于的学生选课系统,利用计算机对学生的信息进行管理,减少了人力的投资;而且学校对选课系统大力支持,开发经费没有问题。
从长远来看,其好处是乐观的。
(3)操作可行性:界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规、可靠;统计准确;制表灵活;适应力强;容易扩充。
Oracle数据库的信息管理系统
![Oracle数据库的信息管理系统](https://img.taocdn.com/s3/m/131362026c85ec3a87c2c537.png)
非空
*
主要代码—成绩单表
CREATE TABLE PERINFO ( SNO NUMBER(4, 0) NOT NULL , CNO NUMBER(4, 0) , PDATE VARCHAR2(20 BYTE) , PANCE NUMBER(3, 0) , PBEIZHU VARCHAR2(20 BYTE) , CONSTRAINT PERINFO_PK PRIMARY KEY ( SNO ) ADD CONSTRAINT PERINFO_FK1 FOREIGN KEY ( CNO ) REFERENCES COURSEINFO ( CNO )
create or replace function select_fu2 (v_cno in o%type) return varchar2 is v_sno number; v_return varchar2(100); begin select count(a2.sno) into v_sno from courseinfo a1,perinfo a2 where a2.pance<60 and O=v_cno; v_return:='数据结构的未及格人数是:'||v_sno; return v_return; end; select select_fu2(60) from dual;
Oracle综合训练项目
班级: 组别:第四组 组员:
设计任务
利用所学的有关数据库设计知识,设计一个基
于Oracle数据库的信息管理系统。通过该部分 的操作与实践,使学生能够进一步巩固Oracle 数据库应用的方法和技术,提高基于Oracle数 据库的应用程序综合设计能力。
系统中表的设计—成绩单表
主要代码—创建视图及索引
基于Java+oracle学生信息管理系统的设计与实现毕业设计论文
![基于Java+oracle学生信息管理系统的设计与实现毕业设计论文](https://img.taocdn.com/s3/m/69502755f524ccbff021843e.png)
本科毕业设计(论文)题目基于Java+Oracle学生信息管理系统的设计与实现学院名称信息学院专业班级计科高职09-3学生姓名任苏宁导师姓名董爱美二○一三年六月十日基于Java+Oracle的学生信息管理系统的设计与实现作者姓名专业计算机科学与技术指导教师姓名专业技术职务讲师齐鲁工业大学本科毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导教师的指导下独立研究、撰写的成果.设计(论文)中引用他人的文献、数据、图件、资料,均已在设计(论文)中加以说明,除此之外,本设计(论文)不含任何其他个人或集体已经发表或撰写的成果作品.对本文研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示了谢意。
本声明的法律结果由本人承担.毕业设计(论文)作者签名:年月日齐鲁工业大学关于毕业设计(论文)使用授权的说明本毕业设计(论文)作者完全了解学校有关保留、使用毕业设计(论文)的规定,即:学校有权保留、送交设计(论文)的复印件,允许设计(论文)被查阅和借阅,学校可以公布设计(论文)的全部或部分内容,可以采用影印、扫描等复制手段保存本设计(论文).指导教师签名:毕业设计(论文)作者签名:年月日年月日目录摘要 (1)ABSTRACT (2)第一章绪论 (3)1.1 课题背景和意义 (3)1。
2 国内外研究现状 (3)1。
3 本系统主要功能模块 (4)1。
4章节安排 (4)第二章学生信息管理系统需求分析 (5)2。
1 系统的可行性调查 (5)2.1.1系统的经济可行性 (5)2。
1。
2系统的技术可行性 (5)2。
1.3系统的社会可行性 (5)2.1.4用户使用可行性 (6)2.2 需求分析概述 (6)2。
3 系统的数据性能需求 (7)2。
4系统功能需求分析 (8)2。
4。
1管理员模块功能需求 (8)2.4.2教师登录模块功能需求 (8)2。
4.3学生模块功能需求 (8)2。
5系统数据流图 (8)第三章总体设计 (10)3.1系统功能层次图 (10)3.2设计目标 (11)3.2。
基于Oracle数据库的学生信息管理系统设计
![基于Oracle数据库的学生信息管理系统设计](https://img.taocdn.com/s3/m/cee30e60cc22bcd126ff0cfd.png)
基于Oracle数据库的学生信息管理系统设计作者:李红霞来源:《电脑知识与技术》2018年第35期摘要:Oracle数据库是一种实用性很强且功能非常强大的数据库技术,该文分析了适用于高职院校的学生信息管理系统的需求,给出了详细的系统设计方案,包括系统结构设计、数据库设计,分析了学生信息管理系统的实现及软件测试。
关键词:Oracle数据库;学生信息管理系统;软件测试中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)35-0013-02Abstract: Oracle database is a very practical and powerful database technology. This paper analyses the requirements of student information management system for Higher Vocational colleges, and gives a detailed system design scheme, including system structure design, database design, and the realization and software of student information management system and Part test.Key words: Oracle database; student information management system; software testing在软件开发里,数据库技术是软件开发中的非常重要的一个步骤,数据库技术的发展已成为信息技术中最重要的组成部分之一。
早期的层次数据库、网状数据库和关系数据库,都在很多领域取得了巨大的成就。
但是关系数据库也存在一定的局限,尤其是随着应用领域的不断扩展,这种不足就更加明显。
基于Oracle数据库的学生信息管理系统
![基于Oracle数据库的学生信息管理系统](https://img.taocdn.com/s3/m/2fd2014dfd0a79563d1e720d.png)
1 引言1.1 课题来源及意义21世纪是信息化的时代,信息化以更快捷更为方便为目标来融入各行各业。
学校也不能例外。
当前,我国的学校正在加紧实施信息化建设,其中学生信息管理是相当重要的一部分。
目前社会上信息管理系统发展飞快,各个事业单位都引入了信息管理系统来管理自己日益增长的各类信息,学生信息管理系统也是有了很大的发展,商业化的学生信息管理系统也不少。
但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作[1]。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都是至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段[2]。
但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
在各大高校,用计算机管理学校的信息已经越来越普遍了。
用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。
提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
1.2研究内容与目标本文主要工作包括:(1)新系统在原有系统的基础上加入新的数据库的支持,使用了现金的数据库技术与数据管理技术,是数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
(2)利用虚拟机的运行环境与Oracle数据库相结合实现了主要原型系统。
(3)设计了基于三层结构的设计思想。
(4)尽量达到人力与设备费用的节省,并且是软件处理数据的速度提高,系统的整个设计过程必须通过生产能力的提高,系统的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等是软件开发成本最小化,实现保证软件质量的前提下的资金投入最小化[3]。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
基于Oracle的学生档案管理系统-数据库设计和系统管理
![基于Oracle的学生档案管理系统-数据库设计和系统管理](https://img.taocdn.com/s3/m/fc13e5db28ea81c758f578a0.png)
-数据库设计和系统管理
一
1.1
学生档案管理是所有大、中、小学均需要进行的一项任务繁重的工作。尤其近几年随着国家深化教育体制改革,学校进行大量扩招,学生的档案管理变的更为重要。做好学生档案管理是一个学校最基本的工作,是一个教育单位必须要有的部分。它对学校的管理者来说非常重要,学生档案如果不清晰,那么学校将会变得混乱不堪。另外,学生的基本信息也是一项很重要的信息,如果管理不好,被不法分子利用,后果将不堪设想。
另外,系统提供了简单但是功能齐全的操作方式,清爽的界面和方便的操作流程,也成为了该系统的一个优点。
综上所述,学生档案管理系统改革了传统的管理方式,无论对教育单位的管理人员,还是教师或者学生,都有着其巨大的突破,实现了通过一个系统,不同类型的用户可以跨时空进行信息交流,而不用再像原始的需要人力来回跑的局面。
2.1
Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。Oracle的关系数据库是世界第一个支持SQL语言的数据库。1977年,Lawrence J.Ellison领着一些同事成立了Oracle公司,他们的成功强力反击了那些说关系数据库无法成功商业化的说法。Oracle数据库是当前最流行的大型关系数据库之一,它所支持的平台有32位和64位的Windows、HP-UX、Solaris、各种Linux发行版、Unix等多种操作系统平台,并且有着大量的应用案例。其版本10g虽然目前官网已经不提供下载(最新版本为12c),但是由于其是第一个为企业提供网格计算(grid computing)的数据库管理系统,仍拥有着大量的用户。Oracle 10g的g代表网格计算,是一种灵活而其高效的信息管理和应用的方式,它还提出了池(pool)的概念。其体系结构如图2-1所示。
学生管理系统Oracle课程设计
![学生管理系统Oracle课程设计](https://img.taocdn.com/s3/m/b992b75bb42acfc789eb172ded630b1c59ee9be1.png)
学生管理系统Oracle课程设计一、课程目标知识目标:1. 理解Oracle数据库的基本概念,掌握其体系结构。
2. 学会使用SQL语言进行数据查询、插入、更新和删除操作。
3. 掌握学生管理系统数据库的设计原则和方法。
技能目标:1. 能够独立安装和配置Oracle数据库环境。
2. 能够使用SQL Developer等工具进行数据库操作。
3. 能够设计并实现一个简单的学生管理系统数据库。
情感态度价值观目标:1. 培养学生对待数据库技术的积极态度,提高学习兴趣。
2. 培养学生的团队协作精神,学会共同解决问题。
3. 引导学生认识到数据库在现实生活中的重要性,激发其应用创新意识。
课程性质分析:本课程为信息技术课程,以实践操作为主,理论讲解为辅。
课程内容紧密结合学生管理系统项目,以提高学生的实际操作能力为目标。
学生特点分析:高二年级学生对数据库知识有一定了解,具备基本的计算机操作技能,但Oracle数据库知识尚属初学阶段。
学生具有较强的学习兴趣和动手能力,但需注重培养团队协作能力。
教学要求:1. 结合实际项目,注重理论与实践相结合,提高学生的实践能力。
2. 采用任务驱动法,引导学生自主探究,培养学生的自主学习能力。
3. 注重个体差异,因材施教,使每位学生都能在课程中学有所得。
二、教学内容1. Oracle数据库基础知识:- 数据库基本概念- Oracle数据库体系结构- SQL语言基础2. Oracle数据库操作:- 数据查询- 数据插入、更新和删除- 索引和视图的创建与应用3. 学生管理系统数据库设计:- 数据库设计原则- 实体关系模型- 数据库表结构设计4. Oracle数据库环境配置与使用:- Oracle数据库安装- SQL Developer工具的使用- 数据库连接与操作5. 实践项目:学生管理系统数据库实现- 数据库表创建与数据导入- 查询与统计功能实现- 简单的数据维护功能实现教学内容安排与进度:第一周:Oracle数据库基础知识学习第二周:Oracle数据库操作学习第三周:学生管理系统数据库设计第四周:Oracle数据库环境配置与使用第五周:实践项目:学生管理系统数据库实现教材章节关联:《Oracle数据库管理与维护》第一章:数据库基本概念与体系结构《Oracle数据库管理与维护》第二章:SQL语言基础《Oracle数据库管理与维护》第三章:数据库设计《Oracle数据库管理与维护》第四章:数据库操作与维护《Oracle数据库管理与维护》附录:实践项目指导三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用以下多样化的教学方法:1. 讲授法:通过系统的讲解,使学生掌握Oracle数据库的基本概念、体系结构和SQL语言基础。
学生信息管理系统Oracle数据库
![学生信息管理系统Oracle数据库](https://img.taocdn.com/s3/m/067f4b74f11dc281e53a580216fc700abb68529a.png)
学生信息管理系统Oracle数据库/* --备注:学期:年份-上下学年;02上学期,09下学期,eg:2012-09,表示2012届下学年性别:男/女出生地:eg:广东省深圳市布吉街道办下水径村*//* --创建系部表*/create table department_tb(dep_no_n number not null primary key, --系部编号,主键dep_name_s varchar2(40) not null, --系部名称,eg:RJGC,(dep_name_s,term_s须唯一,即同一学期系部唯一)term_s varchar2(7) not null, --学期constraint dep_tb_name_term_unique unique(dep_name_s,term_s));/* --创建专业表*/create table major_tb(major_no_n number NOT NULL PRIMARY KEY, --专业编号,主键major_name_s varchar2(40) NOT NULL, --专业名称,eg:RJ,(term_s,dep_no_s,major_name_s须唯一,即同一学期同一系部专业唯一)dep_no_n number not null, --系部编号,外键term_s varchar2(7) not null, --学期foreign key(dep_no_n) references department_tb(dep_no_n), constraint major_tb_name_dep_term_unique unique(major_name_s,dep_no_n,term_s) );/* --创建教师信息表*/create table teacher_tb(work_no_s varchar2(10) not null primary key, --工号(eg:SD000001),主键name_s varchar2(10) not null, --姓名sex_c char(2) not null, --性别born_date_s varchar2(10) not null, --出身日期(eg:1980-01-01)born_address_s varchar2(60) not null, --出生地idcard_no_s varchar2(18) not null unique, --身份证号码,唯一employed_date_s varchar2(10) not null --入职时间);/* --创建教师系部表*/create table teacher_dep_tb(work_no_s varchar2(10) not null primary key, --工号,主键,外键dep_no_n number not null, --系部编号,外键foreign key(work_no_s) references teacher_tb(work_no_s),foreign key(dep_no_n) references department_tb(dep_no_n) );/* --创建班级表*/create table class_tb(class_no_n number not null primary key, --班级编号,主键class_name_s varchar2(20) not null unique, --班级名称,eg:RJ12002,唯一major_no_n number not null, --专业编号,外键term_s varchar2(7) not null, --学期foreign key(major_no_n) references major_tb(major_no_n) );/* --创建学生信息表*/create table student_info_tb( --有待补充stu_no_n number not null primary key, --学生编号,主键stu_name_s varchar2(10) not null, --学生姓名sex_c char(2) not null, --性别born_date varchar2(10) not null, --出身日期(eg:1980-01-01)born_address_s varchar2(60) not null, --出生地class_no_n number not null, --班级编号,外键term_s varchar2(7) not null, --学期idcard_no_s varchar2(18) not null unique, --身份证号码,唯一foreign key(class_no_n) references class_tb(class_no_n));/* --创建课程表*/create table course_tb(course_no_n number not null primary key, --课程编号,主键course_name_s varchar2(30) not null, --课程名称term_s varchar2(7) not null, --学期major_no_n number NOT NULL, --专业编号,外键foreign key(major_no_n) references major_tb(major_no_n),constraint course_tb_name_term_major_uni unique(course_name_s,term_s,major_no_n) );/* --创建成绩表*/create table grade_tb(grade_no_n number not null primary key, --成绩序列号,主键score_n number not null,stu_no_n number not null, --学号,外键,(stu_no_s,course_no_s,time_tg_s必须唯一,即同一次考评成绩下同一学号同一课程成绩唯一)course_no_n number not null, --课程号,外键term_s varchar2(7) not null, --学期time_tg_s varchar2(10) not null, --时间标识(标识什么时间的成绩eg:2012-01-01)foreign key(course_no_n) references course_tb(course_no_n), foreign key(stu_no_n) references student_info_tb(stu_no_n), constraint grade_tb_stu_cou_time_uni unique(stu_no_n,course_no_n,time_tg_s)/* --创建功能表*/create table function_tb(fun_no_n number not null primary key, --功能序号(eg:001),主键fun_name_s varchar2(20) not null, --功能名称,(fun_name_s,parent_no_n须唯一,即同一父节点下该功能唯一) parent_no_n number, --父节点,外键foreign key(parent_no_n) references function_tb(fun_no_n),constraint fun_tb_name_parent_uni unique(fun_name_s,parent_no_n));insert into function_tb(fun_no_n,fun_name_s,parent_no_n) values (0,'根节点',0);alter table function_tb modify (parent_no_n number not null);/* --创建角色表*/create table role_tb(role_no_n number not null primary key, --角色编号(eg:001),主键role_name_s varchar2(20) not null unique, --角色名称,唯一fun_no_n number not null, --功能编号,外键foreign key(fun_no_n) references function_tb(fun_no_n));/* --创建学生用户信息表*/create table user_tb(user_no_n number not null primary key, --用户编号(eg:0000000001),主键,外键user_name_s varchar2(10) not null, --用户姓名(term_s,user_name_s,class_name_s必唯一,即同一学期同一班级用户名唯一)user_pwd_s varchar2(100) not null, --用户密码,密文role_no_n number not null, --角色编号,外键stu_no_n number not null, --学号,外键term_s varchar2(7) not null, --学期class_name_s varchar2(20) not null, --班级名称,外键foreign key(role_no_n) references role_tb(role_no_n),foreign key(stu_no_n) references student_info_tb(stu_no_n), foreign key(class_name_s) references class_tb(class_name_s), foreign key(user_no_n) references student_info_tb(stu_no_n), constraint user_tb_term_name_class_uni unique(term_s,user_name_s,class_name_s) );/* --创建教职工用户表*/create table teacher_tb(work_no_s varchar2(10) not null primary key, --工号,主键,外键user_pwd_s varchar2(100) not null, --用户密码,密文role_no_n number not null, --角色编号,外键);。
基于Java+oracle学生信息管理系统的设计与实现(含源文件)
![基于Java+oracle学生信息管理系统的设计与实现(含源文件)](https://img.taocdn.com/s3/m/6a551fc6f46527d3250ce069.png)
基于Java+Oracle的学生信息管理系统的设计与实现目录摘要 (1)ABSTRACT (2)第一章绪论 (3)1.1 课题背景和意义 (3)1.2 国内外研究现状 (3)1.3 本系统主要功能模块 (4)1.4章节安排 (4)第二章学生信息管理系统需求分析 (5)2.1 系统的可行性调查 (5)2.1.1系统的经济可行性 (5)2.1.2系统的技术可行性 (5)2.1.3系统的社会可行性 (5)2.1.4用户使用可行性 (6)2.2 需求分析概述 (6)2.3 系统的数据性能需求 (7)2.4系统功能需求分析 (8)2.4.1管理员模块功能需求 (8)2.4.2教师登录模块功能需求 (8)2.4.3学生模块功能需求 (8)2.5系统数据流图 (8)第三章总体设计 (10)3.1系统功能层次图 (10)3.2设计目标 (11)3.2.1系统管理员管理模块 (12)3.2.2教师登录管理模块 (12)3.2.3学生登录管理模块 (12)第四章数据库设计 (13)4.1数据库分析 (13)4.1.1实体的分析 (13)4.1.2实体的属性 (13)4.1.3数据表设计 (14)4.2 SQL语句实现 (16)第五章系统模块详细设计 (18)5.1管理员模块设计 (18)5.1.1添加学生信息功能 (18)5.1.2添加教师信息功能 (18)5.1.3添加新课程功能 (18)5.1.4修改学生信息功能 (19)5.1.5修改教师信息功能 (19)5.1.6修改课程信息功能 (19)5.2教师模块设计 (20)5.2.1查看教师信息功能 (20)5.2.2查看所授课程功能 (20)5.2.3查看听课通知功能 (20)5.3学生模块设计 (21)5.3.1学生选课功能 (21)5.3.2查看学生信息功能 (21)5.3.3查看已选课程功能 (21)5.3.4删除已选课程功能 (22)第六章系统实现 (23)6.1系统登录界面 (23)6.2录入学生信息界面 (23)6.3修改学生信息界面 (24)6.4学生选课界面 (24)结束语 (25)参考文献 (26)致谢 (27)附录 (28)随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长.面对如此庞大的信息量,开发学生信息管理系统来提高学生管理工作的效率就成为必然.通过该系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量.学生信息管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的库.而对于后者则要求应用程序功能完备,易使用等特点.经过分析,我们使用Java开发工具,利用其提供的各种面向对象的开发工具,Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群.使用的数据库是Oracle,Oracle数据库功能强大,学习起来也不难,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统.本文将分六个章节来叙述,第一章,概述,主要叙述系统开发的背景和选题意义,以及开发的必要性和可能性;第二章,系统需求分析,架构系统的框架,为下面的内容做好准备;第三章,系统总体设计,叙述数据库设计和系统子模块的功能;第四章,数据库设计,主要介绍实体和数据表和SQL语句实现;第五章,系统模块的详细设计,主要讲述了各个模块的功能;第六章,系统实现;叙述系统运行情况及个人开发感受.在文中将会涉及一些其他的专业知识,但是只针对所用到的做大体的说明.关键词:学生信息 Java Oracle ODBC 数据库With the expansion of schools, the number of students increases sharply, all kinds of information about the students also doubled. Faced with such a large amount of information, developing the student information management systems to improve the efficiency of the management of students has become an inevitable. Through the system, the information can be standardized management, scientific statistics and fast query, thereby reducing the workload of management.Student Information Management System is a typical management information system (MIS), which mainly includes the establishment and maintenance of back-end database and front-end application development aspects. For the former requirement to establish data consistency and integrity, data security, a good library. For the latter requires the application fully functional, easy to use features.After analysis, we use Java development tools, the use of its various object-oriented development tools, Java technology, excellent versatility, efficiency, platform portability, and security, are widely used in personal PC, data centers, gaming control Taiwan, scientific supercomputers, cell phones and the Internet, also has the world's largest developer of professional community. Use of the database is Oracle Database, Oracle Database powerful, it is not difficult to learn, then, the initial prototype of the system needs to constantly revise and improve user satisfaction until the formation of a viable system.This article will be divided into six chapters to describe the first chapter, an overview of the main narrative system development background and significance of the topic, and the development of the necessity and possibility; second chapter, system requirements analysis, system architecture framework for the following content prepared; Chapter overall system design, database design and system description sub-module functions; fourth chapter, database design, introduces entities and data tables and SQL statements; fifth chapter, detailed system modules design, mainly about the function of eachmodule; Chapter VI, system implementation; narrative system operation and personal development experience. In the text will involve some of the other's expertise, but only for the general description used to do.Key words:Student information ; Java ; Oracle; ODBC; database第一章绪论1.1 课题背景和意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.随着计算机网络技术发展,Web数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与用户进行通信联络的有效手段,利用Web技术,实现Web 服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据.学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难.随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用.作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等.这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件.1.2 国内外研究现状计算机在管理中的应用开始于1954年,当时美国首先用计算机处理工资单.40多年来,计算机在处理管理信息方面发展迅速.例如,60年代美国计算机在管理中应用项目不到300项,到了1975年达到2670项.而现在,美国在财务会计上90%的工作由计算机完成;物资管理中80—100%的信息处理由计算机完成;计划管理中是80—90%.据计算机应用方面发展较快的国家统计,计算机用于经济管理的约占80%;用于科技运算的占8%;用于生产过程控制的占12%.我国在全国范围内推广计算机在管理中的应用,是在70年代末开始的,虽然起步较晚,近几年发展却较快,特别是微型计算机的出现和普及为信息处理提供了物美价廉的手段,对于推动我国管理信息处理的现代化起了重要的作用.目前存在的问题是传统纸媒介管理的学生信息难于共享汇总,其统计数据正确性也难以考证.存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等.计算机在全国普及后,管理媒介有了质的飞跃.并且随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长.面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率.通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量.由于计算机和网络的普及,若建立一个C/S或B/S结构的学生信息管理系统,学生便可以通过网络来选课并且查询自己的有关信息,使得学生信息管理工作系统化,规范化,自动化,大大提高了学校管理学生的效率.1.3 本系统主要功能模块本系统的主要任务就是负责对学生信息管理.主要用户为老师、学生和管理员,其中,学生可对自己的信息进行查询,可以进行选课,也可以进行删除已选课程,教师可对自己的信息进行查询,查看自己的课表信息,查看听课通知等功能,管理员拥有所有的权限,可以添加删除学生信息,教师信息,课程.系统提供友好界面,操作简单.为实现这些功能,系统一个包含如下几个基本模块:1.用户登陆模块.用户可以选择自己的登陆身份.2.添加信息模块.管理员可以实现对学生信息和教师信息的添加.3.修改信息模块.管理员可以实现对学生信息和教师信息的修改.4.查询信息模块.学生和教师可以在此界面进行操作.5.删除信息模块.管理员可以实现对学生、教师和课程信息的删除.1.4章节安排第一章:本章主要介绍了课题的研究背景,国内外研究现状.第二章:本章给出了需求分析,简单介绍了可行性分析,各功能模块的功能需求.第三章:本章给出了系统的总体设计,通过对用户需求的分析,明确了系统的架构设计和各模块功能的实现方法.第四章:本章主要对Oracle数据库进行设计,分别对数据库分析,数据实体进行分析,并对数据表进行设计.第四章:本章主要对该学生信息管理系统进行系统模块的详细设计.第五章:本章主要介绍了系统模块的详细设计,分别对各个模块进行详细设计.第六章:本章主要介绍了本系统的功能模块具体实现.第二章学生信息管理系统需求分析2.1 系统的可行性调查可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解. 建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平.帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化. 经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排.明确开发风险及其所带来的经济效益.本报告经审核后,交软件负责人审查.可行性分析包括两部分内容:分析建立新的管理信息系统的必要性和可能性.分析建立信息系统的必要性时要注意用户提出的理由是否充分和合理;分析建立信息系统的可能性主要包括经济可行性、技术可行性和社会可行性.经济可行性研究的目的是使新系统能达到以最小的开发成本取得最佳的经济效益.需要作投资估算,对开发中所需人员、硬软件支持以及其它费用进行估算,并对系统投入使用后带来的经济效益进行估计.技术可行性研究就是弄清现有技术条件能否顺利完成开发工作,硬软件配置能否满足开发的需要等等.社会可行性研究是指新系统在投入使用后,对社会可能带来的影响进行分析.2.1.1系统的经济可行性学生信息管理系统提供访问者相互交流信息以及向网站咨询信息的平台,可提供一个在线交互的动态平台供学生、教师和管理员进行信息的操作,大大的减少了以往手工资源操作带来的各类问题.2.1.2系统的技术可行性学生信息管理系统提供一个在线交互的信息平台,管理员可以对系统信息进行添加、修改、删除查询等操作,教师可以对班级信息进行处理,学生可以查询自己所需信息.2.1.3系统的社会可行性本学生信息管理系统不仅能够让管理员更清晰的掌握学生和教师的信息,同时也让学生自己更容易的知道如何准确的选课.这就大大的为老师提供了便利.同学们在家中只需要上网就可以在第一时间知道自己的已选课程.还有,学生们也可通过我们的系统进行选课来凑够学分完成学业和其所占学分及任课老师的资料,其应用性之强得到充分发挥.学校的电脑普及率已达到了很高的水平,尤其是我们拥有设备先进管理完善的机房,而信息学院的老师和学生们对电脑的操作也是驾轻就熟.因此,只要这套学生学籍选课系统操作简单,实用,合理,大家肯定是乐于接受并积极响应和支持的.2.1.4用户使用可行性本系统操作简单, 有计算机基础的人无需培训即可使用, 即使是没有计算机基础的人只需经过简单的培训就可以很熟练的使用本系统.系统运行后,就用户方而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统对用户而言,是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各界面上的选项卡或按钮就能执行相应的功能,就管理者而言,关心的是如何处理各种数据,只要把用户的信息输入计算机,管理者就可运行相应的后台程序进行处理.而以上的这些功能都能在所选择的开发环境中用所选择的开发工具来实现.所以说本系统在用户使用可行性上是没有问题的.2.2 需求分析概述学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了.该软件用Java[1]语言编写,开发工具是MyEclipse[2],该工具比较容易上手,Oracle数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息和教师信息的添加,查询,修改,删除的操作等.用ODBC驱动实现前台Java与后台SQL数据库的连接.Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好Oracle[3]数据库高效安全,两者结合可相互利用各自的优势.该系统实现的大致功能:1.用户登陆界面.该界面可以选择使用者的身份,“管理员,教师,学生”.不同的身份有不同的操作界面和功能权限.ID号和密码输入正确即可登录.学生管理界面.提供了学生学籍信息的查询,相关科目信息查询,修改登录密码等功能.2.教师管理界面.提供了对所教授课程信息的查询;可以查询听课通知,修改密码等功能.3.管理员管理界面.拥有最高的权限.允许添加教师信息和课程信息,提供了对学生学籍信息的查询,添加,修改,删除;提供了对教师信息的查询,添加,修改,删除;修改密码等功能.4. 登录的用户信息分别存储在SQL数据库的“管理员信息表”, “教师信息表”, “学生信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统,以保证系统的安全性.2.3 系统的数据性能需求学生信息管理系统主要提供信息查询,方便管理的网上的信息查阅平台,学生可以通过该系统查阅与自己有关的各科成绩,教师可以通过该系统对学生的信息进行添加、删除、修改和查询.为了保证系统能够长期、安全、稳定、可靠、高效的运行,学生信息管理系统应该满足以下的性能需求:1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能.在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足各使用者对信息处理的需求.由于信息查询系统的查询功能对于整个系统的功能和性能完成举足轻重.作为系统的很多数据来源,而学生的信息的准确性很大程度上决定了学生信息管理系统的成败.在系统开发过程中,必须采用一定的方法保证系统的准确性.2.系统的开放性和系统的可扩充性学生信息管理系统在开发过程中,应该充分考虑以后的可扩充性.例如科目的改变和学生基本信息的改变,学生查询的需求也会不断的更新和完善.所有这些,都要求系统提供足够的手段进行功能的调整和扩充.而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件.通过软件的修补、替换完成系统的升级和更新换代.3.系统的易用性和易维护性学生信息管理系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉.这就要求系统能够提供良好的用户接口,易用的人机交互界面.要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程.学生信息管理系统中涉及到的数据是学生的重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作.4.系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件.所有这些都要符合主流国际、国家和行业标准.例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准.如规范的数据库操纵界面、作为业界标准TCP/IP 网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性.5.系统的响应速度学生信息管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息.在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率.2.4系统功能需求分析综上所述本系统具体需要完成功能如下:1.全面展示学生信息管理系统所包含的信息.2.登陆窗口模块区分管理员、教师和学生身份.3.系统管理员模块:管理员登陆系统后可以对教师、学生信息进行相关操作.4.教师登陆模块:教师登陆系统可以查看自己的个人信息和查看教课信息.5.学生登陆模块:学生登陆系统后可以对自己的基本情况进行操作.该系统使用了先进的数据库技术与数据管理技术,使数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善.2.4.1管理员模块功能需求管理员登陆系统后,可以对教师、学生信息进行添加、修改和查询等操作,对学生课程进行添加、修改和查询功能操作,还可以修改管理员的登录密码.2.4.2教师登录模块功能需求教师登陆系统后可以对自己的个人信息进行查询操作,然后教师可以对自己所教课程的课表进行查询功能操作;并且可以查看听课通知和讲课帮助.2.4.3学生模块功能需求通过调研得出学生信息管理系统中需要在学生登录或验证身分后,可以自行完成学生的选课以及学生个人信息的查询,也可以进行选课和删除已选课程等操作,方便用户使用.2.5系统数据流图根据该系统需求进行分析,使用数据流图示描述数据处理过程.数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的传输变换过程.数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表现系统的逻辑处理功能.图2-1管理模块数据流图第三章总体设计3.1系统功能层次图学生信息管理系统是一个典型的数据库开发应用程序,系统是和数据库相结合.,进入系统,有三个用户,分别是学生、教师和管理员,图3-1登陆层次图图3-2学生管理层次图学生信息管理系统登陆管理学生登陆管理员登陆教师登陆学生登录学生选课添加课程删除课程查询信息查看公告图3-3管理员层次图图3-4教师管理层次图3.2设计目标学生信息管理系统为用户提供信息交流的交互平台,让老师、学生间建立良学生信息查询学生信息修改教师信息修改添加教师信息添加课程信息管理员学生信息操作添加学生信息教师信息操作教师信息操作教师信息查询查看能选课程修改能选课程 教师个人信教师管理操作查看个人信息查看课表信息查看讲课帮助查看同科通知子系统链接教师登陆好联系,主要实现如下目标.3.2.1系统管理员管理模块1.基本信息录入,对系统的所有基本信息进行管理操作.2.学生信息操作,对学生的信息进行管理操作.3.系统管理,对管理员信息进行管理操作.3.2.2教师登录管理模块1.修改个人信息,对教师自己的个人信息进行管理操作.2.教师管理操作,对所教课程和听课通知进行查询操作3.2.3学生登录管理模块学生管理操作,对学生自己的个人信息、选课和删除已选课程进行管理操作.系统中数据库起着非常重要的作用,不能随意存取或改动,因此必须对数据库的存取和改动进行严格的控制,对系统数据进行有效的保护,防止对数据库的非法操作,防止计算机病毒对数据的破坏,定期对数据库进行备份.第四章数据库设计4.1数据库分析4.1.1实体的分析根据学生信息管理系统的总体设计,我们将这个系统分为三大模块.由此我们可以首先确定三大实体:管理员、教师和学生,而由于用户可以进行选课、查询等操作.所以确定该系统共有以下实体:1.管理员实体.2.教师实体.3.学生实体.4课程实体.5.选课实体.7.专业实体.4.1.2实体的属性该系统涉及到的实体分别为管理员实体,教师实体,学生实体.根据系统需求,我们将以下实体的属性确定如下:表4-1实体属性表1.管理员实体,包含管理员的信息,详细属性如下:(1)管理员ID.(2)登录密码.2.教师实体,包含教师的信息,详细属性如下:(1)教师ID.(2)教师姓名.(3)登录密码.3.学生实体,包含学生的基本信息,详细属性如下:(1)学生ID.(2)所属系别.(3)姓名.(4)性别.(5)年龄.(6)出生日期.(7)电话.(8)系别.(9)籍贯.(10)入学日期.(11)职务.(12)班级号.(13)学位.(14)登录密码.4课程实体,包含课程的信息,详细属性如下:(1)课程号.(2)课程名称.(3)课程教师.(4)教师ID.4.1.3数据表设计逻辑结构是独立于任何一种数据模型的信息结构.逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化.定义每个表的数据类型以及字段限制,使数据库达到一定的完整性.每个表的物理设计如下:1.表admin保存用户的个人信息用户信息表主要是用来保存管理员用户的基本信息,包括管理员的ID和管理员的登录密码,只有符合这两个字段的格式要求,才能登录成功,结构表如下:表4-2管理员信息表。
Oracle学生信息管理系统
![Oracle学生信息管理系统](https://img.taocdn.com/s3/m/bc1c01c508a1284ac85043cb.png)
oracle数据库学生信息管理系统数据库源码+实现一结构及主要功能1.1学生信息管理系统的主要功能有:(1)、用户信息管理可以修改、删除、添加用户;(2)、班级信息管理可以添加、修改、删除班级;(3)、学籍信息管理可以添加、查询、修改、删除学籍;(4)、课程信息管理可以查看各班的课程信息;(5)、成绩信息管理可以用一个或几个条件查询、添加、删除,修改成绩;(6)、奖惩信息管理可以添加、查询、删除奖惩信息(7)、个人信息管理可以查询学生的个人信息。
1.2、系统的功能模块结构如下:二数据库设计2.1创建数据库用户在设计数据库表结构之前,首先要创建一个学生信息管理的数据库用户,这里定义为zengym,所有相关的表都属于这个用户。
创建用户的脚本为:CREATE user zengymidentified by zengymdefault tablespace userstemporary tablespace tempquota 10m on users;grant create session,resource to zengym;这样在设置ODBC时,使用户zengym登录,就可以直接在程序中调用用户zengym的表和视图等数据库对象了。
2.2数据库逻辑结构设计根据学生信息管理系统的功能要求,选取Oracle为后台数据库,数据库前台控制界面使用Visual Basic 6.0来实现。
该数据库由8个表组成。
这8个表包括班级课程信息(class_cour)表、班级信息(class_Form)表、课程信息(course_Form)表、获奖信息(prize_Form)表、获奖学生信息(Prize_Stud)表、学生成绩信息(score_Form)表、学生信息(student_Form)表、用户(user_Form)表。
2.3创建表的脚本语言(1)班级课程信息(class_cour)表CREATE TABLE zengym.class_Cour(class_NO number Primary Key,course_Name varchar2(50))TABLESPACE USERS;(2)班级信息(class_Form)表CREATE TABLE zengym.class_Form(class_No number Primary Key,class_Name varchar2(50),class_Teacher varchar2(50),class_Remarks varchar2(50))TABLESPACE USERS;(3)课程信息(course_Form)表CREATE TABLE zengym.course_Form(course_Name Varchar2(50) Primary Key, course_Rem Varchar2(50))TABLESPACE USERS;(4)奖惩信息(prize_Form)表CREATE TABLE zengym.prize_Form(prize_name varchar2(50) Primary Key, prize_Rem Varchar2(50))TABLESPACE USERS;(5)奖惩学生信息(Prize_Stud)表CREATE TABLE zengym.prize_Stud(prize_NO number Primary Key,prize_Stu number,prize_Dat date,prize_Nam Varchar2(50))TABLESPACE USERS;(6)学生成绩信息(score_Form)表CREATE TABLE zengym.score_Form(score_NO number Primary Key,score_per Varchar2(50),score_Cla number,score_Stu number,score_Cou Varchar2(50),score_Sco Varchar2(50))TABLESPACE USERS;(7)学生信息(student_Form)表CREATE TABLE zengym.student_Form(student_NO number Primary Key,student_Name Varchar2(50),student_Sex Varchar2(5),student_Bir Date,student_Cla number,student_Tel Varchar2(50),student_Esd Date,student_Add Varchar2(50),student_Rem Varchar2(50))TABLESPACE USERS;(8)用户(user_Form)表CREATE TABLE er_Form(user_ID Varchar2(50) Primary Key,user_PWD Varchar2(50),user_DATE date)TABLESPACE USERS;三数据库连接3.1、创建数据源为了能够在程序中访问到数据库House,需要创建系统数据源。
orcale课程设计学生管理系统
![orcale课程设计学生管理系统](https://img.taocdn.com/s3/m/bf5aaa79a4e9856a561252d380eb6294dd882295.png)
orcale课程设计学生管理系统一、教学目标本课程的教学目标是使学生掌握Oracle数据库的基本操作和管理技能,能够使用Oracle数据库建立、查询、更新和管理学生信息管理系统。
具体目标如下:1.知识目标:–理解数据库的基本概念和原理。
–掌握Oracle数据库的安装和配置方法。
–学会使用SQL语言进行数据定义、数据查询、数据更新和数据控制。
–了解学生信息管理系统的需求分析和设计方法。
2.技能目标:–能够独立完成Oracle数据库的安装和配置。
–能够使用SQL语言创建表、查询数据、更新数据和删除数据。
–能够设计和实现一个简单的学生信息管理系统。
3.情感态度价值观目标:–培养学生的团队合作意识和解决问题的能力。
–培养学生对数据库技术的兴趣和好奇心。
–培养学生对信息安全和隐私保护的重视。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.Oracle数据库的基本概念和原理,包括数据库的定义、结构和发展历程。
2.Oracle数据库的安装和配置方法,包括操作系统的要求、数据库的安装步骤和配置参数的设置。
3.SQL语言的基本操作,包括数据定义语言(DDL)、数据查询语言(DQL)、数据更新语言(DML)和数据控制语言(DCL)。
4.学生信息管理系统的需求分析和设计方法,包括系统功能的确定、数据库表的设计和数据关系的建立。
三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:教师讲解Oracle数据库的基本概念、原理和操作方法,引导学生理解知识点。
2.案例分析法:通过分析实际的学生信息管理系统案例,让学生学会如何设计和实现一个数据库应用。
3.实验法:学生动手实践,完成数据库的安装、配置和SQL语言的操作,增强对知识的理解和应用能力。
4.讨论法:分组讨论问题,培养学生的团队合作意识和解决问题的能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将使用以下教学资源:1.教材:《Oracle数据库管理与应用》。
基于基于oracle8i和delphi的学生信息管理系统设计报告
![基于基于oracle8i和delphi的学生信息管理系统设计报告](https://img.taocdn.com/s3/m/0c973b64a4e9856a561252d380eb6294dd8822ba.png)
NUMBER
4
VARCHAR2 100
(2)学生档案表 字段名 字段类型
XHXX NUMBER
XMXX VARCHAR2
BJXX NJXX XSZT SFZS
VARCHAR2 NUMBER VARCHAR2 VARCHAR2
3.过程论述
字段长度
10 8 30
1 4 2
3.过程论述
(3)学生奖惩表
3.过程论述
一 、学生信息管理系统流程图
3.过程论述
二、学生信息管理系统图
3.过程论述
三 、学籍档案管理子系统数据流图
3.过程论述
3.3学籍档案管理子系统数据字典 1 、数据流条目 档案管理要求= [学生档案数据录入 | 学生档案数据修改]
学生档案数据录入=学生档案数据修改=学生名称+性别+出生年月+户籍+家庭地址+联系电话+入学年份 档案查询要求= [档案统计要求] 档案统计表= [学生档案情况] 学籍管理要求= [学生学籍录入|学生学籍修改|学生学籍删除]
13) 管理员登入模块: 系统对管理员的名称和ID号进行认证 , 保证操作员的合法性; 可根据管理员的名称判断管理员所在 的系别 , 并对各个系的信息进行筛选 , 以保证每个系仅能对本系的信息进行更新。
14) 操作菜单模块: 系统对各个经筛选后的各系信息选择需要的操作。
15)报表打印模块:
系统实现对各个需要的信息进行打印 , 统计。
(一 )计算机的软硬件环境; (二) 数据库管理系统的能力; (三) 用户的操作要求与信息要求; (四) 完整性和安全性约束。
2.方案论证及设计思想
2. 1. 1 开发环境 一、软件环境
oracle学生信息管理系统大作业
![oracle学生信息管理系统大作业](https://img.taocdn.com/s3/m/c655dc8709a1284ac850ad02de80d4d8d15a0193.png)
oracle学生信息管理系统大作业Oracle学生信息管理系统大作业随着教育信息化的发展,高校对学生信息的管理变得越来越重要。
为了提高学生信息管理的效率和准确性,开发一个基于Oracle数据库的学生信息管理系统成为了一项重要的任务。
本文将介绍Oracle 学生信息管理系统的设计与实现。
一、系统需求分析学生信息管理系统需要满足以下基本需求:1. 学生信息的录入和查询:包括学生的个人信息、课程成绩、考勤情况等;2. 学生信息的修改和删除:允许管理员对学生信息进行修改和删除操作;3. 学生信息的统计和分析:能够对学生信息进行统计和分析,如班级人数、平均分等;4. 学生信息的导入和导出:支持将学生信息导入到系统中或导出到Excel等格式;5. 用户权限管理:区分管理员和普通用户权限,保证信息的安全性。
二、系统设计与实现1. 数据库设计根据需求分析,我们可以设计以下表结构:- 学生表(Student):存储学生的基本信息,如学号、姓名、性别、年龄等;- 课程表(Course):存储课程的信息,如课程编号、课程名称、学分等;- 成绩表(Score):存储学生的成绩信息,包括学号、课程编号、成绩等;- 考勤表(Attendance):存储学生的考勤情况,包括学号、课程编号、缺勤次数等。
2. 界面设计学生信息管理系统的界面应具备良好的用户体验,方便用户进行操作。
可以设计以下界面:- 登录界面:用户输入用户名和密码进行登录;- 学生信息查询界面:提供学生信息的查询功能,可以根据学号、姓名等条件进行查询;- 学生信息录入界面:提供学生信息的录入功能,包括学号、姓名、性别等;- 成绩录入界面:提供学生课程成绩的录入功能,包括学号、课程编号、成绩等;- 考勤录入界面:提供学生考勤情况的录入功能,包括学号、课程编号、缺勤次数等。
3. 系统实现学生信息管理系统可以使用Oracle数据库和Java编程语言进行实现。
可以按照以下步骤进行:- 创建数据库表结构:根据设计的表结构,在Oracle数据库中创建相应的表;- 编写数据库操作的Java代码:使用Java编程语言连接数据库,并实现学生信息的增删改查等功能;- 设计和实现系统界面:使用Java Swing等工具设计和实现系统的各个界面;- 实现系统功能逻辑:将数据库操作和界面逻辑进行整合,实现学生信息管理系统的各项功能;- 进行测试和优化:对系统进行全面测试,发现并修复存在的问题,优化系统的性能和用户体验。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于数据库的学生信息管理系统1 引言1.1 课题来源及意义21世纪是信息化的时代,信息化以更快捷更为方便为目标来融入各行各业。
学校也不能例外。
当前,我国的学校正在加紧实施信息化建设,其中学生信息管理是相当重要的一部分。
目前社会上信息管理系统发展飞快,各个事业单位都引入了信息管理系统来管理自己日益增长的各类信息,学生信息管理系统也是有了很大的发展,商业化的学生信息管理系统也不少。
但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作[1]。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都是至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段[2]。
但一直以来人们使用传统人工的方式管理文件,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
在各大高校,用计算机管理学校的信息已经越来越普遍了。
用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。
提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。
1.2 研究内容与目标主要工作包括:新系统在原有系统的基础上加入新的数据库的支持,使用了现金的数据库技术与数据管理技术,是数据的准确性与安全性得到了很大的提高,且在用户的并行操作与用户管理方面也有了极大地改善。
利用虚拟机的运行环境与数据库相结合实现了主要原型系统。
设计了基于三层结构的设计思想。
第 1 页共39 页尽量达到人力与设备费用的节省,并且是软件处理数据的速度提高,系统的整个设计过程必须通过生产能力的提高,系统的整个设计过程必须通过生产能力的提高,人员工作效率的提高等等是软件开发成本最小化,实现保证软件质量的前提下的资金投入最小化[3]。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案进行管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。
这些优点能够用极大地提高的效率,也是学校科学化、正规化管理的重要条件[4]。
1.3 的内容结构第一部分述了项目的来源和意义、课题的研究目标及本论文所做的主要工作。
第二部分总述了对学生管理系统的需求分析,介绍本系统的开发环境和所用到的开发工具。
第三部分是对系统的总体设计。
包括系统功能设计、系统模块划分、系统数据库设计等。
第四部分介绍了系统详细设计,介绍了各个页面实现的具体功能。
第五部分介绍了系统的运行效果。
最后总结了的主要工作,指出的主要贡献和不足,以及进一步的研究工作。
的论文结构图如图所示:第 2 页共39 页绪论第一章第二章系统的研究现状第三章系统的总体设计第四章系统的详细设计图内容结构图结论1.4 本章小结本章简要的概括了项目的来源和意义。
教育是科学之本,随着我国教育的普及和当前全球范围的知识的突飞猛进,一套高质量高效率的学生信息管理系统更是必不可少的,当前不仅是我国还是海外其他国家,均把学校教育放在战略地位,投入巨大的人力物力研制各种教育模式,其中,学生管理信息系统的开发首当其冲。
一套号的管理系统是良好学习环境的组织者[5]。
于信息系统数据量大,传统观的人工操作不仅效率低,准确性不高,而且其完整性、保密性均得不到保证[6]。
信息管理系统,是一种利用计算机软硬件资源以及数据库的人机系统。
本学生信息管理系统是建立在数据库基础上的应用系统,此信息管理系统可以实现学生信息的高效查询、修改、删除等操作,是使学生信息关系系统化,规范化和自动化。
第 3 页共39 页2 需求分析需求分析是一个渐进的过程,通过开发人员和用户的不断交流,逐步加深对系统功能和性能的认识,并且加以细化、分解软件需求。
需求分析是软件开发过程中系统的推理过程,涉及到领域内问题及其组成部分,目的在于理解需要什么和必须做什么,并将用户的需求用书面形式表达出来[7]。
21世纪以来,人类经济高速发展,人们社会发生了日新月异的变化,特别是计算机的应用及到经济和社会生活的各个领域。
使原本的旧的管理办法越来越不适应现在社会的发展。
许多人还停留在以前的手工操作。
这大大地阻碍了人类经济的发展。
为了适应现代社会人们高度强烈的时间观念,学校信息管理系统为学校办公室带来了极大的方便。
开发的这个系统所采用的是当前较为流行的编程语言作为主要工具,以数据库作为系统的后台操作,其功能在系统内部有源代码直接完成。
我们只需按系统要求输入即可操作。
2.1 系统功能需求学生信息管理系统在管理学生中占有重要的地位,它关系着学生信息的基本信息,其中包括学生信息,班级信息,学生成绩信息等。
对于学校来讲,学生信息管理系统是不可缺少的组成部分,它有效地管理学生信息,对学校学生的变动和统计起着重要的管理作用[8]。
本系统根据学校管理的实际要求,结合学生信息管理的实际流程要求,需实现以下功能:1、能够对学生的有关信息进行输入、查询、修改、删除。
2、能够对学校提供强大的查询功能,以便管理人员了解和掌握学生的具体情况。
3、能够对数据进行导入和导出。
4、可以对用户进行修改密码,新增用户。
2.2 系统的性能需求第 4 页共39 页为了保证系统能够长期、安全、稳定、可靠、高效的运行,学生信息管理系统应该满足以下的性能需求:1、系统处理的准确性与及时性系统处理的准确性和及时性是系统的必要性能。
在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求[9]。
2、系统对开放性和系统的可扩充性学生信息管理系统在开发过程中,应该充分考虑以后的可扩充性。
而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。
通过软件的修补替换完成系统的升级和更新换代。
3、系统的易用性和易维护性学生信息管理系统使用人员往往对计算机并不是非常熟悉。
这就要求系统能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面:针对用户可能出现的使用问题,要提供足够的帮助,缩短用户对系统熟悉的过程[10]。
2.3 系统数据要求学生信息管理系统的数据需求包括如下几点:1、数据录入和处理的准确性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而是系统的工作失去意义。
数据的输入来源是手工输入。
手工输入要通过系统界面上的安排系统具有容错性,从而降低出错概率。
2、数据的一致性与完整性学生信息管理系统对数据的处理有很高的要求,因为对学生信息的处理非常频第 5 页共39 页繁,所以要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。
对于输入的数据,要求其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据[11]。
3、数据的独立性学生信息的管理对学校来说是非常重要的一个部分,不可能让每一个人都对其进行操作,应该有特定的人员对学生信息管理系统进行管理,对系统进行独立操作。
2.4 功能需求分析权限功能:系统具有动态的权限分配功能,可按用户权限对用户进行分组。
可分为管理员和学生用户。
学生用户只能修改自己的个人信息,修改密码,以及查询班级成绩和个人成绩。
而管理员则有以下功能:录入功能:管理员用户提供对所有信息的录入功能。
查询功能:管理员提供查询的功能,可查询允许范围内的所有信息,以及学生用户可以查询班级成绩。
维护功能:管理员用户提供对所有信息的修改删除功能。
退出功能:结束并关闭系统。
本系统性能力求易于使用,具体有较高的扩展性和可维护性。
2.5 可行性分析2.5.1 经济可行性随着社会的发展及经济的发展,知识经济已成趋势并在某些方面尤其突出,各大高校都随之扩招。
学生也日趋增多,这个给学籍管理带来了沉重的压力,使用人力来管理已经不可能了,一个好的有规模的信息管理系统已经迫在眉睫了,所以在经济上是十分可行的[12]。
第 6 页共39 页2.5.2 技术可行性系统的性质为管理软件,因而数据库的设计与操纵是系统设计的核心。
之前学习的数据库原理,数据库及有关数据库建设,前台程序与后台数据库的连接,具备一定的系统分析与设计能力,熟悉数据库的设计与操纵。
2.6 本章小结需求分析是软件开发过程的初始阶段,是一个系统的推理过程,涉及到领域问题及其组成部分,目的在于理解需要什么和必须做什么,并将用户的需求用书面形式表达出来。
软件产品的质量,正在很大程度上取决于时候进行过系统的需求分析,并是否取得正确、一致和比较完全的需求文档。
通过需求分析解释信息的流程和结构,为软件设计提供基础,通过表示接口细节提供一个深入的功能说明来描述软件,并确定约束条件和定义软件的有效性[13]。
第7 页共39 页 3 系统概要设计3.1 系统功能设计学生信息管理系统是一个完整的信息管理系统,在本系统中主要包括用户和管理员登录功能、用户和角色管理功能、班级信息管理功能、学生成绩管理功能、学生信息管理功能等。
它们的具体描述如下:用户登录登录功能主要包括的功能如下:用户登录:验证用户的信息是否合法,以及验证用户是否为系统的合法用户。
对于非正确用户用不对应的身份登录进行阻止。
普通用户学生用户:学生用户只能查询自己的个人信息,修改密码,以及查询个人成绩和班级成绩。
系统管理员a、学生信息管理功能学生信息管理功能主要对学生信息的管理,如学生信息的添加,修改和删除等。
在系统中主要包括:查询新的学生信息、添加新的学生信息、修改学生信息、删除学生信息。
b、班级信息管理功能班级信息管理功能主要实现班级的信息管理功能,如班级人数、班级学年平均成绩和所获集体荣誉的添加、修改和删除。
c、学生成绩管理功能学生成绩管理功能主要对学生成绩的管理,如学生成绩的添加、修改和删除等。
其中学习成绩主要包括所学课程、成绩、学分和是否有挂科。
第8 页共39 页3.2 系统功能设计按系统功能设计,可以把学生信息管理系统划分为用户登录模块、用户和角色管理模块、教师信息管理模块、班级和管理模块、课程信息管理模块、学生信息管理模块、学生成绩管理模块。
它们之间的关系如同所示。
管理员普通用户学生信息管理系统图系统结构图学生管理成绩管理班级管理用户管理数据管理个人信息查询个人成绩查询班级成绩查询个人密码修改程序逻辑查询模块当登录用户需要对查询时,要先输入查找关键字,看是否符合条件要求,当符合条件要求时在数据库中的数据表进行查询调用并显示在前台界面上供用户查看,如果不符合条件则直接退出。