DRI oder Trigger

Frage:
Beim Upsizing einer Access-Datenbank auf den SQL Server muß innerhalb des Upsizing-Assistenten die Entscheidung getroffen werden, ob DRI oder Trigger angelegt werden soll. Worin bestehen sind die Unterschiede?

Lösung:
DRI steht für Deklarative Referentielle Integrität und wird zur Prüfung der Datenkonsistenz genutzt.
Bei einer bestehenden Beziehung zwischen zwei Tabellen können z.B. keine Datensätze gelöscht werden, wenn es innerhalb der Beziehung noch abhängige Datensätze gibt. Mit DRI reagiert der SQL Server bei einem solchen Löschversuch mit einem Fehler.

Eine Aktualisierungs- und Löschweitergabe wird mit der DRI nicht durchgeführt. Diese kann aber mit Trigger abgebildet werden.
Ein Trigger ist T-SQL-Code, der bei einer Aktion an einer Tabelle – UPDATE, DELETE, INSERT – ausgelöst wird.

Welche Option beim Upsizing gewählt wird, hängt von den eigenen Anforderungen ab. Soll eine Aktualisierungs- und Löschweitergabe implementiert werden, sollte die Option Trigger ausgewählt werden. Der Upsizing-Wizzard erstellt dann die notwendigen Trigger.

/* übernommen aus der Original sqlfaq.de */