I've been tasked with designing a system to recur events. Events may recur daily, hourly, monthly or yearly. Users should be able to schedule events "every 3rd Wednesday of the month" or "The 1st of each month" or "hourly."
Say I'm starting with a 'events' table:
events ------- id INT name VARCHAR notes TEXT ...
What fields/entities/architecture should be used to persist the recurrence rules?
fwiw, I'm using MySQL 5.5.x.
UPDATE (Aug 29, 2012):