版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、理工大学城南学院数据库原理课程设计报告学院城南专业班级学号学生指导教师翌南课程成绩完成日期2013 年 9 月 28 日评分项目优良中及格不及格课程设计中的创造性成果学生掌握课程容的程度课程设计完成情况课程设计动手能力文字表达学习态度规要求课程设计论文的质量课程设计成绩评定学院城南专业班级学号学生指导教师翌南完成日期2013 年 9 月 28 日指导教师对学生在课程设计中的评价指导教师对课程设计的评定意见综合成绩指导教师签字2013 年月日课程名称数据库课程设计时间20132014
2、160;学年第 1 学期 3-4 周学生指导老师翌南题 目会议厅管理系统的设计与实现主要容: 运用数据库原理知识,该实验是 MySQL 数据库结合JAVA 语言设计一个会议厅管理系统,进行对会议厅的预定以及对会议厅的设施进行调整的一些基本功能,并用 MySQL 数据库对会议厅的信息进行简单的储存与修改,使得此系统的功能更加完善。要求:(1)要求能独立地运用 SQL
3、60;语言、JAVA 相关知识和 MySQL 数据库,编制一个简单的会议厅管理系统。(2(3)通过课程设计培养学生严谨的科学态度和团队协作精神。(4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。应当提交的文件:(1)课程设计学年论文。(2)课程设计附件(主要是源程序)。)学生按要求编写课程设计报告书,能正确阐述设计和实验结果。课程设计任务书城南学院计算机科学与技术专业会议厅管理系统摘要本课程设计主要解决 Eclipse 环境系统下 MySQL 的安装与配置实现问题,
4、建立一个会议厅系统并对其进行配置与访问,再用几种方式对其文件进行下载。这里介绍了系统工作原理、中 MySQL 服务器的配置方法、Eclipse 客户端常用命令的使用方法、与在不同系统中户端常用软件的与 MySQL 服务器的连接方法。通过对 MySQL 的学习,初步掌握 MySQL 服务器的安装、启动、设置方法。关键词JAVA;会议厅;MySQL1 引言为了更好的让我们在学习数据库语言的过程中,充分了解和运用数据库语言。本程序设计可以更好的让我们去直观的了解数据库中的概念结构与关系模型的建立,在对
5、实际问题的分析过程中编写数据字典,也给我们提供了一个很好的锻炼平台。1.1 课题设计目的在我们日常学习数据库与 JAVA 的过程中,我们总是对数据库的结构模型、概念模型感到陌生,对数据库的关系模型感到困惑。此次课程设计的目的就是要让我们解决以上这些在平时学习中觉得晦涩的部分进行详细的实现,在设计的过程中,会详细的掌握数据库访问的方法,并用高级语言来实现,进而熟悉数据库的知识,了解实际问题的求解效率与采用怎样的数据库储存的密切联系,最终使我们能够更好的了解与学习数据库系统与数据库语言。1.2 课题设计任务如今不管学校还是其他机构处理会议厅预定信息是一个棘手
6、的事情,本课程系统的开发主要包括后台数据库的建立和维护以及前端应用程序界面开发两个方面。对于后台数据库的建立和维护要求建立起数据的一致性和完整性、数据安全性好、符合 3NF式库。而前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。通过学生宿舍管理系统的设计,熟练掌握 JAVA、MYSQL 等工具软件,系统地掌握需求分析、数据库设计、测试等软件开发的流程,提高自身分析问题、解决问题能力。本课程设计任务是通过开发一个学生宿舍信息管理系统,学习数据库系统的设计与开发,采用 JAVA 和 MySQL
7、60;等软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践,使得设计的数据库系统能够实现一般数据库的管理。2 系统结构分析与设计2.1 功能需求分析会议厅管理系统是适应时代发展的需要,提高管理的效率而开发设计的。通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,实现了会议厅的预定管理的简单化和规划化,提高了工作效率,从而使能够更好的管理。经过综合分析,确定了会议厅预定管理系统的主要包括以下功能:(1). 系统设置功能系统设置包括预定者、职位、时间段、会议设备、会议人数等基本信息,
8、管理模块可以实现以下功能:添加、修改、删除和查看用户名信息、用户职位、年龄;添加、修改、删除和查看用户名信息、所需设备、会议室号;(2). 会议厅预定管理功能此模块的主要功能包括:会议厅已预订管理,包括添加、修改、删除和查看预定信息;会议厅预定管理,包括添加、修改、删除和查看预定信息;(3). 会议厅预定信息统计查询管理本模块用于对会议厅预定信息进行统计和查询,主要功能包括:会议厅的安排状况查询功能;2.2 性能需求分析1硬件环境处理器:AMD Athlon II X2 245 或是更高。存:1GB。硬盘空间:30
9、0GB。2软件环境操作系统: Windows Xp/Vista/72.3 数据字典Book(类):保存有关会议室预订的情况,包括bookID、listDetailId、meetingRoomId、userId、isFinished、isCancel、isEnsure 等属性。bookID:book 记录 ID。listDetailId:会议记录 ID。meetingRoomId:会议室 ID。userId:预订者 ID。isFinished:标示会议室预订是否完成。isCancel:标示会议室预订是否取消
10、。isEnsure:标示会议室预订是否确定。MeetingList(类):会议信息类。保存有关会议的信息。含有属性:listId、userId、partNumber。listId:会议记录 ID。userId:用户 ID。partNumber:会议参加人数。MeetingRoom(类):保存有关会议室的信息,包括属性:meetingRoomId、meetingRoomName、seatingAmount。meetingRoomId:会议室编号。meetingRoomName:会议室名称。seatingAmount:会议室座位容量。2.4 数据库的创建(1)在该系统
11、中数据库的连接使用 MySQL 驱动。在 Eclipse 软件中将驱动添加到工程中,然后在系统中装上 MySQL 的数据库,我们采用的是 MySQL-Front 的应用软件来查看数据库中的表以及数据,当进入图中的按钮时,其即将添加 MySQL 在 Eclipse中的驱动程序,然后只需要在代码中加入数据库与编译平台编译的代码就可以让编译平台就和 MySQL 可以联系起来。图 2.1成功添加数据库驱动包图图 2.2添加驱动界面图(2)在系统中打开
12、160;MySQL 数据库,可以在 DOS 界面中可以很清楚的看到MySQL 数据库的运行状况。图 2.3在 DOS 界面中的运行状况(3)打开 MySQL-Front 软件,在登录命令中运用 localhost 服务器并采用 gbk 的字符集点击进入即可。图 2.4MySQL-Front 登录界面(4)打开 MySQL-Front 软件,可以再 localhost 下面创建自己的数据库名称,然后把创建表的
13、 SQL 语言在编辑器中输入即可创建自己所需的表格。图 2.5MySQL-Front 中创建数据库表2.5 数据库的连接打开 Eclipse,在主程序中输入以下代码即可完成连接。图 3.6Eclipse 中连接数据库代码2.6 数据库备份和恢复方案(1)应用辅助工具进行备份和恢复应用数据库辅助工具(如 sqlbackuptools)进行备份,选择所需要备份的数据库和目标地址即可进行数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进行数据恢复。(2)分离数据库法在企业管理器中右击需要备
14、份的数据库,选择“所有任务”,“分离数据库”,执行分析操作,拷贝数据库 MDF 文件和 LDF 文件。2.7 安全性要求访问数据库时需要输入一些基本的详细信息。有必须填写的信息与可以选填的信息,如果必须填写的信息没有填写,系统将会自动报错。2.8 一致性要求在管理系统相关的表之间,有较强的关联性。为了实现一致性的需求,各个表之间均建立起了相应的一致性约束。2.8 完整性要求根据会议厅预定管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障引起的数据不一致。3 会议厅系统的实现3.1
15、;设计情况在此次会议厅管理系统程序开发过程中,有很多东西值得我们思考并总结。开发过程大体可分为以下几个步骤:(1)思考总体设计方案:总体结构和模块外部设计,功能分配。思考要实现整个程序大体需要的几个模块和其中用到的 JAVA 语言与 SQL 语言基本操作符、语句等。(2)画出总体设计方案流程图:用流程图的形式展现基本编程思想。(3)流程图具体化:即将流程图中的几大模块的具体实现思考清楚,可以用流程图的形式展现并想好实现的关键代码。(4)编辑程序代码:这是一个至关重要复杂而且需要反复修改的环节,在此环节中我发现总体设计和模块思想会存在很多问题,我会不断改进
16、如何实现各函数功能,达到预期效果。(5)代码的调试:在 JAVA 环境下输入代码并进行调试和正确运行。在调试过程中会遇到很多需要精化的地方,需要十足的耐心与细心,不断改进完善程序。(6)最后修饰:程序可以正确运行之后,再不影响程序功能的情况下,运用各种辅助性符号,使界面更加美观漂亮,操作更人性化增强程序的新意与可行性。3.2 小组合作情况由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这部分测试归并到系统编码过程中。整个测试过程基于自顶向下测试的组装模块的方法,先对主模块进行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试,最后再对系统进
17、行全面的整体测试。该程序实现了会议室管理系统应有的功能,即系统设置功能、信息管理功能、查询信息功能。我主要负责登录主界面的设计与数据库会议室列表数据界面的设计,功能实现如图所示,(1)登录主界面图 3.1 CRRS 登陆主界面(2)数据库会议室列表数据图 3.2 数据库会议室列表数据(3) 数据库会议室的增、删、改。图 3.3 数据库会议室列表的新增图 3.4 数据库会议室列表的修改图 3.5 数据库会议室列表的删除4 总结为了提高我们的实践能力,让我们学以致用,能
18、灵活运用所学的知识进行再创造,学校特安排我们进行为期两周的方向综合课程设计,并安排了指导翌南知道老师帮助辅导,让我们在规化、严谨化、实用化上面有了很大进展。通过这次课程设计,使我们更加熟悉的掌握了图的运用。帮助我们熟悉了更多数据库的功能,提高了我们的动手能力,学到了许多解决实际问题的宝贵经验同时也挖掘出了我们潜在的能力,使我们对自己更有自信,对编程也更有兴趣。我相信,只要努力、勤奋、坚持不懈,就没有什么做不到的事,不能还没开始就退缩,要勇于拼搏,敢于创新。参考文献1 Y.Daniel Liang. Java 语言程序设计基础篇M. :
19、;机械工业, 2008.2 严蔚敏. 数据结构(C 语言版)M. : 清华大学, 2006.3 邓一凡, 余勇, 罗云峰. JFC SwingM. : 电子工业, 2005.4 萨师煊, 王珊. 数据库系统概论(第三版)M. : 高等教育, 2005.附录:程序清单MainFrame:public class MainFrame extends J
20、FrameJLabel lab;JButton but1;public MainFrame() lab = new JLabel(new ImageIcon("d:/Blue hills.jpg");lab.setBounds(0, 0, 800, 600);but1 = new JButton("会议厅管理");but1.setBounds(250, 180, 300, 10
21、0);but1.setFont(new Font("华文彩云",Font.BOLD,50);but1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) new SalFrame();dispose(););this.add(but1);this.add(lab);this.setLayout(null);this.setTitle("主界面");this.setS
22、ize(800, 600);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setResizable(false);this.setVisible(true);AddUserFramepublic class AddUserFrame extends JDialog/定义注册信息相关组件JLabel lab1;JLabel lab2;JLabel lab3;JTextField aid;JTextField aname;JTextField
23、160;seat;JButton but;SalFrame sf;public AddUserFrame(SalFrame sf) /设置窗口显示不能切换super(sf,true);this.sf = sf;/创建相应的组件lab1 = new JLabel("会议厅编号:");lab2 = new JLabel("会议厅名称:");lab3 = new JLabel("座位数:&qu
24、ot;);aid = new JTextField(20);aname = new JTextField(20);seat = new JTextField(20);but = new JButton("提交");but.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String&
25、#160;sql="insert into auditoriavalues('"+aid.getText()+"','"+aname.getText()+"',"+seat.getText()+")"/1、注册驱动try Class.forName("oracle.jdbc.driver.OracleDriver"); catch (ClassNotFoundException e1) e1.p
26、rintStackTrace();String url="jdbc:oracle:thin:localhost:1521:oracle"try /2、建立Connection con = DriverManager.getConnection(url, "scott", "tiger");/3、创建SQL执行对象Statement sta = con.createStatement();/4、执行SQLsta.executeUpdate
27、(sql);/5、关闭sta.close();con.close(); catch (SQLException e1) e1.printStackTrace();JOptionPane.showMessageDialog(AddUserFrame.this, "新增成功!");AddUserFrame.this.sf.setTableDate();dispose(););/将基本组件添加到界面中this.add(lab1);this.add(aid);this.add(lab2);this.add(aname);this.a
28、dd(lab3);this.add(seat);this.add(but);/设置界面布局为流式布局this.setLayout(new FlowLayout(FlowLayout.LEFT);this.setTitle("会议厅新增");this.setSize(240, 400);this.setResizable(false);this.setVisible(true);EditUserFramepublic class EditUserFrame extends JDialog/定义注册信息相关组件JLab
29、el lab1;JLabel lab2;JLabel lab3;JTextField aid;JTextField aname;JTextField seat;JButton but;SalFrame sf;public EditUserFrame(SalFrame sf) /设置窗口显示不能切换super(sf,true);this.sf = sf;/创建相应的组件lab1 = new JLabel("会议厅编号:"
30、;);lab2 = new JLabel("会议厅名称:");lab3 = new JLabel("座位数:");aid=newJTextField(sf.table.getValueAt(sf.table.getSelectedRow(),0).toString(),12);aid.setEditable(false);aname=newJTextField(sf.table.getValueAt(sf.table.getSelectedRow(),1).toString(),12);seat
31、=newJTextField(sf.table.getValueAt(sf.table.getSelectedRow(),2).toString(),12);but = new JButton("提交");but.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Stringsql="updateauditoriasetaname='"+anam
32、e.getText()+"',seat="+seat.getText()+" where aid='"+aid.getText()+"'"/1、注册驱动try Class.forName("oracle.jdbc.driver.OracleDriver"); catch (ClassNotFoundException e1) e1.printStackTrace();String url="jdbc:o
33、racle:thin:localhost:1521:oracle"try /2、建立Connection con = DriverManager.getConnection(url, "scott", "tiger");/3、创建 SQL 执行对象Statement sta = con.createStatement();/4、执行 SQLsta.executeUpdate(sql);/5、关闭sta.close();con.
34、close(); catch (SQLException e1) e1.printStackTrace();JOptionPane.showMessageDialog(EditUserFrame.this, "修改成功!");EditUserFrame.this.sf.setTableDate();dispose(););/将基本组件添加到界面中this.add(lab1);this.add(aid);this.add(lab2);this.add(aname);this.add(lab3);this.add(seat);t
35、his.add(but);/设置界面布局为流式布局this.setLayout(new FlowLayout(FlowLayout.LEFT);this.setTitle("会议厅修改");this.setSize(240, 400);this.setResizable(false);this.setVisible(true);LoginFramepublic class LoginFrame extends JFrameJLabel lab1;/定义文本显示(用户)JLabel lab2;/定
36、义文本显示(密码)JTextField tcode;/定义文本输入框JPasswordField pwd;/定义密码输入框JButton but1;/登录按钮JButton but2;/注册按钮/构造方法public LoginFrame()lab1 = new JLabel("用户:");/创建组件lab1.setBounds(80, 40, 80, 50);/定义组件的位置和大小lab2 = new JLabel("密码:
37、");lab2.setBounds(80, 110, 80, 50);tcode = new JTextField();tcode.setBounds(140, 50, 180, 30);pwd = new JPasswordField();pwd.setBounds(140, 120, 180, 30);but1 = new JButton("登录");but1.setBounds(1
38、00, 170, 90, 40);but2 = new JButton("重置");but2.setBounds(210, 170, 90, 40);/为登录按钮添加点击事件but1.addActionListener(new ActionListener() /按钮点击后触发的方法public void actionPerformed(ActionEvent e) boolean flag =
39、false;/1、注册驱动try Class.forName("oracle.jdbc.driver.OracleDriver"); catch (ClassNotFoundException e1) e1.printStackTrace();String url="jdbc:oracle:thin:localhost:1521:oracle"try /2、建立Connection con = DriverManager.getConnection(url
40、, "scott", "tiger");/3、创建 SQL 执行对象Statement sta = con.createStatement();/4、执行 SQL 返回结果集String sql="select * from tuser where tcode='"+tcode.getText()+"' andpwd='"+pwd.g
41、etText()+"'"ResultSet rs = sta.executeQuery(sql);/5、操作结果集while(rs.next()flag = true;/6、关闭rs.close();sta.close();con.close(); catch (SQLException e1) e1.printStackTrace();if(flag=true)/登录成功情况/打开主界面new MainFrame();/关闭登录窗口dispose();else/弹出
42、框消息提示JOptionPane.showMessageDialog(LoginFrame.this, "账号或者密码错误!"););/为注册按钮添加事件but2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) tcode.setText("");pwd.setText(""););/把所有组件添加到窗口中this.add(lab1);this.add
43、(lab2);this.add(tcode);this.add(pwd);this.add(but1);this.add(but2);/设置窗口的布局(坐标定位布局,空布局)this.setLayout(null);/设置窗口标题this.setTitle("用户登录");/设置窗口大小this.setSize(400, 300);/设置窗口不可改变大小this.setResizable(false);/设置窗口关闭时退出程序this.setDefaultCloseOperation(EXIT_ON_CLOSE);/设置窗口显示this.setVisible(tr
44、ue);public static void main(String args) LoginFrame lf = new LoginFrame();SalFramepublic class SalFrame extends JFrameJTable table;/表格显示组件JScrollPane spane;/滚动面板JButton but1;JButton but2;JButton but3;JPanel
45、0;panel;public SalFrame() table = new JTable(this.getData();spane = new JScrollPane(table);but1 = new JButton("新增");but1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ne
46、w AddUserFrame(SalFrame.this););but2 = new JButton("修改");but2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int row = table.getSelectedRow();if(row=-1)JOptionPane.showMessageDialog(SalFrame
47、.this, "请先选择一行再进行修改!");elsenew EditUserFrame(SalFrame.this););but3 = new JButton("删除");but3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) int row = table.getSelectedRow();if(
48、row=-1)JOptionPane.showMessageDialog(SalFrame.this, "请先选择一行再进行删除!");elseString sql="delete auditoria where aid='"+table.getValueAt(row, 0)+"'"/1、注册驱动try Class.forName("oracle.jdbc.driver.OracleDriver"); catch
49、0;(ClassNotFoundException e1) e1.printStackTrace();String url="jdbc:oracle:thin:localhost:1521:oracle"try /2、建立Connectioncon=DriverManager.getConnection(url,"scott","tiger");/3、创建 SQL 执行对象Statement sta = con.createStatement();/4、执行 SQLsta.executeUpdate(sql);/5、关闭sta.close();con.close(); catch (SQLException e1) e1.printStackTrace();JOptionPane.showMessageDialog(SalFrame.this, "删除成功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年水泥砖行业环保设施共建共享合同3篇
- 2025年度龙楼中心小学校园文化建设与活动策划合同4篇
- 2025年度临时工劳动合同书模板(适用于建筑行业)4篇
- 2025年度重点防火单位消防设备检测外包合同3篇
- 2025年度二手房买卖合同法律援助合同4篇
- 二零二五年电影院线上映合作合同3篇
- 二零二五年度老砖回收利用与红砖销售合同3篇
- 2025年度智能安防系统设计施工合同4篇
- 二零二五年度煤炭运输合同信息化改造实施协议4篇
- 2025年度港口码头船舶引航与拖轮服务合同4篇
- 深圳2024-2025学年度四年级第一学期期末数学试题
- 中考语文复习说话要得体
- 《工商业储能柜技术规范》
- 华中师范大学教育技术学硕士研究生培养方案
- 医院医学伦理委员会章程
- 初中班主任案例分析4篇
- 公司7s管理组织实施方案
- Q∕GDW 12147-2021 电网智能业务终端接入规范
- 仁爱英语单词默写本(全六册)英译汉
- 公园广场绿地文化设施维修改造工程施工部署及进度计划
- 塑料件缺陷汇总
评论
0/150
提交评论