汽车预订系统是软件开发访谈中非常受欢迎的问题。 当我被问到这个时,我设计了以下ER结构/ OOP结构:
Car class / table有Car Id#,Type(Compact,Standard等),Make,Model 客户有客户ID#等 预约是一个关联表,存储Car Id#,Customer Id#和保留汽车的日期。为了简单起见,我们可以假设汽车只能在几天内保留。
这是我挣扎的棘手部分 - 当客户1在7月27日预订一辆装有Id Car 3的紧凑型轿车时会发生什么情况。如果3号车在3月24日合并,会发生什么情况。其他紧凑型轿车可供使用,但是在7月24日到27日之间他们都会被拿走。因此,当客户1在7月27日到达时,他最终没有车。
我认为这个缺陷与预订表中的Car和Customer相关联。有没有更好的方法来建立这种关系以及常规用例,例如找到特定日期的可用汽车,保留该日期等等。
答案 0 :(得分:2)
您可以向名为boolean
的{{1}}添加另一个Car
字段。
如果总计Working
,则
Car 3
设为Working
。false
。Reservation
中搜索该类型的另一辆车。Car
中的另一辆车。