【发布时间】:2012-03-08 06:54:29
【问题描述】:
我目前正在使用 FullCalendar JQuery 模块来允许用户创建个人时间表。事件被添加/更新到 SQL Server 数据库。这工作正常。
我正在尝试创建一个设施,其中每个用户都有一个数据库,该数据库存储了他们一年中的所有事件,其中一些事件可以重复并每周发生。
然后,我希望用户能够根据他们时间表中可用的时间段组织与其他用户的会议。
我不确定如何将这些重复事件集成到我的系统中,或者我的算法将如何处理这些重复事件。
我现在的设计是:
CREATE TABLE Users (
user_id INT NOT NULL AUTO_INCREMENT,
email VARCHAR(80) NOT NULL,
password CHAR(41) NOT NULL,
PRIMARY KEY (user_id)
);
CREATE TABLE Events (
event_id INT NOT NULL AUTO_INCREMENT,
title VARCHAR(80) NOT NULL,
description VARCHAR(200),
start_time DATETIME,
end_time DATETIME,
group_id INT NOT NULL,
recurring boolean
);
CREATE TABLE Groups (
group_id INT NOT NULL,
user_id INT NOT NULL
);
这就足够了吗?我将如何拥有它以便每周在日历上呈现重复事件?如果我缺乏任何细节,请询问!非常感谢。
【问题讨论】:
-
您如何确定重复开始和结束日期? start_time 和 end_time 列?
-
是的,事件表的start_time和end_time。当用户创建事件时,这些时间将插入到表中。
-
我建议阅读 iCal 或 .ics 规范(例如 en.wikipedia.org/wiki/ICalendar)是了解概念和问题的好起点。
-
为什么?我没有使用 ICalendar?
-
他问你关于日期的事。也就是说,从 2012 年 3 月 8 日到 2012 年 12 月 31 日,我们每周一下午 1 点到 2 点见。
标签: sql sql-server database-design timetable