宾馆管理系统课程设计作业.docx

上传人:b****5 文档编号:4641523 上传时间:2022-12-07 格式:DOCX 页数:15 大小:134.58KB
下载 相关 举报
宾馆管理系统课程设计作业.docx_第1页
第1页 / 共15页
宾馆管理系统课程设计作业.docx_第2页
第2页 / 共15页
宾馆管理系统课程设计作业.docx_第3页
第3页 / 共15页
宾馆管理系统课程设计作业.docx_第4页
第4页 / 共15页
宾馆管理系统课程设计作业.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

宾馆管理系统课程设计作业.docx

《宾馆管理系统课程设计作业.docx》由会员分享,可在线阅读,更多相关《宾馆管理系统课程设计作业.docx(15页珍藏版)》请在冰豆网上搜索。

宾馆管理系统课程设计作业.docx

宾馆管理系统课程设计作业

管理信息系统课程设计

宾馆管理系统

一、摘要

为方便小投资的宾馆能更好管理顾客与客房,客房与宾馆,宾馆与员工等之间的关系,顺应需要设计了这种宾馆客房信息管理系统,由于编写功能的不够强大,可能在真实应用会存在些许问题

二、需求分析

随着外出人流因为生活,商业等方面的增多,宾馆的发展也日益的迅猛,由于顾客量的增多,客户登记时间的广泛,宾馆收益的日益增多,仅仅依靠手写的老式输入记账法,是无法满足宾馆的需求的,同时这也是浪费人力和时间的。

开发这个数据库,目的就在于能够更好的对客房的预订情况,空余情况,顾客信息,顾客住宿时间和所用费用,客房房态等进行精确的查询,以便更好的完善和更新宾馆信息系统。

数据库的概念结构设计

三、数据库概念结构设计

3.1功能模块分析

根据宾馆的具体情况,系统主要功能如下:

(1)住宿管理模块:

包括客房预订、入住登记、客人续往、调房登记、退房结账5部分。

(2).客房管理模块:

包括客房设置、客房查询、宿费提醒3部分。

(3)查询统计模块:

包括预订房查询、住宿查询、退房查询、客房宿费统计4部分。

(4)报表管理模块:

包括预售报表、客房销售报表2部分。

(5)挂账管理模块:

包括客户管理、挂账查询、客户结账3部分。

(6)系统设置模块:

包括系统初始化、权限管理、密码设置3部分。

3.2功能结构图如下

3.3宾馆客房信息管理流程图

 

3.4ER图

 

四、数据库的逻辑结构设计

4.1用数据库建表并完成数据的完整性

1宾馆基本信息表。

列名

数据类型

长度

允许空

说明

单位名称

varchar

50

Notnull

宾馆的注册名称

邮政编码

varchar

6

Notnull

所在省市的邮编

电话

varchar

15

Notnull

前台工作电话

传真

varchar

15

Null

宾馆的传真

网址

varchar

30

Null

宾馆网页网址

电子邮箱

varchar

30

Null

宾馆邮箱

数据完整性:

建立单位名称为主键

2部门基本信息表。

记录宾馆的各个部门,更好的分配和了解情况。

列名

数据类型

长度

允许空

说明

部门编号

Varchar

10

Notnull

宾馆部门的专有编号

部门名称

Varchar

25

Null

依部门职责的命名

部门电话

Varchar

15

Notnull

联系电话

部门负责人

Varchar

10

Notnull

部门主要负责人

数据完整性:

以部门编号为主键

3员工信息表

列名

数据类型

长度

允许空

说明

员工编号

Varchar

10

Notnull

宾馆统一规划的员工编号

员工姓名

Varchar

10

Null

姓名

员工性别

Char

2

Null

男或女

出生日期

Datetime

8

Notnull

员工出生日期以便得知工龄

员工证件号

Varchar

20

Notnull

员工的有效证件

员工电话

Varchar

15

Notnull

员工的联系方式

部门编号

Varchar

25

Notnull

部门所属

职务

Varchar

25

Notnull

担任的职务

