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

下载本文档

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

文档简介

数据库原理与应用 课程设计报告 设计题目 客房管理数据库的设计与实现客房管理数据库的设计与实现 班级 计算机系网络工程计算机系网络工程 14 214 2 学号 姓名 尚晶晶尚晶晶 同组人 秦芳秦芳 1 计算机工程系课程设计报告计算机工程系课程设计报告 课程名称课程名称 c 程序课题实践报告 课程设计题目 课程设计题目 数据库酒店管理系统 班级 班级 网络二班 姓名 姓名 尚晶晶 学号 学号 目目 录录 1 需求分析 3 1 1 需求陈述 3 1 2 数据字典 3 2 系统功能设计 4 2 1 数据录入功能 4 2 2 数据查询功能 4 2 3 数据统计功能 4 3 概念设计 5 3 1 系统的分 E R 图 5 3 2 集成各分 E R 图形成总 E R 图 6 4 逻辑设计 8 4 1 将 E R 图转换为关系模型 8 4 2 关系模型的优化 8 成 绩 指导教师 签名 2 4 3 设计用户子模式 视图 8 4 4 数据库的逻辑结构 8 5 数据库实现 9 5 1 数据库及数据表的创建 9 5 2 表信息的插入 10 5 3 视图的建立和使用 12 5 4 存储过程 12 5 5 触发器 13 6 测试结果及分析 13 6 1 数据表的建立 13 6 2 数据表的插入 13 6 3 视图的建立和使用 14 6 4 存储过程 14 7 课程设计总结 15 3 1 1 需求分析需求分析 1 11 1 需求陈述需求陈述 伴随着经济和旅游的发展 酒店如今已成为我们生活中不可或缺的一部分 因此 酒店客房的管理也成为酒店中最重要的环节 但是传统的管理方法并不 能满足如今顾客量大的需求 所以需要使用数据库来实现客房的管理 客房数据库管理 对于一家酒店的客房进行管理 那么它所对应的功能应 该能够管理所有的客房 管理所有的进行订房的客户 管理所有的客户订单 用户能够对订单进行处理 这是四个最基本的大功能 从这四个大的功能模块 中再进行分析 可以知道这其中包含的几个实体和关系 要管理所有的客房 那么客房就是一个实体 另外客户也是一个实体 订单则是一个关系联系着客 户与客房 整个系统应该分为两个大板块一个是管理员模块 另一个是普通客 户模块 管理员拥有的是最高权限可以进行房间的添加和删除 房间属性的修 改 客户订单的修改和查看 而普通客户可以进行房间的查询 找出所有的可 用的房间显示出价格 房间号 房间的各种配置信息 可以进行退订转房间 对于所有的客房进行管理 应当将客房作为一个实体 他是现实中的一个实体 拥有自己的属性如房间号 房间的价格 房间床位的描述等 客房有自己的自 然主键就是房间号 房间的类型显示出是单人间还是普间还是套间 1 21 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 家庭住址 varchar 40 D1 8 Workplace 工作单位 varchar 40 4 数据项编号 数据项名称 数据项别名 数据项类型 长度 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 客房状态 varchar 30 D1 17 BedDescrption 床位描述 varchar 50 D1 18 Price 客房单价 money 2 2 系统功能设计系统功能设计 2 12 1 数据录入功能数据录入功能 在本系统中提供客人信息登记功能 可以录入客人的姓名 性别 年龄 身份证号 码 家庭住址 工作单位 来自地名 入住时间 预计入住天数 客房类别 客房号 离店时间以及交纳押金金额等信息 在客人退房时 系统根据输入的离店时间及客房单 价自动计算客人住房费金额 2 22 2 数据查询功能数据查询功能 查某类客房的入住情况及空房情况 显示所有该类客房空房数目及客房号 根据客人姓名 来自地名 工作单位或家庭住址等信息查询客人信息 根据客 房号查询入住客人信息 查询某个客人住宿费用情况 像是客人交纳押金金额 实际入住天数 客房价 格 实际住宿费 住宿费差 余额等信息 查询所有入住时间达到或超过预计入住天数的客人 2 32 3 数据统计功能数据统计功能 统计一段时间内各类客房的入住情况 统计全年个月的客房收入 5 统计一段时间内各类客房的入住率 3 3 概念设计概念设计 3 13 1 系统的分系统的分 E RE R 图图 顾客实体型 E R 图 1 客房信息实体型 E R 图 房型实体型 E R 图 姓名 性别 客户编号 客房编号 客户 身份证号 家庭住址 工作单位 年龄 客房信息 客房编号 客房类型编号 客房状态 顾客编号 客房类型 6 订单联系型 E R 图 3 23 2 集成各分集成各分 E RE R 图形成总图形成总 E RE R 图图 类型编号 客房类型 床位描述 单价 入住时间 退房时间 订单 预住天数 押金 结算金额 客户编号 客房编号 家庭住址 身份证号 7 4 4 逻辑设计逻辑设计 4 14 1 将将 E RE R 图转换为关系模型图转换为关系模型 客户 工作单位 姓名 年龄 性别 订单 入住时 间 退房时间 预住天数 结算金额 押金 客房 属于 客房编号 类型编号 客户编号 客房状态 客房类型 类型编号 客房类型 价格 床位描述 1 1 m 1 8 客户 客户编号 客房编号 姓名 性别 年龄 身份证号 家庭住址 工作 单位 客房 客房编号 类型编号 房间状态 客户编号 客房类型 类型编号 床位描述 客房类型 价格 订单 客户编号 客房编号 入住时间 退房时间 预住天数 押金 结算金 额 属于 客户号 类型编号 4 24 2 关系模型的优化关系模型的优化 客房信息表 客户编号 客房编号 姓名 性别 年龄 身份证号 家庭住 址 工作单位 入住时间 退房时间 预住天数 押金 结算金额 客房信息表 客房编号 类型编号 房间状态 客户编号 客房类型表 类型编号 床位描述 客房类型 价格 客房类型 4 34 3 设计用户子模式 视图 设计用户子模式 视图 将概念模型转换为逻辑模型后 还应该根据局部应用需求 结合具体 DBMS 的特点 设计用户的外模式 用户外模式注重考虑用户的习惯和方便 包括 使用更符合用户的别名 可以对不同级别的用户定义不同的 view 以保证系统的安全性 简化用户对系统的使用 用户子模式 作用 V OUTDATE1 查询住宿过期住户信息 4 44 4 数据库的逻辑结构数据库的逻辑结构 CustomInfo 表 客户信息表 列名数据类型及长 度 约束是否为空字段描述 CustID Varchar 20 PK 客户编号 RoomID Varchar 30 RoomInfo FK 客房编号 CustName Varchar 20 姓名 CustSex Varchar 20 男 女 性别 CustAgeInt 年龄 IDnumber Varchar 20 身份证号 HomeAdd Varchar 20 Y 家庭住址 Workplace Varchar 20 Y 工作单位 IntoTimedatetime 入住时间 EndTimedatetimeY 退房时间 ForeDayCountdatetime预住天数 CashMoneymoney 押金 ConsumMoneymoneyY结算金额 9 RoomInfo 表 客房信息表 列名数据类型约束是否为空值字段描述 RoomID Varchar 30 PK 客房编号 RoomTypeID Varchar 30 RoomTypeInfo FK 类型编号 RoomStates Varchar 20 Y 客房状态 CustID Varchar 30 客户号 RoomTypeInfo 表 客房类型表 列名数据类型约束是否为空值字段描述 RoomTypeID Varchar 20 类型编号 BedDescripti on Varchar 20 床位描述 Pricemoney 价格 RoomType Varchar 100 客房类型 5 5 数据库实现数据库实现 5 15 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 男 女 not 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 10 RoomID 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 RoomTypeInfo RoomTypeID varchar 20 primary key NOT NULL BedDescription varchar 30 NOT NULL Price Money NOT NULL RoomType varchar 20 not null 5 25 2 表信息的插入表信息的插入 1 顾客信息表的插入 INSERT INTO CustomInfo CustID RoomID CustName CustSex CustAge IDNumber HomeAdd WorkPlace IntoTime EndTime ForeDayCount CashMoney ConsumMoney VALUES 001 秦小芳 女 23 大同市怀仁 2016 01 12 3 200 INSERT INTO CustomInfo CustID RoomID CustName CustSex CustAge IDNumber HomeAdd WorkPlace IntoTime EndTime ForeDayCount 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 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 CashMoney ConsumMoney 11 VALUES 005 鲁小凡 女 23 侯马市 2016 01 12 1 200 INSERT INTO CustomInfo CustID RoomID CustName CustSex CustAge IDNumber HomeAdd WorkPlace IntoTime EndTime ForeDayCount CashMoney ConsumMoney VALUES 008 李小珊 女 23 山东省 2016 01 12 2 200 INSERT INTO CustomInfo CustID RoomID CustName CustSex CustAge IDNumber HomeAdd WorkPlace IntoTime EndTime ForeDayCount CashMoney ConsumMoney VALUES 009 张倩 女 23 长治市 2016 01 12 1 200 2 客房信息表的插入 INSERT INTO RoomInfo RoomID RoomTypeID RoomStates CustID VALUES 001 01 满 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 VALUES 004 03 满 INSERT INTO RoomInfo RoomID RoomTypeID RoomStates CustID VALUES 005 02 满 INSERT INTO RoomInfo RoomID RoomTypeID RoomStates CustID VALUES 006 01 空 INSERT 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 009 02 满 INSERT INTO RoomInfo RoomID RoomTypeID RoomStates CustID VALUES 010 03 空 3 客房类型表的插入 INSERT INTO RoomTypeInfo RoomTypeID BedDescription Price RoomType VALUES 01 1 100 单间 INSERT INTO RoomTypeInfo RoomTypeID BedDescription Price VALUES 02 2 200 普间 INSERT INTO RoomTypeInfo RoomTypeID BedDescription Price 12 VALUES 03 2 300 套房 5 35 3 视图的建立和使用视图的建立和使用 CREATE VIEW V OUTDATE1 AS SELECT CustID 客户号 RoomID 客房号 CustName 客户姓名 ForeDayCount 预住天数 FROM CustomInfo WHERE DATEDIFF DAY IntoTime EndTime ForeDayCount 5 45 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 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 ID 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 datepart MM Intotime as Custmonth SUM ConsumMoney as CustAmount From CustomInfo where DATEPART YYYY Intotime Thisyear group by DATEPART mm IntoTime go 5 55 5 触发器触发器 1 入住登记 修改房间状态 13 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 Roomstates 空 RoomInfo CustID from deleted d RoomInfo where Ro

温馨提示

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

评论

0/150

提交评论