CONTENTS
목차
읽음 표시는 직접 선택하며 자동 완료되지 않습니다.
- 01데이터 모델링의 이해 - 개념 논리 물리 모델과 3층 스키마 데이터 독립성 (SQLD 기본 1장)
모델링의 세 단계와 외부·개념·내부 스키마의 역할을 정리하고, 뷰와 인덱스를 실제로 바꿔 보며 논리적·물리적 데이터 독립성이 무엇을 지켜 주는지 확인한다.
- 02엔터티와 속성 - 엔터티 분류 기본 설계 파생 속성과 도메인 (SQLD 기본 2장)
엔터티가 되기 위한 조건과 분류, 기본·설계·파생 속성의 차이를 정리하고, 저장한 파생 값이 원본과 어긋나는 순간과 도메인을 제약으로 지키는 법을 확인한다.
- 03관계와 식별자 - 카디널리티 선택성 식별 비식별 관계와 주식별자 (SQLD 기본 3장)
관계의 차수와 선택성, 식별 관계와 비식별 관계의 차이, 주식별자가 갖춰야 할 네 가지 성질을 외래 키·복합 키·인조 키가 실제로 막는 일과 함께 확인한다.
- 04정규화와 이상현상 - 함수 종속 1NF 2NF 3NF BCNF 무손실 분해 (SQLD 기본 4장)
한 장짜리 표에서 삽입·갱신·삭제 이상을 직접 일으켜 보고, 함수 종속을 기준으로 2NF·3NF·BCNF 를 판정하며 분해 뒤 다시 조인해도 행이 늘거나 줄지 않는지 확인한다.
- 05반정규화와 성능 모델링 - 파생 컬럼 이력 테이블 슈퍼타입 서브타입 변환 (SQLD 기본 5장)
반정규화를 고르기 전에 검토할 대안과 절차, 파생 컬럼과 이력 플래그가 치르는 정합성 비용, PK 컬럼 순서와 슈퍼타입·서브타입 변환이 성능에 미치는 영향을 다룬다.
- 06NULL과 트랜잭션 - 3값 논리 COMMIT ROLLBACK SAVEPOINT 와 DDL DML DCL (SQLD 기본 6장)
NULL 이 연산·비교·집계에서 퍼지는 규칙과 3값 논리, 트랜잭션의 네 성질과 COMMIT·ROLLBACK·SAVEPOINT 의 범위, SQL 명령 분류를 이체 예제로 확인한다.
- 07SELECT WHERE 결과 예측 - 연산자 우선순위 NOT IN NULL LIKE CASE ORDER BY (SQLD 기본 7장)
AND·OR 우선순위, NULL 이 섞인 IN·NOT IN, LIKE 이스케이프, 단순 CASE 와 NULL, 단일행 함수와 NULL 정렬 위치를 결과를 먼저 손으로 예측한 뒤 실행해 확인한다.
- 08집계와 GROUP BY 결과 예측 - COUNT SUM AVG 의 NULL 처리와 HAVING (SQLD 기본 8장)
COUNT 세 가지의 차이, SUM 과 AVG 가 NULL 을 건너뛰는 규칙, 빈 집합 집계, WHERE 와 HAVING 의 경계를 행 수와 값을 먼저 예측하는 방식으로 확인한다.
- 09표준 조인 결과 예측 - INNER OUTER NATURAL USING CROSS 비등가 셀프 조인 (SQLD 기본 9장)
조인 종류별 결과 행 수를 먼저 계산하고, 외부 조인에서 ON 과 WHERE 조건의 차이, NATURAL JOIN 의 함정, 조인 뒤 집계가 부풀어 오르는 원인을 실행 결과로 확인한다.
- 10서브쿼리와 집합 연산 - 단일행 다중행 상관 서브쿼리 EXISTS UNION EXCEPT (SQLD 기본 10장)
서브쿼리를 위치와 반환 행 수로 나누고, NOT IN 과 NULL, 빈 집합에 대한 ALL, 상관 서브쿼리, UNION·INTERSECT·EXCEPT 의 행 수를 예측한 뒤 실행해 확인한다.
- 11그룹 함수와 윈도 함수 - ROLLUP CUBE GROUPING SETS RANK 윈도 프레임 (SQLD 기본 11장)
ROLLUP·CUBE·GROUPING SETS 가 만드는 소계 층을 직접 쌓아 보고, 순위 함수의 동점 처리와 기본 윈도 프레임 때문에 누적합·LAST_VALUE 가 달라지는 이유를 짚는다.
- 12Top-N 계층형 질의 PIVOT - ROWNUM LIMIT 재귀 WITH CONNECT BY 정규 표현식 (SQLD 기본 12장)
정렬과 번호 매기기의 순서로 Top-N 을 바르게 자르고, 재귀 WITH 로 조직도를 위아래로 훑으며 CONNECT BY 와 대응시키고, 행과 열을 바꾸는 PIVOT 과 정규 표현식을 정리한다.
이 책은 Devin.KR 원고를 참조합니다. 원고의 원래 주소와 저작자 표기를 유지하며 같은 글을 다시 등록하지 않습니다. 수정된 원고는 읽기 화면에서 재검수 상태를 확인할 수 있습니다.