Steffen: Zeitspannen + DB

Beitrag lesen

Hallo,

ich möchte in einer Datenbank (Postgres) Verträge verwalten. Die Verträge haben eine Laufzeit, bzw. ein Start- und ein Enddatum.

Nun möchte ich gern bei Verträgen, die sich auch ein Objekt beziehen, sicherstellen, dass es bei den Laufzeiten kein Überschneidungen gibt.

  1. Kann ich das irgendwie in der DB mit Contraints absichern?
  2. Wie kann ich möglichst effizient prüfen, dass es kein Überschneidungen gibt?

Ich sehe hier 3 relevante Spalten.

  • startdatum
  • enddatum
  • objektid -> auf dieses Objekt bezieht sich er Vertrag, bei gleicher "objektid" darf es keine Überschneidungen geben.

Danke schonmal im Voraus!

Grüße

  • Steffen