我正在制作一个在线日历。
一个人将能够创建en事件,然后可以选择添加“无限”或“从”到“结束”日期时间。如果您选择添加“从”到“结束”,您可以选择每周或每个月的每天都没有重复或重复。
我想知道创造这些关系的最佳方式是什么。
这是我现在有我的桌子:
Table: EventsColumns: name, description, date_time (foreign key)Table: Date_timeColumns: from, to, repeat (foreign key)Table: RepeatColumns: mode, days1: "daily", "every 2nd day"2: "weekly", "Monday, Wednesday"3: "monthly", "1st, 12th, 19th"
有了这个,我遇到了一些问题。
在这里,我必须指定events.date_time,因为它具有外键约束。如何让用户选择未指定任何DateTime,只需将其设置为无限“。
重复也是如此。如果用户设置了DateTime,我希望能够设置重复到无的可能性。
有人可以指向正确的方向。
谢谢
我建议重新考虑模式,我的提案是这样的:
编辑: 由于事件可能没有超过一个时期,因此使用更好 从 和 到 作为列,如果它们为null,则事件无限有效。
Table: EventsColumns: id, name, description, from (nullable), to (nullable)Table: RepeatColumns: mode, days, event_id (foreign key to Event)1: "daily", "every 2nd day"
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70017124/viewspace-2888679/ ,如需转载,请注明出处,否则将追究法律责任。