도서 IT전문서/IT입문서 데이터베이스/데이터분석
똑똑하게 코딩하는 법 Effective SQL : SQL 코딩의 기술
정 가
28,000원
I S B N
9791160503425
출 간
2017-11-30
분 량
416쪽
지 은 이
더글러스스틸,벤클로디어,존비아시에스,홍형경
난 이 도
초급
옮 긴 이
홍형경
부 록
예제 파일

Effective SQL, 똑똑하게 코딩하는 법

SQL은 대부분의 데이터베이스 시스템과 소통하는 데 사용되는 표준 언어다. 이 책에서는 대표적인 DBMS인 오라클, SQL Server, MySQL, PostgreSQL, 액세스에서 SQL을 사용하는 방법을 비교해 보여준다. 또한, SQL을 사용하면서 어려움에 부딪힐 수 있는 여러 상황을 주제별로 정리해 61가지 Better way에 수록했다. 해야 할 것과 피해야 할 것, 작업 효율을 높이는 법, 왜 이것이 최선의 선택인지 조언하며 SQL을 더 효과적으로 사용할 수 있게 해준다.

목차

1장 데이터 모델 설계
BETTER WAY 1 모든 테이블에 기본키가 있는지 확인하자
BETTER WAY 2 중복으로 저장된 데이터 항목을 제거하자
BETTER WAY 3 반복 그룹을 제거하자
BETTER WAY 4 컬럼당 하나의 특성만 저장하자
BETTER WAY 5 왜 계산 데이터를 저장하면 좋지 않은지 이해하자
BETTER WAY 6 참조 무결성을 보호하려면 외래키를 정의하자
BETTER WAY 7 테이블 간 관계를 명확히 하자
BETTER WAY 8 제3정규화로도 부족하다면 더 정규화하자
BETTER WAY 9 데이터 웨어하우스에는 역정규화를 사용하자

2장 인덱스 설계와 프로그램적 처리
BETTER WAY 10 인덱스를 만들 때는 널을 고려하자
BETTER WAY 11 인덱스와 데이터 스캔을 최소화하도록 인덱스는 신중히 만들자
BETTER WAY 12 인덱스를 단순 필터링 이상의 목적으로 사용하자
BETTER WAY 13 트리거를 남발하지 말자
BETTER WAY 14 데이터의 부분 집합을 포함하거나 제외하려면 필터링된 인덱스를 사용하자
BETTER WAY 15 프로그래밍으로 검사하는 대신 선언적 제약 조건을 사용하자
BETTER WAY 16 자신이 사용하고 작성하는 SQL의 종류를 파악하자
BETTER WAY 17 인덱스에서 계산 결과를 사용할 시기를 파악하자

3장 데이터 모델 설계를 변경할 수 없는 경우
BETTER WAY 18 설계를 변경할 수 없을 때는 뷰로 데이터를 간소화하자
BETTER WAY 19 비관계형 데이터를 정보성 데이터로 변환할 때는 ETL을 사용하자
BETTER WAY 20 요약 테이블을 만들어 관리하자
BETTER WAY 21 비정규화된 데이터를 ‘언피벗’하려면 UNION 문을 사용하자

4장 데이터 필터링과 검색
BETTER WAY 22 관계 대수와 이를 SQL로 구현하는 방법을 이해하자
BETTER WAY 23 일치하지 않거나 누락된 레코드를 찾아내자
BETTER WAY 24 CASE로 문제를 해결해야 할 때를 파악하자
BETTER WAY 25 다중 조건 문제를 해결하는 기법을 파악하자
BETTER WAY 26 완전히 일치하는 데이터가 필요할 때는 데이터를 분할하자
BETTER WAY 27 날짜와 시간을 모두 포함하는 컬럼에서 날짜 범위를 올바르게 검색하는 방법을 알아 두자
BETTER WAY 28 데이터베이스 엔진이 인덱스를 사용하도록 사거블 쿼리를 작성하자
BETTER WAY 29 LEFT 조인의 오른쪽 데이터를 올바르게 걸러 내자

5장 집계
BETTER WAY 30 GROUP BY 절의 작동 원리를 이해하자
BETTER WAY 31 GROUP BY 절은 간단하게 만들자
BETTER WAY 32 복잡한 문제를 해결하려면 GROUP BY나 HAVING 절을 사용하자
BETTER WAY 33 GROUP BY 절 없이 최댓값, 최솟값을 찾자
BETTER WAY 34 OUTER JOIN에서는 잘못된 결과를 내는 COUNT( ) 함수를 사용하지 말자
BETTER WAY 35 ‘HAVING COUNT(x) < 숫자’를 검사할 때는 제로 값을 가진 로우를 포함하자
BETTER WAY 36 겹치지 않는 개수를 얻으려면 DISTINCT를 사용하자
BETTER WAY 37 윈도우 함수 사용법을 알아 두자
BETTER WAY 38 로우 번호를 만들어 다른 로우 대비 순위를 매기자
BETTER WAY 39 이동 집계를 만들자

6장 서브쿼리
BETTER WAY 40 서브쿼리를 어디에 사용할 수 있는지 알아 두자
BETTER WAY 41 연관성 있는 서브쿼리와 연관성 없는 서브쿼리의 차이점을 파악하자
BETTER WAY 42 가능하면 서브쿼리 대신 공통 테이블 표현식을 사용하자
BETTER WAY 43 서브쿼리 대신 조인을 사용해 더 효율적인 쿼리를 작성하자

