1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Referentielle Integrität

Dieses Thema im Forum "Datenmodellierung, Datenbank-Design" wurde erstellt von bluepeople12, 7 September 2011.

  1. bluepeople12

    bluepeople12 Aktiver Benutzer

    Eine Kleinigkeit hab ich noch nicht ganz verstanden.
    Nehmen wir folgendes Beispiel:

    Code:
    CREATE TABLE p(
        p1 INTEGER NOT NULL,
        p2 INTEGER NOT NULL,
        PRIMARY KEY (p1, p2)
    );
    
    CREATE TABLE d(
        d1 INTEGER NOT NULL,
        d2 INTEGER,
        d3 INTEGER,
        PRIMARY KEY (d1),
        FOREIGN KEY (d2, d3) REFERENCES p(p1, p2) ON DELETE CASCADE
    Heißt das jetzt, dass wenn jetzt z.B. alle Einträge gelöscht werden, die ein bestimmtes Tupel (d2, d3) beinhalten, dass es auch automatisch in der Tabelle p gelöscht wird?

    Oder werden alle Tupel (d2, d3) samt d1 gelöscht, wenn es der Eintrag (p1, p2) gelöscht wird?
     
  2. ukulele

    ukulele Datenbank-Guru

    Sollen das 2 FKs in der selben Tabelle auf 2 Schlüssel in der anderen Tabelle sein?

    Die FOREIGN KEY Einschränkung sorgt zunächst mal dafür, das ein Datensatz in Tabelle p nicht gelöscht werden kann solange ein Datensatz aus Tabelle d darauf verweist. Die ON DELETE CASCADE Einstellung würde dafür sorgen, das beim löschen der Daten in p auch die in d gelöscht werden - nicht ungefährlich.
     
  3. bluepeople12

    bluepeople12 Aktiver Benutzer

  4. Charly

    Charly Datenbank-Guru

    Nein

    Ja

    Gruß Charly
     
Die Seite wird geladen...

Diese Seite empfehlen