불친절한 SQL 프로그래밍 정희락 pdf 다운로드를 무료로 제공합니다 이미 수많은 SQL 책이 출간되어 있지만 기초적인 내용만 다루는 “친절한” 책이 대부분이다. 기초적인 내용만 다루다 보니 막상 필요한 고급 기능은 인터넷에서 찾아야 하는 아쉬움이 있다
관련 책 pdf 모음
책 소개
SQL 프로그래밍의 원리와 해법을 다루는, 조금 “불친절한” 책도 필요하겠다는 생각에 이 책을 쓰게 되었다. 그렇다고 겁먹을 필요는 없다. 입문자를 위한 기본적인 내용도 빠짐없이 다루고 있다. 이 책은 바이블 형식의 책이다. 오라클 데이터베이스 12.2 버전을 기준으로 기본 개념에서 고급 기능까지 오라클 SQL의 거의 모든 내용을 다룬다. SQL 외에도 데이터 개론과 SQL 개발에 활용할 수 있는 PL/SQL 코드를 일부 수록하고 있다. 바이블 형식의 책이지만 지루한 설명 대신 다양한 실습 예제와 활용 기법을 중심으로 내용을 구성했다. 이해하기 쉽고 정확한 결과를 반환하는 SQL이 좋은 SQL이다. 좋은 SQL을 작성하려면 많은 노력이 필요하다. 동작 원리를 이해하고, 기존 SQL을 분석해야 하며, 직접 SQL을 작성해봐야 한다. 데이터 모델에 대한 이해와 요구사항에 대한 분석까지 더해지면 금상첨화다. 이 책이 여러분의 노력에 도움을 줄 수 있는 든든한 안내자가 되었으면 좋겠다.
불친절한 SQL 프로그래밍 pdf 다운
1부 기본 개념 _ 1
1. 데이터 _ 3
1.1 데이터 _ 3
1.2 데이터베이스 _ 5
1.3 데이터베이스 관리 시스템 _ 6
1.4 IT 시스템 _ 7
1.5 직종과 직무 _ 8
2. 데이터 모델링 _ 11
2.1 데이터 모델 _ 11
2.2 E-R 모델 _ 12
2.2.1 엔터티 _ 13
2.2.2 속성 _ 14
2.2.3 관계 _ 15
2.2.4 예시 데이터 모델 _ 20
2.3 정규형 _ 22
2.3.1 정규화 _ 22
2.3.2 비정규화 _ 25
2.4 물리 데이터 모델 _ 25
3. 오라클 데이터베이스 _ 27
3.1 개념 _ 27
3.1.1 사용자 _ 28
3.1.2 오브젝트 _ 28
3.1.3 테이블 _ 29
3.1.4 데이터 타입 _ 30
3.1.5 데이터 무결성 _ 30
3.1.6 트랜잭션 _ 31
3.1.7 정적 데이터 딕셔너리 뷰 _ 31
3.1.8 동적 성능 뷰 _ 31
3.2 구조 _ 32
3.2.1 데이터베이스와 인스턴스 _ 33
3.2.2 프로세스 구조 _ 35
3.2.3 메모리 구조 _ 35
3.2.4 저장 구조 _ 37
3.2.5 네트워크 구조 _ 38
3.2.6 애플리케이션 구조 _ 39
4. SQL _ 43
4.1 역사 _ 43
4.2 특징 _ 44
4.3 종류 _ 45
4.4 처리 과정 _ 45
4.5 수행 과정 _ 46
2부 기초 쿼리 _ 49
5. SELECT 문 _ 51
5.1 SELECT 절 _ 52
5.1.1 애스터리스크 _ 52
5.1.2 열 _ 53
5.1.3 열 별칭 _ 55
5.1.4 DISTINCT 키워드 _ 55
5.2 FROM 절 _ 56
5.2.1 스키마 _ 56
5.2.2 테이블 별칭 _ 57
5.2.3 SAMPLE 절 _ 58
5.3 기본 요소 _ 58
5.3.1 리터럴 _ 58
5.3.2 널 _ 65
5.3.3 연산자 _ 65
5.3.4 표현식 _ 69
5.3.5 슈도 칼럼 _ 72
5.3.6 주석 _ 73
5.4 바인드 변수 _ 75
6. 단일 행 함수 _ 77
6.1 문자 함수 _ 78
6.2 숫자 함수 _ 89
6.3 날짜 함수 _ 96
6.4 변환 함수 _ 107
6.5 널 관련 함수 _ 123
6.6 비교 함수 _ 126
6.7 엔코딩 디코딩 함수 _ 127
6.8 환경 식별자 함수 _ 132
7. WHERE 절 _ 141
7.1 비교 조건 _ 141
7.2 논리 조건 _ 144
7.3 BETWEEN 조건 _ 146
7.4 IN 조건 _ 148
7.5 LIKE 조건 _ 151
7.6 널 조건 _ 154
7.7 조건 우선순위 _ 156
7.8 활용 예제 _ 159
8. ORDER BY 절 _ 169
8.1 기본 문법 _ 169
8.2 활용 예제 _ 175
9. 집계 함수 _ 179
9.1 기본 함수 _ 179
9.2 통계 함수 _ 185
9.3 순위 함수 _ 187
9.4 분포 함수 _ 191
9.5 기타 함수 _ 193
9.6 KEEP 키워드 _ 194
10. GROUP BY 절과 HAVING 절 _ 197
10.1 GROUP BY 절 _ 197
10.2 GROUP BY 절의 확장 기능 _ 204
10.2.1 ROLLUP _ 204
10.2.2 CUBE _ 205
10.2.3 GROUPING SETS _ 207
10.2.4 조합 열 _ 208
10.2.5 연결 그룹 _ 209
10.2.6 관련 함수 _ 210
10.3 HAVING 절 _ 213
3부 중급 쿼리 _ 217
11. 조인 _ 219
11.1 기본 원리 _ 219
11.1.1 조인 조건 _ 220
11.1.2 조인 범위 _ 227
11.1.3 조인 차수 _ 240
11.2 기술 순서 _ 245
11.3 ANSI 조인 문법 _ 250
11.3.1 NATURAL JOIN 절 _ 250
11.3.2 USING 절 _ 250
11.3.3 CROSS JOIN 절 _ 250
11.3.4 INNER JOIN 절 _ 251
11.3.5 OUTER JOIN 절 _ 252
11.4 파티션 아우터 조인 _ 257
11.5 활용 예제 _ 257
12. 서브 쿼리 _ 283
12.1 중첩 서브 쿼리 _ 285
12.1.1 비상관 서브 쿼리 _ 286
12.1.2 상관 서브 쿼리 _ 291
12.1.3 사용 기준 _ 295
12.2 스칼라 서브 쿼리 _ 300
12.3 인라인 뷰 _ 302
12.4 사용 기준 _ 304
12.5 WITH 절 _ 309
12.5.1 SUBQUERY FACTORING 절 _ 310
12.5.2 PL/SQL 선언 _ 311
12.6 신규 기능 _ 312
12.6.1 LATERAL 인라인 뷰 _ 312
12.6.2 CROSS APPLY 절 _ 314
12.6.3 OUTER APPLY 절 _ 314
12.6.4 기존 동작 변화 _ 315
13. 집합 연산자 _ 317
13.1 기본 문법 _ 319
13.1.1 UNION ALL 연산자 _ 319
13.1.2 UNION 연산자 _ 320
13.1.3 INTERSECT 연산자 _ 322
13.1.4 MINUS 연산자 _ 323
13.2 제약 사항 _ 323
13.3 활용 예제 _ 326
14. 분석 함수 _ 337
14.1 기본 문법 _ 338
14.1.1 QUERY PARTITION 절 _ 338
14.1.2 ORDER BY 절 _ 339
14.1.3 WINDOWDING 절 _ 340
14.1.4 KEEP 키워드 _ 350
14.1.5 제약 사항 _ 351
14.2 분석 함수 _ 354
14.2.1 기본 함수 _ 355
14.2.2 통계 함수 _ 361
14.2.3 순위 함수 _ 363
14.2.4 분포 함수 _ 372
14.2.5 순차 함수 _ 374
14.2.6 기타 함수 _ 379
14.3 활용 예제 _ 386
15. Top-N 쿼리 _ 395
15.1 기본 문법 _ 395
15.1.1 ROWNUM 방식 _ 395
15.1.2 분석 함수 방식 _ 400
15.1.3 ROW LIMITING 절 _ 403
15.2 고급 주제 _ 405
15.2.1 Top-N 쿼리와 조인 _ 405
15.2.2 Top-N 쿼리와 UNION ALL 연산자 _ 407
16. 계층 쿼리 _ 409
16.1 계층 쿼리 절 _ 413
16.1.1 기본 문법 _ 413
16.1.2 동작 원리 _ 415
16.1.3 전개 방향 _ 419
16.1.4 계층 정렬 _ 420
16.1.5 루프 처리 _ 421
16.2 재귀 서브 쿼리 팩토링 _ 423
16.2.1 기본 문법 _ 423
16.2.2 계층 정렬 _ 425
16.2.3 루프 처리 _ 427
16.3 고급 주제 _ 429
16.3.1 노드 제거 _ 429
16.3.2 다중 루트 노드 _ 430
16.3.3 다중 속성 순환 관계 _ 431
16.3.4 계층 쿼리와 조인 _ 435
16.4 활용 예제 _ 436
17. PIVOT 절과 UNPIVOT 절 _ 443
17.1 PIVOT 절 _ 443
17.1.1 기본 문법 _ 444
17.1.2 기존 방식 _ 448
17.2 UNPIVOT 절 _ 449
17.2.1 기본 문법 _ 449
17.2.2 기존 방식 _ 454
17.3 활용 예제 _ 455
4부 관리 구문 _ 459
18. DML 문 _ 461
18.1 INSERT 문 _ 461
18.1.1 단일 테이블 INSERT 문 _ 461
18.1.2 다중 테이블 INSERT 문 _ 465
18.2 UPDATE 문 _ 469
18.3 DELETE 문 _ 474
18.4 MERGE 문 _ 476
18.4.1 기본 문법 _ 476
18.4.2 고급 주제 _ 486
18.5 DML 에러 로깅 _ 491
19. TCS 문 _ 497
19.1 트랜잭션 _ 498
19.1.1 구조 _ 498
19.1.2 SCN _ 499
19.2 기본 문법 _ 500
19.2.1 COMMIT 문 _ 501
19.2.2 ROLLBACK 문 _ 502
19.2.3 SAVEPOINT 문 _ 504
19.3 데이터 동시성 _ 508
19.3.1 락킹 메커니즘 _ 508
19.3.2 동시성 제어 _ 512
19.4 데이터 일관성 _ 520
19.4.1 문장 수준 읽기 일관성 _ 521
19.4.2 트랜잭션 수준 읽기 일관성 _ 522
20. DDL 문 _ 527
20.1 테이블 _ 527
20.1.1 기본 문법 _ 527
20.1.2 테이블 유형 _ 539
20.2 열 _ 555
20.2.1 기본 문법 _ 555
20.2.2 데이터 타입 _ 561
20.2.3 기본값 _ 574
20.2.4 열 유형 _ 575
20.3 제약 조건 _ 581
20.3.1 기본 문법 _ 581
20.3.2 제약 조건 유형 _ 583
20.3.3 제약 조건 상태 _ 599
20.4 인덱스 _ 605
20.4.1 기본 문법 _ 606
20.4.2 인덱스 유형 _ 611
20.4.3 인덱스와 제약 조건 _ 616
20.5 파티션 _ 622
20.5.1 파티션 테이블 _ 622
20.5.2 파티션 인덱스 _ 640
20.5.3 관리 구문 _ 643
20.5.4 관리 구문과 인덱스 _ 652
20.5.5 신규 기능 _ 653
20.6 뷰 _ 658
20.6.1 기본 문법 _ 658
20.6.2 활용 예제 _ 666
20.7 시퀀스 _ 669
20.7.1 기본 문법 _ 669
20.7.2 시퀀스 유형 _ 673
20.7.3 신규 기능 _ 675
20.7.4 활용 예제 _ 680
20.8 시너님 _ 682
20.8.1 기본 문법 _ 682
20.8.2 시너님 유형 _ 685
20.9 데이터베이스 링크 _ 687
20.9.1 기본 문법 _ 687
20.9.2 고급 주제 _ 690
20.10 COMMENT 문 _ 693
21. DCL 문 _ 695
21.1 사용자 _ 695
21.1.1 기본 문법 _ 695
21.2 권한 _ 698
21.2.1 기본 문법 _ 698
21.3 롤 _ 709
21.3.1 기본 문법 _ 709
21.3.2 SET ROLE 문 _ 714
22. SCS 문 _ 719
22.1 기본 문법 _ 719
22.1.1 ALTER SESSION SET 절 _ 720
5부 고급 쿼리 _ 729
23. 세계화 지원 _ 731
23.1 시간대 지원 _ 731
23.1.1 데이터 타입 _ 731
23.1.2 날짜 함수 _ 733
23.1.3 날짜 표현식 _ 739
23.2 다국어 지원 _ 740
23.2.1 캐릭터 셋 _ 740
23.2.2 데이터 타입 _ 741
23.2.3 관련 함수 _ 742
24. 정규 표현식 _ 743
24.1 기본 문법 _ 743
24.1.1 POSIX 연산자 _ 743
24.1.2 PERL 정규 표현식 연산자 _ 752
24.2 정규 표현식 조건과 함수 _ 756
24.3 활용 예제 _ 764
25. 근사 쿼리 _ 767
25.1 근사 함수 _ 767
25.2 초기화 파라미터 _ 773
26. MODEL 절 _ 777
26.1 기본 문법 _ 777
26.1.1 RULES 절 _ 781
26.1.2 규칙 옵션 _ 785
26.1.3 셀 참조 옵션 _ 789
26.1.4 행 반환 옵션 _ 792
26.1.5 참조 모델 _ 793
26.2 고급 주제 _ 796
26.2.1 널과 누락된 셀 처리 _ 796
26.2.2 FOR 루프 _ 798
26.2.3 MODEL ITERATE 절 _ 804
26.2.4 규칙 종속 _ 806
26.2.5 정렬 규칙 _ 807
26.2.6 분석 함수 _ 810
26.3 활용 예제 _ 812
27. MATCH_RECOGNIZE 절 _ 817
27.1 기본 문법 _ 817
27.1.1 PARTITION BY 절 _ 820
27.1.2 ORDER BY 절 _ 820
27.1.3 ROW PER MATCH 절 _ 821
27.1.4 MEASURE 절 _ 821
27.1.5 PATTERN 절 _ 821
27.1.6 SUBSET 절 _ 824
27.1.7 DEFINE 절 _ 825
27.1.8 SKIP TO 절 _ 825
27.1.9 MEASURE 절과 DEFINE 절의 표현식 _ 826
27.2 고급 주제 _ 833
27.2.1 중첩 탐색 함수 _ 833
27.2.2 빈 일치와 불일치 행 _ 834
27.2.3 제외 _ 834
27.2.4 순열 _ 835
27.3 활용 예제 _ 836
28. 사용자 정의 타입 _ 857
28.1 기본 문법 _ 857
28.1.1 오브젝트 타입 _ 858
28.1.2 중첩 테이블 _ 858
28.2 MULTISET 조건 _ 864
28.3 컬렉션 함수 _ 866
28.4 TABLE 컬렉션 표현식 _ 871
28.5 활용 예제 _ 873
29. XML 개발 _ 875
29.1 기본 문법 _ 875
29.1.1 XMLType _ 875
29.1.2 XMLType 멤버 함수 _ 877
29.1.3 XPath 표현식 _ 877
29.1.4 XML 함수 _ 883
29.1.5 XQuery 표현식 _ 893
29.1.6 DBMS_XMLGEN 패키지 _ 903
29.2 활용 예제 _ 904
30. JSON 개발 _ 907
30.1 기본 문법 _ 907
30.1.1 JSON 열 _ 907
30.1.2 점 표기법 _ 909
30.1.3 SQL/JSON Path 표현식 _ 910
30.1.4 SQL/JSON 조건 _ 910
30.1.5 JSON 함수 _ 913
30.2 활용 예제 _ 920
31. Flashback 기술 _ 921
31.1 Flashback 기능 _ 921
31.1.1 Flashback Query _ 921
31.1.2 Flashback Version Query _ 924
31.1.3 Flashback Transaction Query _ 925
31.1.4 Flashback Table _ 926
31.1.5 Flashback Drop _ 927
31.1.6 Flashback Database _ 928
31.2 Temporal Validity _ 929
31.2.1 관리 구문 _ 929
31.2.2 조회 구문 _ 931
31.2.3 DBMS_FLASHBACK_ARCHIVE 패키지 _ 933
32. 제공 패키지 _ 935
32.1 DBMS_CRYPTO 패키지 _ 935
32.1.1 패키지 함수 _ 936
32.1.2 활용 예제 _ 941
32.2 DBMS_RANDOM 패키지 _ 944
32.3 DBMS_LOB 패키지 _ 945
32.4 DBMS_METADATA 패키지 _ 948
32.5 DBMS_APPLICATION_INFO 패키지 _ 951
32.6 DBMS_SESSION 패키지 _ 952
32.7 UTL_RAW 패키지 _ 954
32.7.1 패키지 함수 _ 954
32.7.2 활용 예제 _ 954
32.8 UTL_MATCH 패키지 _ 956
32.9 UTL_RECOMP 패키지 _ 958
부록 _ 961
A. SCOTT 스키마 _ 963
B. ERD 표기법 _ 965
C. 예시 데이터 모델 _ 969
D. oerr 명령어 _ 973
E. 문자열 결합 _ 979
F. 시간 차원 테이블 _ 989
G. 블로킹 처리 _ 997
H. 복합 FK 제약 조건 _ 1001
I. 도메인 인덱스 _ 1007
J. 시퀀스 값 변경 _ 1013
K. SCALABLE 시퀀스 _ 1017
L. 문자열 분리 _ 1021
M. CUROSR 표현식 _ 1025