首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle -Interval时间戳

Oracle -Interval时间戳
EN

Stack Overflow用户
提问于 2014-02-24 16:01:57
回答 2查看 88关注 0票数 0

在Oracle中管理时间间隔的最佳做法是什么?例如:我有一个房间,将在8:15到9:00之间出租。所以我至少有两个字段:我想是dt_start和dt_end。我不能在8:45到9:20之间输入房租。那么怎样才是最好的桌子结构呢?谢谢

EN

回答 2

Stack Overflow用户

发布于 2014-02-25 03:28:56

对于实现这一点的最佳方式,目前还没有明确的共识。答案当然很大程度上取决于你的实际情况。选项包括:

在ROOM_ID和时间块上有唯一约束的

  1. Table。只有当应用程序使用合理的大块分配合理的少量时间时,这才是现实的。例如,一个房间最多只能分配一周,一次分配5分钟。但是,如果预订是第二个,并且可以跨越一年,则一个reservation.
  2. Trigger.将需要3100万行,如果可能,请避免使用此解决方案。在同时具有一致性和并发性的触发器中实现这种逻辑的可能性是非常大的low.
  3. Materialized视图。,这是我首选的方法。例如,请参阅应用程序的my answer here.
  4. Enforced。只有当应用程序可以序列化访问并且没有即席SQL是allowed.
  5. Commercial工具时,这才有效。例如,RuleGen.
票数 1
EN

Stack Overflow用户

发布于 2014-02-24 17:11:59

是满足您需求的最佳方式。

在trigger中,计算出新的时间与您的特定房间的当前时间不冲突,如果是这样,您可以Rais Error,否则让更新发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21982041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档