Hi, I'm working on a similar project. If you like we could discuss a few details in the Italian forum or by PM.
Anyway, as a general reply, there are several calendars you could use and a DB will be preferable because of its flexibility when data retrieving has to occur. BTW, you may design a multi-agenda or multi-user app if you go the DB route.
udg