EN - FR - DE - ES - IT - PT -

LexiconDream

🔗 Fremdschlüssel

Ein Feld, das Datensätze einer Tabelle mit einer anderen Tabelle verknüpft.

Fremdschlüssel

Ein Fremdschlüssel verknüpft Datensätze zweier Tabellen. Die Tabelle „Bestellungen“ enthält das Feld „customer_id“. Dieses Feld ist ein Fremdschlüssel, der auf den Primärschlüssel der Kundentabelle verweist. Die Verknüpfung stellt sicher, dass jede Bestellung einem realen Kunden zugeordnet ist. Ohne diese Verknüpfung könnten Bestellungen auf nicht existierende Kunden verweisen. Die Datenbank gewährleistet diese Beziehung.

Fremdschlüssel dokumentieren nicht nur Beziehungen, sondern gewährleisten auch die referenzielle Integrität. Versucht man, eine Bestellung mit einer nicht in der Kundentabelle vorhandenen Kunden-ID einzufügen, lehnt die Datenbank den Vorgang ab. Versucht man hingegen, einen Kunden mit Bestellungen zu löschen, blockiert die Datenbank den Löschvorgang oder leitet ihn – je nach Regel – weiter. Diese Durchsetzung verhindert verwaiste Datensätze und inkonsistente Daten. Fremdschlüssel verbessern zudem die Abfrageleistung. Die Datenbank kann die Beziehung nutzen, um Joins zu optimieren. Nicht alle Datenbanken erzwingen Fremdschlüssel. Einige NoSQL-Datenbanken überlassen die referenzielle Integrität der Anwendung. Dies bietet Entwicklern mehr Flexibilität, aber auch mehr Verantwortung. Die Anwendung muss sicherstellen, dass die Referenzen gültig sind. Andernfalls werden die Daten inkonsistent. Fremdschlüssel stellen eine Einschränkung dar. Einschränkungen sind zwar zunächst unbequem, verhindern aber letztendlich nur schwerwiegende Probleme.

Regeln für Fremdschlüssel

Ein Fremdschlüssel ist eine Verknüpfung und eine Garantie. Die Verknüpfung verbindet Tabellen. Die Garantie gewährleistet deren Konsistenz.

Comments

No comments yet. Be the first to share a thought.

Leave a comment