Die größere Frage ist: Würden Sie mit verbundenen Augen fahren? So ist es, wenn Sie ein System ohne referenzielle Einschränkungen entwickeln. Beachten Sie, dass sich die Geschäftsanforderungen ändern, sich das Anwendungsdesign ändert, die jeweiligen logischen Annahmen in den Codeänderungen, die Logik selbst überarbeitet werden kann und so weiter. Im Allgemeinen werden Einschränkungen in Datenbanken unter zeitgemäßen logischen Annahmen festgelegt, die für bestimmte logische Aussagen und Annahmen scheinbar korrekt sind.
Während des Lebenszyklus einer Anwendung schränken Referenz- und Datenprüfungen die Erfassung von Polizeidaten über die Anwendung ein, insbesondere wenn neue Anforderungen zu logischen Anwendungsänderungen führen.
Zum Thema dieser Auflistung : Ein Fremdschlüssel "verbessert" weder die Leistung selbst noch "verschlechtert er die Leistung" unter dem Gesichtspunkt eines Echtzeit-Transaktionsverarbeitungssystems erheblich. Es gibt jedoch aggregierte Kosten für die Einschränkungsprüfung im "Batch" -System mit hohem Volumen. Hier ist also der Unterschied zwischen Echtzeit- und Batch-Transaktionsprozess. Stapelverarbeitung - Wenn die hohen Kosten einer sequentiell verarbeiteten Charge, die durch Einschränkungsprüfungen entstehen, einen Leistungseinbruch darstellen.
In einem gut konzipierten System würden Datenkonsistenzprüfungen "vor" der Verarbeitung eines Stapels durchgeführt (dennoch sind auch hier Kosten verbunden). Daher sind während der Ladezeit keine Fremdschlüsseleinschränkungsprüfungen erforderlich. Tatsächlich sollten alle Einschränkungen, einschließlich des Fremdschlüssels, vorübergehend deaktiviert werden, bis der Stapel verarbeitet wird.
QUERY PERFORMANCE - Wenn Tabellen mit Fremdschlüsseln verknüpft werden, beachten Sie, dass Fremdschlüsselspalten NICHT INDEXIERT sind (obwohl der jeweilige Primärschlüssel per Definition indiziert ist). Durch Indizieren eines Fremdschlüssels, Indizieren eines beliebigen Schlüssels und Verknüpfen von Tabellen mit indizierten Schlüsseln wird eine bessere Leistung erzielt, nicht durch Verbinden mit nicht indizierten Schlüsseln mit Fremdschlüsseleinschränkung.
Ändern von Themen , wenn eine Datenbank nur das Anzeigen / Rendern von Inhalten / usw. auf der Website und das Aufzeichnen von Klicks unterstützt, ist eine Datenbank mit vollständigen Einschränkungen für alle Tabellen für solche Zwecke überfordert. Denk darüber nach. Die meisten Websites verwenden nicht einmal eine Datenbank für solche. Verwenden Sie für ähnliche Anforderungen, bei denen Daten nur aufgezeichnet und nicht per Referenz referenziert werden, eine speicherinterne Datenbank, für die keine Einschränkungen gelten. Dies bedeutet nicht, dass es kein Datenmodell, ja ein logisches Modell, aber kein physisches Datenmodell gibt.