酒店管理系统课程设计基于数据库.docx
《酒店管理系统课程设计基于数据库.docx》由会员分享,可在线阅读,更多相关《酒店管理系统课程设计基于数据库.docx(22页珍藏版)》请在冰豆网上搜索。
酒店管理系统课程设计基于数据库
一数据需求分析
1.实体描述
酒店管理系统涉及以下几个实体:
(1)顾客:
属性有顾客姓名、顾客性别、顾客身份证号、联系方式;
(2)房间:
属性有房间类型、房间状态、房间位置、房间号、价格;
(3)员工:
员工姓名、员工编号、员工联系方式、员工住址、员工年龄、工龄、职位、银行卡号、员工身份证号;
(4)餐厅:
餐厅类型、餐厅位置、餐饮类型、餐厅名称;
(5)娱乐场所:
娱乐名称、娱乐类型、娱乐地点;
(6)会员:
会员类型、积分、折扣类型、持卡人姓名、会员卡号;
(7)历史记录:
入住人姓名、入住时间、入住天数、入住人联系方式、入住人身份证号、维修次数。
2.实体之间的联系描述
(1)一个顾客可以预定多个房间,一个房间可以被多个顾客预定,因此顾客和房间之间是多对多的联系。
预定入住时间、入住天数、是否退订为联系的属性。
(2)一个顾客可以有多张会员卡,一张会员卡只属于一个顾客,以此顾客和会员是一对多的联系。
(3)一个房间可以包含多条历史记录,一条历史记录只包含于一个房间,因此房间和历史记录之间是一对多的联系。
(4)一个员工可以在多个房间做多种客房服务,一个房间可以有多个员工做多种客房服务,因此员工和房间之间是多对多的联系。
用服务类型、服务编号作为联系的属性。
(5)一个员工可以在一个娱乐场所工作,一个娱乐场所可以有多个员工工作,因此娱乐场所和员工之间是一对多的联系。
(6)一个员工可以在一个餐厅工作,一个餐厅可以有多个员工工作,因此餐厅和员工之间是一对多的联系。
(7)一个顾客可以在多个餐厅就餐,一个餐厅可以有多个顾客就餐,因此顾客和餐厅之间是多对多的联系。
(8)一个顾客可以在多个娱乐场所娱乐,一个娱乐场所可以有多个顾客,因此顾客和娱乐场所之间是多对多的联系。
二概念设计(E-R)
1.E-R图
(图2-1E-R图)
2.属性描述
名称
代码
域
数据类型
长度
精度
价格
Rprice
Number(20)
20
会员卡号
Vnum
Characters(20)
20
会员类型
Vtype
Characters(10)
10
住房天数
Idays
Number(4)
4
住房时间
Itime
Characters(10)
10
入住人姓名
Hname
Characters(25)
25
入住人联系方式
Hphone
Characters(12)
12
入住人身份证号
Hid
Characters(20)
20
入住天数
Hdays
Number(4)
4
入住时间
Htime
Date&Time
员工住址
Sadress
Characters(60)
60
员工姓名
Sname
Characters(8)
8
员工年龄
Sage
Number(4)
4
员工编号
Sno
Characters(20)
20
员工联系方式
Sphone
Characters(12)
12
员工身份证号
Sid
Characters(20)
20
娱乐名称
Ename
Characters(12)
12
娱乐地点
Eposition
Characters(20)
20
娱乐类型
Etype
Characters(16)
16
就餐地点
JCposition
Characters(35)
35
就餐时间
JCtime
Date&Time
工龄
Syear
Number(4)
4
房间位置
Rposition
Characters(30)
30
房间号
Rnum
Characters(10)
10
房间状态
Rzt
Characters(20)
20
房间类型
Rstyle
Characters(80)
80
折扣类型
Vzklx
Characters(36)
36
持卡人姓名
Vname
Characters(12)
12
是否是会员
Csfvip
Characters(6)
6
是否退订
Csftd
Characters(4)
4
服务类型
Kservcetype
Characters(25)
25
服务编号
Kservcenum
Number(4)
4
消费
JCcost
Number(12)
12
积分
Vjifen
Number(20)
20
维修次数
Hwxcs
Characters(6)
6
职位
Sposition
Characters(20)
20
联系方式
Cphone
Characters(12)
12
退房时间
Iotime
Characters(10)
10
银行卡号
Syhkh
Characters(30)
30
顾客姓名
Cname
Characters(25)
25
顾客性别
Csex
Characters(12)
12
顾客身份证号
Cid
Characters(20)
20
顾客身份证号
Cid2
Characters(20)
20
预定入住时间
Ctime
Date&Time
预定天数
Cdays
Characters(4)
4
预定进餐位置
Cjcwz
Characters(40)
40
预定进餐时间
Cjctime
Time
餐厅位置
Aposition
Characters(30)
30
餐厅名称
Aname
Characters(15)
15
餐厅类型
Astyle
Characters(20)
20
餐饮类型
Ataste
Characters(12)
12
三逻辑结构设计和物理结构设计
1.物理模型
(图3-1物理模型)
2.表设计
表3.1顾客信息表
名称
代码
顾客姓名
Cname
顾客性别
Csex
顾客身份证号
Cid
联系方式
Cphone
表3.2会员信息表
名称
代码
会员类型
Vtype
积分
Vjifen
折扣类型
Vzklx
持卡人姓名
Vname
会员卡号
Vnum
顾客身份证号
Cid
表3.3房间信息表
名称
代码
房间类型
Rstyle
房间状态
Rzt
房间位置
Rposition
房间号
Rnum
价格
Rprice
表3.4员工信息表
名称
代码
员工姓名
Sname
员工编号
Sno
娱乐名称
Ename
餐厅名称
Aname
员工联系方式
Sphone
员工住址
Sadress
员工年龄
Sage
工龄
Syear
职位
Sposition
银行卡号
Syhkh
员工身份证号
Sid
表3.5餐厅信息表
名称
代码
餐厅类型
Astyle
餐厅位置
Aposition
餐饮类型
Ataste
餐厅名称
Aname
表3.6娱乐场所信息表
名称
代码
娱乐名称
Ename
娱乐类型
Etype
娱乐地点
Eposition
表3.7历史记录信息表
名称
代码
入住人姓名
Hname
入住时间
Htime
入住天数
Hdays
入住人联系方式
Hphone
入住人身份证号
Hid
房间号
Rnum
维修次数
Hwxcs
表3.8娱乐信息表
名称
代码
顾客身份证号
Cid
娱乐名称
Ename
表3.9房间预订信息表
名称
代码
顾客身份证号
Cid
房间号
Rnum
预定入住时间
Ctime
预定天数
Cdays
是否退订
Csftd
表3.10就餐信息表
名称
代码
顾客身份证号
Cid
餐厅名称
Aname
就餐时间
JCtime
消费
JCcost
表3.11客房服务信息表
名称
代码
房间号
Rnum
员工编号
Sno
服务类型
Kservcetype
服务编号
Kservcenum
3.视图设计
名称
代码
View_GK
View_GK
4.索引设计
名称
代码
唯一的
群集器
主要的
外键
候选键
KFservce_PK
KFservce_PK
TRUE
TRUE
TRUE
FALSE
FALSE
KFservce_FK
KFservce_FK
FALSE
FALSE
FALSE
TRUE
FALSE
KFservce2_FK
KFservce2_FK
FALSE
FALSE
FALSE
TRUE
FALSE
Index_servcenum
Index_servcenum
FALSE
FALSE
FALSE
FALSE
FALSE
5.存储过程设计
名称
代码
Procedure_Gk
Procedure_Gk
6.触发器设计
名称
代码
Trigger_gk
Trigger_gk
四数据库实现中的重点和难点
此次酒店管理系统数据库实现的难点在于需求分析后概念结构设计,当然除E-R图难以设计外,还有就是各种其它物理结构设计的实现,比如存储过程等。
各种对象的代码如下:
1.表设计
/*=========================================================*/
/*Table:
Entertainment*/
/*=========================================================*/
createtableEntertainment(
Enamechar(12)notnull,
Etypechar(16)null,
Epositionchar(20)null,
constraintPK_ENTERTAINMENTprimarykeynonclustered(Ename)
)
go
/*=========================================================*/
/*Table:
Historyrecord*/
/*=========================================================*/
createtableHistoryrecord(
Hnamechar(25)null,
Htimedatetimenull,
Hdaysnumeric(4)null,
Hphonechar(12)null,
Hidchar(20)notnull,
Rnumchar(10)null,
Hwxcschar(6)null,
constraintPK_HISTORYRECORDprimarykeynonclustered(Hid)
)
go
/*=========================================================*/
/*Table:
JC*/
/*=========================================================*/
createtableJC(
Cidchar(20)notnull,
Anamechar(15)notnull,
JCtimedatetimenull,
JCcostnumeric(12)null,
constraintPK_JCprimarykey(Cid,Aname)
)
go
/*========================================================*/
/*Table:
KFservce*/
/*========================================================*/
createtableKFservce(
Rnumchar(10)notnull,
Snochar(20)notnull,
Kservcetypechar(25)null,
Kservcenumnumeric(4)null,
constraintPK_KFSERVCEprimarykey(Rnum,Sno)
)
go
/*========================================================*/
/*Table:
VIP*/
/*========================================================*/
createtableVIP(
Vtypechar(10)null,
Vjifennumeric(20)null,
Vzklxchar(36)null,
Vnamechar(12)null,
Vnumchar(20)notnull,
Cidchar(20)null,
constraintPK_VIPprimarykeynonclustered(Vnum)
)
go
/*=========================================================*/
/*Table:
YL*/
/*========================================================*/
createtableYL(
Cidchar(20)notnull,
Enamechar(12)notnull,
constraintPK_YLprimarykey(Cid,Ename)
)
go
/*=========================================================*/
/*Table:
customer*/
/*========================================================*/
createtablecustomer(
Cnamechar(25)null,
Csexchar(12)null,
Cidchar(20)notnull,
Cphonechar(12)null,
constraintPK_CUSTOMERprimarykeynonclustered(Cid)
)
go
/*=========================================================*/
/*Table:
customer2*/
/*=========================================================*/
createtablecustomer2(
Cnamechar(25)null,
Csexchar(12)null,
Cid2char(20)notnull,
Cphonechar(12)null,
constraintPK_CUSTOMER2primarykeynonclustered(Cid2)
)
go
/*=========================================================*/
/*Table:
reserve*/
/*=======================================================*/
createtablereserve(
Cidchar(20)notnull,
Rnumchar(10)notnull,
Ctimedatetimenull,
Cdayschar(4)null,
Csftdchar(4)null,
constraintPK_RESERVEprimarykey(Cid,Rnum)
)
go
/*=========================================================*/
/*Table:
restaurant*/
/*=========================================================*/
createtablerestaurant(
Astylechar(20)null,
Apositionchar(30)null,
Atastechar(12)null,
Anamechar(15)notnull,
constraintPK_RESTAURANTprimarykeynonclustered(Aname)
)
go
/*=========================================================*/
/*Table:
room*/
/*=========================================================*/
createtableroom(
Rstylechar(80)null,
Rztchar(20)null,
Rpositionchar(30)null,
Rnumchar(10)notnull,
Rpricenumeric(20)null,
constraintPK_ROOMprimarykeynonclustered(Rnum)
)
go
/*=========================================================*/
/*Table:
staff*/
/*=========================================================*/
createtablestaff(
Snamechar(8)null,
Snochar(20)notnull,
Enamechar(12)null,
Anamechar(15)null,
Sphonechar(12)null,
Sadresschar(60)null,
Sagenumeric(4)null,
Syearnumeric(4)null,
Spositionchar(20)null,
Syhkhchar(30)null,
Sidchar(20)null,
constraintPK_STAFFprimarykeynonclustered(Sno)
)
go
2.视图设计
createviewView_GKas
selectcount(*)计数,Csex性别fromcustomergroupbyCsex
go
3.索引设计
createindexIndex_servcenumonKFservce(
KservcenumASC
)
go
4.存储过程设计
createprocedurecus_delete@Cidchar(25)
as
begin
delete
fromcustomer
whereCid=@Cid
end
go
5.触发器设计
createtriggerdecustomer
oncustomer
fordelete
as
declare@Cidchar(20)
select@Cid=Cidfromdeleted
delete
fromcustomer2
whereCid2=@Cid
go
五课程设计总结
参考文献
[1]萨师煊,王珊.《数据库系统概论(第三版)》.北京:
高等教育出版社.2000,2
[2]张曜.《JAVA函数实用手册》.北京:
冶金工业出版社.2003,8
[3]张晓东.《JAVA数据库高级教程》.北京:
清华大学出版社.2004,4
[4]赵瑞,毛久智.《论管理软件与集团企业管理》.广州经济管理干部学院学报,2005,(02):
28-30
[5]张多中.《国内酒店集团发展的障碍与对策》.西北大学学报(哲学社会科学版),2001(02):
54-57
[6]胡彬华,李晓,梁剑.《异构分布式数据库系统集成的研究与实现》.《计算机应用研究》,2002(10):
124-125
[7]陈立平.《国际酒店集团在华发展的制约因素及趋势分析》.北京工商大学学报(社会科学版),2005(03):
94-98
[8]许秋红,李新春.《基于资源理论(RBT)的酒店集团成长原因分析》.旅游学刊,2006(03):
203-205
[9]ScottKlein.《ProfessionalSQLServer2005XML》,WileyPublishingInc,2006,125-187
[10]KirkHaselden《MicrosoftSQLServe