관리 메뉴

나만을 위한 블로그

[Android] SQLite란? - 1 - 본문

Android

[Android] SQLite란? - 1 -

참깨빵위에참깨빵 2019. 11. 23. 23:38
728x90
반응형

SQLite는 쉐어드, 룸 DB, Realm 따위와 같이 안드로이드에서 제공하는 앱 DB의 한 종류이다.

특이한 것이 있다면 이름 앞에 SQL이 붙는다는 점이다.

SQL이 뭐냐면 structured query language로, 사전적 의미는 구조적 질의 언어라고 한다.

 

query(질의)문은 SQLite를 쓴다면 무조건 보게 되는 개념인데, SQL문과 쿼리문 둘 다 의미는 같다.

왜 질의라고 하냐면, DB에 저장된 정보를 불러내는 방법을 말하기 때문이다.

또한 절차적인 언어라, 프로그램이 서술된 순서대로 실행된다.

 

쉐어드는 키밸류 쌍을 이용해 키를 부르면 그것에 딸린 밸류가 나오는 것이지만

SQLite는 DB에 저장된 데이터를 SQL문이라는 쿼리문을 써서 조회하고 저장, 수정, 삭제하는 기능을 구현할 수 있도록 해주는 놈이다.

대표적인 예시로는 메모장, 로그인 등 키밸류가 포함되는 곳이라면 어디든 쓸 수 있겠다.

 

공식 홈페이지에는 SQLite에 대해서 이렇게 설명해 뒀다.

 

SQLite는 작고 빠르며 독립적이며, 신뢰성이 높고 완전한 기능을 갖춘 SQL DB 엔진을 구현하는 C언어 라이브러리다.

SQLite는 세계에서 가장 많이 쓰이는 DB 엔진이다. 모든 핸드폰, 컴퓨터에 내장돼 있으며, 사람들이 매일 쓰는 수많은 다른 응용 프로그램에 번들로 제공된다.

SQLite 파일 형식은 안정적이고 크로스 플랫폼이며, 역호환이 가능하고 최소 2050년까지 유지한다. SQLite DB 파일은 일반적으로 시스템 간에 풍부한 컨텐츠를 제공하기 위한 컨테이너로 사용된다.

 

※ 크로스 플랫폼 : 다양한 플랫폼에서 사용할 수 있다는 뜻

 

뭔 소린지 모르겠지만 앞의 거창한 수식어를 쳐내면 SQL DB 엔진을 구현하는 C언어 라이브러리가 SQLite라는 걸 알 수 있다. 이것도 뭔 소린지 모르겠다.

참고서적에선 이렇게 정리하고 있다.

 

 

- SQLite : 오픈소스로 만들어진 관계형 DB, 프로세스가 아닌 라이브러리를 이용해서 DB는 앱의 일부로 통합된다.

즉, 서버가 아닌 앱에 넣어 이용하는 가벼운 DB다. MP3, 아이폰, 아이팟 터치 등 모바일 장치에서 많이 사용되며 SQLite를 이용한 데이터는 파일에 저장되고 data/data/패키지명/databases 경로의 디렉토리에 저장된다.

 

 

- SQLite의 핵심 클래스 : SQLiteDatabase다. DB에 데이터를 저장, 호출, 수정, 삭제하는 모든 SQL 쿼리문은 이 클래스의 메서드를 써서 수행한다. 이 작업을 수행하려면 먼저 SQLiteDatabase 클래스 객체를 얻어야 한다.

이 객체를 얻으려면 openOrCreateDatabase()를 이용한다. 이 함수의 1번 매개변수는 개발자가 지정하는 DB 파일명이다. 이렇게 SQLiteDatabase 객체의 함수를 써서 SQL문을 수행한다.

 

 

결론 : SQLite란 핸드폰 수준에서 사용할 수 있는 간단한 데이터베이스다. 이 DB에 데이터를 저장하고 조회하는 등의 작업을 하려면 SQL문(쿼리문)이라는 문법을 알아야 하고, SQLiteDatabase라는 클래스의 객체를 얻어야 사용이 가능하다.

반응형
Comments