可以将这两个数据库列合并为1吗?

时间:2011-10-17 15:48:06

标签: calendar database-schema recurring-events

我有一个定期事件架构,其中包含RecurrenceTypeRecurrenceMultiple列。 RecurrenceType是具有这些选项的表的外键(1)不重复(2)每日(3)每周(4)每月。 RecurrenceMultiple是一个整数,表示每个事件发生的重复时间帧的多个。几个例子

  • RecurrenceType = 1,RecurrenceMultiple = 1:仅限一次
  • RecurrenceType = 2,RecurrenceMultiple = 1:每天
  • RecurrenceType = 3,RecurrenceMultiple = 1:每周
  • RecurrenceType = 3,RecurrenceMultiple = 2:每隔一周
  • RecurrenceType = 4,RecurrenceMultiple = 1:每月
  • RecurrenceType = 4,RecurrenceMultiple = 3:每3个月
  • RecurrenceType = 4,RecurrenceMultiple = 12:Yearly

我想以某种方式组合这两列,我可以推断RecurrenceType允许我放弃查找表。我想不出一个很好的办法来避免碰撞。

1 个答案:

答案 0 :(得分:0)

这是我决定使用的方法

如果假设0表示没有复发,则可以使用单个列RecurrenceFrequency,正值表示X天的时间跨度,负值表示X个月的时间跨度

  • 0:仅限一次
  • 1:每天
  • 7:每周
  • 14:每隔一周
  • -1:每个月
  • -3:每3个月
  • -12:每年