在不影响现有架构的情况下处理表的新添加的最佳SQL解决方案

我正在寻找解决SQL模式中以下问题的最佳解决方案。

我的旧应用程序中已经存在酒店到房间的排除,我可以在该日期中设置该酒店所有房间的关闭日期和截止日期。这是一条规则。

我的数据库中已经存在以下SQL表列

RuleId,HotelId,RoomTypeId,ValidFrom,ValidTo,IsActive,CreatedOnDate

因此,现在作为一项增强功能,我需要在已经存在的应用程序中添加三个较高级别,可以在其中设置规则,即该级别及其较低级别将无法运行的时间段。

层次结构将像

机场--->度假村---->酒店---->客房

机场是最高优先级,房间处于最低优先级

例 情况1:-如果机场从一个日期关闭到另一个日期,则默认情况下所有较低级别(度假村,酒店,客房)将在同一时期关闭。度假村和酒店也是如此。

情况2:-如果我删除任何最高优先级规则,例如在机场级别,则它应使用其先前的值。

例如-如果酒店在特定日期关闭,则为Rule1,此外,如果用户为机场创建另一个规则,则为Rule2。较低的所有级别都将使用Rule2。 但是将来,如果用户决定删除Rule2,则酒店的Rule1应该再次适用于酒店。

为了在SQL数据库模式中处理此问题,在不影响现有模式的情况下处理上述情况的最佳方法是什么? 有人可以帮忙吗?

评论