코딩일기/자격증

[정보처리기사] 인덱스(Index)란? | 인덱스 생성 SQL 문제 | 2020년 2회 정보처리기사 실기 기출문제

jhy_2023 2024. 10. 11. 16:58
728x90
반응형

2020년 2회 정보처리기사 실기 기출문제

문제

학생 테이블의 name 속성에 IDX_NAME이라는 이름으로 인덱스를 생성하는 SQL문을 작성하시오.

정답

CREATE INDEX IDX_NAME ON 학생(NAME);
반응형

해설

1. 인덱스란?

인덱스는 데이터베이스의 성능을 향상시키기 위한 중요한 요소입니다. 인덱스는 데이터베이스에서 데이터를 빠르게 검색할 수 있도록 돕는 특별한 데이터 구조로 이를 통해 테이블에서 원하는 데이터를 신속하게 찾을 수 있습니다. 인덱스는 책의 색인과 유사하게, 테이블의 특정 열에 대한 검색 속도를 향상시킵니다. 인덱스가 없는 경우 데이터베이스는 원하는 데이터를 찾기 위해 테이블의 모든 행을 처음부터 끝까지 하나씩 검사하는 전체 테이블 스캔을 수행해야 합니다. 그러나 인덱스가 있으면 검색 범위를 좁힐 수 있어 성능이 크게 향상됩니다.

2. 인덱스 생성 구문

인덱스를 생성하는 기본 구문은 다음과 같습니다

CREATE INDEX 인덱스명 ON 테이블명(열1, 열2, ...);

 

  • CREATE :CREATE는 데이터베이스에서 새로운 객체를 생성할 때 사용하는 SQL 명령어입니다. 이 객체는 테이블, 인덱스, 뷰, 트리거 등 여러 유형이 될 수 있으며, 인덱스를 생성할 때는 CREATE INDEX 구문을 사용합니다.
  • 인덱스명: 생성할 인덱스의 이름입니다.
  • 테이블명: 인덱스를 적용할 테이블의 이름입니다.
  • : 인덱스를 적용할 하나 이상의 열을 지정합니다.

 

728x90

3. 정답 해설

인덱스 생성 구문 설명:

CREATE INDEX IDX_NAME ON 학생(NAME);
  • CREATE INDEX: 인덱스를 생성하는 SQL 구문입니다.
  • IDX_NAME: 생성할 인덱스의 이름입니다. 사용자 정의 이름을 사용하여 인덱스를 식별합니다.
  • ON 학생(NAME): 학생 테이블의 NAME 열에 인덱스를 적용합니다. 해당 열을 기준으로 데이터 검색이 빨라집니다.

문제

<student> 테이블의 name 속성을 오름차순하여 idx_name를 인덱스명으로 하는 인덱스를 생성하는 sql 명령문을 작성하시오.

정답

CREATE INDEX IDX_NAME ON 학생(name asc);

해설

인덱스 생성 기본 형식:

CREATE INDEX 인덱스명 ON 테이블명(컬럼명 [ASC | DESC]);

 

  • CREATE INDEX: 인덱스를 생성하기 위한 SQL 명령어입니다.
  • 인덱스명: 생성할 인덱스의 이름입니다. 인덱스명을 의미 있게 정하는 것이 유지보수에 도움이 됩니다.
  • ON 테이블명: 인덱스를 적용할 테이블을 지정합니다.
  • 컬럼명: 인덱스를 적용할 열을 지정합니다. 여러 열을 인덱스로 지정할 수도 있습니다.
  • ASC: 오름차순(Ascending) 정렬입니다. 생략 시 기본값은 오름차순입니다.
  • DESC: 내림차순(Descending) 정렬입니다.

 

**정렬(Sorting)**은 데이터베이스나 프로그래밍에서 데이터를 특정 기준에 따라 순서대로 배열하는 과정입니다. 정렬은 데이터 검색, 탐색 및 분석을 더 효율적으로 수행하는 데 필수적입니다. 정렬은 두 가지 주요 방식으로 수행됩니다: **오름차순(ASC)**내림차순(DESC).

1. 오름차순(ASC, Ascending Order)

  • 작은 값에서 큰 값으로 데이터를 정렬하는 방식입니다.
  • 숫자의 경우 작은 값 → 큰 값 순서로 정렬됩니다.
  • 문자열의 경우 알파벳 순(A → Z) 또는 가나다 순으로 정렬됩니다.
  • 날짜의 경우 이전 날짜 → 최근 날짜 순으로 정렬됩니다.
  • 오름차순은 기본 정렬 방식으로, 명시하지 않더라도 기본적으로 적용됩니다.

2. 내림차순(DESC, Descending Order)

  • 큰 값에서 작은 값으로 데이터를 정렬하는 방식입니다.
  • 숫자의 경우 큰 값 → 작은 값 순서로 정렬됩니다.
  • 문자열의 경우 알파벳 역순(Z → A) 또는 하나부터 가나다 역순으로 정렬됩니다.
  • 날짜의 경우 최근 날짜 → 이전 날짜 순으로 정렬됩니다.

 


"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

728x90
반응형