Potresti avere una tabella nella quale avresti un codice che indicherebbe il tipo di evento.

Ad esempio

A00 - per gli eventi giornalieri
S01 - S07 per gli eventi di ogni lunedi ad ogni domenica
A01 - per gli eventi del primo giorno del mese
A23 - per gli eventi del 23esimo giorno del mese
AUG - per gli eventi dell'ultimo giorno del mese (28, 30 o 31)
etc....

E a partire dalla data ricavi il numero del giorno nel mese e il numero del giorno della settimana e cosi puoi fare un legame con la tabella degli eventi.