国开《数据库基础与应用》第五章 5-2-1:需求分析
5-2-1:需求分析
(1)数据流图
假定对一个旅店进行深入地业务流程分析后,画出如下所示的数据流图。
在需求分析阶段,要建立各种数据表格,要给出有关数据处理要求。
(2)各种数据表格
进行旅店管理所涉及的数据表大致如下:
1)旅客登记表
由旅客填写的登记单整理而成,它可以包括旅客姓名、性别、来源地、单位、身份证号、登记日期、联系电话、消费卡号等数据项,其中消费卡号由总台会计填写,其余由旅客本人填写。
2)客房表
它给出旅店的所有客房登记信息,每条登记信息表示一个可以使用的床位,它可以包括房序号、楼号、楼层号、房间号、床位号、房间电话、价格、已用等数据项,其中“已用”数据项表示该床位是否已被占用,若是床位可用则用1表示,否则若床位已被占用则用0表示。
3)客房空闲表
由客房表中所有空闲床位的记录所组成,它是客房表的一个视图,选择条件是客房表中“已用”数据项的值为0。
4)消费卡表
由所有旅客消费卡构成,它可以由消费卡号、资金总额、住宿费、伙食费、娱乐费、余额等数据项组成。其中卡号是该表的主码,资金总额是旅客住宿时预交和补交的金额总和。
5)住宿表
它给出所有旅客当前所有住房的登记信息,它只需要包括旅客的卡号和住宿的房序号这两个数据项。由于一个旅客可以住用多个床位,所以卡号在表中不惟一,而房序号在表中是唯一的,在需要时可把房序号设为主码或单值约束属性。
6)住宿费表
它是前面介绍的消费卡表的一个视图,由消费卡表中的卡号、住宿费、余额等3项数据组成。
7)伙食费表
它也是前面所介绍的消费卡表的一个视图,是消费卡表中的卡号、伙食费、余额等3列数据项的投影。
8)娱乐费表
它也是消费卡表的一个视图,是消费卡表中的卡号、娱乐费、余额等3列数据项的投影。只授予娱乐服务员查看该表和修改娱乐费和余额值的权利。
9)催补款表
它也是消费卡表的一个视图,包括其中的卡号和余额两项数据,选择条件是资金余额小于一天的住宿费用,需要向旅客催交住宿费。
在上面所介绍的9个数据表中,其中客房表、住宿表、旅客登记表、消费卡表等4个表是基本表,其余的5个表都是为处理数据的方便而建立的数据视图,其中客房空闲表是客房表的视图,住宿费表、伙食费表、娱乐费表、催补款表都是消费卡表的视图。
(3)需要进行的各种数据处理
旅店管理所涉及到的各种数据处理要求大致如下:
1)给每个住宿的旅客建立一张消费卡
此数据处理过程是:向消费卡表中插入一条待住宿旅客所对应的消费记录,该记录的资金总额为预交金额,余额也等于预交金额,其他消费金额均采用默认值0。
2)向消费卡追加资金
此数据处理过程是:修改消费卡表中旅客对应消费记录中的资金总额和余额数据项的值,使之增加相应的金额。
3)给旅客登记住房
首先把一条由旅客的卡号和房序号构成的记录信息插入到住宿表中,接着计算出该卡号一天的住宿费,然后修改住宿费表,使得对应记录的住宿费增加和余额减少相应的值,最后还要修改客房表,使对应房序号的记录中,“已用”数据项的值由0改变为1。
4)每天12点时催款
总台服务员在每天12点之后查看催补款表,因为催补款表中每个卡号的资金余额都是不够再住一天的,所以按卡号通知相应旅客要么尽快退房,要么补足再住一天的全部住宿费。
5)每天12点半加收一天住宿费
假定只按整天、不按半天计算住宿费。首先根据住宿表和客房表计算出每个卡号一天的住宿费,然后按该卡号修改住宿费表中的对应记录,使住宿费项增加一天的费用,而资金余额项则减少一天的住宿费用。
6)伙食消费
此数据处理的过程是:按照旅客使用的卡号修改伙食费表中的对应记录,使伙食费项增加一次就餐开支,同时修改资金余额数据项,使之减少相应的就餐费。
7)娱乐消费
此数据处理的过程与伙食消费的数据处理过程类似:按照旅客使用的卡号修改娱乐费表中的对应记录,使娱乐费项增加一次娱乐开支,同时修改资金余额项,使之减少相应的娱乐费。
8)旅客结算处理
此数据处理的过程是:首先要收回旅客消费卡,根据住宿表中该卡号对应的所有房序号,把客房表中对应记录的“已用”属性的值修改为0,表示退房;接着从住宿表中删除该卡号对应的全部记录;然后根据消费卡表中的相应记录,退还给旅客剩余的金额,并删除掉该条记录;最后还要从旅客登记表中删除掉该旅客的登记记录,或者把该记录作为历史数据移存到其他数据文件中。