PHP / MySQL: Modele eventos repetidos em um banco de dados, mas consulte os intervalos de datas

Eu estou trabalhando em um (o que eu estava pretendendo ser) simples PHP / MySQL app. Como parte disso, gostaria de poder modelar eventos repetidos, no entanto, preciso consultar todos os eventos que ocorreram entre duas datas (incluindo eventos repetidos). Os eventos têm apenas uma data, a hora do dia não importa.

Eu tenho pesquisado isso e tenho olhado para várias abordagens, incluindoEventos Recorrentes / Repetitivos do Calendário - Melhor Método de Armazenamento eRepetindo eventos do calendário e algumas contas finais.

No entanto, qualquer exemplo de um esquema de banco de dados que suporte isso que eu acho online, apenas parece oferecer suporte à consulta de eventos que aconteceram em um determinado dia. Não há suporte para eventos que ocorreram entre um intervalo de datas.

Como um exemplo abstrato

Tabela de eventos (com algum tipo de representação repetida):

Event   | Start Date   |   Repeats
-------------------------------------
Meeting | 10/Dec/2012  |   Every 7 days
Lunch   | 10/Dec/2012  |   Every 1 days

Alvo resultado da consulta abstrataSELECT Events BETWEEN 09/Dec/2012 AND 20/Dec/2012

Event   |  Date        |   Repeats
-------------------------------------
Meeting | 10/Dec/2012  |   Every 7 days
Meeting | 17/Dec/2012  |   Every 7 days
Lunch   | 10/Dec/2012  |   Every 1 days
Lunch   | 11/Dec/2012  |   Every 1 days
Lunch   | 12/Dec/2012  |   Every 1 days
Lunch   | 13/Dec/2012  |   Every 1 days
etc...
Lunch   | 20/Dec/2012  |   Every 1 days

Existe um esquema de banco de dados que suporte esse tipo de consulta? Como eu poderia fazer uma consulta sobre esse esquema para qualquer evento (incluindo eventos repetidos) que acontecesse entre dois dias?

Ou talvez um padrão de design usado para repetir eventos?

questionAnswers(2)

yourAnswerToTheQuestion