SQL 코딩의 기술
도서명:SQL 코딩의 기술
저자/출판사:존,비아시에스,더글러스,스틸,벤,클로디어/길벗
쪽수:416쪽
출판일:2017-11-30
ISBN:9791160503425
목차
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 복잡한 검색에는 계통 순회 폐쇄 구조를 사용하자
부록 날짜와 시간 타입, 연산, 함수