东港学院 数据库课程设计报告.docx

上传人:b****6 文档编号:16175914 上传时间:2023-07-11 格式:DOCX 页数:25 大小:1.41MB
下载 相关 举报
东港学院 数据库课程设计报告.docx_第1页
第1页 / 共25页
东港学院 数据库课程设计报告.docx_第2页
第2页 / 共25页
东港学院 数据库课程设计报告.docx_第3页
第3页 / 共25页
东港学院 数据库课程设计报告.docx_第4页
第4页 / 共25页
东港学院 数据库课程设计报告.docx_第5页
第5页 / 共25页
东港学院 数据库课程设计报告.docx_第6页
第6页 / 共25页
东港学院 数据库课程设计报告.docx_第7页
第7页 / 共25页
东港学院 数据库课程设计报告.docx_第8页
第8页 / 共25页
东港学院 数据库课程设计报告.docx_第9页
第9页 / 共25页
东港学院 数据库课程设计报告.docx_第10页
第10页 / 共25页
东港学院 数据库课程设计报告.docx_第11页
第11页 / 共25页
东港学院 数据库课程设计报告.docx_第12页
第12页 / 共25页
东港学院 数据库课程设计报告.docx_第13页
第13页 / 共25页
东港学院 数据库课程设计报告.docx_第14页
第14页 / 共25页
东港学院 数据库课程设计报告.docx_第15页
第15页 / 共25页
东港学院 数据库课程设计报告.docx_第16页
第16页 / 共25页
东港学院 数据库课程设计报告.docx_第17页
第17页 / 共25页
东港学院 数据库课程设计报告.docx_第18页
第18页 / 共25页
东港学院 数据库课程设计报告.docx_第19页
第19页 / 共25页
东港学院 数据库课程设计报告.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

东港学院 数据库课程设计报告.docx

《东港学院 数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《东港学院 数据库课程设计报告.docx(25页珍藏版)》请在冰点文库上搜索。

东港学院 数据库课程设计报告.docx

东港学院数据库课程设计报告

淮海工学院计算机工程学院

课程设计报告

设计名称:

数据库原理及应用课程设计

姓名:

学号:

专业班级:

D班级091

系(院):

东港学院

设计时间:

2011.12.19~~2011.12.30

设计地点:

东港学院D2-308

 

指导教师评语:

 

签名:

年月日

 

1概述

现如今,宾馆行业发展迅速,市场的竞争日相当激烈,全面提高宾馆的软件管理水平,已经成为每个宾馆业务发展的当务之急。

特别是对于星级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。

然而,传统的人工管理模式已经远远不能满足快速地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。

因此,想要在竞争中打败对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。

而对宾馆的经营状况起决定作用的是客房的管理。

简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。

传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系统是各大宾馆所需要使用的一个管理系统。

2需求分析

2.1数据流图

2.2数据字典:

根据系统功能模块结构图及典型旅店客房管理系统的需求,总结出来如下的数据字典:

(1)数据项说明

数据项名称

含义说明

类型

长度

记录编号

惟一标识一条记录

bigint

8

客房编号

惟一标识一间客房

varchar

10

离店时间

标识离店时间

datetime

8

金额

标识所收金额

money

8

类别

标识客房类别

smallint

2

名称

标识客房类别名称

varchar

20

价格

标识客房价格

money

8

(2)数据流说明

数据流名称

含义

来源

去向

组成

登陆

管理员进入系统操作

客房管理系统

管理员端

编号+密码

查询已住房

查询住房资料

客人信息表

统计界面

客人信息表+客房编号表

查询空房

查询空住房

客房编号表

统计界面

客房编号表

查询房号

查询房号信息

客人信息表

统计界面

客人信息表

计算

计算金额

客房管理系统

管理员端

客房管理系统

登记,删除

录入住房信息

管理员端

客房管理系统

系统数据库

统计

统计住房信息

系统数据库

统计界面

系统数据库

(3)数据存储说明

数据存储名称

含义说明

组成结构

历史记录表

存放客房历史的有关信息

客房编号+金额

客人信息表

存放客人相关的信息

个人信息+住店时间+金额

客房类别表

存放客房对应的价格

类别+价格

客房编号表

存放客房对应的编号

类别+编号

管理人员表

存放管理员验证信息

编号+密码

3系统设计

3.1概要设计—E-R图

依据客房管理系统的实际情况,考虑了多方面的因素以后,确定系统的E-R图,如图所示:

(1)历史记录E-R图

(2)管理人员E-R图

(3)客房类别E-R图

(4)客房编号E-R图

(5)客人信息E-R图

(6)客房管理系统E-R图

2、逻辑设计—E-R图实体转换表/联系转换表

客人信息(客房编号,姓名,性别,年龄,身份证号码,家庭住址,工作单位,来自地的地名,预定入住时间,入住时间,离店时间,押金,需负金额)

客人类别(类别,名称,价格)

客房编号(编号,类别)

历史记录(记录编号,客房编号,离店时间,金额)

管理人员(编号,密码)

3、将关系模型转换称SQL中的表

(1)管理人员表

CREATERTABLE 管理人员(

编号varchar(10)notnullprimarykey,

密码varchar(20)notnull

(2)客房编号表

CREATERTABLE客房编号(

编号varchar(10)notnullprimarykey,

类别smallintnotnull

(3)客房类别表

CREATERTABLE客房类别(

类别smallintnotnullprimarykey,

名称varchar(20)notnull,

价格moneynotnull

(4)客人信息表

CREATERTABLE客人信息(

客房编号varchar(10)notnullprimarykey,

姓名varchar(10)notnull,

性别char

(2)notnull,

年龄tingint,

省份证号码varchar(20)notnull,

家庭住址varchar(50)notnull,

工作单位varchar(50)notnull,

来自地的地名varchar(50)notnull,

预定入住时间datetimenotnull,

入住时间datetimenotnull,

离店时间datetime,

押金moneynotnull,

需负金额money

(5)历史记录表

CREATERTABLE历史记录(

记录编号bigintnotnullprimarykey,

客房编号varchar(10)notnull,

离店时间datetimenotnull,

金额moneynotnull

4系统实现

1、功能模块图

2、

关键语句的代

(1)添加功能

publicvoidactionPerformed(ActionEventae)

{

if(ae.getSource()==bBack)

{

dispose();

}

elseif(ae.getSource()==bAdd)

{

if(tNo.getText().equals("")||tName.getText().equals("")||tSex.getText().equals("")||tAge.getText().equals("")||tAddress.getText().equals("")||tIdentication.getText().equals("")||tWorkPlace.getText().equals("")||tFrom.getText().equals("")||tRoomNo.getText().equals("")||tWillIn.getText().equals("")||tIn.getText().equals("")||tCash.getText().equals(""))

{

JOptionPane.showMessageDialog(null,"添加信息不能为空!

","提示",JOptionPane.ERROR_MESSAGE);

}

else

{

Stringa1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11;

intr;

a1="'"+tName.getText().trim()+"'";

a2="'"+tSex.getText().trim()+"'";

a3="'"+tAge.getText().trim()+"'";

a4="'"+tIdentication.getText().trim()+"'";

a5="'"+tAddress.getText().trim()+"'";

a6="'"+tWorkPlace.getText().trim()+"'";

a7="'"+tFrom.getText().trim()+"'";

a8="'"+tRoomNo.getText().trim()+"'";

a9="'"+tWillIn.getText().trim()+"'";

a10="'"+tIn.getText().trim()+"'";

a11="'"+tLeave.getText().trim()+"'";

inti=Integer.valueOf(tCash.getText()).intValue();

Stringb="insertinto客人信息(客房编号,姓名,性别,年龄,身份证号码,家庭住址,工作单位,来自地的地名,预定入住时间,入住时间,离店时间,押金)VALUES("+a8+","+a1+","+a2+","+a3+","+a4+","+a5+","+a6+","+a7+","+a9+","+a10+","+a11+","+i+")";

Connectionconn;

PreparedStatementstat;

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection("jdbc:

odbc:

KFGUI","sa","");

stat=conn.prepareStatement(b);

r=stat.executeUpdate();

if(r<1)

{

JOptionPane.showMessageDialog(null,"添加失败!

","提示",JOptionPane.ERROR_MESSAGE);

}

else

{

JOptionPane.showMessageDialog(null,"添加成功!

","提示",JOptionPane.INFORMATION_MESSAGE);

}

conn.close();

}

catch(Exceptione)

{

e.printStackTrace();

}

}

}

}

(2)删除功能

publicvoidactionPerformed(ActionEventae)

{

if(ae.getActionCommand()=="返回")

{

this.dispose();

}

elseif(ae.getActionCommand()=="删除")

{

Connectioncon;

PreparedStatementstat;

Stringb="deletefrom管理人员where编号="+"'"+tNO.getText()+"'"+"";

//intr;

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con=DriverManager.getConnection("jdbc:

odbc:

KFGUI","sa","");

stat=con.prepareStatement(b);

stat.executeUpdate();

JOptionPane.showMessageDialog(null,"删除成功!

","提示",JOptionPane.INFORMATION_MESSAGE);

}

catch(Exceptione)

{

e.printStackTrace();

}

}

}

(3)查询功能(精确查询和模糊查询)

publicvoidactionPerformed(ActionEventae)

{

if(ae.getSource()==bBack)

{

dispose();

}

elseif(ae.getSource()==bSearch&&jrbName.isSelected())

{

if(tName.getText().equals(""))

{

JOptionPane.showMessageDialog(null,"请输入名字!

","提示",JOptionPane.INFORMATION_MESSAGE);

}

else

{

inti=0;

Connectionconn;

Statementstat;

ResultSetrs;

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection("jdbc:

odbc:

KFGUI","sa","");

stat=conn.createStatement();

rs=stat.executeQuery("select姓名,性别,工作单位,客房编号,入住时间from客人信息"+

"where姓名="+"'"+tName.getText()+"'");//精确查询

if(rs.next())

{

a[i][0]=rs.getString("姓名");

a[i][1]=rs.getString("性别");

a[i][2]=rs.getString("工作单位");

a[i][3]=rs.getString("客房编号");

a[i][4]=rs.getString("入住时间");

i++;

this.setVisible(false);

this.setVisible(true);

}

else

JOptionPane.showMessageDialog(null,"没有此信息!

","提示",JOptionPane.ERROR_MESSAGE);

}

catch(Exceptione)

{

JOptionPane.showMessageDialog(null,"连接失败!

","提示",JOptionPane.ERROR_MESSAGE);

}

}

}

elseif(ae.getSource()==bSearch&&jrbNo.isSelected())

{

inti=0;

Connectionconn;

Statementstat;

ResultSetrs;

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

conn=DriverManager.getConnection("jdbc:

odbc:

KFGUI","sa","");

stat=conn.createStatement();

rs=stat.executeQuery("select姓名,性别,工作单位,客房编号,入住时间from客人信息"+

"where姓名like"+"'"+tName.getText()+"%'");//模糊查询

if(rs.next())

{

a[i][0]=rs.getString("姓名");

a[i][1]=rs.getString("性别");

a[i][2]=rs.getString("工作单位");

a[i][3]=rs.getString("客房编号");

a[i][4]=rs.getString("入住时间");

i++;

this.setVisible(false);

this.setVisible(true);

}

else

JOptionPane.showMessageDialog(null,"没有此信息!

","提示",JOptionPane.ERROR_MESSAGE);

}

catch(Exceptione)

{

JOptionPane.showMessageDialog(null,"连接失败!

","提示",JOptionPane.ERROR_MESSAGE);

}

}

}

5系统测试及用户手册

1、该宾馆客房管理的运行环境

要求客户机装有一下系统和软件:

系统:

WindowsXP或Windows7

编程环境:

Textpad

编程语言:

Java

数据库:

SQLServer2005

2、数据库连接步骤

(1)首先,在SQLServer2005中附加数据库,来自D:

\sj\KFGUI\数据,名称为“宾馆客房管理”;

(2)在控制面板—管理工具—数据源—用户DNS—添加,添加的步骤如下图:

3、用户如何使用该管理,首先,本管理系统中有多个用户名及密码,用户只要记住一组用户名和密码便可以登录客房管理的主界面,登录的同时已经自己帮你连接上了数据库。

主界面中主要分成五个部分:

系统(登陆、注销、退出),查询(已住或已预定房号、空房号、按姓名模糊查询和精确查询、结账),登录(添加、删除),统计(入住数量、入住率、收入),帮助(关于)。

用户可以根据自己的需求选择使用。

4、主要功能模块和主界面的相关截图

(1)还未登录的主界面,如图一

图一

(2)点击系统—登陆—输入“用户名”和“密码”,让后登录主界面,如图二

图二

(3)登录后显示“提示界面”,则表明你已经成功的登录,如图三

图三

(4)点击—查询—按姓名精确查询,输入“肖楠”显示该客人的全部的信息,如图四

图四

(5)点击—查询—按姓名模糊查询,输入“肖”显示该客人的全部的信息,如图五

图五

(6)点击—登记—添加,输入相关信息,然后点击添加,显示添加成功后查看数据库,前后数据对比,如图六、图七、图八

图六

图七

图八

(7)点击—登记—删除,输入编号,进行删除控件,删除成功后,同样查看数据库前后数据,如图九、图十、图十一

图九

图十

图十一

6课程设计心得体会

两个星期充实而又紧张的课程设计过去了,本次课程设计对我来说是一次全面的考察,这次课程设计不仅仅运用到JAVA的知识,还结合了本学期所学的数据库的只是,使我们体会到了各门课程之间的联系和综合运用,要学号一门课程,就是应该多角度思考,多联系,这样可以使我们记忆的更深刻运用的更好。

这次的课程设计没有向以往一样分几个人一个小组,而是一个人为一组,这就意味着一个人要完成几个人的任务,所以对于我来说是一次挑战。

为了能够更好的完成此次课程设计,在做之前,我查阅了一些相关的资料,在资料中,我明确了我应该干什么,也对我所选的课题进行进一步的巩固。

首先是要纵观全局,从大处着手,先是需求分析,这是设计过程的基础,是最困难,最耗时的一步。

作为"地基"的分析是否做的充分与准确,决定了在其上构建数据库的速度和质量,需求分析做的不好,甚至会导致整个数据库设计的返工重做。

然后开始编写程序这个过程我参照了一些教材后完成。

当然,这其中也遇到过问题,比如:

界面的设计如何让人更容易接受、更人性化,用什么样的布局,配上什么样的背景:

在连接数据库是也出现了一些问题,不过通过老师的帮助,最终害死算顺利的完成了。

从这次课程设计中我学到了,不能遇见困难就退缩,要勇于去面对,去解决它,而这个解决问题的过程也就是自我经验的一次次积累。

参考文献

[1]马朝晖(译).JAVA教程(第4版).北京:

人民邮电出版社.2007

[2]施珺.JAVA语言实验与课程设计指导(第1版).南京大学出版社.2010

[3]耿详义.JAVA2教程.北京:

清华大学出版社.2004

[4]汤一平.JAVA语言程序设计.北京:

科学出版社.2006

[5]贾长云.数据库原理与运用—SQLServer2005(第1版).大连理工大学出版社.2011

[6]明日科技.Java项目开发案例整合.电子工业出版社.2011

[7]丁振凡.Java语言程序设计.清华大学出版社.2010

[8]孙卫琴.Java面向对象编程.电子工业出版社.2006

[9]刘宏,张晓云.SQLServer2005数据库应用技术.机械工业出版社.2011

[10]杜文洁,白萍.数据库开发技术—SQLServer2005.水利水电出版社.2009

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2