Constraint doc
:
CREATE TABLE "EVALUATION" (
"EVALUATION_ID" NUMBER(20, 0) NOT NULL ENABLE,
ENABLE/DISABLE
angiver, at begrænsningen er slået til eller fra. Som standard ENABLE
bruges.
AKTIVER Klausul Angiv ENABLE, hvis du ønsker, at begrænsningen skal anvendes på dataene i tabellen.
DEAKTIVER Klausul Angiv DISABLE for at deaktivere integritetsbegrænsningen. Deaktiverede integritetsbegrænsninger vises i dataordbogen sammen med aktiverede begrænsninger. Hvis du ikke angiver denne klausul, når du opretter en begrænsning, aktiverer Oracle automatisk begrænsningen.
Begrænsninger bruges til at sikre dataintegritet, men der er scenarier, vi muligvis skal deaktivere dem.
Managing Integrity
:
Deaktivering af begrænsninger
For at håndhæve reglerne, der er defineret af integritetsbegrænsninger, skal begrænsningerne altid være aktiveret. Overvej dog midlertidigt at deaktivere integritetsbegrænsningerne for en tabel af følgende præstationsårsager:
-
Ved indlæsning af store mængder data i en tabel
-
Når du udfører batch-operationer, der foretager massive ændringer i en tabel (f.eks. ændring af hver medarbejders nummer ved at tilføje 1000 til det eksisterende antal)
-
Ved import eller eksport af én tabel ad gangen
I alle tre tilfælde kan midlertidigt deaktivering af integritetsbegrænsninger forbedre ydeevnen af operationen, især i datavarehuskonfigurationer.
Det er muligt at indtaste data, der overtræder en begrænsning, mens denne begrænsning er deaktiveret. Derfor bør du altid aktivere begrænsningen efter at have fuldført en af de operationer, der er angivet i den foregående punktliste.
Effektiv brug af integritetsbegrænsninger:en procedure
Brug af integritetsbegrænsningstilstande i følgende rækkefølge kan sikre de bedste fordele:
-
Deaktiver tilstand.
-
Udfør handlingen (indlæs, eksport, import).
-
Aktiver novalidate-tilstand.
Nogle fordele ved at bruge begrænsninger i denne rækkefølge er:
-
Der holdes ingen låse.
-
Alle begrænsninger kan gå til at aktivere tilstand samtidigt.
-
Begrænsningsaktivering udføres parallelt.
-
Samtidig aktivitet på bordet er tilladt.
-
EDIT:
Spørgsmålet er snarere, hvorfor man bruger oplagt søgeord, når det er slået til som standard:
Jeg vil sige:
- For klarhedens skyld (Python EIBTI-regel Eksplicit er bedre end implicit )
- For fuldstændighedens skyld
- Personlig smag og/eller kodningskonvention
Dette er den samme kategori som:
CREATE TABLE tab(col INT NULL)
Hvorfor bruger vi NULL
hvis kolonnen er nullbar som standard.