聘用日期

Datetime

8

Notnull

聘用的日期

月薪

Decimal

10

Notnull

月薪

备注

Text

16

Null

有关健康,婚姻,工作态度等描述

数据完整性:

建立员工编号为主键

建立CK_员工信息表:

员工性别='男'or员工性别='女'

创建FK_员工信息表_部门基本信息表以“部门编号”为外键

4客房设备信息。

记录客房的标准信息,为客房内设备的添加,房态的调节,客房的预定提供查询。

列名

数据类型

长度

允许空

说明

客房编号

Varchar

10

Notnull

宾馆统一安排的客房编号

客房类型

Varchar

25

Notnull

普通房,标准房,贵宾房

客房单价

Money

8

Notnull

价格

床位数量

Varchar

5

Notnull

床位数目

空调

Bit

1

Notnull

0表示无,1表示有

电视

Bit

1

Notnull

0表示无,1表示有

音响设备

Varchar

50

Notnull

无,普通,高级

房间数目

Varchar

10

Notnull

客房类型的数目

免费网络和电话

Bit

1

Notnull

免费网络和宾馆内的免费电话

独立浴室

Bit

1

Notnull

0表示无,1表示有

客房位置

Varchar

40

Notnull

0表示无,1表示有

预定情况

Bit

1

Notnull

预定,空余

备注

Text

16

Null

客房设备信息的补充

数据完整性:

建立客房编号为主键

5客房预订信息表。

列名

数据类型

长度

允许空

说明

预定编号

Varchar

10

Notnull

预定单的编号

顾客姓名

Varchar

10

Null

顾客姓名

顾客证件号

Varchar

20

Notnull

身份证或有效证件

客房编号

Varchar

10

Notnull

客房的编号

订房日期

Datetime

8

Notnull

订房日期

预订金

Money

8

Notnull

押金

折扣

Decimal

9

Notnull

会员折扣或宾馆活动

支付方式

Varchar

10

Notnull

信用卡,现金

备注

Test

16

Null

预定情况信息的补充

操作员

Varchar

10

Notnull

操作员的员工编号

数据完整性:

建立预订编号为主键

FK_客房预订信息表_员工信息表以“员工编号”“操作员”为外键

FK_客房预订信息表_顾客信息表以“顾客证件号”为外键

FK_客房预订信息表_客房设备信息表以“客房编号”为外键

6结算信息表。

列名

数据类型

长度

允许空

说明

结算编号

Varchar

10

Notnull

结算单的编号

客房编号

Varchar

10

Notnull

宾馆统一安排的客房编号

客房类型

Varchar

25

Null

普通房,标准房,贵宾房

顾客姓名

Varchar

10

Null

顾客姓名

顾客证件号

Varchar

20

Notnull

身份证或有效证件

订房日期

Datetime

8

Notnull

订房日期

退房日期

Datetime

8

Notnull

退房日期

消费金额

Money

8

Notnull

消费金额

折扣

Decimal

9

Notnull

会员折扣或宾馆活动

支付方式

Varchar

10

Notnull

信用卡,现金

备注

Test

16

Null

结算信息的补充

操作员

Varchar

10

Notnull

操作员的员工编号

数据完整性:

建立以结算编号为主键

FK_结算信息表_员工信息表以“操作员”“员工编号”为外键

FK_结算信息表_顾客信息表以“顾客证件号”为外键

FK_结算信息表_客房设备信息表以“客房编号”为外键

7顾客信息表

列名

数据类型

长度

允许空

说明

顾客姓名

Varchar

10

Null

顾客名称

顾客证件号

Varchar

20

Notnull

身份证或有效证件

顾客性别

Char

2

Null

男或女

顾客生日

Datetime

8

Null

方便宾馆为其在生日当天优惠

顾客电话

Varchar

15

Null

联系顾客

顾客邮箱

Varchar

30

Null

顾客邮箱

顾客级别

Varchar

30

Notnull

普通,会员,高级会员

数据完整性:

建立以顾客证件号为主键

建立CK_顾客信息表:

