SQL에서의 데이터베이스 인덱스 유형 연습문제

SQL에서의 데이터베이스 인덱스 유형 연습문제

문제 1

다음 테이블 구조를 가진 Employees 테이블이 있다고 가정해보겠습니다.

CREATE TABLE Employees (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  age INT,
  department VARCHAR(50)
);

위 테이블에 대한 인덱스를 생성하고자 합니다.

a) name 열에 대한 인덱스를 생성하는 SQL 문을 작성하세요.

b) department 열에 대한 인덱스를 생성하는 SQL 문을 작성하세요.

c) age 열에 대한 고유 인덱스를 생성하는 SQL 문을 작성하세요.

문제 2

아래 테이블 구조를 가진 Products 테이블이 있다고 가정해보겠습니다.

CREATE TABLE Products (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  price DECIMAL(10, 2),
  category VARCHAR(50)
);

위 테이블에서 다양한 조회 쿼리를 수행해야 합니다. 이를 위해 적절한 인덱스를 생성하는 SQL 문을 작성하세요.

문제 3

다음은 Customers 테이블의 구조입니다.

CREATE TABLE Customers (
  id INT PRIMARY KEY,
  name VARCHAR(50),
  email VARCHAR(50),
  country VARCHAR(50)
);

위 테이블을 사용하여 고객의 이메일 주소를 통해 조회하는 자주 사용되는 쿼리가 있습니다. 이를 위해 인덱스를 생성하는 SQL 문을 작성하세요.


정답

문제 1

a) name 열에 대한 인덱스 생성:

CREATE INDEX idx_name ON Employees (name);

b) department 열에 대한 인덱스 생성:

CREATE INDEX idx_department ON Employees (department);

c) age 열에 대한 고유 인덱스 생성:

CREATE UNIQUE INDEX idx_age ON Employees (age);

문제 2

Products 테이블에 대한 적절한 인덱스 생성:

문제 3

Customers 테이블에서 고객의 이메일 주소로 조회하기 위한 인덱스 생성:

CREATE INDEX idx_email ON Customers (email);

해당 문제들은 SQL에서 인덱스를 생성하는 연습문제입니다. 인덱스를 적절하게 활용하면 데이터베이스 쿼리의 성능을 향상시킬 수 있습니다.

해답은 문제에 주어진 테이블과 열에 대한 인덱스를 생성하는 SQL 문입니다. 쿼리 성능에 따라 각 열에 적절한 인덱스를 생성하여 데이터베이스 시스템의 성능을 향상시킬 수 있습니다.

#인덱스 #SQL