prosource

오라클 데이터베이스 문에 ENABLE 키워드를 사용하는 것이 유용한 이유입니다.

probook 2023. 7. 7. 19:07
반응형

오라클 데이터베이스 문에 ENABLE 키워드를 사용하는 것이 유용한 이유입니다.

다음과 같은 문장에서 ENABLE 키워드를 사용하면 어떤 이점이나 유용성이 있는지 알고 싶습니다.

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

OR

ALTER TABLE "EVALUATION"
ADD CONSTRAINT("EVALUATION_FK")
FOREIGN KEY ("CREW_ID")
REFERENCES "CREW" ("CREW_ID") ENABLE;

제가 문서에서 읽은 내용입니다.ENABLE기본적으로 설정되어 있습니다.

이전에 비활성화된 것을 활성화하기 위한 것이라고 가정해도 되겠습니까?

Constraint doc:

enter image description here

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

ENABLE/DISABLE 제약 조건이 켜지거나 꺼짐을 나타냅니다.기본적으로ENABLE사용됩니다.

ENABLE 절 제약 조건을 테이블의 데이터에 적용하려면 ENABLE을 지정합니다.

DISABLE 절 무결성 제약 조건을 비활성화하려면 DISABLE을 지정합니다.비활성화된 무결성 제약 조건이 활성화된 제약 조건과 함께 데이터 사전에 나타납니다.제약 조건을 만들 때 이 절을 지정하지 않으면 Oracle은 자동으로 제약 조건을 사용하도록 설정합니다.

데이터 무결성을 보장하기 위해 제약 조건이 사용되지만 이를 비활성화해야 할 수도 있습니다.

Managing Integrity:

제약 조건 비활성화

무결성 제약 조건에 의해 정의된 규칙을 적용하려면 제약 조건을 항상 사용하도록 설정해야 합니다.그러나 다음과 같은 성능상의 이유로 테이블의 무결성 제약 조건을 일시적으로 비활성화하는 것이 좋습니다.

  • 표에 많은 양의 데이터를 로드하는 경우

  • 테이블을 대폭 변경하는 배치 작업을 수행하는 경우(예: 기존 번호에 1000을 추가하여 모든 직원의 번호를 변경)

  • 한 번에 하나의 테이블을 가져오거나 내보낼 때

세 가지 경우 모두 무결성 제약 조건을 일시적으로 해제하면 특히 데이터 웨어하우스 구성에서 작업 성능을 향상시킬 수 있습니다.

제약 조건이 비활성화된 동안 제약 조건을 위반하는 데이터를 입력할 수 있습니다.따라서 앞의 글머리 기호 목록에 나열된 작업을 완료한 후에는 항상 제약 조건을 활성화해야 합니다.

무결성 제약조건의 효율적인 사용: 절차

무결성 제약 조건 상태를 다음 순서로 사용하면 최상의 이점을 보장할 수 있습니다.

  1. 상태 사용 안 함.

  2. 작업(로드, 내보내기, 가져오기)을 수행합니다.

  3. 유효한 상태를 사용하지 않습니다.

    이 순서로 제약 조건을 사용하면 다음과 같은 이점이 있습니다.

    • 잠금 장치가 없습니다.

    • 모든 제약 조건이 동시에 활성화 상태로 전환될 수 있습니다.

    • 제약 조건 활성화는 병렬로 수행됩니다.

    • 테이블에서 동시 작업이 허용됩니다.

편집:

문제는 기본적으로 설정되어 있는 명백한 키워드를 사용하는 이유입니다.

저는 이렇게 말할 것 같습니다.

  1. 명확성을 위해 (Python EIBTI 규칙 명시적이 암시적보다 낫다)
  2. 완전성을 위하여
  3. 개인 취향 및/또는 코딩 규약

이 범주는 다음과 같습니다.

CREATE TABLE tab(col INT NULL)

는 사하는이를 합니까?NULL열이 기본적으로 null일 경우.

언급URL : https://stackoverflow.com/questions/33217761/whats-the-reason-usefulness-is-to-use-enable-keyword-in-oracle-database-state

반응형