数据库原理课程设计客房预订系统.ppt
数据库原理课程设计,客房预订系统,设计要求,概念设计逻辑设计要求:关系模式满足第三范式,一.需求分析(流程图),顾客,查询,需要预定,无空房,服务台,基本信息有误吗,有,客房管理部,无,用户要求的客房能被提供吗,不能,有空房,财务部,能,反馈给客户以确认,文字描述:顾客可以用电话或上网注册的方式预定。其方式不同,但提交的内容是相同的:需要的房间类型,房间数,客人人数,预定时间,退房时间等。服务台查询客房管理部,看看是否有满足客人要求的客房。如果有,则记录下客人的需要,同时客房管理部通知财务部准备收预约金,同时反馈给客人确认信息。如果客人要求的客房无法提供,则通知顾客无法满足。,二.概念设计,实体:顾客服务台客房客房管理部财务部,局部视图顾客预定服务台服务台查询客房管理部客房管理部管理客房客房管理部财务收入财务部,事务规则,顾客,预定,服务台,姓名,性别,身份证号,联系电话,家庭地址,客房种类,房间数,客人人数,订房日期,退房日期,服务台号,服务台联系电话,当值服务员工号,N,服务员姓名,一个服务台可以为多个顾客服务一个顾客在一个服务台进行预订活动,事务规则,服务台,查询,客房管理部,服务台号,当值服务员工号,联系电话,客房种类,房间数,订房日期,客人退房日期,客房编号,N,服务员姓名,订房编号,一个客房管理部可以为多个服务台服务每个服务台最终只和一个客房管理部联系,事务规则,客房管理部,管理,客房,客房编号,订房编号,客房编号,客房种类,客房位置,客房单价,今日状态,客房设备,1,N,1个客房管理部管理多个客房一个客房由一个客房管理部管理1:N,事务规则,客房管理部,订房编号,财务收入,财务部,预约金,客房编号,订房编号,顾客身份证号,一个酒店或旅馆只会有一个客房管理部和财务部(1:1),视图集成,预集成集成,揭示同名异义、同义异名问题定义数据对象的值域 说明等价对象类之间的映射,局部视图集成,实体类集成联系类集成,新老视图集成,视图集成,局部视图集成会发生冲突主要是同名异义、同义异名的问题同名异义:如“服务台联系电话;顾客联系电话”同义异名:如“顾客身份证号;财务部顾客身份证号”,去除冗余信息,解决冲突问题后的集成视图,当值服务员工号,客房种类,客房单价,今日状态,客房设备,服务台,顾客,姓名,性别,身份证号,联系电话,家庭地址,服务台号,服务台联系电话,服务员姓名,预定,客房种类,房间数,订房日期,退房日期,N,查询,客房管理部,客房编号,N,订房编号,管理,客房,客房编号,客房位置,1,N,财务收入,财务部,预约金,订房编号,身份证号,三.逻辑设计,将E-R图转化为关系模式(不是最终的)顾客(姓名,性别,身份证号,联系电话,家庭住址,客房种类,房间数,订房日期,退房日期,服务台台号,当值服务员工号)3NF服务台(服务台台号,当值服务员工号,服务员姓名,服务台联系电话,订房编号)3NF客房(客房编号,客房种类,客房位置,客房单价,客房设备,今日状态)2NF客房管理部(订房编号,客房编号)3NF财务部(订房编号,预约金,身份证号)3NF,其中,“客房”是2NF,因为:客房编号客房种类,客房位置,今日状态;客房种类客房单价,客房设备。因而存在传递依赖,需要分解。,将客房分解为客房和客房信息设定两个实体R1:客房(客房编号,客房种类,客房位置)R2:客房信息设定(客房种类,客房单价,客房设备),检验无损性,R1R2客房种类R2R1客房单价,客房设备因为:R1R2 R2R1所以此分解是无损分解。,检验是否保持依赖,F=客房编号客房种类,客房编号客房位置,客房编号今日状态,客房种类客房单价,客房种类客房设备,=客房编号,客房种类,客房位置,今日状态,客房种类,客房单价,客房设备,设客房编号,客房种类,客房位置,客房单价,客房设备,今日状态分别用A,B,C,D,E,F来表示则F=A B,A C,A F,B D,B E=ABCF,BDE,R1=ABCF,R2=BDE,F在Rl上的投影为:A B,A C,A F F在R2上的投影为:B D,B EF中的函数依赖在分解中全部保持,所以分解具有保持依赖的特点。,最终的关系模式,顾客(姓名,性别,身份证号,联系电话,家庭住址,客房种类,房间数,订房日期,退房日期,服务台台号,当值服务员工号)3NF服务台(服务台台号,当值服务员工号,服务员姓名,服务台联系电话,订房编号)3NF客房(客房编号,客房种类,客房位置,今日状态)3NF客房信息设定(客房种类,客房单价,客房设备)3NF客房管理部(订房编号,客房编号)3NF财务部(订房编号,身份证号,预约金)3NF,报表需求,1.生成顾客订房信息 用到的表:客房信息,顾客信息2.生成客房标准信息 用到的表:客房信息设定,例行事务需求,1.客户订房 查询客房信息,修改客房空闲状态,修改财务报表2.客户退房 修改客房空闲状态,删除客户信息,查询事务需求,1.查询某一客户的订房情况 根据顾客身份证号查询表财务部信息和客房管理部信息2.查询是否有满足用户要求的客房查询某种客房的空闲房间数查询某一客房何时会空闲 查客房信息和客房信息设定,未完待续,