반응형

사용자가 앱의 화면에서 데이터를 입력하면 서버에 보내어 저장할 수도 있고 단말에 저장할 수도 있습니다.

저장소로 많이 사용되는 것이 데이터베이스이며 실무에서는 관계형 데이터베이스를 많이 볼 수 있습니다.

웹서버쪽에서 데이터베이스를 사용하는 것처럼 단말에서도 데이터베이스를 사용할 수 있다면 좀 더 쉽게 데이터를 저장하고 조회할 수 있는데 안드로이드에서는 SQLite라는 관계형 데이터베이스를 제공합니다.

만약 관계형 데이터베이스라는 것과 SQL이라는 것을 접해본 경험이 없다면 간단하게 살펴보는 것이 필요합니다.

데이터베이스가 무엇이고 SQL은 어떻게 사용해야 하는지 알아봅시다.



데이터베이스

데이터베이스는 저장소이며 관계형 데이터베이스는 여러 가지 유형의 데이터베이스 중 하나입니다.

보통 실무에서는 MySQL, Oracle과 같은 관계형 데이터베이스를 많이 볼 수 있습니다.

관계형 데이터베이스는 저장소 안에 여러 개의 테이블을 만들 수 있으며 테이블은 엑셀의 Sheet 처럼 생각하면 쉽습니다.

가로세로 격자 모양으로 데이터를 저장해둘 수 있는 공간이라고 할 수 있죠.

다만 각각의 칼럼이 갖는 자료형을 명시적으로 표시해야 하기 때문에 테이블을 먼저 정의한 후에 데이터를 추가할 수 있습니다.

테이블

테이블은 엑셀의 Sheet처럼 생각할 수 있지만 사용하는 용어는 약간 다를 수 있습니다.

왜냐하면 엑셀과는 달리 데이터베이스는 저장된 데이터를 빠르게 조회하는 데 목적이 있기 때문에 각각의 셀에 들어가는 데이터를 어떻게 찾아낼지에 대한 연구가 오랫동안 진행되어 왔기 때문입니다.

그래서 생소한 용어들도 있죠.

테이블을 릴레이션(Relation)이라고 부를 때가 있습니다.

그래도 테이블이라는 용어가 더 익숙하겠죠?

한 줄로 추가되는 데이터는 레코드(Record) 또는 투플(Tuple)이라고 부릅니다.

둘 다 익숙하지는 않겠지만 레코드라는 말을 기억해두면 좋을 것 같습니다.

각각의 세로 줄은 칼럼(Column) 또는 애트리뷰트(Attribute)라고 부릅니다.

각각의 셀을 필드(Field)라고 부르지만 세로 줄을 필드라고 부르는 경우도 있어서 약간 혼동될 수 있습니다.

따라서 칼럼이라고 기억해두는 것이 편하겠네요.

테이블 안에 데이터가 들어가 있는 모양을 살펴볼까요?

직원에 대한 정보가 들어가 있는 Employee 테이블입니다.

각 칼럼에는 칼럼 이름과 들어갈 수 있는 데이터의 자료형이 지정되어 있습니다.

직원을 구분하기 위한 id가 있고 이름과 주소가 문자열로 들어가네요.

엑셀과 별로 다를 바 없죠?

 

SQL의 사용

사실 데이터를 저장한 형태보다 중요한 것이 데이터를 추가하고 조회하는 일입니다.

특히 데이터를 조회하는 일이 중요한데요, SQL이라는 것이 사용됩니다.

SQL은 데이터를 조작할 때 사용할 수 있는 언어이며 테이블을 만들거나 데이터를 추가하거나 데이터를 조회할 때 사용할 수 있습니다.

테이블을 만들기 위해서는 CREATE TABLE 이라는 SQL문을 사용합니다.

CREATE TABLE 뒤에는 테이블 이름이 오고 그 뒤에 소괄호를 붙인 후 소괄호 안에 각 칼럼에 대해 기술합니다.

각각의 칼럼은 콤마로 구분되고 각 칼럼에 대한 정보는 칼럼 이름칼럼 자료형 등이 들어갈 수 있습니다.

MySQL과 같은 데이터베이스를 설치하면 직접 입력하고 실행해볼 수 있습니다.

데이터를 추가할 때는 INSERT INTO 문을 사용할 수 있습니다.

INSERT INTO 뒤에는 테이블 이름이 오고 소괄호 안에 칼럼 이름이 들어갑니다.

이렇게 하면 지정한 칼럼에 데이터를 넣겠다는 의미가 됩니다.

VALUES 뒤에는 소괄호로 감싸진 데이터들이 들어갈 수 있습니다.

각각의 데이터는 지정한 칼럼과 매칭되어야 하죠.

데이터를 조회할 때는 SELECT 문이 사용될 수 있습니다.

SELECT 뒤에 조회하고자 하는 칼럼들이 들어가고 FROM 뒤에 테이블 이름이 옵니다.

WHERE 뒤에는 조건이 올 수 있죠.

나이 칼럼에 들어있는 값이 20이상인 레코드만 찾고 싶은 경우에는 WHERE 뒤에 age > 20 과 같은 조건을 붙일 수 있습니다.

이외에도 UPDATE, DELETE 문 등이 있습니다.

앱에서는 간단한 SQL 몇 개만 사용되는 경우가 많으므로 SQL에 대해 간단한 정도만 알아도 데이터베이스를 사용할 수 있습니다.

 


반응형

'안드로이드 개발 > 부스트코스(안드로이드 프로그래밍)' 카테고리의 다른 글

헬퍼 사용하기  (0) 2019.03.21
데이터베이스와 테이블 만들기  (0) 2019.03.20
이미지 다운로드  (0) 2019.03.19
JSON GSON  (0) 2019.03.19
volley  (0) 2019.03.19
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기