计算机课程设计报告_第1页
计算机课程设计报告_第2页
计算机课程设计报告_第3页
计算机课程设计报告_第4页
计算机课程设计报告_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上数据库原理与应用课程设计报告设计题目:客房管理数据库的设计与实现班级:计算机系网络工程14-2学号:姓名:尚晶晶同组人:秦芳专心-专注-专业计算机工程系课程设计报告课程名称:c程序课题实践报告成 绩:课程设计题目:指导教师(签名): 数据库酒店管理系统班级:网络二班 姓名:尚晶晶 学号: 目 录1.需求分析 1.1 需求陈述 伴随着经济和旅游的发展,酒店如今已成为我们生活中不可或缺的一部分。因此,酒店客房的管理也成为酒店中最重要的环节,但是传统的管理方法并不能满足如今顾客量大的需求,所以需要使用数据库来实现客房的管理。客房数据库管理,对于一家酒店的客房进行管理,那么它

2、所对应的功能应该能够管理所有的客房,管理所有的进行订房的客户,管理所有的客户订单,用户能够对订单进行处理。这是四个最基本的大功能。从这四个大的功能模块中再进行分析,可以知道这其中包含的几个实体和关系。要管理所有的客房,那么客房就是一个实体,另外客户也是一个实体,订单则是一个关系联系着客户与客房。整个系统应该分为两个大板块一个是管理员模块,另一个是普通客户模块。管理员拥有的是最高权限可以进行房间的添加和删除、房间属性的修改、客户订单的修改和查看。而普通客户可以进行房间的查询,找出所有的可用的房间显示出价格、房间号、房间的各种配置信息。可以进行退订转房间。对于所有的客房进行管理,应当将客房作为一个

3、实体,他是现实中的一个实体,拥有自己的属性如房间号,房间的价格、房间床位的描述等。客房有自己的自然主键就是房间号。房间的类型显示出是单人间还是普间还是套间。 1.2 数据字典 数据项表 数据项编号 数据项名称 数据项别名 数据项类型 长度 D1-1 CustID 客户编号 varchar 20 D1-2 RoomID 客房编号 varchar 30 D1-3 CustName 客户姓名 varchar 20 D1-4 CustSex 客户性别 varchar 2 D1-5 CustAge 客户年龄 int D1-6 IDnumber 身份证号 varchar 30 D1-7 HomeAdd 家

4、庭住址 varchar 40 D1-8 Workplace 工作单位 varchar 40 数据项编号 数据项名称 数据项别名 数据项类型 长度 D1-9 TntoTime 入住时间 datetime D1-10 EndTime 退房时间 datetime D1-11 ForeDayCount 预住天数 date D1-12 CashMoney 押金 money D1-13 ConsumMoney 结算金额 money D1-14 RoomTypeID 客房类型编号 varchar 30 D1-15 RoomType 客房类型 varchar 20 D1-16 RoomStates 客房状态

5、varchar 30 D1-17 BedDescrption 床位描述 varchar 50 D1-18 Price 客房单价 money2. 系统功能设计 2.1数据录入功能在本系统中提供客人信息登记功能,可以录入客人的姓名、性别、年龄、身份证号码、家庭住址、工作单位、来自地名、入住时间、预计入住天数、客房类别、客房号、离店时间以及交纳押金金额等信息。在客人退房时,系统根据输入的离店时间及客房单价自动计算客人住房费金额。 2.2数据查询功能l 查某类客房的入住情况及空房情况,显示所有该类客房空房数目及客房号。l 根据客人姓名、来自地名、工作单位或家庭住址等信息查询客人信息;根据客房号查询入住

6、客人信息。l 查询某个客人住宿费用情况,像是客人交纳押金金额、实际入住天数、客房价格、实际住宿费、住宿费差、余额等信息。l 查询所有入住时间达到或超过预计入住天数的客人。 2.3数据统计功能l 统计一段时间内各类客房的入住情况。l 统计全年个月的客房收入。l 统计一段时间内各类客房的入住率。3. 概念设计 3.1 系统的分E-R图 顾客实体型E-R图客房编号 客户编号 客户性别 姓名 年龄工作单位家庭住址身份证号 客房信息实体型E-R图 客房信息 客房状态客房类型编号 客房编号顾客编号 房型实体型E-R图 客房类型 客房类型 单价床位描述类型编号 订单联系型E-R图入住时间退房时间 订单结算金

7、额押金预住天数 3.2 集成各分E-R图形成总E-R图 客房编号客户编号身份证号家庭住址 客户 姓名工作单位年龄性别1m11床位描述价格客房类型类型编号 客房类型客房状态客户编号类型编号客房编号 属于 客房 押金结算金额预住天数退房时间入住时间订单 4. 逻辑设计 4.1将E-R图转换为关系模型 客户(客户编号,客房编号,姓名,性别,年龄,身份证号,家庭住址,工作单位) 客房(客房编号,类型编号,房间状态,客户编号) 客房类型(类型编号,床位描述,客房类型,价格) 订单(客户编号,客房编号,入住时间,退房时间,预住天数,押金,结算金额) 属于(客户号,类型编号) 4.2 关系模型的优化 客房信

8、息表(客户编号,客房编号,姓名,性别,年龄,身份证号,家庭住址,工作单位,入住时间,退房时间,预住天数,押金,结算金额) 客房信息表(客房编号,类型编号,房间状态,客户编号) 客房类型表(类型编号,床位描述,客房类型,价格,客房类型) 4.3 设计用户子模式(视图) 将概念模型转换为逻辑模型后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。用户外模式注重考虑用户的习惯和方便,包括: 使用更符合用户的别名。 可以对不同级别的用户定义不同的view,以保证系统的安全性。 简化用户对系统的使用。 用户子模式 作用 V_OUTDATE1 查询住宿过期住户信息 4.4 数据库的逻辑结

9、构CustomInfo 表(客户信息表) 列名数据类型及长 度约束是否为空字段描述CustIDVarchar(20)PK客户编号RoomIDVarchar(30)RoomInfoFK客房编号CustNameVarchar(20)姓名CustSexVarchar(20)男,女性别CustAgeInt年龄IDnumberVarchar(20)身份证号HomeAddVarchar(20)Y家庭住址WorkplaceVarchar(20)Y工作单位IntoTimedatetime入住时间EndTimedatetimeY退房时间ForeDayCountdatetime预住天数CashMoneymoney

10、押金ConsumMoneymoneyY结算金额RoomInfo表(客房信息表)列名数据类型约束是否为空值字段描述RoomIDVarchar(30)PK客房编号RoomTypeIDVarchar(30)RoomTypeInfoFK类型编号RoomStatesVarchar(20)Y客房状态CustIDVarchar(30)客户号RoomTypeInfo表(客房类型表)列名数据类型约束是否为空值字段描述RoomTypeIDVarchar(20)类型编号BedDescriptionVarchar(20)床位描述Pricemoney价格RoomTypeVarchar(100)客房类型5. 数据库实现

11、5.1 数据库及数据表的创建 (1)顾客信息表的建立(CustomInfo) CREATE TABLE CustomInfo ( CustID varchar(20)primary key not null, RoomID varchar(30) Constraint FK_RoomID Foreign key references RoomInfo(RoomID) NOT null, CustName varchar(20) NOT null, CustSex varchar(50) default 0 Check (CustSex in('男','女') n

12、ot NULL, CustAge int not null, IDNumber varchar(30) not null, HomeAdd varchar(40) null, WorkPlace varchar(40) null, IntoTime datetime not null, EndTime datetime null, ForeDayCount datetime not null, CashMoney money not null, ConsumMoney money null ) (2)客房信息表的建立(RoomInfo) CREATE TABLE RoomInfo ( Room

13、ID varchar(30)primary key NOT NULL, RoomTypeID varchar(20) Constraint FK_RoomTypeID Foreign key references RoomTypeInfo(RoomTypeID) NOT null, RoomStates varchar(50) default 0 Check (RoomStates in('空','满') NULL, CustID varchar(30) Not null ) (3)客房类型表的建立(RoomTypeInfo) CREATE TABLE Room

14、TypeInfo ( RoomTypeID varchar(20) primary key NOT NULL, BedDescription varchar(30) NOT NULL, Price Money NOT NULL , RoomType varchar(20) not null ) 5.2 表信息的插入(1) 顾客信息表的插入 INSERT INTO CustomInfo (CustID, RoomID, CustName, CustSex, CustAge, IDNumber, HomeAdd, WorkPlace, IntoTime, EndTime, ForeDayCount

15、, CashMoney , ConsumMoney) VALUES ('','001','秦小芳','女',23,'','大同市怀仁','','2016-01-12','',3,200,'') INSERT INTO CustomInfo (CustID, RoomID, CustName, CustSex, CustAge, IDNumber, HomeAdd, WorkPlace, IntoTime, EndTime, ForeDa

16、yCount, CashMoney , ConsumMoney) VALUES ('','003','王小茹','女',25,'','运城市','','2016-01-12',null,1,200,null) INSERT INTO CustomInfo (CustID, RoomID, CustName, CustSex, CustAge, IDNumber, HomeAdd, WorkPlace, IntoTime, EndTime, ForeDayCount,

17、CashMoney , ConsumMoney) VALUES ('','004','尚小晶','女',23,'','忻州市','','2016-01-12',null,2,200,'') INSERT INTO CustomInfo (CustID, RoomID, CustName, CustSex, CustAge, IDNumber, HomeAdd, WorkPlace, IntoTime, EndTime, ForeDayCount, Ca

18、shMoney , ConsumMoney) VALUES ('','005','鲁小凡','女',23,'','侯马市','','2016-01-12','',1,200,'') INSERT INTO CustomInfo (CustID, RoomID, CustName, CustSex, CustAge, IDNumber, HomeAdd, WorkPlace, IntoTime, EndTime, ForeDayCount

19、, CashMoney , ConsumMoney) VALUES ('','008','李小珊','女',23,'','山东省','','2016-01-12','',2,200,'') INSERT INTO CustomInfo (CustID, RoomID, CustName, CustSex, CustAge, IDNumber, HomeAdd, WorkPlace, IntoTime, EndTime, ForeDayC

20、ount, CashMoney , ConsumMoney) VALUES ('','009','张倩','女',23,'','长治市','','2016-01-12','',1,200,'')(2) 客房信息表的插入 INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES ('001','01','满','

21、;') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES('002','02','空','') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES ('003','01','满','') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID

22、) VALUES ('004','03','满','') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES ('005','02','满','') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES ('006','01','空','') INS

23、ERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES ('007','03','空','') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES ('008','01','满','') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES (

24、'009','02','满','') INSERT INTO RoomInfo (RoomID,RoomTypeID,RoomStates,CustID) VALUES ('010','03','空','')(3) 客房类型表的插入 INSERT INTO RoomTypeInfo (RoomTypeID,BedDescription,Price,RoomType) VALUES ('01','1','100','

25、;单间') INSERT INTO RoomTypeInfo (RoomTypeID,BedDescription,Price) VALUES ('02','2','200','普间') INSERT INTO RoomTypeInfo (RoomTypeID,BedDescription,Price) VALUES ('03','2','300','套房') 5.3 视图的建立和使用 CREATE VIEW V_OUTDATE1 AS SELECT Cust

26、ID 客户号,RoomID 客房号,CustName 客户姓名,ForeDayCount 预住天数 FROM CustomInfo WHERE DATEDIFF(DAY,IntoTime,EndTime)>=ForeDayCount 5.4存储过程 (1)查空房 CREATE PROCEDURE Pronullroom1 Type varchar(20) AS SELECT R.RoomID 客房号,T.RoomType 客房类型,T.Price 价格,T.BedDescription 床位描述 FROM RoomInfo R LEFT JOIN RoomTypeInfo T ON R.

27、RoomTypeID =T.RoomTypeID WHERE R.RoomStates='空' and Type=T.RoomTypeID (2)查询客户信息 CREATE PROCEDURE ProCustomer Name varchar(20),PLace varchar(30) AS SELECT * FROM CustomInfo WHERE Name=CustName or PLace=HomeAdd Go CREATE PROCEDURE ProCustomer2 ID varchar(20) AS SELECT * FROM CustomInfo WHERE I

28、D=CustID Go (3)各类客房的入住情况 CREATE PROCEDURE ProRoomtype Type varchar(20) as SELECT * FROM CustomInfo C , RoomInfo R ,RoomTypeInfo T where C.RoomID=R.RoomID and R.RoomTypeID=T.RoomTypeID and R.RoomStates='满' and Type=T.RoomTypeID (4)客房总收入 Create procedure MonthSum Thisyear char(4) As select dat

29、epart(MM,Intotime) as Custmonth,SUM(ConsumMoney) as CustAmount From CustomInfo where DATEPART(YYYY,Intotime)=Thisyear group by DATEPART(mm,IntoTime) go 5.5 触发器 (1)入住登记,修改房间状态 CREATE TRIGGER 入住登记 ON CustomInfo AFTER INSERT AS Begin UPDATE RoomInfo SET Roomstates='满' FROM INSERTED I,RoomInfo R WHERE I.RoomID=R.RoomID END GO (2)退房登记,结算金额 create trigger 退房 on CustomInfo for delete as begin update RoomInfo set RoomInfo.Room

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论