I have quite a few situations where I have database structures similar to:
TABLE Event (EventID INT PrimaryKey, Start DATETIME, Finish DATETIME); and TABLE EventTask (EventTaskID INT PrimaryKey, EventID INT ForeignKey, TaskStart DATETIME, TaskFinish DATETIME)
1 to many relationship between Events and EventTasks, etc.
When the dates in the Event table are changed, the EventTask dates need to be changed as well - not difficult with supplied date functions, but date manipulation is always just a bit tricky.
I was wondering if it might be better to replace the TaskStart DATETIME and TaskFinish DATETIME with two INTS: one for Event.Start offset (mins different to Event.Start) and a Duration.
This way date updates become much more robust, as only a single row needs an update.
(I stipulate that this only applies where the EventTask dates are absolutely dependent on the Event dates)