7장 메타데이터 획득 및 분석
BETTER WAY 44 사용 중인 시스템의 쿼리 분석기 사용법을 파악하자
BETTER WAY 45 데이터베이스 관련 메타데이터를 수집하는 방법을 배우자
BETTER WAY 46 실행 계획의 작동 원리를 이해하자

8장 카티전 곱
BETTER WAY 47 두 테이블에서 로우 조합을 만들어 한 테이블과 간접적으로 관련된 다른 테이블 로우에 표시를 남기자
BETTER WAY 48 등분위로 로우 순위를 매기는 방법을 이해하자
BETTER WAY 49 한 테이블에서 각 로우와 다른 모든 로우를 쌍으로 만드는 방법을 알아 두자
BETTER WAY 50 카테고리별 목록을 만들어 첫 번째, 두 번째, 세 번째 순위의 정보를 참조하는 방법을 파악하자

9장 탤리 테이블
BETTER WAY 51 매개변수를 기준으로 널 로우를 만들려면 탤리 테이블을 사용하자
BETTER WAY 52 순번을 생성할 때는 탤리 테이블과 윈도우 함수를 사용하자
BETTER WAY 53 탤리 테이블에 있는 범위 값을 기준으로 여러 로우를 만들자
BETTER WAY 54 탤리 테이블에 있는 값 범위를 기준으로 한 테이블에 있는 값을 변환하자
BETTER WAY 55 날짜 계산을 쉽게 하려면 날짜 테이블을 사용하자
BETTER WAY 56 특정 범위에 있는 모든 날짜를 나열한 일정 달력을 만들자
BETTER WAY 57 탤리 테이블로 데이터를 피벗하자

10장 계층형 데이터 모델링
BETTER WAY 58 인접 리스트 모델을 시작점으로 사용하자
BETTER WAY 59 자주 갱신되지 않는 데이터의 쿼리 성능을 빠르게 하려면 중첩 집합을 사용하자
BETTER WAY 60 제한된 검색과 간단한 설정에는 구체화된 경로를 사용하자
BETTER WAY 61 복잡한 검색에는 계통 순회 폐쇄 구조를 사용하자

부록 날짜와 시간 타입, 연산, 함수
더보기접기

저자&기여자

ㆍ지은이 더글러스스틸

소개
저자 더글러스 스틸은 45년이 넘게 메인프레임과 PC를 넘나들며 전문가로 활동하고 있다. 2012년 퇴직 전까지 31년 동안 글로벌 정유 회사에서 일했다. 주로 데이터베이스와 데이터 모델링을 했으며, 말년에는 10만 대가 넘는 컴퓨터를 윈도우 7으로 올리는 SCCM 태스크 시퀀스를 개발했다.

ㆍ지은이 벤클로디어

소개
IT Impact, Inc.에서 솔루션 아키텍트로 일하며 프리미어 액세스와 SQL Server 개발 숍을 운영한다. J Street Technology와 Advisicon 등 유명한 회사에서 프리랜서 컨설턴트를 겸하고 있다. 1인 솔루션부터 회사 전체 LOB 애플리케이션까지 많은 마이크로소프트 액세스 프로젝트를 수행했다. Microsoft SQL Server 2012 Solution Associate 인증을 보유하고 있으며, MySQL 5.0 인증 개발자이자 2009년부터 마이크로소프트 MVP다.

ㆍ지은이 존비아시에스

소개
45년 이상의 경력을 가진 데이터베이스 컨설턴트로, 시스템 분석가에서 시작해 IBM 메인프레임 시스템용 대규모 데이터베이스 애플리케이션을 설계했다. 응용데이터연구소에서 30명이 넘는 인원을 이끌며 6년간 IBM 메인프레임 컴퓨터용 데이터베이스 제품을 개발하고 연구하며 고객 지원을 했다.

ㆍ지은이 홍형경

소개
20여 년간 IT 분야에서 프로그래머로 일하며 많은 프로젝트를 수행했다. 최근 10여 년간은 주로 SQL, PL/SQL을 사용한 다수의 프로젝트에 참여했고, 이기종 DBMS에서 오라클로 전환하는 프로젝트를 수행했다. 현재는 오라클 클라우드와 관련된 일을 하고 있다. 저서로는 『뇌를 자극하는 오라클 프로그래밍 SQL&PL/SQL』(한빛미디어, 2008)와 『오라클 SQL과 PL/SQL을 다루는 기술』(길벗, 2015)이 있으며, 『SQL 코딩의 기술』(길벗, 2017), 『NoSQL 철저입문』(길벗, 2015), 『Head First C#』(한빛미디어, 2011), 『Head First Physics』(한빛미디어, 2010), 『Head First JavaScript』(한빛미디어, 2008) 등 다수의 책을 번역했다.

ㆍ옮긴이 홍형경

소개
20여 년간 IT 분야에서 프로그래머로 일하며 많은 프로젝트를 수행했다. 최근 10여 년간은 주로 SQL, PL/SQL을 사용한 다수의 프로젝트에 참여했고, 이기종 DBMS에서 오라클로 전환하는 프로젝트를 수행했다. 현재는 오라클 클라우드와 관련된 일을 하고 있다. 저서로는 『뇌를 자극하는 오라클 프로그래밍 SQL&PL/SQL』(한빛미디어, 2008)와 『오라클 SQL과 PL/SQL을 다루는 기술』(길벗, 2015)이 있으며, 『SQL 코딩의 기술』(길벗, 2017), 『NoSQL 철저입문』(길벗, 2015), 『Head First C#』(한빛미디어, 2011), 『Head First Physics』(한빛미디어, 2010), 『Head First JavaScript』(한빛미디어, 2008) 등 다수의 책을 번역했다.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.