没有合适的资源?快使用搜索试试~ 我知道了~
数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 149 浏览量
2022-06-20
00:00:41
上传
评论
收藏 886KB PDF 举报
温馨提示
试读
21页
数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf数据库应用技术大作业——旅馆管理系统数据库设计 (3).pdf
资源推荐
资源详情
资源评论
SQL 实践作业:旅馆管理系统数据库设计与实现
————自动化学院自动化专业
小组成员及所完成的工作:
所完成的工作:数据库整体结构的设计,ER 图的绘制和其他工作的审核
系统名称:旅馆管理系统
一、系统需求
1.背景:
随着科技和经济的发展,旅游业已经成为一个热门的产业,并且传统的手
工已不适应现代酒店管理的需要,及时、准确、全方位的网络化信息管理成为必
需。在酒店的管理及业务日益复杂、要求在不断提高的现状下,利用高科技、现
代化的电脑自动化管理系统来处理日益繁重的酒店业务,对于大型的酒店是必须
具备的管理方式。
酒店客房管理系统是根据酒店对客房管理的实际情况进行编写的,主要目的
是为了方便酒店对客房的实际情况进行集中的查询与管理工作,以提高整个酒店
的工作。酒店客房管理的科学化、系统化、信息化成为各个酒店追求的目标。因
此,而要实现这些功能,就要求各个酒店配备一套客房管理系统,以便在酒店内
实施良好的完善的管理且以最快地速度响应客户的需求,及时为他们提供服务,
为他们提供一个高效、便捷的居住环境。
2.旅店需求特点分析:
通过对旅店的调研,对于旅店的需求特点有了基本了解
(1)基本要求:系统能够进行客户的信息的存储,客户信息的删除,客户信息的
更新,客户账单的结算……因此要求系统一定要严密准确,不能
出现插入和删除异常,因此要求数据库系统的设计符合第四范式
(2)高级要求:旅店面对的经常是一些突发的情况,比如客户的提前退房,客户
要求换房,客户要求其他的附加服务……这些突发事件是我们在
我们的系统中需要着重考虑的
3.旅客需求特点分析:
1
通过对用户的调研,我们发现用户希望住旅馆的手续能够尽量简单,但是要
求旅馆的各种信息准确,出现错误的可能性尽量低
4.旅店管理系统需求分析
:
旅店的客房特点分析:
(1)通过每个房间唯一的房间号来区别 (也就是我们数据库系统中的
room_num),房间分成不同的类型(room_type)有‘A’、‘B’、‘C’三种
类型,它们对应的价格也会不同,这个由顾客自己选择,体现了我们
设计系统的人性化;
(2)房间的状态(room_state)会根据是否有用户入住而不同,如果该房间
有人入住的话,那么就将房间的状态标记为 busy;
(3)房间同时拥有‘IsBooked’状态,如果房间被预定的话,那么就将这
个房间的状态标记为‘Booked’,如果没有预定的话,那么房间的状
态为‘nobook’,这样的话方便旅客‘入住’、‘换房’、‘续住’种种
操作,避免住进了已经有人预订的房间,同时有些房间即使已经有人
预定了,但是在预定旅客之前其他旅客还是可以住进来的,只要他在
预定旅客入住之前退房就可以了,样大大提高了客房的利用率。
(4)考虑房间和顾客的关系,房间和旅客关系是一对多的,因为从现实出
发,房间分为‘单人房’、‘双人房’等,旅客的收费是按照‘床位’
来收费的,但是不同房间的床位的价格是不同的,但是在我们的数据
库中默认所有的房间都是单人房,这是我们设计的不足,更理想的是
在每种类型中分为‘单人房’、‘双人房’,然后为每个床位设立状态,
每位顾客都是按照床位来收房,而不是简单的按照房间来收费,但是
在现实生活中旅馆的类型又有很多种,我们所设计的数据库可能只是
适合其中的部分类型的旅馆。
旅客特点分析:
从旅馆的角度来说,最重要的就是准确地记录旅客在住宿期间一切
信息,并且要求准确
(1) lodger 表用来记录旅客的信息,有 lodger_name,id_num,room_num,e
checkin_date,exp_checkout_date,pre_payment
(2) lodger 表用来记录当前正在发生‘入住’的旅客的信息,这个表是
动态的,
如果旅客退房,与之相关的表示 checkout 实体集,将用户的信
息载入这个表,因为退房的信息是非常关键的,因为旅店的账目
的结算是要依靠这个表的,然后他的信息就会从 lodger 这个表
中删除;
旅客可能要求‘换房’,实现这个功能的是 change_room 联系集
这个联系集联系了 lodger 和 Room 两个表,将原来的房间的状态
修改为‘Free’,将新入住的房间修改为‘busy’;
旅客可能要求续住,我们当然会满足这个要求,实现这个要求的
要求是联系集 con_room,如果旅客续住那么在情况允许的情况下,
2
可以继续在原来的房间住宿,并修改 exp_checkout_date 的信息,
如果原来的房间已经有人预定的话,那么建议旅客更改房间,重
新登记‘lodger’信息;
旅店的账目管理特点分析
旅店的账目管理系统是一个比较复杂的系统,要求每天都要进行更
新,同时还须具备‘日结’、‘月结’、‘季度结’、‘年结’的功能,与
此相关的是 checkout,DayAccount,MonthAccount,YearAccount 他们
最终依赖的表都是 checkout 表,在我们的系统中 checkout 表用于记
录退房用户的信息,我们并没有设定主键只是设立了外依赖,因为在
这个表中不可能有两个完全相同的元组
(lodger_name,room_num,cur_date,(cur_year,cur_month,cur_day)
,room_account,back_change),属性(lodger_name,room_num,cur_
date,)使任意两个元组都不可能相同,因为 cur_date 是精确到秒的,
在实际情况中具有相同 lodger_name,在同一时间内从同一个房间退
房时不会发生地,之所以不删除这个表的元组,是因为我们想保留这
些信息以便日后的查询,比如核对账单,比如发生刑事案件需要旅店
配合时,可能需要查询相关的信息……
日结 DayAccount 的 实现也 比较 复杂, 首 先我们 定制 一个作业
‘Inseting DayAccount ’每天 0:00:00 向 DayAccount 插入一个用
于初始化的元组,然后建立一个 checkout 与 DayAccount 之间的触发
器,如果向 checkout 中插入信息,那么就将 room_account 累加到
DayAccount 中的 day_account 中去,这样就能自动统计了每天的盈
利状况
MonthAccount 和 YearAccount 的算法和 DayAccount 类似,同样通
过定制作业和建立触发器,实现自动运算,在这就不多介绍了
3
二、系统概念模型(E-R 图)
4
三、关系模式(逻辑模型)
四、物理设计(表结构)
Table1:Room(Entity Set)
Attribute:
room_num (房间号),
room_type (房间类型),
room_price(房间价格),
room_state(房间状态),
IsBooked (预定状态)
PrimaryKey:
room_num
Table2:Lodger (Entity Set)
5
剩余20页未读,继续阅读
资源评论
apple_51426592
- 粉丝: 9547
- 资源: 9658
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功