Я разработал это решение, но, если возможно, искал еще лучшее решение.
Table Schedule {
scheduleId, flightNumber, effective_from,effective_to
}
Data in Schedule table {
1, XYZ12, 01/01/2009, 31/03/2009
2, ABC12, 01/01/2009, 30/04/2009
}
Теперь пользователь загружает другую запись 3, XYZ12, 01/03/2009, 31/05/2009
выберите scheduleId из расписания, где flightNumber = 'XYZ12' и (ffective_from <'01 / 03/2009 'иffective_to> '01 / 03/2009' илиffective_from <'31 / 05/2009 'иffective_to> '31 / 05/2009' )
Если приведенный выше запрос возвращает мне какой-либо результат, который означает, что он перекрывается, и я должен выдать ошибку пользователю.