Primary key 생성 방법 2가지 비교 질문드립니다. 0 2 756

by 최준혁 [SQL Query] [2017.12.06 17:47:42]


아래는 Primary key 생성 쿼리문입니다.

저는 흔히 1번만을 떠올릴 것 같은데요. 2번 처럼 하면 므엇이 다른지 2번 처럼 적용하는 의미/의의/효과가 궁금합니다.

1번

Alter table aaa add constraint aaa_pk primary key (A, B, C);

2번

Alter table aaa add (constraint aaa_pk primary key (A ,  B, C ) using index aaa_pk enable validate);

by 마농 [2017.12.07 11:25:56]

1. using index aaa_pk
  - 미리 만들어 준 aaa_pk 라는 인덱스를 이용해 PK 를 설정하겟다는 의미
  - 즉, PK 를 지정하기 전에 aaa_pk 라는 인덱스를 사전에 만들어 주어야 함
2. using index 구문이 없는 경우에
  - 미리 만들어 둔 인덱스가 없는 경우 : pk 명칭과 동일한 이름으로 인덱스 자동 생성 됨
  - 미리 만들어 둔 인덱스가 있는 경우 : 해당 인덱스를 이용함, 별도 인덱스 생성 안함
3. 미리 생성해 둔 인덱스 활용
  - using index 구문이 있든 없든 미리 생성한 인덱스 사용 가능
  - 유니크 인덱스가 아니어도 됨
  - a, b, c 이외에 다른 항목이 더 있어도 됨 (a, b, c, d)
4. enable validate
  - 제약사항을 적용하겠다는 구문으로 기본값임. 차이 없음
  - 앞쪽 enable/disable : 향후 입력값 적용 여부
  - 뒷쪽 validate/novalidate : 기존값 적용 여부


by 기리 [2017.12.07 17:19:36]

유용한정보 감사합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입