요즘 오라클, MY-SQL 과 같은 데이터베이스 프로그램들 많이들 사용하실텐데요~
이와 같은 데이터베이스 프로그램들은 네티워크 기반의 프로그램들인데 반해 SQLite 는 파일 기반의 데이터 베이스 프로그램 입니다. 요즘 안드로이드 폰 많이들 사용하실텐데~ 안드로이드에도 기본으로 SQLite 가 탑재 되어 있습니다. SQLite 에 대한 간단한 설명은 아래 주소를 참조하시기 바랍니다.
http://ko.wikipedia.org/wiki/SQLite
SQLite 는 다른 데이터베이스 프로그램들과 마찬가지로 다양한 컴퓨터 언어에서 사용할 수 있는 API 들을 제공하는데요.
오늘은 MATLAB 에서 SQLite 를 사용하는 방법에 대해 설명드리려 합니다. 프로젝트 명은 mksqlite 구요~ 프로젝트 주소는 아래와 같습니다.
http://developer.berlios.de/projects/mksqlite/
GNU LGPL 라이센스이고~ 보통의 오픈소스 프로그램들과 같이 바이너리와 소스코드 다운로드를 제공해 줍니다.
그런데 특이하게도 바이너리는 윈도우 바이너리만 제공해 주더군요. 것도 32 비트만 ㅋㅋㅋ
그래서 어차피 소스코드를 다운로드 받아서 각자의 MATLAB 에서 C-mex 를 이용하여 빌드를 해야 합니다.
소스는 아래 주소에서 다운로드 가능합니다.
http://developer.berlios.de/project/showfiles.php?group_id=9966&release_id=18976
아래 그림과 같이 현재는 1.12 버전이 가장 최신 버전이더군요. mksqlite-1.12-src.zip 파일을 다운로드 받아서 압축을 해제 합니다.
저는 일단 C:\Users\Administrator\Downloads\mksqlite-1.12-src 에 압축을 해제 했습니다.
이제 MATLAB 을 실행 합니다.
C-MEX 를 사용하기 위해서는 윈도우의 경우엔 Visual C++ 컴파일러와 . NET Framework 가 필요합니다.
http://www.mathworks.co.kr/support/sysreq/previous_releases.html
각자의 MATLAB 버전에 따라 사용가능한 컴파일러나 Framework 버전이 다를테니 위 주소에서 설치해야 할 프로그램을 확인 합니다.
아래 그림과 같이 Supported Compilers 를 확인 하시고 각자 운영체제에 맞게 설치 하시면 됩니다.
아래 주소 참조해서 Visual studio 와 SDK 를 설치 하시기 바랍니다.
http://www.mathworks.co.kr/support/solutions/en/data/1-ECUGQX/
SDK 설치시 중요한 부분은 아래 그림처럼 Visual C++ Compilers 에 꼭 체크를 해야 한다는 겁니다.
C- MEX 사용에 필요한 프로그램들이 다 설치가 됐으면 아래 그림처럼 MATLAB 에서 C-MEX 사용을 위한 setting 을 합니다. 맨 마지막에 Done ... 나오면 C-MEX 사용을 위한 셋팅은 끝난겁니다.
이제 MATLAB 의 workspace 를 압축 해제한 C:\Users\Administrator\Downloads\mksqlite-1.12-src 폴더로 갑니다.
아래 그림처럼 COMMAND 창에 buildit 라이고 친후에 엔터를 치면 각자 운영체제에 맞는 MEX 파일이 만들어 집니다. 저는 현재 윈도우 64 bits 여서 mksqlite.mexw64 라는 파일이 만들어 졌습니다.
요즘 많은 분들이 Windows 7 64 bits 를 사용하실테니 필요하신 분들은 아래 파일 받으시면 됩니다.
이제 MATLAB 에서 sqlite 를 사용하기 위해서 mksqlite.mexw64 파일이 들어 있는 폴더를 MATLAB 의 path 에 추가 합니다.
command 창에서는 addpath('c:/디렉토리') 와 같이 하시면 되고~
set path 에 들어가셔서 아래 그림처럼 Add Folder 를 누르고 원하는 폴더를 설정하셔도 됩니다.
이제 만들어진 SQLite 를 MATLAB 에서 사용해 볼까요~
사용법에 대해서는 아래 주소에 간단하게 나와 있고~ 당연한 얘기지만 SQLite 문법에 대해 공부를 하셔야 합니다.
http://mksqlite.berlios.de/mksqlite_eng.html
저도 간단하게 예제를 만들어 봤습니다.
dbid = mksqlite('open', 'DataBaseFile.db'); % DataBaseFile.db 파일 열기
<TestTable 테이블 생성>
mksqlite(dbid,'CREATE TABLE TestTable (id integer primary key, Name text, unique(Name))');
< Database 에 자료 입력>
mksqlite(dbid,'INSERT INTO TestTable (Name) VALUES ("김철수")'); % 김철수 입력
mksqlite(dbid,'INSERT INTO TestTable (Name) VALUES ("안중근")'); % 안중근 입력
mksqlite(dbid,'INSERT INTO TestTable (Name) VALUES ("이순신")'); % 이순신 입력
< Select 해 보기 >
Req=mksqlite(dbid,'select * from TestTable') % TestTable 의 값들 보기
Command 창에서 Select 결과 확인를 확인해 보면 아래 그림과 같이 Struct 형태로 나오는 것을 확인 할 수 있습니다.
< Database 파일 닫기 >
mksqlite(dbid, 'close')
오늘 강좌는 여기까지 입니다.
'programming language > MATLAB' 카테고리의 다른 글
MATLAB Batman Equation (0) | 2013.10.20 |
---|---|
MATLAB 시작 폴더 변경 및 startup.m 파일 설정 (0) | 2013.09.30 |
MATLAB filter() 함수의 고급 사용 (0) | 2013.09.21 |
MATLAB 모든 경우의 수 뽑기 Cartesian Product (0) | 2013.08.18 |
MATLAB Gibbs Phenomenon (0) | 2013.04.10 |
MATLAB 로그 스케일 그래프 그리기 semilogx(),semilogy(), loglog() (0) | 2013.01.29 |
MATLAB recursive 파일 검색 (0) | 2012.12.08 |
MATLAB 에서 mp3 파일 읽기 (4) | 2012.10.31 |
댓글