[C/C++ 자료구조] SQLite 의 모든 것 (1부) - 소개 및 FAQ Database/SQLite  

소개



 

 
- SQLite 는 독립적이고, 서버가 필요 없으며, 특별한 설정을 할 필요도 없는, 트렌젝션이 가능한 SQL 데이타베이스 엔진으로 꾸준히 개발중인 Library 입니다. SQLite 의 코드는 공개되어 있고, 상업적이든 개인적이든, 어떤 용도로도 무료로 사용하실 수 있습니다. 현재 SQLite 는 꽤 유명한 프로젝트를 포함하여, 생각하는 것 이상으로 많은 프로그램에서 사용하고 있습니다.

 
- SQLite 는 SQL 데이타베이스 엔진을 내장하고 있습니다. 수 많은 SQL 데이타베이스와는 다르게, SQLite 는 별도의 서버 프로세스를 가지고 있지 않고, 일반 디스크 파일을 직접 읽고 씁니다. SQLite 의 데이타베이스는 오직 한 개의 파일에 멀티 테이블, 색인, 트리거, 뷰 등을 가지고 있습니다.그리고 데이타베이스 파일은 크로스 플랫폼을 지원한기 때문에, 32비트 - 64비트 또는 big-endian little-endian 아키텍처에서 서로 사용할 수 있습니다. 이것이 Applictiion File Format 으로 SQLite 가 사랑받는 이유입니다. 

- SQLite 는 매우 작은 라이브러리입니다. 컴파일러 세팅이나 타겟 플렛폼에 따라서 조금의 차이는 있겠지만, 350 kbye 정도밖에 되지 않습니다. 옵션 기능을 제거하면 200 kbyte 이하로도 만들 수 있습니다. 또한 실행시에는 메모리 스택영역은 4kbyte, 힙 영역은 100 kbyte 으로 매우 조금만 차지합니다. 이런 이유로 휴대폰, PDA, MP3 플레이어와 같이 메모리 제약적인 곳에서 SQLite 를 널리 쓰고 있습니다. 메모리와 성능은 서로 교환적입니다. 메모리 공간이 많을수록 속도는 빨라집니다. 그럼에도 불구하고 작은 메모리 환경에서도 우수한 속도를 자랑합니다.





FAQ



1. AUTOINCREMENT 필드는 어떻게 만드나요?


2. SQLite 에서 지원하는 자료형(data type)은 어떤 것들이 있나요? 


3. SQLite 은 이상하게도 integer 타입 컬럼에 문자열이 들어갑니다!


4. 왜 SQLite 에서는 한 table 안에서 primary key 로 '0' 과 '0.0' 을 함께 사용 할 수 없나요?


5. 여러 프로그램이나 한 프로그램의 여러 인스턴스에서 한 개의 database 파일을 동시에 접근할 수 있나요? 


6. SQLite 는 쓰레드에 안전(threadsafe)한가요?


7. SQLite 데이타베이스에 있는 모든 table 과 indices 를 출력하려면 어떻게 해야 하나요?


8. SQLite 데이타베이스의 사이즈 제한이 있나요?


9. SQLite 에서 VARCHAR 의 최대 크기는 얼마인가요?


10. SQLite 는 BLOB 타입을 지원하나요?


11. SQLite 에 table 에서 컬럼을 추가하거나 삭제하려면 어떻게 해야 하나요?


12. 많은 데이터를 지웠는데, 데이타 파일의 크기는 줄어들지 않습니다. 버그인가요?


13. 로열티를 지불하지 않고 SQLite 를 상업 프로그램을 만드는데 사용해도 되나요?


14. 홑따옴표(') 문자를 포함한 문자열을 사용하려면 어떻게 해야 하나요?


15. SQLITE_SCHEMA 에러는 무엇인가요? 그리고 왜 발생하나요?


16. ROUND(9.95, 1) 은 10.0 대신 9.9 가 리턴 됩니다. 9.95 를 반올림 해야 하는거 아닌가요?

17. SQLite 를 컴파일 할때, 수백개의 오류가 발생합니다. 코드에 문제가 있는게 아닌가요? 저질스런 코드 아닌가요?


18. 유니코드 문자에 대해서는 대소문자 구분없는 매칭(Case-insensitive matching)이 되지 않습니다.


19. INSERT 가 너무나 느립니다. 초당 겨우 열 개 정도 INSERT 할 수 있습니다.


20. 실수로 SQLite 데이타베이스에서 중요한 데이터를 지웠습니다. 복구 가능한가요?


21. SQLITE_CORRUPT 에러가 무엇인가요? 데이타베이스가 "malformed" 되었다는게 무슨 의미인가요? 그리고 왜 발생하는건가요?


22. SQLite 는 외래키(foreign keys)를 지원하나요?


23. SQLite 를 빌드할 때, 컴파일 옵션에 SQLITE_OMIT 를 사용하면 컴파일러에서 오류가 발생합니다. 


24. WHERE 절에 column1="column1" 이 동작하지 않는 것 같습니다. 왜냐면 column1 의 값이 "column1" 인 행 뿐만 아니라, 테이블의 모든 행이 리턴되기 때문입니다.


25. SQLite 에서 생성하는 문법 다이어그램(syntax diagrams)은 어떤가요?


26. SQL 표준에서는 컬럼에서 NULL 이 하나 또는 그 이상이더라도 UNIQUE 을 적용하도록 되어 있습니다. 하지만 SQLite 에는 그렇지 않는 것 같습니다. 버그인가요?

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com



27. SQLite 의 Export Control Calssification Number(ECCN) 은 어떻게 되나요?



출처: https://crystalcube.co.kr/89?category=412659 [유리상자 속 이야기]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86030
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78560
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95288
14 [SQLite]10만 TPS와 10억 행 처리: SQLite의 놀라운 효율성 졸리운_곰 2025.12.05 1184
13 [sqlite] SQlite source code analysis-architecture file 졸리운_곰 2021.04.12 1806
12 [SQLite] SQLite 사용자 함수 추가 졸리운_곰 2021.04.12 1662
11 {SQLite] SQLite 페이지 핸들링(3) - 레코드 포맷 졸리운_곰 2021.04.12 1665
10 [SQLite] SQLite 페이지 핸들링(2) - SQLite의 페이지 포맷 file 졸리운_곰 2021.04.12 1495
9 [SQLite] SQLite 페이지 핸들링(1) - SQLite의 구조 file 졸리운_곰 2021.04.12 1486
8 [C/C++ 자료구조] SQLite 의 모든 것 (4부) - Java 에서 사용하기 Database/SQLite file 졸리운_곰 2021.04.12 1662
7 [C/C++] SQLite 의 모든 것 (3부) - C++ 에서 사용하기 Database/SQLite 졸리운_곰 2021.04.12 1719
6 [C/C++ 자료구조] SQLite 의 모든 것 (2부) - Download & Build Database/SQLite file 졸리운_곰 2021.04.12 1665
» [C/C++ 자료구조] SQLite 의 모든 것 (1부) - 소개 및 FAQ Database/SQLite file 졸리운_곰 2021.04.12 1330
4 SQLite-sync.com version 3 file 졸리운_곰 2017.07.03 2017
3 DB Browser for SQLite file 졸리운_곰 2017.04.26 1651
2 Getting started with SQLite in C# file 졸리운_곰 2017.04.24 1828
1 SQLite C/C++ Tutorial 졸리운_곰 2017.04.24 1496
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED