我们认为我们有100多家酒店,每家酒店至少有3种以上的房型。 我希望酒店的容量在过去一年和未来一年。我应该如何为最简单的使用设计数据库。
示例:
酒店有30个房间。 10 x“标准 房间“,10 x”复式房“,10 x”Delux 房间“我会继续这个例子 标准间。今天是:2011年1月13日我 想要保留2010年1月13日的记录 到2012年1月13日我会存储什么 数据库是可用的房间。某物 像这样(标准间):
13.01.2011:10
14.01.2011:9(表示当天售出的1个标准间)
2011年1月15日:8(意味着当天售出2间标准间)
16.01.2011:10(今天全部可用)
2011年1月17日:7(意味着当天售出3间标准间)
18.01.2011:10
等...
提前致谢。
答案 0 :(得分:3)
让我试着总结一下你的问题,看看我是否理解它:
你有一套酒店。每个酒店 有一套房间。每个房间都属于 到一些可能的房间之一 类型。最低级别的细节 我们感兴趣的是这里的房间。
这表示酒店表,房间类型查询表和房间表:每个房间都会引用其相关的酒店和房间类型。
对于任何一天,房间都是 预订(已售)或未预订(让我们 为简单起见,请放弃部分日子 在此刻)。对于每一天 前一年和后一年 当天,你想知道多少 每种类型的房间都可以(未预订)在 每个酒店。
现在,由于酒店需要能够单独查看预订,因此您可能会维护预订表。但这些通常由房间,开始日期和一些夜晚来定义,这对于您所声明的报告目的并不理想:它不会在白天细分。
因此,您可能希望维护一个“房间预订日志”表,其中只包含每天预订的每个房间的记录:这可以像日期戳列和房间ID一样简单。
这种模式可让您通过聚合查询相对轻松地生成您所描述的输出(显示每天预订的房间总数,例如按酒店和房间类型分组)。该模型似乎也适用于OLAP cube。
答案 1 :(得分:0)
我做过一次这样的家庭作业问题。基本上你需要至少3个表:一个用于容纳房间,一个用于保存预订,另一个表用于链接,因为它不是在给定时间保留的特定房间,它是特定类型的房间。