Constraint doc
: CREATE TABLE "EVALUATION" (
"EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,
ENABLE/DISABLE
indica que a restrição está ativada ou desativada. Por padrão ENABLE
é usado.
Ativar cláusula Especifique ENABLE se desejar que a restrição seja aplicada aos dados na tabela.
CLÁUSULA DESATIVAR Especifique DISABLE para desabilitar a restrição de integridade. As restrições de integridade desabilitadas aparecem no dicionário de dados junto com as restrições habilitadas. Se você não especificar esta cláusula ao criar uma restrição, o Oracle ativará automaticamente a restrição.
As restrições são usadas para garantir a integridade dos dados, mas há cenários em que podemos precisar desativá-las.
Managing Integrity
:
Desabilitando Restrições
Para impor as regras definidas pelas restrições de integridade, as restrições devem estar sempre habilitadas. No entanto, considere desabilitar temporariamente as restrições de integridade de uma tabela pelos seguintes motivos de desempenho:
Ao carregar grandes quantidades de dados em uma tabela
Ao realizar operações em lote que fazem grandes alterações em uma tabela (por exemplo, alterar o número de cada funcionário adicionando 1000 ao número existente)
Ao importar ou exportar uma tabela por vez
Nos três casos, desabilitar temporariamente as restrições de integridade pode melhorar o desempenho da operação, especialmente em configurações de data warehouse.
É possível inserir dados que violem uma restrição enquanto essa restrição estiver desabilitada. Assim, você deve sempre habilitar a restrição após concluir qualquer uma das operações listadas na lista de marcadores anterior.
Uso eficiente de restrições de integridade:um procedimento
O uso de estados de restrição de integridade na seguinte ordem pode garantir os melhores benefícios:
Desativar estado.
Execute a operação (carregar, exportar, importar).
Habilite o estado de novavalidação.
Alguns benefícios do uso de restrições nesta ordem são:
Nenhum bloqueio é realizado.
Todas as restrições podem ir para habilitar o estado simultaneamente.
A habilitação de restrições é feita em paralelo.
A atividade simultânea na mesa é permitida.
EDITAR:
A questão é por que usar óbvio palavra-chave quando está ativada por padrão:
Eu diria:
- Para maior clareza (regra Python EIBTI Explícito é melhor que implícito )
- Para completar
- Gosto pessoal e/ou convenção de codificação
Esta é a mesma categoria que:
CREATE TABLE tab(col INT NULL)
Por que usamos
NULL
se a coluna for anulável por padrão.