HOME > Detail View

Detail View

불친절한 SQL 프로그래밍 : 기본 개념에서 고급 기능까지 : 오라클 SQL의 바이블

불친절한 SQL 프로그래밍 : 기본 개념에서 고급 기능까지 : 오라클 SQL의 바이블 (Loan 1 times)

Material type
단행본
Personal Author
정희락
Title Statement
불친절한 SQL 프로그래밍 : 기본 개념에서 고급 기능까지 : 오라클 SQL의 바이블 / 정희락 지음
Publication, Distribution, etc
서울 :   디비안,   2018  
Physical Medium
xxxi, 1040 p. : 삽화 ; 25 cm
ISBN
9791196395711
General Note
색인수록  
부록: A. SCOTT 스키마, B. ERD 표기법, C. 예시 데이터 모델 외  
000 00000cam c2200205 c 4500
001 000045962904
005 20181130101924
007 ta
008 181128s2018 ulka 001c kor
020 ▼a 9791196395711 ▼g 93000
035 ▼a (KERIS)BIB000014932808
040 ▼a 241026 ▼c 241026 ▼d 211009
082 0 4 ▼a 005.7585 ▼2 23
085 ▼a 005.7585 ▼2 DDCK
090 ▼a 005.7585 ▼b 2018z2
100 1 ▼a 정희락
245 1 0 ▼a 불친절한 SQL 프로그래밍 : ▼b 기본 개념에서 고급 기능까지 : ▼b 오라클 SQL의 바이블 / ▼d 정희락 지음
246 3 0 ▼a SQL 프로그래밍
260 ▼a 서울 : ▼b 디비안, ▼c 2018
300 ▼a xxxi, 1040 p. : ▼b 삽화 ; ▼c 25 cm
500 ▼a 색인수록
500 ▼a 부록: A. SCOTT 스키마, B. ERD 표기법, C. 예시 데이터 모델 외
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Main Library/Monographs(3F)/ Call Number 005.7585 2018z2 Accession No. 111800073 Availability In loan Due Date 2019-04-30 Make a Reservation Available for Reserve(2persons reqested this item) R Service M

Contents information

Book Introduction

이미 수많은 SQL 책이 출간되어 있지만 기초적인 내용만 다루는 "친절한" 책이 대부분이다. 기초적인 내용만 다루다 보니 막상 필요한 고급 기능은 인터넷에서 찾아야 하는 아쉬움이 있다. SQL 프로그래밍의 원리와 해법을 다루는, 조금 "불친절한" 책도 필요하겠다는 생각에 이 책을 쓰게 되었다. 그렇다고 겁먹을 필요는 없다. 입문자를 위한 기본적인 내용도 빠짐없이 다루고 있다.

이 책은 바이블 형식의 책이다. 오라클 데이터베이스 12.2 버전을 기준으로 기본 개념에서 고급 기능까지 오라클 SQL의 거의 모든 내용을 다룬다. SQL 외에도 데이터 개론과 SQL 개발에 활용할 수 있는 PL/SQL 코드를 일부 수록하고 있다. 바이블 형식의 책이지만 지루한 설명 대신 다양한 실습 예제와 활용 기법을 중심으로 내용을 구성했다.

이해하기 쉽고 정확한 결과를 반환하는 SQL이 좋은 SQL이다. 좋은 SQL을 작성하려면 많은 노력이 필요하다. 동작 원리를 이해하고, 기존 SQL을 분석해야 하며, 직접 SQL을 작성해봐야 한다. 데이터 모델에 대한 이해와 요구사항에 대한 분석까지 더해지면 금상첨화다. 이 책이 여러분의 노력에 도움을 줄 수 있는 든든한 안내자가 되었으면 좋겠다.

SQL은 정보 시스템을 구축하고 운영하는 데 있어 가장 기본이 되는 필수 소양 기술이다. 빅데이터 시대를 맞아 요즘은 현업 부서에서도 SQL을 활용해 직접 데이터를 분석할 정도로 SQL의 중요성은 점차 증대하고 있다. 그에 비해 데이터베이스 사용자들의 SQL 활용 능력은 예나 지금이나 초보 수준을 벗어나지 못하고 있어 늘 안타까웠는데, 이렇게 고급 SQL 프로그래밍을 다룬 책을 추천할 수 있게 돼 여간 기쁘지 않다. 저자는 국내 최고 수준의 데이터베이스 기술력을 갖춘 실무형 컨설턴트이기에 더 기대가 크다.

자신의 영역에서 고급 SQL을 활용해 업무 능력을 끌어올리고 싶은 모든 이에게 이 책을 자신 있게 추천한다. 활용성 있는 예시를 많이 제시하므로 읽는 내내 고개를 끄떡이며 무릎을 치게 될 것이다. 저자는 소스 코드가 너무 많아 독자가 불친절하다고 느끼지 않을까 걱정했지만, 늘 일정에 쫓기는 개발자는 백 마디 설명보다 실용적인 한 줄 예시 코드에 더 감동하기 마련이다. 이 책을 늘 가까이 두고 사전처럼 수시로 참조한다면, 어느 순간 고급 SQL 프로그래머로 성장해 있는 자신을 발견하게 될 것이다.

- 국가공인 SQLP/SQLD 자격검정 응시자
- SQL 프로그래밍에 입문하고자 하는 개발자 및 DBA
- 고급 데이터베이스 프로그래머
- 데이터베이스 설계자

책에 대해 궁금한 사항은 저자가 활동하고 있는 아래 인터넷 카페로 문의하기 바란다.
디비안 포럼 http://www.dbian.net


Information Provided By: : Aladin

Author Introduction

정희락(지은이)

現) 주식회사 디비안 수석 컨설턴트 前) 에프앤자산평가, 에프앤가이드, 비투엔 광운대학교에서 컴퓨터 공학을 전공했다. 2007년부터 에프앤가이드에서 데이터베이스 개발자로 근무했고, 자회사인 에프앤자산평가에서 TA 업무를 담당했다. 비투엔으로 이직한 2011년부터 데이터 컨설턴트로 일하기 시작했고, 현재는 디비안에서 수석 컨설턴트로 재직하고 있다. 대외적으로는 한국데이터산업진흥원에서 주관하는 국가공인 SQLP, DAP 자격검정 전문위원으로 활동하고 있다. 데이터베이스 기술, 시스템 최적화, 애플리케이션 개발에 관심이 많다. 틈틈이 DB 기술 블로그(hrjeong.tistory.com)를 운영하고 있으며, 저서로 "불친절한 SQL 프로그래밍"을 집필했다.

Information Provided By: : Aladin

Table of Contents

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

New Arrivals Books in Related Fields