最新版数据库课程设计报告4182865Word文档下载推荐.docx

上传人:b****6 文档编号:20684756 上传时间:2023-01-25 格式:DOCX 页数:34 大小:362.84KB
下载 相关 举报
最新版数据库课程设计报告4182865Word文档下载推荐.docx_第1页
第1页 / 共34页
最新版数据库课程设计报告4182865Word文档下载推荐.docx_第2页
第2页 / 共34页
最新版数据库课程设计报告4182865Word文档下载推荐.docx_第3页
第3页 / 共34页
最新版数据库课程设计报告4182865Word文档下载推荐.docx_第4页
第4页 / 共34页
最新版数据库课程设计报告4182865Word文档下载推荐.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

最新版数据库课程设计报告4182865Word文档下载推荐.docx

《最新版数据库课程设计报告4182865Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《最新版数据库课程设计报告4182865Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。

最新版数据库课程设计报告4182865Word文档下载推荐.docx

本系统实现对宾馆信息的管理和总体的统计等,营业信息的查看和维护。

操作管理人员可以浏览,查询,添加,删除等宾馆的基本信息等。

本系统基本包含了宾馆管理的主要需求,具有完善细致的功能:

1)系统具有高可靠性、安全性、操作性;

2)模块化结构,具有强大的数据处理功能,可根据业务需要,十分便捷地进行模块增减,灵活地进行系统组合;

3)直观的图形用户界面,面向事务处理。

随心所欲的查询,并全面支持分析和决策的功能。

(二)系统逻辑模型

1.数据流程图

2.数据字典

(1)用户信息表

用户信息表(UsersInfo)用来保存使用该系统的酒店员工的基本信息,表UsersInfo的结构如表1所示。

表1用户信息表(UsersInfo)

编号

字段名称

数据结构

说明

1

UserId

Int

用户编号

2

Name

Varchar(50)

用户姓名

3

Password

密码

4

Gender

性别(0-男,1-女)

5

Email

Email地址

6

Address

通讯地址

7

Telephone

联系电话

8

Department

所在部门

9

Type

用户类型(1-酒店管理员,2-前台服务员

(2)客户信息表

客户信息表(CustomersInfo)用来保存在酒店订房的客户的基本信息,表CustomersInfo的结构如表2所示。

表2客户信息表(CustomersInfo)

CIdentityId

nVarchar(50)

身份证号

CName

客户姓名

CPhone

(3)客房类型表

客房类型表(RoomCategory)用来保存酒店所有客房类型的基本信息,表RoomCategory的结构如表3所示。

表3客房类型表(RoomCategory)

RCategoryId

客房类型编号

类型名称

Area

Float

客房面积

BedNum

配置床位

Price

Money

客房价格

AirCondition

配置空调(0-是,1-否)

TV

配置电视(0-是,1-否)

(4)客房信息表

客房信息表(RoomsInfo)用来保存酒店所有客房的相关信息,表RoomsInfo结构的如表4所示。

表4客房信息表(RoomsInfo)

RoomId

客房号

RPostition

客房位置

Description

描述

(5)客房状态表

客房状态表(RoomStatus)用来保存客房使用情况的基本信息,表RoomStatus结构的如表5所示。

表5客房状态表(RoomStatus)

客房编号

Status

状态(1-空房,2-入住)

(6)客房业务表

客房业务表(RoomOperation)用来保存目前酒店正有客户入住的客房的相关信息,表RoomOperation的结构如表6所示。

表6客房业务表(RoomOperation)

BeginTime

DateTime

入住时间

客户身份证号

Remarks

备注

(7)业务记录表

业务记录表(History)用来保存酒店里所有入住过客户的客房的业务信息,表History的结构如表7所示。

表7业务记录表(History)

EndTime

退房时间

TotalPrice

金额

客户电话

三、系统设计

(一)数据库概念设计

E-R图的分析工作通常采用自底向下的设计方法,首先对局部视图进行分析设计,然后再实现视图集成。

宾馆客房管理系统一般包括如下几个表:

用户信息(UsersInfo)、客户信息(CustomersInfo)、客房类型(RoomCategory)、客房信息(RoomsInfo)、客房状态(RoomStatus)、客房业务(RoomOperation)、业务记录(History)。

他们之间关系如图1所示。

图1宾馆客房管理系统E-R图

(二)数据库逻辑设计

将数据库的概念模型转换为关系模型:

实体转换成的关系模式有:

用户信息(编号,姓名,密码,性别,Email地址,通讯地址,联系电话,所在部门,用户类型)(用来保存使用该系统的酒店员工的基本信息)

客户(身份证号,客户姓名,联系电话)

客房(客房类型编号,类型名称,客房面积,配置床位,客房价格,是否配置空调,是否配置电视,客房号,客房类型编号,客房位置,描述客房编号,状态)

业务(入住时间,退房时间,客房编号,金额,客户身份证号,客户姓名,客户电话,备注)

(三)数据库与数据表设计——物理结构设计

在SQL数据库中需要建立3个数据表:

员工信息数据表、房间信息数据表、客户信息数据表。

①员工信息数据表定义

②房间信息数据表

③客户信息数据表

四、详细设计

(一)建数据库——宾馆客户数据库

IFEXISTS(SELECT*FROMsysdatabasesWHEREname='

宾馆客户数据库'

dropdatabase宾馆客户数据库

GO

CREATEDATABASE宾馆客户数据库

ONPRIMARY(

NAME=宾馆客户数据库,

FILENAME=C:

\宾馆客户数据库_data.mdf'

SIZE=4MB,

MAXSIZE=6MB,

FILEGROWTH=2MB

LOGON(NAME='

宾馆客户数据库_log'

FILENAME='

C:

\宾馆客户数据库.ldf'

SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%)

(二)建表

createtableCustomersInfo(

CIdentityIdnvarchar(50)NOTNULLprimarykey,

CNamenvarchar(50),

CPhonenvarchar(50),

)GO

createtableHistory(

BeginTimedatetimeNOTNULL,

EndTimedatetime,

RoomIdintNOTNULL,

TotaPricemoney,

CIdentityIdnvarchar(50),

Remarksnvarchar(50)

createtableRoomcategory(

RCategoryIdintNOTNULL,

Namevarchar(50),

Areafloat,

BedNumint,

Pricemoney,

AirConditionint,

TVint

createtableRoomOperation(

RoomIdintNOTNULLprimarykey,

BeginTimedatetime,

Remarksnvarchar(50)

createtableRoomsInfo(

RCategoryvarchar(50),

RPositionvarchar(50),

Descriptionvarchar(50)

createtableRoomStatus(

Statusint

createtableUsersInfo(

UserIdintNOTNULL,

Passwordvarchar(50),

Genderint,

Emailvarchar(50),

Addressvarchar(50),

Telephonevarchar(50),

Departmentvarchar(50),

Typeint

(三)用户界面

1.宾馆客房管理系统登陆界面的设计

系统共分两类用户:

酒店管理员和前台服务员

当用户进入宾馆客房管理系统登陆界面后,首先需要进行身份验证,系统在验证通过后,将使用UserType变量记录其用户类型,并根据用户类型确定用户的使用权限。

宾馆客房管理系统登陆界面如图2所示。

现在给出登陆界面的主要代码如下:

import.URL.*;

importjavax.swing.*;

importjavax.swing.ImageIcon;

importjavax.swing.JLabel;

importjava.sql.*;

importjava.awt.Container;

importjava.awt.GridLayout;

importjava.awt.FlowLayout;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JTextField;

importjavax.swing.JPasswordField;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.*;

publicclassHoteLandextendsJFrameimplementsActionListener{

privatebooleanboo1=false,boo2=false;

intType=0;

publicJTextField[]t={newJTextField("

用户名:

"

8),newJTextField(27),

newJTextField("

密码:

8),newJPasswordField(27),

//newJTextField("

宾馆客房管理系统登陆界面--(计算机1006梁嘉宏)"

36),

宾馆客房管理系统登陆界面"

20),

应用数据库加密技术--安全保护你的信息!

请放心使用!

30),

功能:

管理宾馆客房版权:

本人所有"

25)};

publicJButton[]b={newJButton("

登陆"

),newJButton("

退出"

)};

ImageIconic=newImageIcon(HoteLand.class.getResource("

/dipaihotel.jpg"

));

//ImageIconic=newImageIcon("

me.jpg"

);

//.URLimgURL=HoteLand.class.getResource("

/me.jpg"

//ImageIconic=newImageIcon(imgURL);

//ImageIconic=newImageIcon(HoteLand.class.getResource("

JFrameapp;

Statementstatement;

//构造方法

publicHoteLand(){

app=newJFrame("

--宾馆客房管理系统登陆界面--"

app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

app.setSize();

app.setResizable(false);

Containerc=app.getContentPane();

c.setLayout(newFlowLayout());

JLabelaLabel=newJLabel(ic,JLabel.LEFT);

t[0].setFont(newFont("

TimesRoman"

Font.BOLD,13));

t[0].setForeground(Color.red);

t[0].setEditable(false);

t[2].setFont(newFont("

t[2].setForeground(Color.red);

t[2].setEditable(false);

for(inti=0;

i<

4;

i++)

c.add(t[i]);

c.add(b[0]);

c.add(b[1]);

for(intj=4;

j<

7;

j++)

{

c.add(t[j]);

t[j].setFont(newFont("

t[j].setForeground(Color.blue);

t[j].setEditable(false);

}

c.add(aLabel);

t[0].addActionListener(this);

t[2].addActionListener(this);

b[0].addActionListener(this);

b[1].addActionListener(this);

app.setVisible(true);

}

//消息响应方法

publicvoidactionPerformed(ActionEvente){

JButtonsource=(JButton)e.getSource();

//如果单击"

按键,执行StudentManager程序,该部分应用到数据库加密技术

if(source==b[0]){

try{

//基于SQLServer2000的JDBC-ODBC桥数据库连接(先要创建一个数据源lib)

Class.forName("

sun.jdbc.odbc.JdbcOdbcDriver"

System.out.println("

数据库驱动程序注册成功!

//使用网络登录ID的WindowsNT验证(W)

Connectionconn=DriverManager.getConnection("

jdbc:

odbc:

宾馆客户数据库"

//Connectionconn=DriverManager.getConnection("

lib"

//使用用户输入登录ID和密码的SQLServer验证(S)

//Connectionconn=DriverManager.getConnection("

"

sa"

password"

数据库连接成功!

statement=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

Strings1=t[1].getText();

Strings2=t[3].getText();

ResultSetresultset=statement.executeQuery("

select*fromUsersInfowhereName='

+s1+"

'

andPassword='

+s2+"

resultset.next();

Type=resultset.getInt("

Type"

//Stringa1=resultset.getString("

Name"

//resultset.beforeFirst();

//Stringa2=resultset.getString("

Password"

if(resultset!

=null){

boo1=boo2=true;

resultset.close();

}

}

catch(Exceptione1){

JOptionPane.showMessageDialog(this,"

用户名和密码不正确!

警告"

JOptionPane.WARNING_MESSAGE);

//e1.printStackTrace();

//该方法只是一个简单的加密技术,

/*

//如果输入的用户名等于"

梁嘉宏"

if(t[1].getText().compareTo("

)==0){

boo1=true;

//如果输入的密码等于"

ljh"

if(t[3].getText().compareTo("

321"

)==0){

boo2=true;

}

*/

//如果输入的用户名和密码都正确,则登陆

if(boo1&

&

boo2&

Type==1){

Type=0;

boo1=boo2=true;

newHoteMen(statement,"

普通员工--"

+t[1].getText());

//newStudentManager();

app.setVisible(false);

Type==2){

newHotelManagerMen(statement,"

管理员--"

//newStudentManager();

app.setVisible(false);

//如果单击"

按键,则退出登陆界面

if(source==b[1]){

System.exit(0);

publicstaticvoidmain(Stringargs[]){

newHoteLand();

}

2.客房管理管理页面的设计

客房管理管理页面主要是负责所有客房信息的维护。

其中功能主要

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

当前位置:首页 > 党团工作 > 其它

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

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