Thanks for the suggestion. I'm trying to keep my tables as few as possible since the calendar is just one component of the whole project.
I decided to just use one table for the calendar.
My table fields are like this:
CALENDAR_TBL
//the general fields below
id
name
address
city
state
zip
phone
website
description
contact_firstn
ame
contact_lastna
me
contact_email
start_datetime
end_datetime
//the recurring fields below
type - Type of recurring event (daily, weekly, monthly, etc...)
dates - Recurring dates (dates that repeat)
countdates - Number of days total (total # days)
days - The days by week (weekly days that repeat... sun, mon, tues...etc...)
If I was to implement this; my table would look like this:
EVENT
-------------
uid
name
description
lft
rgt
EVENTDATE_REL
--------------
eventuid
eventdateuid
EVENTDATE
-------------
uid
day
month
year
hour
RECURRING_EVEN TDATE_REL
-----------------------
eventdateuid
recurringuid
RECURRING
-------------
uid
day
month
year
hour
This will allow me to have Events that have the ability to have multiple childrens events and each of those (parent and childrens) events could use the same event date setting and recurring time frame.