Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Was ist der Grund / Nutzen, das Schlüsselwort ENABLE in Oracle-Datenbankanweisungen zu verwenden

Constraint doc :

CREATE TABLE "EVALUATION" (
    "EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,

ENABLE/DISABLE zeigt an, dass die Einschränkung ein- oder ausgeschaltet ist. Standardmäßig ENABLE verwendet wird.

ENABLE-Klausel Geben Sie ENABLE an, wenn die Einschränkung auf die Daten in der Tabelle angewendet werden soll.

DISABLE-Klausel Geben Sie DISABLE an, um die Integritätsbeschränkung zu deaktivieren. Deaktivierte Integritätsbeschränkungen werden im Datenwörterbuch zusammen mit aktivierten Beschränkungen angezeigt. Wenn Sie diese Klausel beim Erstellen einer Einschränkung nicht angeben, aktiviert Oracle automatisch die Einschränkung.

Einschränkungen werden verwendet, um die Datenintegrität sicherzustellen, aber es gibt Szenarien, in denen wir sie möglicherweise deaktivieren müssen.

Managing Integrity :

Beschränkungen deaktivieren

Um die durch Integritätseinschränkungen definierten Regeln durchzusetzen, sollten die Einschränkungen immer aktiviert sein. Ziehen Sie jedoch in Betracht, die Integritätseinschränkungen einer Tabelle aus folgenden Leistungsgründen vorübergehend zu deaktivieren:

  • Beim Laden großer Datenmengen in eine Tabelle

  • Beim Durchführen von Batch-Operationen, die umfangreiche Änderungen an einer Tabelle vornehmen (z. B. Ändern der Nummer jedes Mitarbeiters durch Hinzufügen von 1000 zur vorhandenen Nummer)

  • Beim Importieren oder Exportieren einer Tabelle nach der anderen

In allen drei Fällen kann das vorübergehende Deaktivieren von Integritätsbedingungen die Leistung des Vorgangs verbessern, insbesondere in Data-Warehouse-Konfigurationen.

Es ist möglich, Daten einzugeben, die gegen eine Einschränkung verstoßen, während diese Einschränkung deaktiviert ist. Daher sollten Sie die Einschränkung immer aktivieren, nachdem Sie eine der in der vorstehenden Aufzählung aufgeführten Operationen abgeschlossen haben.

Effiziente Verwendung von Integritätsbedingungen:Ein Verfahren

Die Verwendung von Integritätseinschränkungszuständen in der folgenden Reihenfolge kann die besten Vorteile gewährleisten:

  1. Status deaktivieren.

  2. Führen Sie die Operation aus (Laden, Exportieren, Importieren).

  3. Aktivieren Sie den Novalidate-Status.

    Einige Vorteile der Verwendung von Einschränkungen in dieser Reihenfolge sind:

    • Es werden keine Sperren gehalten.

    • Alle Beschränkungen können gleichzeitig in den Aktivierungszustand wechseln.

    • Die Einschränkungsaktivierung erfolgt parallel.

    • Gleichzeitige Aktivität auf dem Tisch ist erlaubt.

BEARBEITEN:

Die Frage ist eher, warum man offensichtlich verwendet Schlüsselwort, wenn es standardmäßig aktiviert ist:

Ich würde sagen:

  1. Aus Gründen der Übersichtlichkeit (Python-EIBTI-Regel Explicit Is Better Than Implicit )
  2. Der Vollständigkeit halber
  3. Persönlicher Geschmack und/oder Programmierkonvention

Dies ist dieselbe Kategorie wie:

CREATE TABLE tab(col INT NULL)

Warum verwenden wir NULL if-Spalte ist standardmäßig nullable.