Referenzielle Integrität

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Hab ich, aber in dem Beispiel hattest du auch noch eine zweite Referenz auf main(4) in sequence_help, deswegen konnte main(4) natürlich nicht gelöscht werden. Aber nimm mal an, es gäbe keine weitere Referenz ... siehe mein Posting um 17:00.

    Ja ich weiß, ich bin schwierig.

    Kommentar


    • #17
      Original geschrieben von onemorenerd

      Löschen von main(1) bewirkt Löschen von sequence_help(1, 1), was wiederum Löschen von sequence(1) bewirkt.
      Soweit korrekt? Dann sehe ich
      Jepp - genau das ist der Punkt! So hatte ich mir das zumindest gedacht. Allerdings soll sequence(1) auch nur gelöscht werden, falls innerhalb von Sequence keine Verweise mehr vorhanden sind (wie beispielsweise mit sequence_help(4, 1) oder sequence_help(5, 1)).

      sequence_help(4, 1)
      sequence_help(5, 1)

      als Leichen an, denn sequence(1) existiert ja nicht mehr. Die beiden würde ich nun gern ebenfalls löschen, ohne aber main(4) oder main(5) zu entfernen.
      Das unterscheidet sich nun wie gesagt von meiner Sichtweise. Ich lösche Referenzen von main aus (wie du es oben beschrieben hast). Sequence lösche ich wie gesagt auch von main aus, allerdings über sequence_help und auch nur dann, wenn wie gesagt sonst keine Referenzen mehr bestehen.

      Leider finde ich im Netz nicht wirklich was Ausführliches zu Funktionen und Trigger in Bezug zu postgreSQL. Sonst hätte ich es vielleicht schon selbst hinbekommen.

      Kommentar


      • #18
        Original geschrieben von onemorenerd
        Hab ich, aber in dem Beispiel hattest du auch noch eine zweite Referenz auf main(4) in sequence_help, deswegen konnte main(4) natürlich nicht gelöscht werden. Aber nimm mal an, es gäbe keine weitere Referenz ... siehe mein Posting um 17:00.

        Ja ich weiß, ich bin schwierig.
        in diesem Fall reicht die Einstellung über Constrains nicht, man muss einen TRIGGER programmieren, der sowohl die Aufgabe, was in Contrains definiert werden könnte, als auch die Existenz-Überprüfung übernimmt, also 2 in einem und dafür entfällt die Constrains-Klausel.

        In MSSQL wäre das einfach, aber PostgreSQL ... da kenne ich mich auch nicht sehr gut aus, da ich nicht viel damit zu tun habe ... ich kann mich nur daran erinnern, dass man Triggerfunktionen in Postgre sogar in C schreiben kann, was der Sache ungemein erleichtert. Vielleicht steht was in der Doku

        Kommentar


        • #19
          Ich denke ich werde mir das Ganze vielleicht mal mit Perl-Triggern anschauen. Vielleicht komme ich da ja weiter.

          Kommentar

          Lädt...
          X