Pro ilustraci: Jirka bude mít dva vzorky označené A a B, Franta bude mít jiné vzorky označené C a D. Při měření se na zařízení prostřídají. Jirka si měření pojmenuje "Jirka A", pak příjde Franta s "měření C", hned na to udělá "měření D" a pak jirka zjistí, že je volno a udělá "Jirka B". V tabulce teplot mám průběh teploty v systému bez jakéhokoliv přerušení. Musím mít mechanismus, který vrátí naměřené hodnoty jednotlivých měření. K tomu (a nejen tomu) slouží tabulka událostí - do ní je zaznamenán nový název a datum a čas kdy k jeho změně došlo. Pokud Jirka bude chtít výsledky měření na vzorku A, musím mu vrátit hodnoty které systém naměřil od okamžiku vložení názvu "Jirka A" (začátek) až po okamžik vložení názvu "měření C" - tedy filtrovat podle začátku a konce. Při filtrování podle začátku mi to smatlá dohromady všechna 4 měření.
Takto jednoduchý výběr by nestačil a tak je rozšířen o poznámku, která např. umožňuje vyčlenit dílčí části měření (ohřev, žíhání, chladnutí) a časový úsek od (datum + čas) do (datum + čas), takže jdou řešit situace "zapomněl jsem to pojmenovat, ale vím kdy jsem to měřil" nebo " nezdálo se mi, co jsem naměřil před měsícem tak jsem to zkusil znova".
Všechno je to dej hodnoty za časový úsek. Každý úsek má začátek a konec. Získání začátku časového úseku z tabulky událostí problém není, horší je to s koncem. Komplikuje se to tím, že úseků, kdy platí stejný název nebo poznámka může být několik. To by vedlo k výběru párů událostí jak jsem to v některém z předešlých příspěvků popsal a komplikovanému vkládání začátků a konců do podmínky v select. Proto "pomocná" tabulka vyplňovaná trigerem která obsahuje začátek a konec platnosti názvu a poznámky. Pak stačí jednoduše použít between začátek and konec, pomocí and a or lze pak určit průniky a sjednocení intervalů a vypsat požadovaná data. Zatím je to jediné proveditelné a funkční řešení které mám.