如何在数据库中管理日程安排??
我有应用程序,它的所有者注册的时间表数据和用户可以注册的单位为30分钟的时间表。(如会议室预订服务)
在这种情况下。
如何将数据存储在数据库中??
例如,所有者输入如下所示
8/23 14:30-17:00
8/27 12:00-14:00idea1)将每个时间表分成30分钟(多行)
8/23 14:30-15:00
8/23 15:00-15:30
8/24 15:30-16:00
.
.
8/27 13:30-14:00idea2)
分成天(2行)
8/23 14:30-17:00
8/27 12:00-14:00idea3)
为每个注册表创建表行。
idea1很容易理解哪个时间段已经预订或没有预订。如果你想像这样取消
cancel 8/23 15:30-16:00它很容易处理。
然而,如果你想这样放,‘每周四重复’是不可能的。
idea3It可以实现“每周四重复”,但对预订或取消的理解非常复杂。
idea2介于两个之间。
如何在数据库中存储日程安排数据??
谷歌如何存储谷歌日历??
发布于 2015-08-18 16:02:50
我通常有一个表,其中每一行都是一个“注册”。在行中,您存储开始日期/时间和结束日期/时间,当然还有关于“注册”的任何其他信息。例如:
CREATE TABLE `registration` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`start` datetime NOT NULL,
`end` datetime NOT NULL,
`comment` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;通过这种方式,您可以随时使用如下查询来查找是否存在某些注册:
SELECT * FROM `registration`
WHERE `start` <= '2015-08-18 14:00:00'
AND `end` >= '2015-08-18 14:00:00'一旦你有了注册的id,取消注册就很容易:
DELETE FROM `registration` WHERE `id` = 3存储日期和时间而不是使用固定时隙的一个重要优势是,您可以轻松地定义比30分钟更高精度的时隙。
谷歌如何存储他们的数据,当然是他们的商业秘密。
https://stackoverflow.com/questions/32066628
复制相似问题