카테고리:

3 분 소요

한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.

 

윈도 함수나 재귀 CTE를 배워야 할 것 같은데 공식 문서를 보면 머리가 아픈 개발자를 위한 책

실무에서 SQL을 다루는 기술

필요한 선수 지식

  • 요구 학력 : 관련학과 대졸 이상(실무에 관련된 내용)
  • 예제 코드 : SQL
  • 난이도 : ★★★☆☆

책의 구성 중 마음에 들었던 주제

Chapter 02 테이블 디자인 작업

샘플 데이터베이스 구조를 통해 정규화의 필요성과 원칙을 단계별로 짚어준다. town, state, postcode처럼 서로 의존적인 주소 필드를 예시로 들어, 다중 값을 어떻게 분해·정규화하여 테이블과 컬럼을 설계할지 구체적인 과정을 보여 준다.

Chapter 06 뷰와 관련 도구 활용하기

이 책에서 설명한 뷰와 관련 도구는 크게 뷰(View)·테이블‑값 함수(TVF)·계산 열임시·공통 테이블, 권한·인덱스 전략의 세 축으로 구성된다. 공통 로직을 모듈화해 코드 재사용성과 가독성을 높이고, 복잡한 계산 결과를 메모리에 저장하여 성능을 끌어올리는 방법을 집중적으로 설명한다.

Chapter 09 공통 테이블 표현식(CTE) 더 알아보기

보통 학부생 시절에 배웠던 데이타베이스 시스템과 같은 개념서에서는 CTE라는 말 대신 서브쿼리라고 쓰여있던 것 같다. CTE를 임시 변수처럼 활용해 다단계 계산과 조건 분기를 깔끔하게 분리하고, 복잡한 로직을 순차적으로 읽히는 SQL로 재구성하는 실전 기법을 제시한다.

APPENDIX B DBMS별 차이

표준 SQL에서 벗어난 각각의 DBMS에서 사용하는 사투리들을 정리해서 알려준다. SELECT 제한(LIMIT vs TOP), 자동 PK(AUTO_INCREMENT vs SERIAL/IDENTITY) 같은 대표 차이를 표로 정리하고, 날짜·문자·윈도 함수, NULL 정렬, 따옴표 규칙 등 주요 호환성 쟁점을 짚어 준다.

읽고 난 후

추천 지수 : ★★★★☆

백엔드 프로그래밍과 DBMS는 떼려야 뗄 수 없는 관계다. 실무에서 사용하는 DBMS가 다양(PostgreSQL, MariaDB/MySQL, MSSQL, SQLite, Oracle)한 만큼 책상위에는 Oracle 서적 하나, MySQL 서적 하나씩 구비해둔다. 일반적인 SQL 서적은 특정 DBMS를 겨냥하여 해당 내용들을 설명한다. 하지만 이 책은 같은 결과를 다른 DBMS에서 어떻게 구현하는지 설명하는 몇 안되는 책이다.

태그: Column, CTE, DBMS, Index, Select, SQL, TVF, VIEW, 서브쿼리, 인덱스, 정규화, 컬럼

업데이트: