ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:279.29KB ,
资源ID:11519368      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11519368.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计独创.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计独创.docx

1、数据库课程设计独创成绩课程设计报告 题 目 求职与招聘系统 课 程 名 称 数据库课程设计 院 部 名 称 计算机工程学院 专 业 计算机科学与技术 班 级 13计算机科学与技术 学 生 姓 名 * 学 号 130520* 课程设计地点 1316 课程设计学时 30 指 导 教 师 CAP 目录1 引 言 - 1 -1.1 课程设计背景 - 1 -1.2 课程设计的目的 - 1 -2 系统分析与设计 - 1 -2.1 系统功能与分析 - 1 -2.2 系统总体设计 - 2 -3 数据库设计 - 2 -3.1 数据库概念结构 - 3 -3.2 数据库逻辑结构 - 5 -3.3 数据库的实现 -

2、6 -4 详细设计与实现 - 7 -4.1 登录界面 - 7 -4.2 管理员主界面 - 10 -4.3 用户管理界面 - 12 -4.4 求职者主界面 - 16 -4.5 招聘信息查询 - 17 -4.6 个人资料修改 - 18 -4.7 招聘者主界面 - 18 -4.8 发布招聘信息界面 - 19 -4.9 公司资料修改 - 19 -5 结 论 - 20 -附录: - 20 -1 引 言1.1 课程设计背景随着科学技术的不断提高,计算机科学已经进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人力资源信息进行管理,具有人工所无法比拟的有点。现代社会的招聘种

3、类多,信息量大,想要提高招聘效率、降低成本、提高质量和管理水平,必须借助计算机来进行现代化的招聘管理。1.2 课程设计的目的课程设计是为了增强学生对所学课程的理解,学会综合地、灵活地运用所学课程知识的一个重要的实践环节。本课程设计是应用JAVA程序设计语言进行数据库应用系统的开发,用SQL Server 2005进行后台数据库的管理。通过本次课设可以达成如下目标:1)能够运用数据库原理的理论知识知道软件设计;2)学会数据库的设计,并能对设计结果的优劣进行正确的评价;3)学会如何组织和编写信息系统软件设计文档和软件系统的操作说明;4)掌握SQL Server 2005数据库在信息系统开发过程中的

4、应用。5)掌握数据库的使用和开发,提高分析问题、解决问题和实践应用能力。2 系统分析与设计2.1 系统功能与分析开发次系统的总体任务是实现对求职者与招聘者管理的系统化、规范化、自动化、简便化,从而达到提高招聘效率。2.2 系统总体设计图2.1系统功能模块图3 数据库设计3.1 数据库的需求分析通过一系列的分析与思考,决定将数据库以如下方式建立:求职与招聘系统主要功能分为3个模块:管理员模块、求职者模块、招聘者模块。管理员模块分4个子模块:查询用户模块、添加用户模块、删除用户模块、修改用户模块;求职者模块分2个子模块:信息修改模块、招聘信息查询模块;招聘者模块分2个子模块:信息修改模块、招聘信息

5、发布模块、应聘查询。3.2 数据库的概念结构本系统有4个实体,管理员、求职者、招聘者、招聘信息,所以建立4张表。图3.1 系统E-R图图3.1 实体属性3.3 数据库的逻辑结构以下为各个表的关系模式,其中下面加下划线的为该表的主码,加波浪线的为该表的外码。管理员(账号,密码,姓名)字段名字段类型大小字段含义账号Varchar10账号,按顺序编号,主键密码Varchar15登录的必要条件之一姓名Varchar10管理员的姓名求职者(账号,密码,姓名,性别,电话)字段名字段类型大小字段含义账号Varchar10账号,按顺序编号,主键密码Varchar15登录的必要条件之一姓名Varchar10求职

6、者的姓名性别Varchar2用户性别电话Varchar11用户电话招聘者(账号,密码,姓名,电话,公司名)字段名字段类型大小字段含义账号Varchar10账号,按顺序编号,主键密码Varchar15登录的必要条件之一姓名Varchar10招聘者的姓名电话Varchar11公司电话公司名Varchar11招聘公司的名字招聘信息(信息编号,发布者,联系电话,招聘内容)字段名字段类型大小字段含义信息编号Varchar10招聘信息的流水号,主键发布者Varchar10招聘者账号,外键电话Varchar11提供给求职者联系的电话招聘内容VarcharMax招聘内容详细说明3.4 数据库的物理设计3.5

7、数据库的实现3.3.1管理员表图3.3.1 管理员表3.3.2求职者表图3.3.2 求职者表3.3.3招聘者表图3.3.3 招聘者表3.3.4招聘信息表图3.3.4 招聘信息表4 详细设计与实现4.1 登录界面图4.1 登录界面用户必须输入正确的账号、密码,点击登录按钮即可登录,登录后系统自动识别用户级别,显示不同的界面和功能。主要代码:public class Login extends JFrame implements ActionListener /登陆框 private JButton btn=new JButton(登录); public JTextField namef=new

8、JTextField(10); public JPasswordField pwdf=new JPasswordField(10); public Login() Dimension Screensize=Toolkit.getDefaultToolkit().getScreenSize(); this.setTitle(登录窗口); JLabel namel=new JLabel(账号:); JLabel pwdl=new JLabel(密码:); this.setLayout(new FlowLayout(); this.add(namel); this.add(namef); this.

9、add(pwdl); this.add(pwdf); this.add(btn); btn.addActionListener(this); this.setResizable(false); this.setBounds(int)(Screensize.getWidth()/2-100),(int)(Screensize.getHeight()/2-60), 200, 120); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); public static void main(String args) n

10、ew Login(); public void actionPerformed(ActionEvent e) boolean Suc=false; /后续测试所用代码 if(e.getSource()=btn) this.setVisible(false); new ListUI(); if(e.getSource()=btn) /连接数据库 Connection conn=null; Statement pstmt=null; ResultSet rs=null; try /加载驱动 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDr

11、iver); /创建连接对象 String url =jdbc:sqlserver:/localhost:1433;databaseName=JobDB; /注册驱动程序,打开连接对象 conn = DriverManager.getConnection(url,sa,123456); pstmt=conn.createStatement(); rs=pstmt.executeQuery(select * from Admin where admin_id=+namef.getText()+ and password=+pwdf.getText()+); while(rs.next() Suc

12、=rs.getString(1).equals(namef.getText()& rs.getString(2).equals(pwdf.getText(); if(Suc) /验证通过,关闭登录窗口,显示新窗口 this.setVisible(false); new ListUI(); break; if(!Suc) JOptionPane.showMessageDialog(this, 账号或密码错误!); pwdf.setText(); catch(Exception e1) e1.printStackTrace(); finally try if(conn!=null) conn.cl

13、ose(); if(pstmt!=null) pstmt.close(); if(rs!=null) rs.close(); catch(Exception e2) e2.printStackTrace(); 4.2 管理员主界面管理员主界面采用最简洁的设计方法,只有两个按钮。图4.2 管理员主界面管理员可以根据需要管理的对象来进行选择。主要代码:public class ListUI extends JFrame implements ActionListener /定义一些界面控件 JLabel jl=new JLabel(请选择管理对象,JLabel.CENTER); JButton j

14、b1=new JButton(管理求职者); JButton jb2=new JButton(管理招聘者); JPanel jp=new JPanel(); public ListUI() this.setTitle(管理用户组); /两个按钮,一个是管理求职者的按钮,一个是管理招聘者的按钮 /对按钮的监听 jb1.addActionListener(this); jb2.addActionListener(this); /界面布局 jp.add(jl); jp.add(jb1); jp.add(jb2); this.add(jp); Dimension Screensize=Toolkit.

15、getDefaultToolkit().getScreenSize(); this.setBounds(int)(Screensize.getWidth()/2-100),(int)(Screensize.getHeight()/2-65),200,130); /界面的一些规则 this.setResizable(false); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); public void actionPerformed(ActionEvent e) / TODO Auto-generated

16、method stub if(e.getSource()=jb1) this.setVisible(false); new JobHtManage(); if(e.getSource()=jb2) this.setVisible(false); new Recruitment(); 4.3 用户管理界面图4.3 求职者管理界面1图4.3 招聘者管理界面2部分代码:public class JobHtManage extends JFrame implements ActionListener /定义一些控件 JPanel jp1,jp2; JLabel jl1; JButton jb1,jb2

17、,jb3,jb4; JTextField jtf; JTable jt=null; JScrollPane jsp=null; UserModel um; PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; public JobHtManage() jp1=new JPanel(); jtf=new JTextField(10); jb1=new JButton(查询); jb1.addActionListener(this); jl1=new JLabel(请输入名字); jp1.add(jl1); jp1.ad

18、d(jtf); jp1.add(jb1); jp2=new JPanel(); jb2=new JButton(添加); jb2.addActionListener(this); jb3=new JButton(修改); jb3.addActionListener(this); jb4=new JButton(删除); jb4.addActionListener(this); /把按钮加入到界面jp2 jp2.add(jb2); jp2.add(jb3); jp2.add(jb4); /创建一个数据模型对象 um=new UserModel(); /初始化JTable jt=new JTabl

19、e(um); /初始化jsp JScorllPane jsp=new JScrollPane(jt); /把jsp放入到jframe this.add(jsp); this.add(jp1,North); this.add(jp2,South); Dimension Screensize=Toolkit.getDefaultToolkit().getScreenSize(); this.setBounds(int)(Screensize.getWidth()/2-300),(int)(Screensize.getHeight()/2-150),600,300); this.setDefault

