| 000 | 00968camcc2200301 c 4500 | |
| 001 | 000045652938 | |
| 005 | 20110615093719 | |
| 007 | ta | |
| 008 | 110614s2011 ggka 001c kor | |
| 020 | ▼a 9788992939775 ▼g 93560 | |
| 035 | ▼a (KERIS)BIB000012415187 | |
| 040 | ▼a 241050 ▼c 241050 ▼d 244002 ▼d 211009 | |
| 082 | 0 4 | ▼a 005.7565 ▼2 22 |
| 085 | ▼a 005.7565 ▼2 DDCK | |
| 090 | ▼a 005.7565 ▼b 2011z3 | |
| 100 | 1 | ▼a 우상정 ▼0 AUTH(211009)114361 |
| 245 | 2 0 | ▼a (빠르게 활용하는 모바일 데이터베이스) SQLite3 = ▼x Mobile database SQLite / ▼d 우상정, ▼e 신호철 지음 |
| 246 | 3 0 | ▼a 모바일 데이터베이스 SQLite3 |
| 260 | ▼a 파주 : ▼b 위키북스, ▼c 2011 | |
| 300 | ▼a 381 p. : ▼b 삽화 ; ▼c 25 cm | |
| 440 | 0 0 | ▼a 위키북스 임베디드 & 모바일 시리즈 ; ▼v 013 |
| 500 | ▼a 감수: 권동섭 | |
| 500 | ▼a 색인수록 | |
| 500 | ▼a 부록: SQLite3 커맨드 라인 도구, QLite3 관리 도구 | |
| 700 | 1 | ▼a 신호철, ▼e 저 ▼0 AUTH(211009)74685 |
| 945 | ▼a KLPA | |
| 949 | ▼a 위키북스 임베디드 앤 모바일 시리즈 ; ▼v 013 |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.7565 2011z3 | 등록번호 111630411 (10회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.7565 2011z3 | 등록번호 121210908 (13회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 3 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.7565 2011z3 | 등록번호 121210909 (12회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/제2자료실(3층)/ | 청구기호 005.7565 2011z3 | 등록번호 111630411 (10회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.7565 2011z3 | 등록번호 121210908 (13회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
| No. 2 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 005.7565 2011z3 | 등록번호 121210909 (12회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
SQLite3을 좀 더 효율적으로 사용하기 위한 실용서. 주요 장을 기본편과 고급편으로 분리해서 개발자가 각 상황에 맞게 SQLite3을 익히고 활용할 수 있게 하였으며, 개발자 관점에서 바라본 API 사용법과 시스템 관점에서 바라본 최적화 기법을 모두 다룬다. 새로운 기능이 많이 추가된 최신 버전의 SQLite3에 중점을 두면서 FTS와 같은 확장 기능과 안드로이드, 아이폰과 같은 플랫폼에서 사용하는 방법도 다루고 있다.
리차드 힙의 주도하에 개발된 SQLite3는 안드로이드, 아이폰에서 채택되면서 모바일 환경에서 가장 널리 사용되는 데이터베이스로 자리매김했습니다. 개발 초창기부터 임베디드 환경을 고려했기 때문에 SQLite3는 다른 데이터베이스의 대부분의 기능을 지원하면서도 상대적으로 라이브러리 크기가 작고, 메모리가 적은 환경에서도 뛰어난 성능을 발휘합니다. 또한 오픈소스 형태로 코드가 공개돼 있으며, 특별한 라이선스 없이 무료로 사용 가능해서 모바일 분야를 넘어서서 이제는 다양한 분야에서 활용되고 있습니다.
외국에는 별도의 서적으로 이미 SQLite3 서적이 출간됐음에도 아직까지 국내에서는 아이폰이나 안드로이드 서적에서 한두 장 정도의 분량으로 설명하는 데 그치고, 다루는 범위 또한 API 수준의 사용법에 머무는 경우가 대부분이었습니다. 또한 설계나 구현 단계에서 SQLite3에 관해 충분히 검토하지 못하고 추후에 성능 이슈나 최적화 문제로 고생하는 개발자를 많이 봐왔습니다.
그런 까닭에 이 책을 집필하면서 필자가 특히 신경 쓴 부분은 다음과 같습니다.
■ 주요 장을 기본편과 고급편으로 분리해서 개발자가 각 상황에 맞게 SQLite3을 익히고 활용할 수 있게 했습니다.
■ 개발자 관점에서 바라본 API 사용법과 시스템 관점에서 바라본 최적화 기법을 모두 다룹니다.
■ 새로운 기능이 많이 추가된 최신 버전의 SQLite3에 중점을 두면서 FTS와 같은 확장 기능과 안드로이드, 아이폰과 같은 플랫폼에서 사용하는 방법도 다룹니다.
이 책은 데이터베이스를 학습하기 위한 개론서라기보다는 SQLite3을 좀 더 효율적으로 사용하기 위한 실용서에 가까워서 많은 개발자 여러분에게 큰 도움이 되리라 확신합니다.
정보제공 :
저자소개
신호철(지은이)
삼성전자를 거쳐 SK planet에서 개발자로 근무 중이며, 어떻게 하면 70세까지 즐겁게 개발을 할 수 있을 지에 대해 고심 중이다. 저서로는 「빠르게 활용하는 파이썬 3.2 프로그래밍」, 「빠르게 활용하는 SQLite3」, 「IT Cookbook for beginner C++ 기초」 등이 있다.
우상정(지은이)
KAIST 석사. 개발은 기술이 아니라 사람이 하는 것이란 생각에, 사람을 공부하는 프로그래머이다. 게으름이 천성이라 스크립트 언어로 쉽게 업무를 즐기며, 새로운 기술에 자주 매료되곤 한다. 저서로는 『빠르게 활용하는 SQLite3』가 있으며, 역서로는 『소프트웨어 아키텍트가 알아야 할 97가지』가 있다.
목차
목차 CHAPTER 01 SQLite 소개 1. 주요특징 = 4 단일 데이터베이스 파일 = 24 설정 파일 = 25 간결성 = 25 라이센스 = 25 동시성 = 25 네트워킹 = 26 동적자료형 = 26 2. 주요사용처 = 26 3. SQLite3의 제약사항 = 27 트리거 지원 = 27 ALTER TABLE 지원 = 27 RIGHT, FULL OUTER JON = 27 수정 가능한 뷰 = 28 GRANT, REVOKE 구문 = 28 외래키 제약조건 = 28 SQLite3 라이브러리 = 32 커맨드 라인 프로그램 = 32 CHAPTER 02 SQLite3 설치 1. 윈도우 환경에서의 SQLite3 설치와 사용 = 33 커맨드 라인 프로그램 설치 = 33 SQLite3 DLL 설치 = 34 소스 코드를 이용한 SQLite3 라이브러리 빌드 = 34 2. 리눅스 환경에서의 SQLite3 설치와 사용 = 38 CHAPTER 03.1 SQL기초 1. SQL 기본개념 = 42 데이터베이스란? = 42 2. SQLite3의 자료형 = 44 3. 테이블의 생성과 삭제 = 46 4. 레코드 입력 = 49 5. 레코드 조회(SELECT) = 52 기본적인 테이블 조회 = 54 조건 연산(필터링, Filtering) = 56 검색 조건이 2개 이상인 경우 = 57 와일드 카드를 이용한 필터링(LIKE) = 59 범위 검색(BETWEEN∼AND) = 61 집합에 포함되는지 검사하는 경우(IN) = 62 조건식을 부정하는 경우(NOT) = 63 조회한 결과 정렬(ORDER BY LIMIT) = 65 NULL 조회 = 69 6. 레코드 수정(UPDATE) = 71 7. 레코드 삭제(DELETE) = 73 8. 내장 함수 = 74 문자열 조작 함수 = 74 수치 계산 함수 = 78 집계 함수(Aggregate Function) = 81 날짜/시간 함수 = 87 시스템 함수 = 91 기타 함수 = 93 9. 그룹화 = 95 데이터 그룹화 = 96 그룹 필터링과 정렬 = 98 CHAPTER 03.2 SQL 고급 1. 관계형 데이터베이스 설계 = 104 2. 기본키 = 106 기본키 생성 = 107 기본키의 자동 증가(AUTONCREMENT) = 110 3. 외래키 = 113 4. 중첩 질의 = 117 조건질의 중첩 질의 = 117 검색 컬럼의 중첩 질의 = 120 5. 조인 연산 = 122 내부 조인 = 123 자체 조인 = 127 자연 조인 = 128 외부 조인 = 129 집계 함수와 조인 연산 = 132 6. 인덱스(Index) = 134 인덱스의 생성 = 134 UNQUE 인덱스 = 136 다중 컬럼 인덱스 = 137 인덱스 삭제 = 137 7. 테이블 제약조건 = 138 NOT NULL = 138 DEFAULT 제약조건 = 139 UNQUE 제약조건 = 142 CHECK 제약조건 = 144 8. 뷰(VIEW) = 146 9. 트리거 = 150 트리거 활용 = 151 특정 조건에만 동작하는 트리거 = 155 수정 가능한 뷰 = 156 10. 테이블 수정(ALTER TABLE) = 158 테이블 이름 변경 = 158 컬럼 추가 = 159 11. 트랜잭션 = 160 트랜잭션 구문 = 160 AUTOCOMMT 모드 = 162 중첩된 트랜잭션 = 162 12. 다른 데이터베이스 파일 연결 = 169 ATTACH DATABASE = 169 DETACH DATABASE = 171 13. 동적 자료형 = 172 스토리지 클래스 = 173 타입 선호도 = 174 각 스토리지 클래스의 비교 = 177 명사적 형변환 = 180 내장 정렬 함수 = 182 CHAPTER 04 SQLite3 C API 기초 1.데이터베이스 연결 = 186 UTF-16 지원 = 189 2. SQL 구문 실행 : sqlite3_exec() 활용 = 190 3. SQL 구문 실행 : sqlite3_get_table() 활용 = 193 4. SQL 구문 실행 : sqlite3_prepare(), sqlite3_step(), sqlite3_finalize() 활용 = 195 수행하지 않은 SQL 구문이 남은 경우 = 200 컬럼 정보 파악 = 202 매개변수를 이용한 질의문 처리 = 204 색인을 이용한 질의문 처리 = 207 이름을 이용한 질의문 처리 = 209 CHAPTER 05 SQLite3C API 고급 1. 잠금 상태 확인 - sqlite3_busy_handler() = 216 2. 커밋 여부 확인 - sqlite3_commit_hook() = 220 3. 롤백 여부 확인 - sqlite3_rollback_hook() = 221 4. 업데이트 여부 확인 - sqlite3_update_hook() = 224 5. 권한 체크 - sqlite3_set_authorizer() = 226 6. 이스케이프 처리 - sqlite3_mprintf() = 230 7. 가변인자를 이용한 이스케이프 처리 - sqlite3_vmprintf() = 232 8. 사용자 정의 함수 - sqlite3_create_function() = 233 9. 사용자 정의 정렬 함수 - sqlite3_create_collation() = 239 10. SQL 문의종료 d5여부 확인 - sqlite3_complete() = 241 11. 자동 커밋 모드 확인 - sqlite3_get_autocommit() = 242 12. 최근 ROWID 확인 - sqlite3_last_insert_rowid() = 244 13. 라이브러리 버전 확인 - sqlite3_libversion() = 245 14. 메모리 사용량 체크 -: sqlite3_memory_used() = 246 15. SQL 문 확인 - sqlite3_sql() = 247 16. 연결 공유 - sqlite3_enable_shared_cache() = 248 예제 코드의 구성 = 248 CHAPTER 06 임베디드 SQLite3 최적화 1. 실행계획을 통한 질의 최적화 = 252 실행계획 확인 = 253 범위 검색 = 255 LIKE와 GLOB 연산자 = 256 다중 컬럼 인덱스의 활용 = 258 인덱스와 집합 연산 = 260 2. 데이터베이스 파일 크기 최적화 = 263 3. 페이지 크기 최적화 = 267 운영체제의 블록 크기 = 267 레코드 크기 = 268 최적의 페이지 크기 산출 방법 = 268 SQLite3 페이지 크기 조회 및 설정 = 269 4. 데이터베이스 파일 검사 = 270 5. 엄격한 자료형 검사 = 272 6. 데이터베이스 갱신과 트랜잭션 = 274 7. 저널 모드와 트랜잭션 성능 향상 = 276 저널 모드 변경 = 277 8. 메모리 데이터베이스 = 278 9. 테이블 제약조건의 충돌 처리 = 280 ABORT = 282 ROLLBACK = 283 FAL = 284 IGNORE = 285 REPLACE = 286 10. 외래키 제약조건의 확장 = 288 CASCADE = 289 SET DEFAULT = 291 11. SQLite3 설정 변경 = 292 최대 캐시 크기 수정 = 293 임시 파일토리디텍터리 설정 = 294 디스크 동기화 수준 설정 = 295 잠금 모드 설정 = 296 자동 파일 크기 최적화 = 298 LIKE 연산 시 대소문자 구별 = 300 문자열 인코딩 변경 = 301 12. 전문 검색 = 301 FTS테이블 생성 = 302 FTS테이블 레코드 입력, 수정, 삭제 = 303 FTS테이블 조회 = 304 FTS테이블 삭제 = 308 CHAPTER 07 파이썬과의 연동 1. pysqlite 모듈 = 312 2. 데이터베이스 연결 = 313 3. SQL문 실행 = 313 4. 데이터 조회 = 315 5. 트랜잭션 처리 = 316 6. 예제 - SQLite 실행 관리자 = 318 CHAPTER 08 아이폰에서의 SQLite3 활용 1. UI 만들기 = 326 2. SQLite 연결 = 330 CHAPTER 09 안드로이드스와 데이터베이스 1. 데이터베이스 관련 클래스 = 342 데이터베이스 생성 = 342 테이블 생성 = 344 레코드 입력 = 345 레코드 수정 = 346 레코드 삭제 = 347 트랜잭션 처리 = 348 기본적인 질의 = 348 조건이 포함된 질의 = 351 조인 질의 = 352 SQL 질의문 직접 수행하기 = 353 2. 안드로이드 데이터베이스 애플리케이션 = 354 SQLiteCommander 애플리케이션의 특징 = 354 프로젝트 생셩 및 GUI 제작 = 355 자바 코드 작성 = 357 부록 A. SQlite3 커맨드 라인 도구 1. 셸 모드 = 362 데이터베이스 생성 = 362 SQL 문 수행 = 363 테이블 조회 = 364 데이터베이스 및 테이블 스키마 정보 = 365 데이터 추출 = 366 파일에 저장된 SQL 구문의 실행 = 368 출력 형식 변경 = 369 기타 설정 = 370 현재 설정된 상태 확인 = 371 도움말 보기 = 371 2. 인자 전달 모드 = 373 부록 B. SQLite 관리 도구 1. SQLite Manager = 378 설치 = 378 사용법 = 380 기타 등등 = 381



