Constraint doc
:
CREATE TABLE "EVALUATION" (
"EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,
ENABLE/DISABLE
wskazuje, że wiązanie jest włączone lub wyłączone. Domyślnie ENABLE
jest używany.
WŁĄCZ Klauzula Określ WŁĄCZ, jeśli chcesz, aby ograniczenie zostało zastosowane do danych w tabeli.
WYŁĄCZ Klauzula Określ DISABLE, aby wyłączyć ograniczenie integralności. Wyłączone ograniczenia integralności pojawiają się w słowniku danych wraz z włączonymi ograniczeniami. Jeśli nie określisz tej klauzuli podczas tworzenia ograniczenia, Oracle automatycznie je włączy.
Ograniczenia służą do zapewnienia integralności danych, ale istnieją scenariusze, w których możemy je wyłączyć.
Managing Integrity
:
Wyłączanie ograniczeń
Aby wymusić reguły zdefiniowane przez ograniczenia integralności, ograniczenia powinny być zawsze włączone. Rozważ jednak tymczasowe wyłączenie ograniczeń integralności tabeli z następujących przyczyn wydajności:
-
Podczas ładowania dużych ilości danych do tabeli
-
Podczas wykonywania operacji wsadowych, które wprowadzają ogromne zmiany w tabeli (na przykład zmiana numeru każdego pracownika poprzez dodanie 1000 do istniejącego numeru)
-
Podczas importowania lub eksportowania jednej tabeli na raz
We wszystkich trzech przypadkach tymczasowe wyłączenie ograniczeń integralności może poprawić wydajność operacji, zwłaszcza w konfiguracjach hurtowni danych.
Możliwe jest wprowadzenie danych, które naruszają ograniczenie, gdy ograniczenie to jest wyłączone. Dlatego należy zawsze włączać ograniczenie po wykonaniu dowolnej z operacji wymienionych w poprzedniej liście punktowanej.
Wydajne stosowanie ograniczeń uczciwości:procedura
Korzystanie ze stanów więzów integralności w następującej kolejności może zapewnić najlepsze korzyści:
-
Wyłącz stan.
-
Wykonaj operację (ładuj, eksportuj, importuj).
-
Włącz stan walidacji.
Niektóre korzyści z używania ograniczeń w tej kolejności to:
-
Brak blokad.
-
Wszystkie ograniczenia mogą iść jednocześnie, aby włączyć stan.
-
Włączanie ograniczeń odbywa się równolegle.
-
Jednoczesna aktywność na stole jest dozwolona.
-
EDYTUJ:
Pytanie brzmi raczej, dlaczego używać oczywistego słowo kluczowe, gdy jest domyślnie włączone:
Powiedziałbym:
- Dla jasności (zasada Pythona EIBTI Jasne jest lepsze niż niejawne )
- Dla kompletności
- Osobisty gust i/lub konwencja kodowania
To ta sama kategoria, co:
CREATE TABLE tab(col INT NULL)
Dlaczego używamy NULL
jeśli kolumna jest domyślnie dopuszczalna.