顾客性别='男'or顾客性别='女'

4.2建表的脚本语句

1、宾馆信息表

CREATETABLE[dbo].[宾馆基本信息表](

[单位名称][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,

[邮政编码][varchar](6)COLLATEChinese_PRC_CI_ASNOTNULL,

[电话][varchar](15)COLLATEChinese_PRC_CI_ASNOTNULL,

[传真][varchar](15)COLLATEChinese_PRC_CI_ASNULL,

[网址][varchar](30)COLLATEChinese_PRC_CI_ASNULL,

[电子邮箱][varchar](30)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

2、部门基本信息表

CREATETABLE[dbo].[部门基本信息表](

[部门编号][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[部门名称][varchar](25)COLLATEChinese_PRC_CI_ASNULL,

[部门电话][varchar](15)COLLATEChinese_PRC_CI_ASNOTNULL,

[部门负责人][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL

)ON[PRIMARY]

GO

3、员工信息表

CREATETABLE[dbo].[员工信息表](

[员工编号][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[员工姓名][varchar](10)COLLATEChinese_PRC_CI_ASNULL,

[员工性别][char]

(2)COLLATEChinese_PRC_CI_ASNULL,

[出生日期][datetime]NOTNULL,

[员工证件号][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,

[员工电话][varchar](15)COLLATEChinese_PRC_CI_ASNOTNULL,

[部门编号][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[职务][varchar](25)COLLATEChinese_PRC_CI_ASNOTNULL,

[聘用日期][datetime]NOTNULL,

[月薪][decimal](18,0)NOTNULL,

[备注][text]COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

GO

4、客房设备信息表

CREATETABLE[dbo].[客房设备信息表](

[客房编号][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[客房类型][varchar](25)COLLATEChinese_PRC_CI_ASNOTNULL,

[客房单价][money]NOTNULL,

[床位数量][varchar](5)COLLATEChinese_PRC_CI_ASNOTNULL,

[空调][bit]NOTNULL,

[电视][bit]NOTNULL,

[音响设备][varchar](50)COLLATEChinese_PRC_CI_ASNOTNULL,

[房间数目][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[免费网络和电话][bit]NOTNULL,

[独立浴室][bit]NOTNULL,

[客房位置][varchar](40)COLLATEChinese_PRC_CI_ASNOTNULL,

[预订情况][bit]NOTNULL,

[备注][text]COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

GO

5、客房预订信息表

CREATETABLE[dbo].[客房预订信息表](

[预订编号][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[顾客姓名][varchar](10)COLLATEChinese_PRC_CI_ASNULL,

[顾客证件号][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,

[客房编号][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[订房日期][datetime]NOTNULL,

[预订金][money]NOTNULL,

[折扣][decimal](18,0)NOTNULL,

[支付方式][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[备注][text]COLLATEChinese_PRC_CI_ASNULL,

[操作员][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL

)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

GO

6、结算信息表

CREATETABLE[dbo].[结算信息表](

[结算编号][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[客房编号][varchar](10)COLLATEChinese_PRC_CI_ASNULL,

[客房类型][varchar](25)COLLATEChinese_PRC_CI_ASNULL,

[顾客姓名][varchar](10)COLLATEChinese_PRC_CI_ASNULL,

[顾客证件号][varchar](20)COLLATEChinese_PRC_CI_ASNULL,

[订房日期][datetime]NULL,

[退房日期][datetime]NULL,

[消费金额][money]NULL,

[折扣][decimal](18,0)NULL,

[支付方式][varchar](10)COLLATEChinese_PRC_CI_ASNULL,

[备注][text]COLLATEChinese_PRC_CI_ASNULL,

[员工编号][varchar](10)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]

GO

7、顾客信息表

CREATETABLE[dbo].[顾客信息表](

[顾客姓名][varchar](10)COLLATEChinese_PRC_CI_ASNULL,

[顾客证件号][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,

[顾客性别][char]

(2)COLLATEChinese_PRC_CI_ASNULL,

[顾客生日][datetime]NULL,

[顾客邮箱][varchar](30)COLLATEChinese_PRC_CI_ASNULL,

[顾客级别][varchar](30)COLLATEChinese_PRC_CI_ASNOTNULL

)ON[PRIMARY]

GO

4.3数据输入

1宾馆信息表

2部门基本信息表

3员工信息表

4客房设备信息表

5客房预订信息表

6结算信息表

7顾客信息表

五、功能的实现

5.1视图的创建

1创建视图,只检索“订房日期”为2009-01-09的所有顾客信息以及其预订的客房方态

SELECTdbo.客房预订信息表.客房编号,dbo.顾客信息表.顾客证件号,

dbo.顾客信息表.顾客姓名,dbo.客房预订信息表.预订编号,

dbo.客房预订信息表.订房日期,dbo.客房设备信息表.客房类型,

dbo.客房设备信息表.客房单价

FROMdbo.顾客信息表INNERJOIN

dbo.客房预订信息表ON

dbo.顾客信息表.顾客证件号=dbo.客房预订信息表.顾客证件号INNERJOIN

dbo.客房设备信息表ON

dbo.客房预订信息表.客房编号=dbo.客房设备信息表.客房编号

WHERE(dbo.客房预订信息表.订房日期='2009-01-12')

2创建视图,只检索客房类型为普通单人间的且已预订的客房及顾客信息

SELECTdbo.客房设备信息表.客房编号ASExpr2,dbo.客房设备信息表.客房类型ASExpr3,

dbo.客房设备信息表.客房单价ASExpr4,dbo.客房设备信息表.预订情况ASExpr5,

dbo.顾客信息表.顾客证件号,dbo.顾客信息表.顾客姓名,

dbo.顾客信息表.顾客级别

FROMdbo.顾客信息表CROSSJOIN

dbo.客房设备信息表

WHERE(dbo.客房设备信息表.客房类型='普通单人间')AND

(dbo.客房设备信息表.预订情况='1')

5.2存储过程的建立

1为了促进消费者消费,创建将客房类型为贵宾房的客房单价进行减价9.5折处理的存储过程,创建语句如下:

CREATEPROCEDUREdiscountAS

update客房设备信息表set客房单价=客房单价*0.95where客房类型='贵宾房'

GO

2为了促进员工的工作积极性可以给员工增加薪水

创建语句为:

CREATEPROCEDUREwageincreaseAS

update员工信息表set月薪=(月薪*0.01+月薪)

Go

5.3触发器的建立

定义一个触发器“编号更新”,当客房设备信息表中的客房编号更新时,将客房预订表和结算信息表中的客房编号也同时更新。

CREATETRIGGER编号更新ON[dbo].[客房设备信息表]

afterUPDATE

AS

ifupdate(客房编号)

begin

declare@hotel_idasvarchar(10)

declare@old_hotel_idasvarchar(10)

select@hotel_id=客房编号frominserted

select@old_hotel_id=客房编号fromdeleted

update客房预订信息表

set客房预订信息表.客房编号=@hotel_idwhere客房预订信息表.客房编号=@old_hotel_id

update结算信息表

set结算信息表.客房编号=@hotel_idwhere结算信息表.客房编号=@old_hotel_id

End

六、实验小结

在这连续几天里的数据库应用设计中比起之前课程中的数据库有了更深的了解。

从一开始的需求分析到概念结构设计经历了许多次的修改,终于明白实体与实体之间该如何找到关系,再解决好需求分析和概念结构设计之后就显得容易了。

表格的设计要考虑到其属性的数据类型和长度,为了使得数据更具有操作性还要求完整性的设计,其中外键的设计必须是数据类型和长度相同的。

视图实际上就是联系多个表数据的虚拟的表,而存储过程就是编译的T-SQL语句存储在一个名称下的通过命令调用的重复使用。

比较难的是触发器的建立,其中使用了deleted和inserted表,且在需要用户自己编辑SQL语句也相应难些。

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

当前位置:首页 > 高中教育 > 高中教育

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

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