《2022年宾馆管理系统课程设计方案作业.docx》由会员分享,可在线阅读,更多相关《2022年宾馆管理系统课程设计方案作业.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录一、摘要2二、需求分析2三、数据库概念结构设计23.1 功能模块分析23.2 功能结构图23.4ER图3四、数据库的规律结构设计44.1 用数据库建表并完成数据的完整性44.2 建表的脚本语句64.3 数据输入8五、功能的实现95.1 视图的创建95.2 储备过程的建立95.3 触发器的建立10六、试验小结10一、摘要为便利小投资的宾馆能更好治理顾客与客房,客房与宾馆,宾馆与员工等之间的关系,顺应需要设计了这种宾馆客房信息治理系统,由于编写功能的不够强大,可能在真实应用会存在些许问题二、需求分析随着外出人流由于生活,商业等方面的增多,宾馆的进展也日益的迅猛,由于顾客量的增多,客户登记时间的
2、广泛,宾馆收益的日益增多,仅仅依靠手写的老式输入记账法,是无法满意宾馆的需求的,同时这也是铺张人力和时间的;开发这个数据库,目的就在于能够更好的对客房的预订情形,空余情形,顾客信息,顾客住宿时间和所用费用,客房房态等进行精确的查询,以便更好的完善和更新宾馆信息系统;数据库的概念结构设计三、数据库概念结构设计3.1 功能模块分析依据宾馆的详细情形,系统主要功能如下:1)住宿治理模块:包括客房预订、入住登记、客人续往、调房登记、退房结账 5部分;2).客房治理模块:包括客房设置、客房查询、宿费提示3部分;3)查询统计模块:包括预订房查询、住宿查询、退房查询、客房宿费统计 4部分;4)报表治理模块:
3、包括预售报表、客房销售报表2部分;5)挂账治理模块:包括客户治理、挂账查询、客户结账3部分; COLLATE Chinese_PRC_CI_AS NOT NULL , 邮政编码 varchar 6 COLLATE Chinese_PRC_CI_AS NOT NULL , 电话 varchar 15 COLLATE Chinese_PRC_CI_AS NOT NULL , 传真 varchar 15 COLLATE Chinese_PRC_CI_AS NULL , 网址 varchar 30 COLLATE Chinese_PRC_CI_AS NULL , 电子邮箱 varchar 30 COL
4、LATE Chinese_PRC_CI_AS NULL ON PRIMARY GO2、部门基本信息表CREATE TABLE dbo.部门基本信息表 部门编号 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 部门名称 varchar 25 COLLATE Chinese_PRC_CI_AS NULL , 部门电话 varchar 15 COLLATE Chinese_PRC_CI_AS NOT NULL , 部门负责人 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL ON PRIMARY GO3、员工信
5、息表CREATE TABLE dbo.员工信息表 员工编号 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 员工姓名 varchar 10 COLLATE Chinese_PRC_CI_AS NULL , 员工性别 char 2 COLLATE Chinese_PRC_CI_AS NULL , 诞生日期 datetime NOT NULL , 员工证件号 varchar 20 COLLATE Chinese_PRC_CI_AS NOT NULL , 员工电话 varchar 15 COLLATE Chinese_PRC_CI_AS NOT NUL
6、L , 部门编号 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 职务 varchar 25 COLLATE Chinese_PRC_CI_AS NOT NULL , 聘用日期 datetime NOT NULL , 月薪 decimal18, 0 NOT NULL , 备注 text COLLATE Chinese_PRC_CI_AS NULL ON PRIMARY TEXTIMAGE_ON PRIMARY GO4、客房设备信息表CREATE TABLE dbo. 客房设备信息表 客房编号 varchar 10 COLLATE Chinese_
7、PRC_CI_AS NOT NULL , 客房类型 varchar 25 COLLATE Chinese_PRC_CI_AS NOT NULL , 客房单价 money NOT NULL , 床位数量 varchar 5 COLLATE Chinese_PRC_CI_AS NOT NULL , 空调 bit NOT NULL , 电视 bit NOT NULL , 音响设备 varchar 50 COLLATE Chinese_PRC_CI_AS NOT NULL , 房间数目 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 免费网络和电话 bi
8、t NOT NULL , 独立浴室 bit NOT NULL , 客房位置 varchar 40 COLLATE Chinese_PRC_CI_AS NOT NULL , 预订情形 bit NOT NULL , 备注 text COLLATE Chinese_PRC_CI_AS NULL ON PRIMARY TEXTIMAGE_ON PRIMARY GO5、客房预订信息表CREATE TABLE dbo.客房预订信息表 预订编号 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 顾客姓名 varchar 10 COLLATE Chinese_PR
9、C_CI_AS NULL , 顾客证件号 varchar 20 COLLATE Chinese_PRC_CI_AS NOT NULL , 客房编号 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 订房日期 datetime NOT NULL , 预订金 money NOT NULL , 折扣 decimal18, 0 NOT NULL , 支付方式 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 备注 text COLLATE Chinese_PRC_CI_AS NULL , 操作员 varchar
10、 10 COLLATE Chinese_PRC_CI_AS NOT NULL ON PRIMARY TEXTIMAGE_ON PRIMARY GO6、结算信息表CREATE TABLE dbo.结算信息表 结算编号 varchar 10 COLLATE Chinese_PRC_CI_AS NOT NULL , 客房编号 varchar 10 COLLATE Chinese_PRC_CI_AS NULL , 客房类型 varchar 25 COLLATE Chinese_PRC_CI_AS NULL , 顾客姓名 varchar 10 COLLATE Chinese_PRC_CI_AS NULL
11、 , 顾客证件号 varchar 20 COLLATE Chinese_PRC_CI_AS NULL , 订房日期 datetime NULL , 退房日期 datetime NULL , 消费金额 money NULL , 折扣 decimal18, 0 NULL , 支付方式 varchar 10 COLLATE Chinese_PRC_CI_AS NULL , 备注 text COLLATE Chinese_PRC_CI_AS NULL , 员工编号 varchar 10 COLLATE Chinese_PRC_CI_AS NULL ON PRIMARY TEXTIMAGE_ON PRI
12、MARY GO7、顾客信息表CREATE TABLE dbo.顾客信息表 顾客姓名 varchar 10 COLLATE Chinese_PRC_CI_AS NULL , 顾客证件号 varchar 20 COLLATE Chinese_PRC_CI_AS NOT NULL , 顾客性别 char 2 COLLATE Chinese_PRC_CI_AS NULL , 顾客生日 datetime NULL , 顾客邮箱 varchar 30 COLLATE Chinese_PRC_CI_AS NULL , 顾客级别 varchar 30 COLLATE Chinese_PRC_CI_AS NOT
13、 NULL ON PRIMARY GO4.3 数据输入1 宾馆信息表2 部门基本信息表3 员工信息表4 客房设备信息表5 客房预订信息表6 结算信息表7 顾客信息表五、功能的实现5.1 视图的创建1创建视图,只检索 “订房日期 ”为2021 01 09的全部顾客信息以及其预订的客房方态SELECT dbo. 客房预订信息表 .客房编号 , dbo.顾客信息表 .顾客证件号 ,dbo.顾客信息表 .顾客姓名 , dbo.客房预订信息表 .预订编号 ,dbo.客房预订信息表 .订房日期 , dbo.客房设备信息表.客房类型 , dbo.客房设备信息表 .客房单价FROM dbo. 顾客信息表 IN
14、NER JOIN dbo.客房预订信息表 ONdbo.顾客信息表 .顾客证件号 = dbo. 客房预订信息表 .顾客证件号 INNER JOIN dbo.客房设备信息表 ONdbo.客房预订信息表 .客房编号 = dbo.客房设备信息表 .客房编号WHERE dbo. 客房预订信息表 .订房日期 = 2021-01-122创建视图,只检索客房类型为一般单人间的且已预订的客房及顾客信息SELECT dbo. 客房设备信息表 .客房编号 AS Expr2, dbo. 客房设备信息表 .客房类型 AS Expr3, dbo.客房设备信息表 .客房单价 AS Expr4, dbo. 客房设备信息表 .
15、预订情形 AS Expr5,dbo.顾客信息表 .顾客证件号 , dbo.顾客信息表 .顾客姓名 ,dbo.顾客信息表 .顾客级别FROM dbo. 顾客信息表 CROSS JOIN dbo.客房设备信息表WHERE dbo. 客房设备信息表 .客房类型 = 一般单人间 AND dbo.客房设备信息表 .预订情形 = 15.2 储备过程的建立1为了促进消费者消费,创建将客房类型为贵宾房的客房单价进行减价9.5折处理的储备过程,创建语句如下:CREATE PROCEDURE discount ASupdate 客房设备信息表 set 客房单价 =客房单价 *0.95 where 客房类型 =贵宾
16、房 GO2为了促进员工的工作积极性可以给员工增加薪水创建语句为: CREATE PROCEDURE wageincrease AS update 员工信息表 set 月薪 =月薪 *0.01+ 月薪 Go5.3 触发器的建立定义一个触发器 “编号更新 ”,当客房设备信息表中的客房编号更新时,将客房预订表和结算信息表中的客房编号也同时更新;CREATE TRIGGER编号更新 ON dbo. 客房设备信息表 after UPDATEASif update 客房编号 begindeclare hotel_id as varchar10 declare old_hotel_id as varchar
17、10select hotel_id= 客房编号 from insertedselect old_hotel_id= 客房编号 from deleted update 客房预订信息表set 客房预订信息表 .客房编号 =hotel_id where 客房预订信息表 .客房编号 =old_hotel_idupdate 结算信息表set 结算信息表 .客房编号 =hotel_id where 结算信息表 .客房编号 =old_hotel_id End六、试验小结在这连续几天里的数据库应用设计中比起之前课程中的数据库有了更深的明白;从一开头的需求分析到概念结构设计经受了很多次的修改,最终明白实体与实体之间该如何找到关系,再解决好需求分析和概念结构设计之后就显得简单了;表格的设计要考虑到其属性的数据类型和长度,为了使得数据更具有操作性仍要求完整性的设计,其中外键的设计必需是数据类型和长度相同的;视图实际上就是联系多个表数据的虚拟的表,而储备过程就是编译的 T-SQL语句储备在一个名称下的通过命令调用的重复使用;比较难的是触发器的建立,其中使用了 deleted和inserted表,且在需要用户自己编辑 SQL语句也相应难些;
限制150内