旅客住宿系统数据库设计示例

旅客住宿系统数据库设计示例

ID:38791134

大小:65.81 KB

页数:6页

时间:2019-06-19

旅客住宿系统数据库设计示例_第1页
旅客住宿系统数据库设计示例_第2页
旅客住宿系统数据库设计示例_第3页
旅客住宿系统数据库设计示例_第4页
旅客住宿系统数据库设计示例_第5页
资源描述:

《旅客住宿系统数据库设计示例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、9.7数据库设计示例下面以旅客登记住宿宾馆为例,说明数据库应用系统设计的大致过程。9.7.1需求分析1.业务流程分析旅店管理所涉及到的处理要求大致如下:(1)给旅客建立消费卡,即向消费卡表中插入一条记录,该记录的资金总额为预交金额,余额也等于预交金额,其他消费金额均采用默认值0。(2)向消费卡追加资金,即修改消费卡表中对应记录的资金总额和余额数据项的值,使之增加相应的金额。(3)给旅客登记住房,首先把每条由卡号和房序号构成的记录插入到住宿表中,接着计算出该卡号一天的住宿费,然后修改住宿费表,使得对应记录的住宿费增加和余额减少相应的值,最后还要修改客房表,使相应记录

2、的“已用”属性的值置为1。(4)每天12点时催款,即查看催补款表,按卡号通知相应旅客要么退房,要么补交资金。(5)每天12点半加一天住宿费(假定只按整天、不按半天计费),首先根据住宿表和客房表计算出每个卡号一天的住宿费,然后按该卡号修改住宿费表中的对应记录,使住宿费项增加和余额项减少相应的值。(6)伙食消费,按旅客使用的卡号修改伙食费表中对应的记录,使伙食费项增加和余额项减少一次就餐开支。(7)娱乐消费,按旅客使用的卡号修改娱乐费表中对应的记录,使娱乐费项增加和余额项减少一次娱乐开支。(8)结算处理,首先要收回消费卡,根据消费卡表中的相应记录,退给旅客剩余的金额,

3、删除该条记录,接着根据住宿表中该卡号对应的所有房序号,把客房表中对应记录的“已用”属性的值修改为0,然后从住宿表中删除该卡号对应的全部记录,最后还要从旅客登记表中删除掉对应的记录。2.数据流程分析(1)绘制数据流程图对一个旅店进行深入地业务流程分析后画出如图8-17所示的数据流图。图8-17旅店管理数据流图(2)数据流程描述在图8-17中,每个旅客进入旅店后首先查看客房空闲表,看是否有满足要求的住房,若有则交预用金,办理消费卡,然后填写住宿登记单,接着到总服务台进行住宿登记,拿着住宿单到相应的住宿楼交给楼层服务员,楼层服务员给予开房住宿,若在住宿期间需要伙食消费和

4、娱乐消费,可凭个人消费卡到相应部门消费,当住宿结束,则到总台结帐,最后离开旅店。(3)编制数据字典描述根据数据流程图,编制数据字典,描述各数据流的数据项组成,这是创建表结构的基础。l旅客登记表=旅客姓名+性别+来源地+单位+身份证号+登记日期+联系电话+消费卡号;l客房表=房序号+楼号+楼层号+房间号+床位号+房间电话+价格(元/天)+已用。其中“已用”数据项表示该床位是否已被占用,若是可用1表示,否则可用0表示。l客房空闲表,数据项组成同客房表,但它是客房表的一个视图,由客房表中所有空闲床位的记录所组成,选择条件是“已用”数据项的值为0。l消费卡表=卡号+资金总

5、额+住宿费+伙食费+娱乐费+余额;l住宿表=卡号+房序号;l住宿费表=卡号+住宿费+余额等。它是消费卡表的一个视图,是消费卡表中的全部记录在上述三列上的投影。l伙食费表=卡号+伙食费+余额。是消费卡表的一个视图。l娱乐费表=卡号+娱乐费+余额。是消费卡表的一个视图。l催补款表=卡号和余额。是消费卡表的一个视图。9.7.2概念设计根据需求分析的结果,进行概念设计,用E-R图表示的概念设计结果如图8-18所示,为了清楚起见,只给出了部分主键属性,其他所有属性均被省略。图8-18旅店管理的概念设计图8.4.3逻辑和物理设计由上一步概念设计得到四个基本表:客房表、住宿表、

6、消费卡表和旅客登记表,得到五个视图表:客房空闲表、住宿表、伙食费表、娱乐费表和催补款表。下面用SQL语言给出它们的结构定义。(1)客房表:基本表CREATETABLE客房表(房序号intprimarykey,楼号intnotNull,楼层号intnotNull,房间号intnotNull,床位号intdefault1,房间电话char(5),价格intnotNull,已用intcheck(已用=0or已用=1)default0)(2)消费卡表:基本表CREATETABLE消费卡表(卡号char(6)notNullprimarykey,资金总额floatdefaul

7、t0,住宿费floatdefault0,伙食费floatdefault0,娱乐费floatdefault0,余额floatdefault0,check(余额=资金总额-住宿费-伙食费-娱乐费))定义消费卡表结构时,还可以增加一个检查约束,让每个数值项的值都必须大于等于0,此时可利用下面的修改表结构语句完成。ALTERTABLE消费卡表addcheck(资金总额>=0and住宿费>=0and伙食费>=0and余额>=0)(3)旅客登记表:基本表CREATETABLE旅客登记表(姓名char(8)notNull,性别char(2)notNullcheck(性别='男'

8、or性别=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。