DB에 대한 지식이 얕음을 먼저 알립니다..

 

현재 DB 사용이 필요해서 먼저 DB 구축후 asset에 넣어두고 어플 실행시 복사하여 사용하도록 구현하였습니다.

 

그런데 DB가 이미지때문에 커질것 같아 웹에 올리고 다운받는식으로 구현하려 합니다.

 

처음 앱에 DB를 추가할려고 할때는 이미지를 그냥 파일로 두고 이미지 파일 이름을 DB에 넣어 접근하게 하려 햇는데

 

다운받게 구현하려니 간편하게 하려면 이미지파일을 byte[]로 읽어 BLOB 타입으로 넣어 두려고 합니다.

 

이미지파일을 다운받게 하고 이름을 DB에 넣는 방식을 하려니 이미지를 또 모두 각각 다운받아야 하는 점때문에요.. 이미지 파일 유출되는것도 좀 찝찝하고.. 그래서 아예 DB로 넣으려고 합니다.

 

 

일단 이미지를 바이트배열로 sqlite DB에 넣는 작업이 필요한데 sqlite browser로는 하기 힘들뿐더러.. 그 양도 손수 하기 힘든면이 있어서

 

sqlite jdbc 라이브러리를 다운받아서 자동으로 DB파일을 만들수 있도록 만들고 있습니다.

 

 

그런데 만들다보니 이상한 점이 있어서요..

테이블의 필드를 만들때 데이터 타입을 넣는데.. 이 데이터 타입은 되체 뭔 역할인지요 ;;

 

보통 프로그래밍 언어의 타입과는 개념이 다른건지..  아님 그냥 그 개념이 약한건지..

 

테이블 만들때 데이터 타입을 잘못 입력했는데.. browser로 테이블 보니 잘못 입력한 타입으로 입력이 되더군요..

예를 들어 타입을 INTEGER가 아닌 aaa 로 입력을 했을때.. 그래도 insert 다되고 읽어올때 Int로 읽어오니 불려지네요..

 

(DB에서 비록 데이터가 문자형 타입이라도 읽을때 정수형으로 읽으면 정수형으로 읽어온다는것은 알고 있습니다만..)

 

이럴거면 DB에 데이터 타입은 왜 있는거죠 ;;