So initially I was thinking something like this.
CREATE TABLE `events` (
`event_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`event_name` VARCHAR(200),
`date_added` DATETIME
PRIMARY KEY(event_id)
);
CREATE TABLE `event_date` (
`event_id` INTEGER UNSIGNED NOT NULL,
`start_date` DATE,
`end_date` DATE,
FOREIGN KEY event_id REFERENCES events(event_id) ON DELETE CASCADE
);
CREATE TABLE `event_times` (
`event_id` INTEGER UNSIGNED NOT NULL,
`event_date` DATE,
`start_time` TIME,
`end_time` TIME,
FOREIGN KEY event_id REFERENCES events(event_id) ON DELETE CASCADE
);
Would it be possible to make sure that the even_times.event_date falls within the event_date.start_date and event_date.end_date range, with this schema?
With this structure I think you cover the needs that explain
;