Oracle
 sql >> база данни >  >> RDS >> Oracle

Каква е причината/полезността е да се използва ключова дума ENABLE в изразите на базата данни на Oracle

Constraint doc :

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

ENABLE/DISABLE показва, че ограничението е включено или изключено. По подразбиране ENABLE се използва.

Клауза АКТИВИРАНЕ Посочете ENABLE, ако искате ограничението да бъде приложено към данните в таблицата.

Клауза за ИЗКЛЮЧВАНЕ Задайте DISABLE, за да деактивирате ограничението за интегритет. Деактивираните ограничения за интегритет се появяват в речника на данните заедно с разрешените ограничения. Ако не посочите тази клауза при създаване на ограничение, Oracle автоматично активира ограничението.

Използват се ограничения, за да се гарантира целостта на данните, но има сценарии, при които може да се наложи да ги деактивираме.

Managing Integrity :

Деактивиране на ограничения

За да се наложат правилата, дефинирани от ограниченията за интегритет, ограниченията винаги трябва да бъдат активирани. Въпреки това, помислете за временно деактивиране на ограниченията за целостта на таблица поради следните причини за производителност:

  • При зареждане на големи количества данни в таблица

  • Когато извършвате пакетни операции, които правят масивни промени в таблица (например промяна на номера на всеки служител чрез добавяне на 1000 към съществуващия номер)

  • При импортиране или експортиране на една таблица в даден момент

И в трите случая временното деактивиране на ограниченията за целостта може да подобри производителността на операцията, особено в конфигурации на хранилище за данни.

Възможно е да въведете данни, които нарушават ограничение, докато това ограничение е деактивирано. По този начин винаги трябва да активирате ограничението, след като завършите която и да е от операциите, изброени в предходния списък.

Ефективно използване на ограниченията за интегритет:Процедура

Използването на състояния на ограничение на целостта в следния ред може да осигури най-добри ползи:

  1. Деактивиране на състоянието.

  2. Извършете операцията (зареждане, експортиране, импортиране).

  3. Активиране на състоянието на новалидат.

    Някои предимства от използването на ограничения в този ред са:

    • Не се задържат ключалки.

    • Всички ограничения могат да отидат, за да активират състоянието едновременно.

    • Разрешаването на ограниченията се извършва паралелно.

    • Едновременната дейност на масата е разрешена.

РЕДАКТИРАНЕ:

Въпросът е по-скоро защо да се използваочевидно ключова дума, когато е включена по подразбиране:

Бих казал:

  1. За по-голяма яснота (правило на Python EIBTI Изричното е по-добре от имплицитното )
  2. За пълнота
  3. Личен вкус и/или конвенция за кодиране

Това е същата категория като:

CREATE TABLE tab(col INT NULL)

Защо използваме NULL ако колоната е нула по подразбиране.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Стъпка по стъпка процес на надстройка за R12.2 надстройка, част -4 (прилагане на пакет за актуализация на версия 12.2.x)

  2. Грешка при конвертиране на XML от колона CLOB в колона XMLType

  3. лоша производителност при избор на хибернация в сравнение с директното изпълнение - как да отстраните грешки?

  4. Симулиран OLAP

  5. Oracle 11g на Mac OS X