20、CloseOperation(JFrame.EXIT_ON_CLOSE ); this.setVisible(true); public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub /判断点击的按钮 if(e.getSource()=jb1) /System.out.println(用户在查询); /查询操作 String name=this.jtf.getText().trim(); /sql语句 String sql=; if(!name.equals() sql=select * from J

21、obhunter1 where 姓名 like %+name+%; /构建新的数据模型,并更新 um=new UserModel(sql); /更新JTable jt.setModel(um); /当用户点击添加按钮 else if(e.getSource()=jb2) JobhunterDialog sa=new JobhunterDialog(this,添加用户,true); /重新获得新的数据模型 /构建新的数据模型,并更新 um=new UserModel(); /更新JTable jt.setModel(um); else if(e.getSource()=jb3) /用户要修改信息

22、 int rowNum=this.jt.getSelectedRow(); if(rowNum=-1) JOptionPane.showMessageDialog(this,未选中任何行!); return ; /显示修改对话框 new JobHtUpdDialog(this,修改用户,true,um,rowNum); /更新数据模型 um=new UserModel(); /更新JTable jt.setModel(um); else if(e.getSource()=jb4) /用户想要做删除操作 /首先获取选择行的ID,未选中返回-1 int rowNum=this.jt.getSele

23、ctedRow(); if(rowNum=-1) /未选中任何一行,则提示用户 JOptionPane.showMessageDialog(this,未选中任何行!); return ; /获取ID String JobID=(String)um.getValueAt(rowNum,0); /连接数据库完成删除操作 try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);ct=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;databaseName=Jo

24、bDB,sa,123456); ps=ct.prepareStatement(delete from Jobhunter1 where 账号=?); ps.setString(1,JobID); ps.executeUpdate(); catch(Exception e1) e1.printStackTrace(); finally /关闭资源 try if(rs!=null) rs.close(); if(ps!=null) ps.close(); if(ct!=null) ct.close(); catch(Exception e2) e2.printStackTrace(); /更新数据

25、模型 um=new UserModel(); /更新JTable jt.setModel(um); 4.4 求职者主界面求职者主界面还是沿用了管理员界面的,考虑到用户使用的方便性、直观性,还是采用简洁设计。图4.5 求职者主界面4.5 招聘信息查询图4.6招聘信息查询模块4.6 个人资料修改图4.7 个人资料修改4.7 招聘者主界面图4.8 招聘者主界面4.8 发布招聘信息界面图4.9 发布招聘信息界面4.9 公司资料修改图4.10 查看用户所发主题帖的评论5 结 论通过30个课时与平时的学习与设计,我不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。虽说上过数据库相关

26、的课程,但是没有亲身经历过相关的设计工作细节。这次课程设计给我提供了一个很好的机会。通过这次课程设计发现这其中需要的很多知识我们没有接触过,上网查找资料的时候发现我们以前所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我不断的以及大量的实践,通过不断的学习,不断地发现问题,思考问题,今儿解决问题。在这个过程中我们将深刻理解所学知识,同时也可以学到不少实用的东西。这次的数据库课程设计,我们每个人选一个课题,我选的是求职与招聘系统,题目是自拟的。因为这个课题很热门,现在有很多人事部门需要这种。从选课题到开始写代码期间用了很多时间来进行对系统的分析、结构设计、以及设计数据库,其中设计数据库是最难的,需要考虑的特别多,例如:表与表的关系,每张表都因该有哪些主键和外键,这都需要充分的去考虑,还有涉及到各种实体、属性、数据流程、数据处理等。不过这次课设我还没有做完善,还有很多功能和漏洞没有去处理,比如注册模块,对信息的管理,没有对密码进行加密,安全性没有考虑周全等。附录:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1