2011년 7월 5일 화요일

모바일 SQLite 탐구

* 사이트 http://www.sqlite.org/download.html
* 참고 : http://dbguide.net/


SQL 은 1986년에 제안되어 표준화 되었다.
SQLite는 SQL-92를 지원한다.
right/full outer join, drop column, alter column, add constraint, for each statement 등

1986. SQL-86. ANSI 처음 제안
1989. SQL-89
1992. SQL-92 데이터 구조, 데이터 동작
1999. SQL1999 재귀질의, 다수트리거, 스칼라이외 타입, 프로시져, 흐름-제어문
2003. SQL2003 XML 관련 추가, 시퀀스
2006. SQL2006 XML 연동, XQuery

* 특징
- File 구축 RDB
- 일반적인 C/S구조의 엔진보다 빠르다.
- OS 호환성이 뛰어나다.
- 2TByte 대용량이다.
- 문자열과 BLOB 크기의 제한은 메모리크기의 제한이다.
- 환경설정이 필요없다.

* User Tool (22MB)
http://www.sqliteexpert.com/download.html

* 저장형은 각 값에 붙는 타입임. (오라클은 컬럼에 타입이 부여됨)

* 자료형 5가지 (저장형)
- NULL
- INTEGER : 정수값 상황에 따라 1,2,4,6,8바이트가 된다. (자동증가 방법 : INTEGER PRIMARY KEY AUTOINCREMENT)
- REAL : 8byte 부동소수점
- TEXT : UTF-8, UTF-16BE, UTF-16LE
- BLOB : 바이너리 파일 저장
다른 형태의 자료형은 응용하여 사용
- Boolean -> INTEGER
- Date, Time -> TEXT, INTEGER


* 컬럼친화성
- TEXT
- NUMERIC
- INTEGER
- REAL
- NONE
ex) create table tbl_test (col1 INTEGER, col2 INTEGER); // 컬럼친화성을 의미
-> insert into tbl_test VALUES (123, 'test'); // 입력 성공