Widziałem tego rodzaju problemy kilka razy i staram się wybrać najlepszy sposób przechowywania zakresów w sposób nie nakładający się na siebie. Na przykład podczas planowania jakiegoś zasobu, z którego może korzystać tylko jedna osoba naraz. Głównie tego co widziałem to coś takiego:Sugerowana metoda postępowania z niezachodzącymi zakresami (np. Planowanie)
PERSON ROOM START_TIME END_TIME
Col. Mustard Library 08:00 10:00
Prof. Plum Library 10:00 12:00
Jaki jest najlepszy sposób zapobiegania nowe wpisy z nakładających istniejący harmonogram, jak powiedzieć, czy panna Scarlet chce zastrzec od 11:00 do biblioteki 11:30? Ograniczenie inline nie będzie działać i nie sądzę, aby można to było łatwo zrobić w wyzwalaczu. Procedura obsługująca wszystkie inserty, które początkowo szukają konfliktu w tabeli?
Po drugie, jaki jest najlepszy sposób radzenia sobie z problemami współbieżności? Powiedzmy, że panna Scarlet chce mieć bibliotekę od 13:00 do 15:00, a pani White chce to od 14:00 do 16:00. Procedura opisana w ust. 1 uznałaby oba te harmonogramy za dopuszczalne, ale wyraźnie przyjęte razem, ale nie są. Jedyne, co mogę wymyślić, to ręczne zablokowanie stołu lub jakiś muteks.
Co to jest dobry klucz podstawowy dla powyższej tabeli (pokój, czas_początkowy)?
możliwy duplikat [Jaki jest najlepszy sposób na zoptymalizowanie schematu do przechwytywania danych o uczestnictwie] (http://stackoverflow.com/questions/3193227/what-is-the-best-way-to-optimize-schema-for -aprowadzanie-dane-obecności) – APC