홈 › SQL 중급 › 11 / 11

뷰·시퀀스·자동 증가

VIEW, SEQUENCE, IDENTITY, AUTO_INCREMENT
섹션 6진행 0 / 11

뷰·시퀀스·자동 증가: VIEW, SEQUENCE, IDENTITY, AUTO_INCREMENT

조인(중급 03)과 집계(중급 10)로 만든 복잡한 쿼리를 매번 다시 쓰지 않고 이름 붙여 재사용하려면 VIEW가 필요하고, 기본 키를 자동으로 채우려면 SEQUENCE나 IDENTITY 컬럼이 필요합니다. 이 레슨은 뷰를 만들고 바꾸고 지우는 법, 뷰를 통한 수정이 가능한 조건, 시퀀스·자동 증가 컬럼의 DB별 문법과 채번 값에 구멍이 생기는 이유를 다룹니다.

1. 왜 배우는가

실무에서 여러 테이블을 조인하고 집계하는 쿼리는 리포트 화면이나 배치마다 반복해서 쓰입니다. 이런 쿼리를 뷰로 저장해두면 SELECT * FROM dept_summary 처럼 짧게 쓸 수 있고, 쿼리 로직이 바뀔 때 뷰 정의 한 곳만 고치면 됩니다. 뷰는 또 특정 컬럼만 보여줘서 급여 같은 민감한 컬럼을 가리는 용도로도 씁니다.

기본 키를 채우는 문제도 마찬가지로 흔합니다. INSERT 할 때마다 다음 번호를 애플리케이션이 직접 계산하면 동시에 여러 요청이 들어올 때 같은 번호를 두 번 쓰는 충돌이 생깁니다. SEQUENCE와 IDENTITY 컬럼은 DB 가 번호 채번을 대신해줘서 이 문제를 없애지만, DB 마다 문법과 세부 동작이 다르고 번호에 구멍(gap)이 생길 수 있다는 공통 함정이 있습니다.

이 레슨은 뷰의 생성·변경·삭제와 뷰를 통한 수정 가능 조건, SEQUENCE·IDENTITY 채번 방식과 구멍이 생기는 이유, DB 별 채번 문법 차이를 차례로 봅니다. 소스는 sql-src/mid_11_view_sequence/01_view.sql·02_sequence_identity.sql·03_dialects.sql 이며, 조인(중급 03)·집계(중급 10)·DDL(중급 08)을 이미 안다고 가정합니다.