ORA
0/26 완료

[1번]EMPLOYEES 테이블의 LAST_NAME 열에 비고유 인덱스를 생성하시오.

결과 예시

Index created. INDEX_NAME=EMP_LAST_NAME_IDX, UNIQUENESS=NONUNIQUE

💡 키포인트

CREATE INDEX 기본 구문. UNIQUE 키워드 없으면 비고유 인덱스 생성.

[2번]EMPLOYEES 테이블의 EMAIL 열에 UNIQUE 인덱스를 생성하시오. (이미 UK 제약이 있는 경우 이름 충돌 확인)

결과 예시

Index created.

💡 키포인트

CREATE UNIQUE INDEX 구문. PK/UK 제약에 의해 이미 인덱스가 있는 열에 추가 생성은 오류 또는 중복.

[3번]USER_INDEXES와 USER_IND_COLUMNS를 조회하여 EMPLOYEES의 모든 인덱스 정보를 확인하시오.

결과 예시

EMP_DEPARTMENT_IX, EMP_EMAIL_UK, EMP_EMP_ID_PK, EMP_JOB_IX, EMP_LAST_NAME_IDX 등 인덱스 목록과 열 정보 출력.

💡 키포인트

USER_INDEXES: 인덱스 기본 정보. USER_IND_COLUMNS: 인덱스별 열 정보. JOIN으로 종합 조회.

[4번]USER_CONSTRAINTS와 USER_INDEXES를 JOIN하여 자동 생성된 인덱스와 수동 생성 인덱스를 구분하시오.

결과 예시

EMP_EMP_ID_PK(P), EMP_EMAIL_UK(U) — PK/UK 제약 이름 = 자동 생성 인덱스 이름.

💡 키포인트

PK/UK 제약으로 자동 생성된 인덱스는 CONSTRAINT_NAME = INDEX_NAME. 수동 인덱스는 이 JOIN에 나타나지 않음.

[5번]DEPARTMENTS 테이블에 LOCATION_ID 열 인덱스를 생성하고 딕셔너리에서 확인하시오.

결과 예시

Index created. DEPT_LOC_IDX, DEPARTMENTS, NONUNIQUE, NORMAL

💡 키포인트

외래 키 열에 인덱스 생성. FK 열에 인덱스가 없으면 부모 테이블 DELETE/UPDATE 시 잠금 문제 발생 가능.

[6번]USING INDEX를 사용하여 PK 인덱스 이름을 직접 지정하는 테이블을 생성하고 인덱스 이름을 확인하시오.

결과 예시

Table created. PROD_ORD_PK_IDX, PROD_ORDERS, UNIQUE 확인.

💡 키포인트

USING INDEX로 PK/UK 제약에 대한 인덱스 이름 직접 지정. Oracle 자동 생성 이름(SYS_C...) 대신 의미 있는 이름.