KR100290623B1 - 데이터베이스의 데이터 제어방법 - Google Patents

데이터베이스의 데이터 제어방법 Download PDF

Info

Publication number
KR100290623B1
KR100290623B1 KR1019990006113A KR19990006113A KR100290623B1 KR 100290623 B1 KR100290623 B1 KR 100290623B1 KR 1019990006113 A KR1019990006113 A KR 1019990006113A KR 19990006113 A KR19990006113 A KR 19990006113A KR 100290623 B1 KR100290623 B1 KR 100290623B1
Authority
KR
South Korea
Prior art keywords
data
database
intermediate code
edml
rules
Prior art date
Application number
KR1019990006113A
Other languages
English (en)
Other versions
KR20000056629A (ko
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 이계철
Priority to KR1019990006113A priority Critical patent/KR100290623B1/ko
Publication of KR20000056629A publication Critical patent/KR20000056629A/ko
Application granted granted Critical
Publication of KR100290623B1 publication Critical patent/KR100290623B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 주메모리 상주 데이터베이스의 데이터를 효율적으로 제어하여 데이터 제어규칙을 개발하는데 소요되는 시간을 줄일 수 있도록 한 데이터베이스의 데이터 제어방법에 관한 것으로, 사용자가 작성한 데이터 생성 규칙, 데이터 추출 규칙, 데이터 검증 규칙, 국데이터 스펙, 국데이터를 EDML처리 번역기로 구문해석하여 중간코드를 생성하고, 생성된 중간코드는 가상머신이 수행하면서 데이터를 제어함으로써, 데이터 정제 규칙들이 변경될 때 마다 번거로운 작업을 하지 않아도 되므로 신속하게 데이터를 생성, 추출, 검증하게 된다.

Description

데이터베이스의 데이터 제어방법{A method of controlling data of database}
본 발명은 데이터베이스의 데이터 제어방법에 관한 것으로, 보다 상세하게는 주메모리 상주 데이터베이스를 운용하는 시스템에 사용되는 데이터베이스의 데이터를 효과적으로 생성/추출/검증시키는 방법에 관한 것이다.
종래 데이터베이스의 데이터를 제어할 경우 C언어와 EDML(Embedded Data Manipulation Language)을 이용하는데, EDML 전처리기를 이용하여 C언어와 EDML을 C 코드로 변환한 후 C컴파일러를 이용하여 실행할 수 있는 목적 코드를 생성시키고 나서 이 목적 코드를 이용하여 데이터를 생성시키거나 추출한다.
그런데, 목적 코드에 논리적 오류가 생길 경우와 릴레이션의 변경/추가가 생길 경우 및 여러 규칙들이 변경되었을 경우에 목적 코드를 다시 생성시켜야 하는 번거로움이 있을 뿐 아니라 시간이 많이 걸리므로 생산성에 문제가 있고 비효율적이다.
따라서 본 발명은 상기한 종래 사정을 감안하여 이루어진 것으로, 주메모리 상주 데이터베이스의 데이터를 효율적으로 제어하여 데이터 제어규칙을 개발하는데 소요되는 시간을 줄일 수 있도록 한 데이터베이스의 데이터 제어방법을 제공함에 목적이 있다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 실시예에 따른 데이터베이스의 데이터 제어방법은, 입력되는 규칙 또는 데이터의 정확성 여부를 파악하는 제 1과정과,
상기 입력 규칙 또는 입력 데이터가 정확하면 구문해석을 하여 중간코드를 생성하는 제 2과정 및,
상기 생성된 중간코드를 수행하여 데이터를 생성/추출/검증하는 제 3과정을 구비한다.
도 1은 본 발명에 채용되는 시스템 구성도,
도 2는 본 발명의 실시예에 따른 데이터베이스의 데이터 제어방법을 설명하는 흐름도,
도 3은 도 2에서 중간 코드 생성 및 수행을 설명하는 흐름도이다.
〈 도면의 주요부분에 대한 부호의 설명>
20 : 데이터 입력부 21 : 데이터 번역부
22 : 데이터 입력 오류 검출부 23 : 중간코드 생성부
24 : 중간코드 수행수단 25 : 중간코드 번역부
26 : 중간코드 오류 검출부 27 : 데이터베이스 갱신부
28 : 일반수식 수행부 29 : 데이터베이스
이하, 본 발명의 실시예에 대해 첨부된 도면을 참조하여 보다 상세히 설명한다.
도 1은 본 발명에 채용되는 시스템 구성도로서, 데이터 입력부(20)는 사용자가 작성한 규칙(생성규칙, 추출규칙, 검증규칙)이나 입력 데이터를 읽어 들인다. 규칙과 입력 데이터는 파일 형태로 입력된다. 입력된 데이터는 데이터 번역부(21)에서 번역되며 번역 중에 오류가 있을 시에는 데이터 입력 오류 검출부(22)에서 오류를 검출한다. 입력 데이터에 오류가 없을 시에는 중간코드 생성부(23)에서 중간코드를 생성한다. 생성된 중간코드는 중간코드 수행수단(24)에서 수행한다. 중간코드는 제일 먼저 중간코드 번역부(25)에서 번역되고 번역 중에 오류가 있을 시에는 중간코드 오류 검출부(26)에서 오류를 검출한다. 오류가 없을 시에는 중간코드를 실행한다. 중간코드가 EDML관련 코드이면 데이터베이스 갱신부(27)에서 처리한다. 데이터베이스(29)는 파일 형태로 존재하며 EDML관련 중간코드에 의해 조작된다. 중간코드가 EDML관련 코드가 아니고 일반수식 코드이면 일반수식 수행부(28)에서 처리된다.
여기서, 상기 EDML(Embedded Data Manipulation Language)은 응용프로그램이 데이터를 검색하고 변경할 수 있는 기능을 제공하는 데이터 베이스 언어로서, 응용프로그램과 데이터 베이스 관리 시스템 간의 고급 정합 언어이다.
도 2는 본 발명의 실시예에 따른 데이터베이스의 데이터 제어방법을 설명하는 흐름도이다.
먼저, 규칙(생성규칙, 추출규칙, 검증규칙)들이나 데이터가 입력되는데(단계 1), 이 입력된 규칙들 및 데이터는 텍스트 형태의 파일이다. 번역기는 그 파일을 읽은 다음 파일의 타입이 규칙인지 입력데이터 인지를 체크한다(단계 2). 규칙이나 입력 데이터가 아니면 번역기는 오류 메시지를 출력하고 수행을 중지한다(단계 3). 규칙이나 입력 데이터이면 조건에 맞게 구문해석을 한다(단계 4). 구문해석을 하면서 Syntax Error(구문 오류)와 일부 Semantic Error(의미상의 오류)를 검출한다(단계 5). 오류가 없이 구문 해석이 끝나면 중간코드를 생성한다(단계 6). 중간코드는 메모리에 저장되며 가상 머신(7)이 처리할 수 있는 코드로 되어 있다. 중간코드 생성이 끝나면 가상 머신(7)은 중간코드를 수행한다(단계 8). 중간코드를 수행하면서 데이터를 생성, 추출, 검증한다.
도 3은 도 2에서 중간코드 생성 및 수행을 상세히 설명하는 흐름도이다.
규칙들이 입력되면(단계 9) 제일 먼저 번역기에 맞는 토큰이 입력되어 있는지를 분석한다(단계 10). 토큰분석이 제대로 수행되지 않으면 오류 메시지를 출력하고 수행을 중지한다(단계 11). 입력되는 규칙들에 사용되는 변수 들은 일반 수식 문장이나 EDML을 분석하기 전에 선언되어야 한다. 변수들을 쓰지 않는다면 변수 선언을 할 필요는 없다. 변수가 선언이 되었다면 변수들을 변수 심볼 테이블에 저장한다(단계 12). 상기 변수 심볼 테이블은 일반 수식 문장이나 EDML에서 사용하는 변수가 선언되어 있는지를 체크할 때 쓰인다. 변수 선언이 끝난 후 EDML이나 일반 수식 문장을 분석한다(단계 13). 일반 수식 문장일 경우에는 일반 수식 문장이 문법에 맞는지 변수를 올바르게 사용했는지를 체크(단계 14)한 후 중간코드를 생성한다(단계 16). EDML인 경우에는 EDML의 문법을 체크(단계 15)한 후 사용되는 릴레이션이 정의되어 있는지를 체크한 후 중간코드를 생성한다(단계 16). 상술한 단계 10∼16의 동작은 입력데이터가 끝날 때까지 반복된다. 입력데이터가 완료되면 중간코드를 수행한다. 중간코드 수행은 제일 먼저 중간코드를 분석한다(단계 17). 중간코드를 분석하여 EDML 코드 중 갱신(UPDATE)이나 삽입(INSERT), 삭제(DELETE)인 경우에는 데이터베이스(29)를 갱신하며, 그 밖에의 EDML 코드인 경우에는 데이터베이스(29)에서 선택하여 데이터를 읽어온다(단계 19). 중간코드가 EDML이 아닌 경우에는 일반 4칙연산을 포함한 연산자들을 수행한다(단계 18). 중간코드가 완료 될 때까지 상술한 단계 17∼19의 동작을 계속적으로 반복한다.
여기서, 상기 릴레이션들의 정보는 카탈로그(CATALOG)에 정의되고, 상기 릴레이션들은 데이터베이스를 구축하는데 필요한 데이터이며, EDML에서 사용되는 릴레이션은 카탈로그를 참조하여 체크한다.
이상 설명한 바와 같은 본 발명에 의하면, 모든 입력 데이터(데이터 생성 규칙, 데이터 추출 규칙, 데이터 검증, 국데이터 Spec., 국데이터)를 실시간 처리하므로 오류발생시 빠르게 대처할 수 있어 생산성을 높일 수 있을 뿐 아니라 새로운 규칙들을 쉽게 적용할 수 있다.
따라서, 본 발명을 적용함으로써 데이터 정제 규칙들이 변경될 때 마다 번거로운 작업을 하지 않아도 되므로 신속하게 데이터를 생성, 추출, 검증할 수 있다.
한편 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있다.

Claims (10)

  1. 입력되는 규칙 또는 데이터의 정확성 여부를 파악하는 제 1과정과,
    상기 입력 규칙 또는 입력 데이터가 정확하면 구문해석을 하여 중간코드를 생성하는 제 2과정 및,
    상기 생성된 중간코드를 수행하여 데이터를 생성/추출/검증하는 제 3과정을 구비하는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  2. 제 1항에 있어서,
    상기 입력되는 규칙 또는 데이터는 텍스트 형태의 파일인 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  3. 제 2항에 있어서,
    상기 1과정에서의 정확성 여부파악은 상기 파일의 타입을 분석함에 의해 행해지는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  4. 제 1항에 있어서,
    상기 제 2과정에서의 구문 해석시 구문 오류 및 의미상의 오류를 검출하는
    것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  5. 제 1항에 있어서,
    상기 제 2과정은 입력되는 규칙에 대한 토큰이 올바른지 판단하는 단계와; 올바르면 상기 입력되는 규칙의 변수선언 여부에 따라 일반 수식 문장 또는 EDML이 선언되었는지를 분석하는 단계 및; 상기 일반 수식 문장일 경우에는 일반 수식 문장의 문법 및 변수의 정확성 여부를 체크한 후 중간코드를 생성하는 반면, 상기 EDML일 경우에는 EDML의 문법을 체크하고 사용되는 릴레이션이 정의되어 있는지를 체크한 후 중간코드를 생성하는 단계를 구비하고;
    상기 중간코드 생성동작은 입력데이터가 완료될 때까지 행해지는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  6. 제 5항에 있어서,
    상기 토큰이 비정상인 경우에는 오류 메시지를 출력하고 수행을 중지하는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  7. 제 5항에 있어서,
    상기 입력되는 규칙에 대한 변수는 상기 일반 수식 문장 또는 EDML을 분석하기 전에 선언되는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  8. 제 7항에 있어서,
    상기 변수가 선언되면 변수 심볼 테이블에 저장되는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  9. 제 8항에 있어서,
    상기 일반 수식 문장 또는 EDML이 선언되었는지에 대한 분석은 상기 변수 심볼 테이블을 체크함에 의해 행해지는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
  10. 제 1항에 있어서,
    상기 제 3과정은 최종적으로 생성된 중간코드를 분석하는 단계와; 상기 분석결과 EDML코드중 갱신/삽입/삭제일 경우에는 데이터베이스를 갱신하고, 그 이외의 EDML코드인 경우에는 데이터베이스에서 선택하여 데이터를 읽어오며, 상기 EDML코드가 아닌 경우에는 일반 사칙연산을 포함한 연산자를 수행하는 단계를 구비하는 것을 특징으로 하는 데이터베이스의 데이터 제어방법.
KR1019990006113A 1999-02-24 1999-02-24 데이터베이스의 데이터 제어방법 KR100290623B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990006113A KR100290623B1 (ko) 1999-02-24 1999-02-24 데이터베이스의 데이터 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990006113A KR100290623B1 (ko) 1999-02-24 1999-02-24 데이터베이스의 데이터 제어방법

Publications (2)

Publication Number Publication Date
KR20000056629A KR20000056629A (ko) 2000-09-15
KR100290623B1 true KR100290623B1 (ko) 2001-05-15

Family

ID=19574942

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990006113A KR100290623B1 (ko) 1999-02-24 1999-02-24 데이터베이스의 데이터 제어방법

Country Status (1)

Country Link
KR (1) KR100290623B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101442659B1 (ko) * 2013-03-27 2014-09-23 (주)티베로 벌크 dml 처리가 가능한 psm 컴파일러 최적화 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920014055A (ko) * 1990-12-31 1992-07-30 경상현 전전자 교환기의 dbms에서의 직접 접근 방법
KR920014101A (ko) * 1990-12-31 1992-07-30 경상현 전전자 교환기의 dbms에서 가상 데이타베이스를 이용한 데이타 베이스 접근방법.
JPH04299459A (ja) * 1991-03-27 1992-10-22 Nec Corp データベースアクセスシステム
KR960018924A (ko) * 1994-11-24 1996-06-17 양승택 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
KR970056198A (ko) * 1995-12-23 1997-07-31 김광호 교환시스템의 데이타베이스 생성 방법
JPH1021125A (ja) * 1996-06-28 1998-01-23 Nec Corp 分散データベースシステムの所在管理方式

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920014055A (ko) * 1990-12-31 1992-07-30 경상현 전전자 교환기의 dbms에서의 직접 접근 방법
KR920014101A (ko) * 1990-12-31 1992-07-30 경상현 전전자 교환기의 dbms에서 가상 데이타베이스를 이용한 데이타 베이스 접근방법.
JPH04299459A (ja) * 1991-03-27 1992-10-22 Nec Corp データベースアクセスシステム
KR960018924A (ko) * 1994-11-24 1996-06-17 양승택 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
KR970056198A (ko) * 1995-12-23 1997-07-31 김광호 교환시스템의 데이타베이스 생성 방법
JPH1021125A (ja) * 1996-06-28 1998-01-23 Nec Corp 分散データベースシステムの所在管理方式

Also Published As

Publication number Publication date
KR20000056629A (ko) 2000-09-15

Similar Documents

Publication Publication Date Title
US10146532B2 (en) Apparatus and method for detecting code cloning of software
US7711685B1 (en) Method and system for an extensible macro language
US11775414B2 (en) Automated bug fixing using deep learning
US9823902B2 (en) Editing source code
US7917899B2 (en) Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus
US9122540B2 (en) Transformation of computer programs and eliminating errors
JPS6375835A (ja) 目的コ−ド、プログラム・リスト及び設計文書を生成する装置
US7779049B1 (en) Source level optimization of regular expressions
Tran et al. Does BLEU score work for code migration?
CN115309451A (zh) 代码克隆检测方法、装置、设备、存储介质及程序产品
CN111459500A (zh) 基于海鹰翼辉操作系统的安全编译方法及装置
CN114911711A (zh) 一种代码缺陷分析方法、装置、电子设备及存储介质
JP2008299723A (ja) プログラム検証方法、プログラム検証装置
CN103049504A (zh) 基于源代码查询的半自动插桩方法
US6983457B2 (en) Compile method for storing source code within object code
KR100290623B1 (ko) 데이터베이스의 데이터 제어방법
KR20090011974A (ko) 컴파일 대상 파일 추출 방법
US20170024193A1 (en) Method and device for managing ambiguities in the analysis of a source code
CN111796832B (zh) 热补丁文件生成方法、装置、设备及存储介质
US20240078435A1 (en) Systems and methods for unit test generation using reinforcement learning augmented transformer architectures
JP5343840B2 (ja) プログラムの解析装置及び解析方法
KR20010063805A (ko) 씨 프로그램의 구문 분석방법
JP3141945B2 (ja) コンパイル装置
JP2002082811A (ja) コンパイル方法および記録媒体
JP6447358B2 (ja) ソースコード生成プログラム、ソースコード生成方法およびコンピュータ

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100302

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee