KR20070064224A - 소규모 단말 환경에서 임베딩을 통하여 구축한 db 관리시스템 및 그 db 관리 방법 - Google Patents

소규모 단말 환경에서 임베딩을 통하여 구축한 db 관리시스템 및 그 db 관리 방법 Download PDF

Info

Publication number
KR20070064224A
KR20070064224A KR1020060042583A KR20060042583A KR20070064224A KR 20070064224 A KR20070064224 A KR 20070064224A KR 1020060042583 A KR1020060042583 A KR 1020060042583A KR 20060042583 A KR20060042583 A KR 20060042583A KR 20070064224 A KR20070064224 A KR 20070064224A
Authority
KR
South Korea
Prior art keywords
command
query
data
information
result
Prior art date
Application number
KR1020060042583A
Other languages
English (en)
Inventor
이성진
Original Assignee
(주)파슨텍
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)파슨텍 filed Critical (주)파슨텍
Publication of KR20070064224A publication Critical patent/KR20070064224A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 소규모 단말 환경에서 DB 엔진을 구축하고, 응용 프로그램이 그 엔진의 라이브러리를 포함함으로써 일반 SQL 문장을 이용하여 소형 단말에 임베딩된 DB의 데이터를 관리하는 DB 관리 시스템 및 그 DB 관리 방법에 관한 것이다.
본 발명의 DB 관리 시스템에 따르면, 프로그램에서 실행되는 쿼리 구문을 전달받고 구문 분석하여 쿼리정보와 테이블정보로 분리하는 구문분석 수단; 쿼리정보와 테이블정보를 이용하여 DB를 대상으로 쿼리 명령을 수행하는 DB 코어 수단; DB가 구축되어 데이터를 저장하는 데이터 저장 수단; 및 쿼리 명령이 데이터 저장 수단에서 수행된 후 결과 데이터 및 쿼리 수행의 결과 코드를 전달받고 프로그램으로 리턴하는 결과 관리 수단을 포함하는 것을 특징으로 한다.
본 발명에 따르면, 종래 소형 단말의 응용 프로그램에서와 같이 개발자가 별도로 데이터 구조 파일을 설계하고 정의하여 그 파일의 데이터를 액세스하는 복잡한 코딩 방식이 아니라 소스 코드상에서 라이브러리 파일을 포함함으로써 SQL 쿼리 구문을 이용하는 방식의 코딩을 가능하게 하여 개발자의 부담을 줄이는 효과가 있다.
임베딩, DB, DBMS, 관리, 데이터, SQL, 쿼리, 명령, 단말, 프로그램

Description

소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 시스템 및 그 DB 관리 방법{System and its method for managing database embedded into small computer configuration}
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 본 발명의 일 실시예에 따른 소형 단말에 구축되는 DB 관리 시스템의 개략적 구성도.
도 2는 본 발명의 일 실시예에 따른 구문분석 수단의 내부 구성도.
도 3은 본 발명의 일 실시예에 따른 DB 코어 수단의 내부 구성도.
도 4는 본 발명의 일 실시예에 따른 클라이언트/서버 환경에서의 DB 동기화의 예시도.
도 5는 본 발명의 일 실시예에 따른 DB 관리 방법의 전체 순서도.
도 6은 본 발명의 일 실시예에 따른 구분 분석 과정의 상세 순서도.
도 7은 본 발명의 일 실시예에 따른 쿼리 명령 수행 과정의 상세 순서도.
* 도면의 주요 부분에 대한 부호의 설명 *
1 : DB 관리 시스템 2 : 응용 프로그램
11 : 구문분석 수단 12 : DB 코어 수단
13 : 데이터 저장 수단 100 : 소형 단말
111 : 쿼리 파싱부 112 : 쿼리 정보 생성부
113 : 테이블정보 생성부 121 : 생성 명령부
122 : 조회 명령부 123 : 삽입 명령부
124 : 수정 명령부 125 : 삭제 명령부
126 : 제거 명령부
본 발명은 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 시스템 및 그 DB 관리 방법으로서, 더욱 상세하게는, 대용량의 DBMS를 구축할 수 없는 이동통신단말과 같은 소형 단말에 데이터베이스를 구축하고, 그 단말의 응용 프로그램이 일반 DBMS의 이용 방식과 같이 소스상에서 라이브러리를 포함하여 SQL 문장으로 데이터를 관리할 수 있도록 소형 DB 엔진이 구축된 DB 관리 시스템 및 그 관리 방법에 관한 것이다.
DBMS는 데이터베이스 관리 시스템으로서, 사용자 또는 응용 프로그램이 DB 명령어(예 : sql)를 통하여 데이터베이스에 저장된 데이터를 관리할 수 있도록 지원하는 소프트웨어 시스템이다.
전술한 DBMS의 예로서는 오라클(ORACLE), 싸이베이스(CYBASE) 등이 있다. 이와 같은 기존의 DBMS 구축 사양은 대용량의 메모리와 고성능의 프로세서가 요구되는 컴퓨터 환경에 맞춰져 있으며 그 DBMS가 처리하는 데이터량과 처리 능력도 대용량이기에 그 가격도 물론 고가이다.
이와 같은 종래의 범용 DBMS는 초기 IPL(initail program loading)에 많은 시간이 걸리며, 그 코아 엔진이 로딩되어 대기 상태에 상주하여야 하기 때문에 메모리 자원과 프로세스 자원을 계속 할당받아야 한다. 또한 응용 프로그램이 실행(로딩)되어 그 DB의 데이터를 이용할 때마다 네트워크 접속, DB 접속, 세션 관리 등 그 DB를 이용하기 위한 많은 초기 환경 설정을 직접 프로그램상에 해주어야만 하고, 프로그램이 종료할 때마다 접속한 환경 설정을 모두 종료(예 : close, disconnect, 자원 반환 등)하고 끝내야만 하는 자원 관리로 응용 프로그램의 사이즈도 증가하였다.
반면에, 제한적 처리 기능과 상대적으로 적은 메모리 용량이 요구되는 소규모 단말 환경, 예를 들면, 이동통신단말, 기타 가전제품(예 : TV, 냉장고, 세탁기, 보일러 등)과 같은 소형 단말에서는 데이터 관리를 위한 DBMS를 구축할 수가 없다. 왜냐하면, 그 소형 단말에서 요구되는 데이터의 처리 기능 및 양에 비하여 종래 DBMS의 기능은 고성능이며 그 가격 역시 고가이기 때문이다. 그리고 종래 DBMS의 가격은 소형 단말의 제품 가격보다 비싼 경우가 대부분이다.
또한, 종래 DBMS의 엔진 구조 환경의 개념을 그대로 소형 단말에 이식하는 경우, DB 엔진의 IPL 시간, DB 엔진의 로딩에 따른 메모리 및 프로세스 자원 할당, 응용 프로그램의 로딩시 DB 접속의 설정 및 해제와 같은 복잡한 코딩 및 그 코딩으로 인한 응용 프로그램의 크기 증가 등의 제약이 수반되어 DBMS의 구축이 불가능하다는 문제점이 있었다.
따라서, 소규모 단말 환경에서는 데이터베이스를 이용하지 못하고, 관리자(프로그래머)가 직접 파일 구조를 설계하여 그 데이터를 직접 관리하였다. 이것은 메모리 및 프로세스 자원을 개별적으로 할당받으며 응용 프로그램의 사이즈를 증가시키지 않는다는 장점이 있으나, 파일 또는 데이터 구조의 변경시 프로그램 수정이 매번 잇달아야 하기 때문에 빈번한 업그레이드가 요구되는 문제점이 있었다. 즉, 소형 단말에서 이용되는 데이터의 구조가 변경되면 개발자는 파일의 구조를 수정함과 동시에 그 응용 프로그램에서 데이터를 처리하는 루틴을 모두 수정해야 하는 문제점이 있었다.
또한, 데이터 포맷의 구조가 복잡하거나 대용량의 데이터일 경우 원하는 데이터를 액세스하는데 복잡한 데이터 분리 및 추출 과정이 요구되는 데이터 관리자(프로그래머)의 수고가 필요하다는 문제점이 있었다.
본 발명은 전술한 바와 같은 점에 착안하여 창출된 것으로서, HW 및 SW의 기능이 한정되는 소형 단말의 환경에서 DB 관리 엔진을 구축하고, 내장된 응용 프로그램이 DB 엔진의 라이브러리를 포함함으로써 SQL 명령에 의한 일반 DBMS의 관리 기능을 이용하여 데이터베이스의 데이터 생성, 조회, 수정, 삭제를 포함하는 DB 관리를 할 수 있는 것을 목적으로 한다.
전술한 바와 같은 목적을 달성하기 위한 본 발명의 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 시스템에 따르면, 소형 단말이 갖는 소용량 메모리 환경에서 DB를 구축하여 데이터 관리 인터페이스를 제공하는 DB 관리 시스템에 있어서, 프로그램에서 실행되는 쿼리 구문을 전달받고 구문 분석하여 쿼리정보와 테이블정보로 분리하는 구문분석 수단; 상기 쿼리정보와 테이블정보를 이용하여 DB를 대상으로 쿼리 명령을 수행하는 DB 코어 수단; DB가 구축되어 데이터를 저장하는 데이터 저장 수단; 및 상기 쿼리 명령이 상기 데이터 저장 수단에서 수행된 후 결과 데이터 및 쿼리 수행의 결과 코드를 전달받고 상기 프로그램으로 리턴하는 결과 관리 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 방법에 따르면, 소형 단말이 갖는 소용량 메모리 환경에서 DB를 구축하여 데이터 관리 인터페이스를 제공하는 DB 관리 방법에 있어서, (S10)프로그램으로부터 쿼리 구문을 전달받고, 상기 쿼리 구문을 구문 분석하여 쿼리정보와 테이블정보로 분리하는 단계; (S20)상기 쿼리정보와 테이블정보를 이용하여 DB를 대상으로 쿼리 명령을 수행하는 단계; (S30)상기 쿼리 명령에 따라서 상기 DB로부터 조회된 결과 데이터 및 쿼리 수행의 결과 코드를 전달받는 단계; 및 (S40)상기 결과 데이터 및 결과 코드를 상기 프로그램으로 리턴하는 단계를 포함하는 것을 특징으로 한다.
<1. 시스템 구성>
도 1 내지 도 3은 본 발명의 일 실시예에 따른 소형 단말(100)에 구축되는 DB 관리 시스템(1)의 개략적 구성을 도시한다.
본 발명의 일 실시예에 따른 DB 관리 시스템(1)은 임베디드 시스템(embedded system)을 위한 DBMS로 정의할 수 있고, 임베디드의 대상이 되는 소형 단말(100)은 개인용 PC, 셋탑 박스, 모바일폰, DMB폰, PDA 및 TV, 냉장고, 세탁기와 같은 전자기기를 예로 들 수 있다.
전술한 DB 관리 시스템(1)은 응용 프로그램(2)의 소스 코드상에 기재된 SQL 쿼리 구문(예 : SQL 명령의 실행 코드)을 분석하고, 분석된 쿼리 명령에 의하여 DB에 저장된 데이터를 관리한다. 여기서 데이터 관리는 DB 테이블의 생성, 삭제 및 그 테이블에 저장된 데이터의 조회, 삽입, 수정, 삭제를 포함한다.
응용 프로그램(2)의 소스 코드상에는 본 발명의 DB 관리 시스템(1)의 기능이 정의된 실행코드 함수의 라이브러리를 포함하고 있기 때문에 DB 관련 명령을 수행하는 쿼리 구문을 이용하여 데이터의 관리가 가능하다. DB의 실행 코드에 해당하는 상기 쿼리 구문은 JDVC(java database connectivity)와 형식의 명령어에 기반하기 때문에 일반 함수 호출 방식을 통하여 프로그램 개발자는 특별한 어려움 없이 코딩을 가능하게 하는 개발자 친화성을 제공한다.
따라서, 본 발명에서와 같이 응용 프로그램이 DB 실행의 라이브러리를 포함하는 것은 SQL 언어와 같은 자연어 방식의 코딩을 가능하게 하기 때문에 개발자의 코딩을 간편하게 하며, 종래와 같이 개발자가 직접 파일을 액세스하여 데이터를 관리(추가, 조회, 수정, 삭제)하는 상세한 코딩을 줄이기 때문에 데이터 관리의 코딩 길이가 짧아지며 그에 따라서 응용 프로그램의 크기를 줄이기 때문에 소형 단말에 서 DBMS를 이용하는 최적의 응용 프로그램 데이터 관리 모델을 제시한다.
전술한 DB 관리 시스템(1)은 구문분석 수단(11), DB 코어 수단(12), 데이터 저장 수단(13) 및 결과 관리 수단(14)을 포함하여 구성된다.
상기 구문분석 수단(11)은 응용 프로그램(2)의 소스 코드에 기재된 쿼리 구문(실행코드)을 전달받고 문자열을 구문 분석하여 쿼리정보와 테이블정보로 분리한다.
도 2를 참조하면, 구문 분석 수단(11)은 쿼리 파싱부(111), 쿼리정보 생성부(112) 및 테이블정보 생성부(113)를 포함하여 구성된다. 상기 쿼리 파싱부(111)는 쿼리 구문을 문자열로 분리하여 구문 분석한다. 상기 쿼리정보 생성부(112)는 쿼리 파싱부(111)가 구문 분석한 쿼리 명령, 테이블정보, 칼럼정보 및 조건정보(where 조건)를 포함하는 쿼리정보를 생성한다. 그리고 상기 테이블정보 생성부(113)는 쿼리 파싱부(111)가 구문 분석한 쿼리 명령이 테이블 생성 명령일 경우 테이블 및 그 테이블의 인덱스를 포함하는 테이블정보를 생성한다.
상기 DB 코어 수단(12)은 구문 분석 수단(11)이 생성한 쿼리정보와 테이블정보를 이용하여 해당하는 DB를 대상으로 쿼리 명령을 수행한다. 이 쿼리 명령은 생성(create) 명령, 조회(select) 명령, 삽입(insert) 명령, 수정(update) 명령, 삭제(delete) 명령 및 제거(drop) 명령을 포함한다.
도 3을 참조하면, DB 코어 수단(12)은 생성 명령부(121), 조회 명령부(122), 삽입 명령부(123), 수정 명령부(124), 삭제 명령부(125) 및 제거 명령부(126)를 포함하여 구성된다. 상기 생성 명령부(121)는 생성 명령에 따라서 쿼리정보와 테이블 정보를 이용하여 데이터 저장 수단(13)에 테이블을 생성하거나 또는 특정 테이블의 인덱스를 생성한다. 상기 조회 명령부(122)는 조회 명령에 따라서 쿼리정보와 테이블정보를 이용하여 데이터 저장 수단(13)의 DB 테이블로부터 데이터를 조회한 후 조회된 결과데이터를 생성한다. 상기 삽입 명령부(123)는 삽입 명령에 따라서 쿼리정보와 테이블정보를 이용하여 데이터 저장 수단(13)에 데이터를 저장한다. 상기 수정 명령부(124)는 수정 명령에 따라서, 쿼리정보와 테이블정보를 이용하여 데이터 저장 수단(13)에 저장된 데이터를 수정한다. 상기 삭제 명령부(125)는 삭제 명령에 따라서 쿼리정보와 테이블정보를 이용하여 데이터 저장 수단(13)에 저장된 데이터를 삭제한다. 상기 제거 명령부(126)는 제거 명령에 따라서 쿼리정보와 테이블정보를 이용하여 데이터 저장 수단(13)에 저장된 DB 테이블을 삭제한다.
상기 데이터 저장 수단(13)은 메인 메모리, SD-RAM 또는 하드 디스크를 포함하는 기록매체로서 DB가 저장된다. 그 DB는 T-트리 또는 B-트리 기반의 인덱스 구조에 의하여 대용량 데이터를 빠르게 검색할 수 있다.
상기 결과 관리 수단(14)은 DB 코어 수단(12)에 의하여 쿼리 명령이 데이터 저장 수단(13)에서 수행된 후 결과 데이터 및 쿼리 수행의 결과 코드를 전달받고 프로그램(2)으로 리턴한다. 여기서, 결과 데이터는 쿼리 명령에 의하여 DB로부터 조회되는 데이터이고, 결과 코드는 쿼리 명령의 성공 여부를 나타내는 값이다. 이를 위하여 결과 관리 수단(14)은 결과 저장부를 포함하고, 상기 결과 저장부는 조회 명령일 경우 조회된 결과 데이터를 임시 저장하고, 조회 명령, 삽입 명령, 수정 명령, 삭제 명령 및 제거 명령을 포함하는 쿼리 명령의 실행 결과에 대한 처리 성 공 코드를 리턴한다.
이상과 같이 구성되는 본 발명의 DB 관리 시스템(1)은 200 Kbytes 미만의 실행 모듈로 구성된 컴팩트한 DBMS로 설계된다. 이와 같은 소형화 설계는 소형 단말(100)의 메모리 용량, 처리 용량에 맞는 최적의 크기로 다운사이징 된다. 그 구현 기술에는 실행 모듈인 라이브러리를 최소화하고, 메모리 사용을 제약하였으며, 처리속도 기술을 향상시키는 기법이 응용되었다.
이를 통하여 시스템(1)은 기존 DBMS와 비교하여 메인 메모리의 약 40% 절감 효과를 가지며, 기존 DBMS의 설계 방식에 비하여 약 60% 정도의 메모리만으로도 대규모 데이터를 빠르게 처리할 수 있다.
본 발명의 DBMS 실행 엔진은 소형 단말(100)의 CPU 종류별 환경에 유연한 적응을 위하여 Pure ANSI C 코드로 구현하여 다양한 CPU에서 그대로 컴파일되어 사용할 수 있다. 따라서, 소형 단말의 내장 프로그램(2)에서는 실행 엔진을 라이브러리 방식으로 포함함으로써 간단한 코딩과 함께 매우 빠른 실행 속도를 보장한다.
또한, 본 발명의 시스템(1)은 garbage 콜렉터(collector)를 이용하여 삭제된 행의 재활용이 가능하여 별도의 DB관리가 불필요하다. 시스템(1)은 일반 DBMA와 같이 DBA가 별도로 존재할 수 없다. 이에 본 시스템(1)에서는 지능형 garbage 콜렉터 기능을 통하여 데이터 삭제와 수정 등에서 발생하는 쓰레기 자원을 복원하여 재활용할 수 있도록 하여 별도의 관리자 없이 시스템 운영이 가능하다.
도 4는 본 발명의 일 실시예에 따른 클라이언트/서버 환경에서의 DB 동기화의 구성을 예시한다.
본 발명에서 DB 동기화의 일 예로서 이동통신 단말에 구축된 본 발명의 시스템(1)은 서버의 DBMS와 DB를 동기화하여 데이터를 관리할 수 있다. 예를 들어 사용자가 서버의 DBMS와 데이터의 동기화 설정을 한 후 이동통신 단말에서 데이터의 변경 작업을 수행하면, 그 변경된 데이터는 자동으로 서버측에도 반영되어 데이터를 동기화하는 것이 가능하다. 즉 서버로부터 다운로딩된 데이터는 이동통신 단말에서 작업된 후 수정된 데이터는 업로딩되어 동기화가 이루어진다.
<2. 방법 구성>
본 발명의 일 실시예에 따른 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 방법은 전술한 DB 관리 시스템(1)의 구축을 통하여 실현될 수 있다. 응용 프로그램(2)의 소스 코드는 DBMS 관리 인터페이스를 제공하는 라이브러리를 포함함으로써 그 소스 코드상에 기재되는 쿼리 구문은 문자열 분석되어 대응하는 DB를 상대로 데이터 처리가 수행되고 그 처리 결과는 응용 프로그램으로 리턴된다.
도 5는 본 발명의 일 실시예에 따른 DB 관리 방법의 전체 순서를 도시한다.
소형 단말(100)에 DB를 구축하고, 그 DB에 있는 데이터를 이용하는 응용 프로그램(2)에서는 소스 코드상에 라이브러리 파일을 포함하고 있다. 그 라이브러리 파일은 소스 코드상에 기재된 쿼리 구문을 시스템(1)으로 전달하여 DB 처리를 수행하는 인터페이스 역할을 한다.
DB 관리 시스템(1)은 응용 프로그램의 소스 코드상에 기재된 쿼리 구문을 전달받고, 구문 분석하여 쿼리정보와 테이블정보로 분리한다(S10).
상기 단계(S10)를 도 6을 참조하여 설명하면, 프로그램(2)상의 쿼리 구문은 문자열로 분리되어 구문 분석이 수행된다(S11). 분리된 문자열은 그 속성에 따라서 쿼리 명령, 테이블정보, 칼럼정보 및 조건정보(where 조건)를 포함하는 쿼리정보로 생성된다(S12). 또한, 쿼리 명령이 생성 명령일 경우 테이블 및 그 테이블의 인덱스를 포함하는 테이블정보로 생성된다(S13).
쿼리 구문으로부터 쿼리정보와 테이블정보가 분석되면, 이를 이용하여 대응하는 DB를 대상으로 쿼리 명령을 수행한다(S20).
상기 단계(S20)를 도 7을 참조하여 설명하면, 쿼리 명령은 생성(create) 명령, 조회(select) 명령, 삽입(insert) 명령, 수정(update) 명령, 삭제(delete) 명령 및 제거(drop) 명령으로 분류되어 실행된다. 생성 명령은 데이터 저장 수단(13)에 특정 DB 테이블을 생성하거나 또는 특정 테이블에 인덱스를 생성한다(S21). 인덱스는 키 역할을 하는 것으로서 데이터의 분류 및 정렬을 통하여 빠른 데이터 접근을 가능하게 한다. 조회 명령은 대응하는 DB 테이블로부터 특정 필드의 데이터를 조회한다(S22). 삽입 명령은 특정 DB 테이블에 레코드를 추가한다(S23). 수정 명령은 특정 DB 테이블에 저장된 기존의 데이터를 새로운 데이터로 변경한다(S24). 삭제 명령은 특정 DB 테이블에 저장된 데이터를 삭제한다(S25). 제거 명령은 특정 DB를 삭제한다(S26).
DB를 대상으로 쿼리 명령이 실행되면, 조회 명령의 경우 조회된 결과 데이터 및 쿼리 명령의 결과 코드를 전달받는다(S30). 그리고 결과 데이터 및 결과 코드를 응용 프로그램(2)으로 리턴한다(S40).
상술한 바와 같이, 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 시스템 및 그 DB 관리 방법의 실시예가 구성된다. 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명에 따른 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 시스템 및 그 DB 관리 방법은, 종래 소형 단말의 응용 프로그램에서와 같이 개발자가 별도로 데이터 구조 파일을 설계하고 정의하여 그 파일의 데이터를 액세스하는 복잡한 코딩 방식이 아니라 소스 코드상에서 라이브러리 파일을 포함함으로써 SQL 쿼리 구문을 이용하는 방식의 코딩을 가능하게 하여 개발자의 부담을 줄이는 효과가 있다.
또한, 응용 프로그램이 라이브러리를 포함하여 소형 단말에 맞는 DB 관리 시스템을 구축하기 때문에 프로그램상에서의 데이터 관리는 SQL 문장을 이용하여 보다 간편해지고, 프로그램과 데이터의 자원 관리를 분리하여 업그레이드를 할 경우에도 보다 빠른 시간에 적은 노력으로 업그레이드가 가능하다.

Claims (11)

  1. 소형 단말이 갖는 소용량 메모리 및 프로세서 환경에서 DB를 구축하고, 소형 단말에 내장되는 응용 프로그램에서 SQL 명령에 의한 데이터 관리 인터페이스를 제공하는 라이브러리를 포함하여 DB에 저장된 데이터를 관리하는 DB 관리 시스템에 있어서,
    프로그램에서 실행되는 쿼리 구문을 전달받고 구문 분석하여 쿼리정보와 테이블정보로 분리하는 구문분석 수단;
    상기 쿼리정보와 테이블정보를 이용하여 DB를 대상으로 쿼리 명령을 수행하는 DB 코어 수단;
    DB가 구축되어 데이터를 저장하는 데이터 저장 수단; 및
    상기 쿼리 명령이 상기 데이터 저장 수단에서 수행된 후 결과 데이터 및 쿼리 수행의 결과 코드를 전달받고 상기 프로그램으로 리턴하는 결과 관리 수단
    을 포함하는 것을 특징으로 하는 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 시스템.
  2. 제 1항에 있어서,
    상기 구문분석 수단은,
    상기 쿼리 구문을 문자열로 분리하여 구문 분석하는 쿼리 파싱부;
    상기 쿼리 파싱부가 구문 분석한 쿼리 명령, 테이블정보, 칼럼정보 및 조건 정보(where 조건)를 포함하는 상기 쿼리정보를 생성하는 쿼리정보 생성부; 및
    상기 쿼리 파싱부가 구문 분석한 명령이 테이블 생성 명령일 경우 테이블 및 그 테이블의 인덱스를 포함하는 상기 테이블정보를 생성하는 테이블정보 생성부
    를 포함하는 것을 특징으로 하는 DB 관리 시스템.
  3. 제 1항에 있어서,
    상기 DB코어 수단은,
    상기 쿼리 명령이 생성(create) 명령일 경우, 상기 쿼리정보와 테이블정보를 이용하여 상기 데이터 저장 수단에 테이블 및 특정 테이블의 인덱스를 생성하는 생성 명령부;
    상기 쿼리 명령이 조회(select) 명령일 경우, 상기 쿼리정보와 테이블정보를 이용하여 상기 데이터 저장 수단으로부터 데이터를 조회한 후 조회된 결과데이터를 생성하는 조회 명령부;
    상기 쿼리 명령이 삽입(insert) 명령일 경우, 상기 쿼리정보와 테이블정보를 이용하여 상기 데이터 저장 수단에 데이터를 저장하는 삽입 명령부;
    상기 쿼리 명령이 수정(update) 명령일 경우, 상기 쿼리정보와 테이블정보를 이용하여 상기 데이터 저장 수단에 저장된 데이터를 수정하는 수정 명령부;
    상기 쿼리 명령이 삭제(delete) 명령일 경우, 상기 쿼리정보와 테이블정보를 이용하여 상기 데이터 저장 수단에 저장된 데이터를 삭제하는 삭제 명령부; 및
    상기 쿼리 명령이 제거(drop) 명령일 경우, 상기 쿼리정보와 테이블정보를 이용하여 상기 데이터 저장 수단에 저장된 테이블을 삭제하는 제거 명령부
    를 포함하는 것을 특징으로 하는 DB 관리 시스템.
  4. 제 1항에 있어서,
    상기 데이터 저장 수단은,
    메인 메모리, SD-RAM 또는 하드 디스크에 해당하는 기록매체인 것을 특징으로 하는 DB 관리 시스템.
  5. 제 1항에 있어서,
    상기 결과 관리 수단은,
    조회 명령일 경우 조회된 상기 결과 데이터를 임시 저장하고, 조회 명령, 삽입 명령, 수정 명령, 삭제 명령 및 제거 명령을 포함하는 상기 쿼리 명령의 실행 결과에 대한 처리 성공 코드를 리턴하는 결과 저장부를 포함하는 것을 특징으로 하는 DB 관리 시스템.
  6. 제 1항에 있어서,
    상기 DB는,
    T-트리 또는 B-트리 기반의 인덱스 구조에 의하여 대용량 데이터를 빠르게 검색할 수 있는 것을 특징으로 하는 DB 관리 시스템.
  7. 제 1항에 있어서,
    상기 DB는,
    서버 시스템으로부터 다운로딩 및 업로딩이 가능하여 소형 단말에서의 실행 명령에 대한 동기화를 지원하는 것을 특징으로 하는 DB 관리 시스템.
  8. 소형 단말이 갖는 소용량 메모리 및 프로세서 환경에서 DB를 구축하고, 소형 단말에 내장되는 응용 프로그램에서 SQL 명령에 의한 데이터 관리 인터페이스를 제공하는 라이브러리를 포함하여 DB에 저장된 데이터를 관리하는 DB 관리 방법에 있어서
    (S10)프로그램으로부터 쿼리 구문을 전달받고, 상기 쿼리 구문을 구문 분석하여 쿼리정보와 테이블정보로 분리하는 단계;
    (S20)상기 쿼리정보와 테이블정보를 이용하여 DB를 대상으로 쿼리 명령을 수행하는 단계;
    (S30)상기 쿼리 명령에 따라서 상기 DB로부터 조회된 결과 데이터 및 쿼리 수행의 결과 코드를 전달받는 단계; 및
    (S40)상기 결과 데이터 및 결과 코드를 상기 프로그램으로 리턴하는 단계
    를 포함하는 것을 특징으로 하는 소규모 단말 환경에서 임베딩을 통하여 구축한 DB 관리 방법.
  9. 제 8항에 있어서,
    상기 단계(S10)는,
    상기 쿼리 구문을 문자열로 분리하여 구문분석하고, 쿼리 명령, 테이블정보, 칼럼정보 및 조건정보(where 조건)를 포함하는 상기 쿼리정보를 생성하고, 테이블 생성 명령일 경우 테이블 및 그 테이블의 인덱스를 포함하는 상기 테이블정보를 생성하는 단계인 것을 특징으로 하는 DB 관리 방법.
  10. 제 8항에 있어서,
    상기 단계(S20)는,
    상기 쿼리 명령을 생성(create) 명령, 조회(select) 명령, 삽입(insert) 명령, 수정(update) 명령 및 제거(drop) 명령으로 분류하고, 분류된 개별 명령을 해당하는 DB에 적용하여 데이터 처리를 수행하는 단계인 것을 특징으로 하는 DB 관리 방법.
  11. 제 8항에 있어서,
    상기 단계(S30)는,
    조회 명령일 경우 조회된 상기 결과 데이터를 임시 저장하고, 조회 명령, 삽입 명령, 수정 명령, 삭제 명령 및 제거 명령을 포함하는 상기 쿼리 명령의 실행 결과에 대한 처리 성공 코드를 전달받는 단계인 것을 특징으로 하는 DB 관리 방법.
KR1020060042583A 2005-12-15 2006-05-11 소규모 단말 환경에서 임베딩을 통하여 구축한 db 관리시스템 및 그 db 관리 방법 KR20070064224A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050124087 2005-12-15
KR1020050124087 2005-12-15

Publications (1)

Publication Number Publication Date
KR20070064224A true KR20070064224A (ko) 2007-06-20

Family

ID=38364036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060042583A KR20070064224A (ko) 2005-12-15 2006-05-11 소규모 단말 환경에서 임베딩을 통하여 구축한 db 관리시스템 및 그 db 관리 방법

Country Status (1)

Country Link
KR (1) KR20070064224A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101020234B1 (ko) * 2009-01-16 2011-03-08 정해영 데이터베이스 응용 프로그램 소스 생성 방법 및 장치
KR20150123603A (ko) * 2014-04-25 2015-11-04 네이버 주식회사 데이터베이스 관리 방법 및 데이터베이스 관리 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101020234B1 (ko) * 2009-01-16 2011-03-08 정해영 데이터베이스 응용 프로그램 소스 생성 방법 및 장치
KR20150123603A (ko) * 2014-04-25 2015-11-04 네이버 주식회사 데이터베이스 관리 방법 및 데이터베이스 관리 시스템

Similar Documents

Publication Publication Date Title
US8997070B2 (en) Extension mechanism for scripting language compiler
US8959106B2 (en) Class loading using java data cartridges
US11354284B2 (en) System and method for migration of a legacy datastore
US9141678B2 (en) Distributed query cache in a database system
KR101083563B1 (ko) 데이터베이스 관리 방법 및 시스템
CN105447156A (zh) 资源描述框架分布式引擎及增量式更新方法
CN107766526B (zh) 数据库访问方法、装置及系统
US7617250B2 (en) Semantic file system
EP3384385B1 (en) Methods and systems for mapping object oriented/functional languages to database languages
CN106933869B (zh) 一种操作数据库的方法和装置
CN113204571B (zh) 涉及写入操作的sql执行方法、装置及存储介质
CN102999600A (zh) 一种嵌入式数据库自动生成方法和系统
CN111078279A (zh) 字节码文件的处理方法、装置、设备及存储介质
CN107145538B (zh) 表格数据查询方法、装置与系统
CN114356964A (zh) 数据血缘构建方法、装置、存储介质及电子设备
CN113515564A (zh) 基于j2ee的数据访问方法、装置、设备及存储介质
KR20070064224A (ko) 소규모 단말 환경에서 임베딩을 통하여 구축한 db 관리시스템 및 그 db 관리 방법
CN111324803A (zh) 搜索引擎的查询请求处理方法、装置及客户端
CN116049153B (zh) 数据库的数据处理方法、装置、电子设备及存储介质
US20090171922A1 (en) System and Method for Dynamically Exposing SQL Statements as Web Protocols
CN109976754B (zh) 一种信息显示的方法及其终端
CN114063943A (zh) 数据传输系统、方法、装置、介质和设备
US8010339B2 (en) Storage device that provides efficient, updatable national language support for a mobile device
CN113297199B (zh) 时空数据引擎的使用方法、装置及Cassandra数据库系统
US20240176823A1 (en) Regular expression matching in dictionary-encoded strings

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application