Ja stimmt, das Feld "gültig bis" war dafür gedacht, bei Einfügen eines Datensatzes neueren Datums einen Trigger zu feuern, der das Enddatum auf den letzten Tag vor Inkrafttreten des neuen Satzes setzt (div. Plausibilitätsprüfungen im Trigger selbst natürlich vorausgesetzt), damit man später recht einfach mit BETWEEN arbeiten kann, ohne evtl. Subqueries mit Aggregatfunktionen bemühen zu müssen
. Aber da ich so etwas noch nie praktisch umgesetzt habe, sind das natürlich rein theoretische Überlegungen meinerseits.