sniper: DB-Design Ressourcenplaung

Hi Ihrs,

ort, von, bis: Beschreiben eine verplante Resource bzw. ein Ereignis. Betrachten wir mal nur von-bis, das Ereignis darf es nur einmal geben in meiner Tabelle. Gibt es einen Algorithmus, welcher die zwei Felder von-bis auf einen eindeutigen Schlüssel (unique key) abbilden kann?

Gus

  1. Tach!

    ort, von, bis: Beschreiben eine verplante Resource bzw. ein Ereignis. Betrachten wir mal nur von-bis, das Ereignis darf es nur einmal geben in meiner Tabelle. Gibt es einen Algorithmus, welcher die zwei Felder von-bis auf einen eindeutigen Schlüssel (unique key) abbilden kann?

    Vielleicht hat die eine oder andere Datenbank sowas, aber mir ist da nichts bekannt. Es ist ja nicht nur eine Kombination aus x Feldern sondern zwei Felder beschreiben einen Zeitraum. Vielleicht kann man da was mit Triggern programmieren, aber das Problem wird sein, eine Exception zu werfen, wenn es eine "Unique"-Verletzung gemäß deiner Vorstellung gibt. Exception werfen ist zum Beispiel (meines Wissens) nicht in MySQL vorgesehen. Ich denke mal, dass du da nicht wirklich zum Ziele kommen wirst.

    dedlfix.

    1. Packendes Thema, danke fürs Mitdenken ;)

      [..] Exception werfen ist zum Beispiel (meines Wissens) nicht in MySQL vorgesehen. Ich denke mal, dass du da nicht wirklich zum Ziele kommen wirst.

      Naja, ich bin ja noch beim Design. Bisherige Überlegung:
        von: beschreibt einen Zeitpunkt
        bis: beschreibt einen Zeitpunkt

      Was wir jedoch haben, sind Epochen und die könnten wir in Zeiträume unterteilen (Lease). Wenn wir mit einer Lease den Zeitraum bzw. eine Zeitspanne von genau einem Tag festlegen, beschreibt eine Nummer für den Tag keinen Zeitpunk sondern eine Lease und ist gleichzeitig ein eindeutiger Schlüssel. Darüber nachzudenken, könnte sich lohnen ;)

      Gus

      1. Tach!

        Was wir jedoch haben, sind Epochen und die könnten wir in Zeiträume unterteilen (Lease). Wenn wir mit einer Lease den Zeitraum bzw. eine Zeitspanne von genau einem Tag festlegen, beschreibt eine Nummer für den Tag keinen Zeitpunk sondern eine Lease und ist gleichzeitig ein eindeutiger Schlüssel.

        Ja, wenn du die Bereiche so grob fassen kannst, dass jeder einzelne Eintrag für sich selbst bereits genau einen Bereich darstellt, dann kannst du mit einem einfachen Unique-Key die Dopplungen vermeiden. Es wird nur schwierig bis unmöglich, wenn ein Bereich von zwei Daten mit beliebigen Löchern dazwischen repräsentiert wird.

        dedlfix.