Seite 1 von 1

mysql REFERENCES Klausel

Verfasst: 12.07.2003 16:04
von King Crusty
Hallo,

kann mir jemand sagen, ob die REFERENCES Klausel bei Tabellen anlegen (CREATE) überhaupt eine Auswirkung hat?! Wenn ja welche? Ich meine explizit mySQL nicht SQL.

Verfasst: 12.07.2003 19:29
von Pyramide
Bei MySQL unterstützt nur der "InnoDB" Tabellentyp foreign keys. Siehe auch http://www.mysql.com/doc/en/ANSI_diff_Foreign_Keys.html und die dort verlinkten Seiten

Verfasst: 12.07.2003 20:34
von King Crusty
danke für den Link, das hab ich auf den dt. nicht gefunden?! komisch...
auf jeden Fall an die Fachmänner: Was passiert nun genau durch die reference Klausel? Wenn ich das richtig verstehe, wird dadurch nur ein Tabellen Scan umgangen und somit die Performance erhöht...

Verfasst: 12.07.2003 21:10
von Pyramide
Ich sehe gerade das gibt es auch auf deutsch: http://www.mysql.com/doc/de/ANSI_diff_Foreign_Keys.html

Fremdschlüssel dienen dazu, die Dokumentation der Beziehungen direkt in der DB zu haben und Inkonsistenzen zu vermeiden. Auf phpBB bezogen würde das z.B. bedeuten, daß man keinen Datensatz in die phpbb_posts Tabelle einfügen kann, wenn kein Datensatz in der phpbb_topics Tabelle mit der entsprechenden topic_id existiert. Oder (ON DELETE CASCADE) daß beim Löschen eines Themas automatisch alle Beiträge entfernt werden, ohne eine zusätzliche DELETE-Anfrage ausführen zu müssen. Oder generell gesagt, Es werden Teile der Programmlogik aus dem Code in die Datenbank verschoben.

Verfasst: 12.07.2003 21:16
von King Crusty
ich danke dir recht herzlich!