资源描述
[数据库课程设计汇报]
——客房管理系统
学院:
班级:
姓名:
学号:
客房管理系统设计
一、需求分析
1.1 系统需求分析
“客房管理信息系统”以实现宾馆客房多种信息系统化、规范化、自动化为目标,具体要达成以下多个基础要求:
(一)用户入住管理
经过该管理功效,系统能够经过计算机对用户部分基础信息进行录入,成为客房管理信息系统查询数据资料。
(1)新客人信息录入。
(2)客人信息修改。
(3)客人信息查询。
(4)客人信息删除。
(5)客人信息保留。
(6)客房信息查询。
(二)结算管理
(1)退房结算:输入用户房号,查找该用户信息、住房信息和费用情况。
(2)收银处理:确定用户总费用,并自动登记总费用帐。同时,自动将房间用房标志(占)改为(空);并将用户信息保留。
1.2 数据分析
经过进行系统调查,了解用户需求、分析应用软件系统功效需求。总结出了系统逻辑模型,即系统业务步骤图、数据流图、应用软件功效结构图和数据字典等。各步骤图以下面图所表示:
客房管理系统
操作员
客房
用户
操作查询
返回信息
1.2.1 客房管理系统业务步骤图
用户
操作员
返回结果
交钱结账
结账费用
入住登记
返回信息
返回结果
查询要求
查对账单
返回账单信息
入住
管理
结算
处理
结算账单
入住信息
客房信息
P1
P2
D1
D2
D3
要求
1.2.2 客房管理系统数据流图
客房管理系统
入住管理
结算管理
信息查询
用户登记
退房结算
收银处理
1.2.3 客房管理系统功效模块
用户查询
客房查询
1.2.4 数据字典
依据绘制出数据流图,定义出本系统数据字典。以下列所表示:
数据项
用户编号
含义说明
唯一标识每个用户
别名
类型
整型
长度
4
取值范围
0000-9999
取值含义
按用户次序编号
和其它数据项逻辑关系
数据结构
客房
含义说明
客房管理系统主体数据结构,定义一个客房相关信息
组成
房号,房间类型,房间价格,房间状态
数据流
结算账单
含义说明
用户入住消费结果
数据流起源
结算处理
数据流去向
操作员
组成
账单编号,房号,住店天数,总费用
数据结构
用户
含义说明
客房管理系统主体数据结构,定义了一个用户相关信息
组成
用户编号,用户姓名,性别,年纪,身份证号,户籍
数据项
房号
含义说明
唯一标识每个房间
别名
房间编号
类型
整型
长度
4
取值范围
100-411
取值含义
每层楼房间次序
和其它数据项逻辑关系
数据存放
用户信息表
说明
统计入住用户综合信息
流入数据流
用户信息
流出数据流
入住信息
组成
用户,入住时间,离店时间,押金,账单编号,房号
二、数据库概念结构设计
经考察和分析,本案例客房管理系统包含以下实体:用户实体、客房实体、操作员实体、结算账单实体,它们E-R图如以下所表示。
客房
操作员
退房
结算账单
结算
返回
1
n
1
1
n
1
入住登记
m
1
2.5客房管理系统E-R图
用户编号
用户姓名
年纪
性别
操作员姓名
操作员编号
房间状态
房号
户籍
住店天数
总费用
账单编号
离店时间
身份证号
住店时间
押金
房间类型
房间价格
职称
房号
密码
用户
三、数据库逻辑结构设计
依据E-R图,将图转换为关系模型即:将实体、实体属性和实体之间联络转换为关系模式,然后对数据模型进行优化得到以下关系数据表:
用户:{用户编号,姓名,性别,年纪,身份证号,原住地址,押金,住店时间,离店时间,房号,账单编号}
客房:{房号,房间类型,房间状态,房间价格}
操作员:{操作员编号,操作员姓名,职称}
结算账单:{账单编号,住房天数,总费用,操作员编号,房号}
关系数据表确定后要进行数据表逻辑结构设计,即定义关系数据表中字段名称、数据结构、是否许可为空、关键字、说明等。
(1)用户表
用于存放用户入住信息,比如:用户名,房号等。
表3.1 用户表
字段名称
数据结构
是否许可为空
说明
用户编号
文本(50)
NOT NULL ,主键
姓名
文本(8)
NULL
入住用户姓名
性别
文本(2)
NULL
年纪
整型
NULL
身份证号
文本(18)
NULL
用户身份证号
原住地址
文本(50)
NULL
用户户籍地址
住店时间
常规日期
NOT NULL
离店时间
常规日期
NULL
押金
货币
NULL
房号
整型
NOT NULL
账单编号
整型
NULL
(2)客房表
用于存放客房相关信息,比如:房号,房间类型,房间状态等。
表3.2 客房
字段名称
数据结构
是否许可为空
说明
房号
整型
NOT NULL,主键
唯一标识每个房间
房间类型
文本(18)
NOT NULL
房间价格
货币
NOT NULL
房间状态
文本(2)
NOT NULL
(3)结算账单表
结算帐单表用于存放用户消费信息。
3.3 结算账单表
字段名称
数据结构
是否许可为空
说明
账单编号
文本(50)
NOT NULL,主键
唯一标识每个账单
房号
整型
NOT NULL
姓名
整型(8)
NULL
押金
货币
NULL
入住时间
常规日期
NOT NULL
离店时间
常规日期
NOT NULL
住店天数
整型
NOT NULL
房间价格
货币
NOT NULL
总费用
货币
NOT NULL
(4)操作员表
用于存放操作员信息,比如:操作员编号,密码等。
表3.4 操作员表
字段名称
数据结构
是否许可为空
说明
操作员编号
整型
NOT NULL,主键
用于登陆和识别身份
操作员姓名
文本(8)
NULL
职称
文本(10)
NULL
密码
文本(10)
NULL
用于登陆输入密码
四、数据库物理结构设计
在进行了数据表逻辑结构定义后,需要为每个数据表创建其物理结构,即在数据库系统中定义数据表具体存放格式、位置等。这里列出利用SQL Server 自带数据库创建数据表物理结构。
1.“客房”表物理结构
“客房”表物理结构图4.1所表示,关键字为”房号”
图 4.1
2.“用户”表物理结构
“用户”表物理结构图4.2所表示,关键字为“用户编号”,利用“房号”可和“结算账单”表和“客房”表建立联络。
图 4.2
3.“结算账单”表物理结构
“结算账单”表物理结构图4.3所表示,关键字为”账单编号”。
图 4.3
4.“操作员”表物理结构
“操作员”表物理结构图4.4所表示,关键字为”操作员编号”。
图 4.4
5. 依据表里主键,连接出各个表中关系和分类,每个主键,全部是数据库关键,必需做个关系明确,这么系统才能明了清楚,数据库关系图4.5以下:
图 4.5
五、数据库实施
依据以上所进行调查、设计和进行方案,建立并实施数据库。此系统利用ACCESS 进行数据库开发。
1.数据库建表语句
(1) 名称: 用户表“用户”
标识:用户
建表语句以下:
create table 用户 (
用户编号 文本(50) not null,
用户姓名 文本(8) null,
年纪 整型 null,
性别 文本(2) null,
身份证号 文本(18) null,
户籍 文本(50) null,
房号 整型 not null,
住店时间 常规日期 null,
离店时间 常规日期 null,
押金 货币 null,
账单编号 整型 null,
constraint PK_用户 primary key (用户编号)
)
go
⑵ 名称: 客房表“客房”
标识:客房
建表语句以下:
create table 客房 (
房号 整型 not null,
房间类型 文本 (10) not null,
房间价格 货币 not null,
房间状态 文本(2) not null,
constraint PK_客房 primary key (房号)
)
go
⑶ 名称: 操作员表“操作员”
标识:操作员
建表语句以下:
create table 操作员 (
操作员编号 整型 not null,
操作员姓名 文本(8) null,
职称 文本(10) null,
密码 文本(10) null,
constraint PK_操作员 primary key (操作员编号)
)
go
⑷ 名称: 结算账单表“结算账单”
标识:结算账单
建表语句以下:
create table 结算账单 (
账单编号 文本(50) not null,
住房天数 整型 not null,
总费用 货币 not null,
操作员编号 整型 not null,
房号 整型 not null,
constraint PK_结算账单 primary key (账单编号)
)
go
2.数据库建查询语句
(1)名称:“用户消费信息:选择查询”
SELECT 用户表.用户编码, 用户表.姓名, 用户表.身份证号, 客房表.房号, 结算账单表.账单编号, 结算账单表.操作员编号, 结算账单表.押金, 结算账单表.入住时间, 结算账单表.离店时间, 结算账单表.住店天数, 结算账单表.房间价格, 结算账单表.总费用
FROM (客房表 INNER JOIN 用户表 ON 客房表.房号 = 用户表.房号) INNER JOIN 结算账单表 ON 客房表.房号 = 结算账单表.房号;
(2)名称:“用户信息:选择查询”
SELECT 用户表.用户编码, 用户表.姓名, 用户表.身份证号, 客房表.房号
FROM 客房表 INNER JOIN 用户表 ON 客房表.房号 = 用户表.房号;
六、数据库运行
1. 系统登陆界
在进入主界面之前有一个用户登陆界面,用户键入用户名和密码,系统自行判定是否存在,然后进入主界面。
系统登陆界面图6.1所表示
图 6.1
2. 系统主界面
主界面关键功效包含入住管理模块、结算管理模块、返回职员登录,三个关键功效。用户能够依据需关键点击自己想使用功效进入功效界面。系统主界面图6.2所表示。
图6.2
3. 入住管理模块界面
入住管理模块关键功效包含用户登记、信息查询、返回主菜单,三个关键功效。用户能够依据需关键点击自己想使用功效进入功效界面。系统主界面图6.3所表示。
见下页
图6.3
4. 用户登记界面
填写新入住用户基础信息和部分入住信息。先单击“添加统计”,然后输入信息,最终单击“保留统计”完成操作。用户登记界面图6.4所表示。
图6.4
5.信息查询界面
信息查询界面关键功效包含用户查询、客房查询、返回上一级、返回主菜单,四个关键功效。用户能够依据需关键点击自己想使用功效进入功效界面。信息查询界面图6.5所表示。
图6.5
6. 用户信息查询界面
信息查询界面关键功效包含新建用户资料、用户住房信息查询、返回上一级、返回主菜单,四个关键功效。用户能够依据需关键点击自己想使用功效进入功效界面。信息查询界面图6.6所表示。
图6.6
7.新建用户资料管理
填写新用户基础信息。先单击“添加统计”,然后输入信息,最终单击“保留统计”或“删除统计”完成操作,同时此界面设有查看第一或最终一条统计、前一条或后一条统计。新建用户资料管理界面图6.7所表示。
图 6.7
8. 用户住房信息查询界面
用户住房信息查询界面关键功效包含查询用户编码、用户姓名、身份证号、所住房号。和返回上一级、返回主菜单,六个关键功效。用户住房信息查询界面图6.8所表示。
图6.8
9. 客房查询界面
客房查询界面关键功效包含查询房号、房间类型、所住用户编码及姓名、房间价格、房间状态。有查看第一项和最终一项、下一项和前一项、返回上一级、返回主菜单功效。客房查询界面图6.9所表示。
图6.9
10. 结算管理模块界面
结算管理模块关键功效包含退房结算、收银结算、返回主菜单,三个关键功效。用户能够依据需关键点击自己想使用功效进入功效界面。系统主界面图6.10所表示。
图6.10
11.新建用户退房结算界面
填写新用户退房结算基础信息。先单击“添加统计”,然后输入信息,最终单击“保留统计”或“删除统计”完成操作,同时此界面设有查看第一或最终一条统计、前一条或后一条统计。新建用户退房结算界面图6.11所表示。
图6.11
12.新建收银处理界面
填写新处理基础信息,包含账单编号、操作员编号、房号、用户姓名、押金、房间价格、总费用。先单击“添加统计”,然后输入信息,最终单击“保留统计”或“删除统计”完成操作,同时此界面设有查看第一或最终一条统计、前一条或后一条统计。新建用户退房结算界面图6.12所表示。
见下页
图6.12
七、课程设计心得
两周课程设计结束了,在这次课程设计中不仅检验了我所学习知识,也培养了我怎样去把握一件事情,怎样去做一件事情,又怎样完成一件事情。在设计过程中,和同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了了解,也学会了做人和处世。
课程设计是我们专业课程知识综合应用实践训练,着实我们迈向社会,从事职业工作前一个必不少过程。“千里之行始于足下”经过这次课程设计,我深深体会到这句千古名言真正含义.我今天认真进行课程设计,学会脚扎实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实基础。
展开阅读全文