.
Anmeldung | Registrieren | Hilfe
in Suchen
Home Foren News Member Offers Termine Developer Blogs Knowledge Base
dotnet-forum.de » .NET-Entwicklung » Datentechnologien » 1:1 Beziehung in MSSQL mit Löschweitergabe

1:1 Beziehung in MSSQL mit Löschweitergabe

Letzter Beitrag 05. Feb 2010 14:33 von Jay. 2 Antworten.
Seite 1 von 1 (3 Treffer)
Beiträge sortieren: Zurück Weiter
  • 05. Feb 2010 10:25

    • Jay
    • Top 50 Mitwirkender
    • Registriert am 05. Aug 2008
    • Sauerland
    • Beiträge 34
    • Punkte 430

    1:1 Beziehung in MSSQL mit Löschweitergabe

    Antworten Kontakt

    Moin,

    ich habe 2 Tabellen. Eine "OperationTimes" und eine "Devices". Ein Device hat 3 OperationTime-IDs und somit auch drei Fremdschlüssel. Ich würde diese gerne mit einer Löschweitergabe versehen, allerdings lässt die Datenbank nur eine Weitergabe zu und hat Bedenken, dass ich eine Schleife produziere. Da die 3 Beziehungen allerdings logisch gesehen 1:1 sind kann das nicht passieren.

    - Die 'FK_OpTimeSinceMO'-Beziehung kann nicht erstellt werden.  
    Das Einführen der FOREIGN KEY-Einschränkung 'FK_OpTimeSinceMO' für die 'Devices'-Tabelle kann Schleifen oder mehrere Kaskadepfade verursachen. Geben Sie ON DELETE NO ACTION oder ON UPDATE NO ACTION an, oder ändern Sie andere FOREIGN KEY-Einschränkungen.
    Die Einschränkung konnte nicht erstellt werden. Siehe vorherige Fehler.

    Wie bekomme ich nun 3 Löschweitergaben von Devices nach OperationTimes hin?

    Danke

    Edit: Sorry, bitte Thema nach "Datenbanken" verschieben...

    • IP-Adresse ist Registriert
  • 05. Feb 2010 13:42 Antwort zu

    • Timo Rehl
    • Top 10 Mitwirkender
      Männlich
    • Registriert am 05. Mai 2009
    • Wald-Michelbach
    • Beiträge 534
    • Punkte 9.115
    • Moderator

    1:1 Beziehung in MSSQL mit Löschweitergabe

    Antworten Kontakt
    Hallo Jay,

    für den SQL Server ist das leider keine 1:1 Beziehung, weshalb er dann "korrekterweise" eine weitere Foreign-Key Definition ablehnt.

    Du könntest aber alternativ mit einem Delete Trigger arbeiten. Da kann man solche Logiken abbilden. Oder Du arbeitest gleich mit Stored-Procedures, dann umgehst Du die Problematik dass Du die Logik im .NET Code abbilden müsstest. Beides ist meines Erachtens Legitim, wobei eine SP darauf baut, dass jeder sie verwendet, ein Trigger ist restriktiver, den man nicht umgehen kann.

    Grüße
    Timo
    - theres no place like 127.0.0.1 -
    • IP-Adresse ist Registriert
  • 05. Feb 2010 14:33 Antwort zu

    • Jay
    • Top 50 Mitwirkender
    • Registriert am 05. Aug 2008
    • Sauerland
    • Beiträge 34
    • Punkte 430

    1:1 Beziehung in MSSQL mit Löschweitergabe

    Antworten Kontakt
    Ja das war so ungefähr das was ich mir gedacht hab. Danke
    • IP-Adresse ist Registriert
Seite 1 von 1 (3 Treffer)
Das Team | Regeln | Impressum
Aktuelle Beiträge aus dem dotnet-forum.de