1、通用酒店客房管理系统数据库设计说明书通用酒店客房管理系统数据库设计说明书1引言 31.1编写目的 31.2开发背景 31.3参考资料 32实体-联系图(E-R图) 33 数据库设计 43.1 数据表 43.2 视图 113.3 存储过程 131 引言1.1 编写目的本说明书是在酒店客房管理系统需求规格说明书的基础上,对系统的概念结构模型进行分析,进而进行数据库设计,为建立数据库提供依据。同时,本说明书也是项目完成后验收的重要依据。1.2 开发背景酒店行业的激烈竞争使得争取客源、提高酒店入住率、制定正确营销策略已经成为一项重要的任务,而借助于当前蓬勃发展的IT工具来拓展销售能力,创造客观的经济效
2、益已经成为许多酒店的首选。作为一种有效的统计分析手段,计算机管理系统发挥其强大的优势,在数据保存、数据交换方面的快速可靠,是手工操作所不能完成的。本酒店客房管理系统主要针对酒店管理中最核心的客房管理,旨在提高酒店的管理效率,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作情况、经营情况,从而提高酒店的服务质量,获得更好的经济效益;实现客房管理的规范化、自动化。1.3 参考资料书名作者出版社软件工程导论(第4版)张海藩清华大学出版社SQL Server 2000教程龚波等北京希望电子出版社实用软件工程郑人杰、殷人昆等清华大学出版社数据库系统概论(第四版)王珊等高等教育出版社2 实体-联系图(
3、E-R图)3 数据库设计3.1 数据表数据表清单(TableList):表名说明FloorInfo楼层信息表RoomType客房类型表RoomInfo客房信息表CommoditySet商品设置表MememberInfo会员信息表ReserveInfo宾客预订表ReserveRoomInfo预订客房信息表TimeSet时间(计费)设置表RegisterInfo宾客入住表GuestInfo宾客信息表RegisterRoomInfo入住客房信息表ChangeRoom换房记录表GuestHistoryInfo客史资料表StaffInfo员工信息表CommodityConsume其它商品消费明细表Con
4、sumeList消费项目明细清单表PayBill宾客结帐表AlterBill消费退单明细表DayBusiness日营业状况统计表楼层信息表(FloorInfo):字段名字段说明数据类型字段长度是否为空约束类型FloorNo楼层编号varchar10NOT NULL主键FloorName楼层名称varchar20Remark备注varchar50客房类型表(RoomType):字段名字段说明数据类型字段长度是否为空约束类型TypeNo类型编号varchar10NOT NULL主键TypeName类型名称varchar20RoomPrice客房单价decimal精度为10,小数位数为2Remark
5、备注varchar50客房信息表(RoomInfo):字段名字段说明数据类型字段长度是否为空约束类型RoomNo客房编号varchar10NOT NULL主键TypeNo类型编号varchar10NOT NULL外键FloorNo所在楼层编号varchar5外键RoomState客房状态varchar10Description客房描述varchar30Amount额定人数int4Remark备注varchar50商品设置表(CommoditySet):字段名字段说明数据类型字段长度是否为空约束类型CommodityNo商品编号varchar10NOT NULL主键CommodityName商品
6、名称varchar20CommodityPrice商品单价decimal精度为10,小数位数为2Remark备注varchar50会员信息表(MememberInfo):字段名字段说明数据类型字段长度是否为空约束类型MememberNo会员编号varchar10NOT NULL主键Name会员姓名varchar20Sex性别varchar5IdentityNo身份证号varchar20Address详细地址varchar50Phone联系电话varchar20Discount折扣比例decimal精度为5,小数位数为2Remark备注varchar50宾客预订表(ReserveInfo):字段
7、名字段说明数据类型字段长度是否为空约束类型ReserveNo预订单号varchar30NOT NULL主键Name宾客姓名varchar20NOT NULLSex性别varchar5GuestType客户类别varchar10IdentityNo身份证号varchar20WorkPlace工作单位varchar50Phone联系电话varchar20ArriveTime预计抵店时间datetime8LeaveTime预计离店时间datetime8RoomAmount预订房数int4Prepayment预付金额decimal精度为10,小数位数为2ReserveTime预订时间datetime8
8、IsRegister是否登记varchar20Operator操作员varchar10外键Remark备注varchar50预订客房信息表(ReserveRoomInfo):字段名字段说明数据类型字段长度是否为空约束类型ReserveNo预订单号varchar10NOT NULL主键,外键RoomNo客房编号varchar10NOT NULL主键,外键时间(计费)设置表(TimeSet):字段名字段说明数据类型字段长度是否为空约束类型CheckIn开始计费时间int4NOT NULLCheckOutHalfDay按半天计费时间int4NOT NULLCheckOutWholeDay按一天计费时
9、间int4NOT NULLExtraTime宽限时间int4NOT NULLReserveDays预订客房预留天数int4NOT NULL宾客入住表(RegisterInfo):字段名字段说明数据类型字段长度是否为空约束类型RegisterNo入住单号varchar10NOT NULL主键Name登记人姓名varchar20NOT NULLGuestType客户类别varchar10MememberNo会员编号varchar10ArriveTime抵店时间datetime8LeaveTime预计离店时间datetime8RoomAmount入住房数int4GuestAmount宾客人数int4
10、Prepayment预付金额decimal精度为10,小数位数为2IsPaid是否结帐varchar5默认值为否Operator操作员varchar10外键Remark备注varchar50宾客信息表(GuestInfo):字段名字段说明数据类型字段长度是否为空约束类型RegisterNo入住单号varchar10NOT NULL主键,外键Name宾客姓名varchar20NOT NULL主键Sex性别varchar5Nationality国籍varchar20IdentityNo身份证号varchar20WorkPlace工作单位varchar50Phone联系电话varchar20Addr
11、ess详细地址varchar50Remark备注varchar50入住客房信息表(RegisterRoomInfo):字段名字段说明数据类型字段长度是否为空约束类型RegisterNo入住单号varchar10NOT NULL主键,外键RoomNo客房编号varchar10NOT NULL主键,外键Discount折扣比例decimal精度为5,小数位数为2StayDay入住天数float8IsChangeRoom是否换房varchar5换房记录表(ChangeRoom):字段名字段说明数据类型字段长度是否为空约束类型No编号int4NOT NULL主键RegisterNo入住单号varcha
12、r10NOT NULL外键OldRoomNo原客房编号varchar10NOT NULL外键NewRoomNo换房后的客房编号varchar10NOT NULL外键OldRealPrice原入住价格decimal精度为10,小数位数为2OldStayDay原入住天数float8ChangeTime换房时间datetime8Operator操作员varchar10外键Remark备注varchar50客史资料表(GuestHistoryInfo):字段名字段说明数据类型字段长度是否为空约束类型No编号int4NOT NULL主键Name宾客姓名varchar20NOT NULLSex性别varc
13、har5Nationality国籍varchar20IdentityNo身份证号varchar20WorkPlace工作单位varchar50Phone联系电话varchar20Address详细地址varchar50RecentArriveTime最近一次入住时间datetime8RecentLeaveTime最近一次离店时间datetime8Remark备注varchar50员工信息表(StaffInfo):字段名字段说明数据类型字段长度是否为空约束类型StaffNo员工编号varchar10NOT NULL主键Name员工姓名varchar20Sex性别varchar5Password密
14、码varchar10Authority权限varchar10Remark备注varchar50其它商品消费明细表(CommodityConsume):字段名字段说明数据类型字段长度是否为空约束类型BillNo帐单编号int4NOT NULL主键RegisterNo入住单号varchar10NOT NULL外键CommodityNo商品编号varchar10NOT NULL外键Amount数量int4RemainAmount剩余可退数量int4ConsumeTime消费时间datetime8Operator操作员varchar10外键Remark备注varchar50消费项目明细清单表(Cons
15、umeList):字段名字段说明数据类型字段长度是否为空约束类型No编号int4NOT NULL主键ItemNo项目编号varchar10NOT NULLItemName项目名称varchar20NOT NULLPrice单价decimal精度为10,小数位数为2Discount折扣比例decimal精度为5,小数位数为2RealPrice折后单价decimal精度为10,小数位数为2Amount消费数量float8外键TotalAccount消费金额decimal精度为10,小数位数为2宾客结帐表(PayBill):字段名字段说明数据类型字段长度是否为空约束类型No编号Int4NOT NUL
16、L主键RegisterNo入住单号varchar10NOT NULL外键LeaveTime离店时间datetime8RoomIncome房费decimal精度为10,小数位数为2OtherIncome其他商品decimal精度为10,小数位数为2TotalAccount消费总金额decimal精度为10,小数位数为2Prepayment预付金额decimal精度为10,小数位数为2Account应付金额decimal精度为10,小数位数为2PayTime结帐时间datetime8IsPaid是否结帐varchar5默认值为否Operator操作员varchar10外键Remark备注varch
17、ar50消费退单明细表(AlterBill):字段名字段说明数据类型字段长度是否为空约束类型No编号int4NOT NULL主键RegisterNo入住单号varchar10NOT NULL外键CommodityNo商品编号varchar10外键CommodityName项目名称varchar25Amount退单数量int4AlterTime退单时间datetime8Operator操作员varchar10外键Reason退单原因varchar50日营业状况统计表(DayBusiness):字段名字段说明数据类型字段长度是否为空约束类型Date日期datetime8NOT NULL主键Gues
18、tAmount接待宾客人数int4RoomIncome房费decimal精度为10,小数位数为2OtherIncome其他商品decimal精度为10,小数位数为2DayIncome日营业额decimal精度为10,小数位数为23.2 视图视图清单(ViewList):视图名说明V_RoomInfo客房信息视图V_ ReserveRoomInfo预订客房信息视图V_ RegisterRoomInfo入住客房信息视图V_GuestQuery宾客信息查询视图V_ PayBill宾客结帐视图V_ CommodityConsume其它商品消费明细视图V_AlterBill消费退单明细视图客房信息视图(
19、V_RoomInfo):字段名字段说明是从那几个表导出的RoomNo客房编号楼层信息表(FloorInfo),客房信息表(RoomInfo),客房类型表(RoomType)TypeNo类型编号TypeName类型名称RoomPrice客房单价FloorNo所在楼层编号FloorName所在楼层名称RoomState客房状态Description客房描述Amount额定人数Remark备注预订客房信息视图(V_ReserveRoomInfo):字段名字段说明是从那几个表导出的ReserveNo预订单号预订客房信息表(ReserveRoomInfo),客房信息视图(V_RoomInfo)RoomN
20、o客房编号TypeNo类型编号TypeName类型名称RoomPrice客房单价入住客房信息视图(V_RegisterRoomInfo):字段名字段说明是从那几个表导出的RegisterNo入住单号入住客房信息表(RegisterRoomInfo),客房信息视图(V_RoomInfo)RoomNo客房编号TypeNo类型编号TypeName类型名称RoomPrice客房单价Discount折扣比例RealPrice入住价格StayDay入住天数IsChangeRoom是否换房宾客信息查询视图(V_GuestQuery):字段名字段说明是从那几个表导出的RegisterNo入住单号宾客入住表(R
21、egisterInfo),宾客信息表(GuestInfo)Name宾客姓名Sex性别Nationality国籍IdentityNo身份证号WorkPlace工作单位Phone联系电话Address详细地址ArriveTime抵店时间Operator操作员IsPaid是否结帐Remark备注宾客结帐视图(V_PayBill):字段名字段说明是从那几个表导出的No编号宾客入住表(RegisterInfo),宾客结帐表(PayBill)RegisterNo入住单号Name登记人姓名GuestAmount宾客人数RoomAmount入住房数ArriveTime抵店时间LeaveTime离店时间Room
22、Income房费OtherIncome其他商品TotalAccount消费总金额Prepayment预付金额Account应付金额PayTime结帐时间IsPaid是否结帐Operator操作员Remark备注其它商品消费明细视图(V_CommodityConsume):字段名字段说明是从那几个表导出的BillNo帐单编号商品设置表(CommoditySet),其它商品消费明细表(CommodityConsume)RegisterNo入住单号CommodityNo商品编号CommodityName商品名称CommodityPrice商品单价Amount数量RemainAmount剩余可退数量T
23、otalAccount消费金额ConsumeTime消费时间Operator操作员Remark备注消费退单明细视图(V_AlterBill):字段名字段说明是从那几个表导出的No编号商品设置表(CommoditySet),消费退单明细表(AlterBill)RegisterNo入住单号CommodityNo商品编号CommodityName项目名称CommodityPrice商品单价Amount退单数量TotalAccount退单金额AlterTime退单时间Operator操作员Reason退单原因3.2 存储过程存储过程清单(ProcedureList):存储过程名说明P_TotalAccount计算应收帐款P_DayStatistics统计日营业状况P_GuestHistoryInfo保存客史资料计算应收帐款(P_TotalAccount):CREATE procedure P_TotalAccount RegisterNo varchar(10)ASBEGIN TRAN declare daycount float,flag int,arrivetime datetime decl