KR20000056629A - A method of controlling data of database - Google Patents
A method of controlling data of database Download PDFInfo
- Publication number
- KR20000056629A KR20000056629A KR1019990006113A KR19990006113A KR20000056629A KR 20000056629 A KR20000056629 A KR 20000056629A KR 1019990006113 A KR1019990006113 A KR 1019990006113A KR 19990006113 A KR19990006113 A KR 19990006113A KR 20000056629 A KR20000056629 A KR 20000056629A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- database
- intermediate code
- edml
- rule
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming 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
Description
본 발명은 데이터베이스의 데이터 제어방법에 관한 것으로, 보다 상세하게는 주메모리 상주 데이터베이스를 운용하는 시스템에 사용되는 데이터베이스의 데이터를 효과적으로 생성/추출/검증시키는 방법에 관한 것이다.The present invention relates to a data control method of a database, and more particularly, to a method for effectively generating / extracting / verifying data of a database used in a system operating a main memory resident database.
종래 데이터베이스의 데이터를 제어할 경우 C언어와 EDML(Embedded Data Manipulation Language)을 이용하는데, EDML 전처리기를 이용하여 C언어와 EDML을 C 코드로 변환한 후 C컴파일러를 이용하여 실행할 수 있는 목적 코드를 생성시키고 나서 이 목적 코드를 이용하여 데이터를 생성시키거나 추출한다.When controlling the data of a conventional database, C language and EDML (Embedded Data Manipulation Language) are used. After converting C language and EDML to C code using the EDML preprocessor, the object code that can be executed using C compiler is generated. Then use this object code to generate or extract the data.
그런데, 목적 코드에 논리적 오류가 생길 경우와 릴레이션의 변경/추가가 생길 경우 및 여러 규칙들이 변경되었을 경우에 목적 코드를 다시 생성시켜야 하는 번거로움이 있을 뿐 아니라 시간이 많이 걸리므로 생산성에 문제가 있고 비효율적이다.However, when there is a logical error in the object code, when there is a change / addition of relations, and when various rules are changed, there is a problem in productivity because it takes time and time to regenerate the object code. Inefficient
따라서 본 발명은 상기한 종래 사정을 감안하여 이루어진 것으로, 주메모리 상주 데이터베이스의 데이터를 효율적으로 제어하여 데이터 제어규칙을 개발하는데 소요되는 시간을 줄일 수 있도록 한 데이터베이스의 데이터 제어방법을 제공함에 목적이 있다.Accordingly, the present invention has been made in view of the above-described conventional situation, and an object of the present invention is to provide a data control method of a database which can reduce the time required to develop data control rules by efficiently controlling data in a main memory resident database. .
상기한 목적을 달성하기 위해 본 발명의 바람직한 실시예에 따른 데이터베이스의 데이터 제어방법은, 입력되는 규칙 또는 데이터의 정확성 여부를 파악하는 제 1과정과,In order to achieve the above object, a data control method of a database according to an exemplary embodiment of the present invention includes a first process of determining whether an input rule or data is correct;
상기 입력 규칙 또는 입력 데이터가 정확하면 구문해석을 하여 중간코드를 생성하는 제 2과정 및,A second step of generating an intermediate code by parsing if the input rule or input data is correct;
상기 생성된 중간코드를 수행하여 데이터를 생성/추출/검증하는 제 3과정을 구비한다.And a third process of generating / extracting / verifying data by performing the generated intermediate code.
도 1은 본 발명에 채용되는 시스템 구성도,1 is a system configuration employed in the present invention,
도 2는 본 발명의 실시예에 따른 데이터베이스의 데이터 제어방법을 설명하는 흐름도,2 is a flowchart illustrating a data control method of a database according to an embodiment of the present invention;
도 3은 도 2에서 중간 코드 생성 및 수행을 설명하는 흐름도이다.FIG. 3 is a flowchart illustrating an intermediate code generation and execution in FIG. 2.
〈 도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for the main parts of the drawings>
20 : 데이터 입력부 21 : 데이터 번역부20: data input unit 21: data translation unit
22 : 데이터 입력 오류 검출부 23 : 중간코드 생성부22: data input error detection unit 23: intermediate code generation unit
24 : 중간코드 수행수단 25 : 중간코드 번역부24: intermediate code execution means 25: intermediate code translation unit
26 : 중간코드 오류 검출부 27 : 데이터베이스 갱신부26: intermediate code error detection unit 27: database update unit
28 : 일반수식 수행부 29 : 데이터베이스28: general formula execution unit 29: database
이하, 본 발명의 실시예에 대해 첨부된 도면을 참조하여 보다 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 채용되는 시스템 구성도로서, 데이터 입력부(20)는 사용자가 작성한 규칙(생성규칙, 추출규칙, 검증규칙)이나 입력 데이터를 읽어 들인다. 규칙과 입력 데이터는 파일 형태로 입력된다. 입력된 데이터는 데이터 번역부(21)에서 번역되며 번역 중에 오류가 있을 시에는 데이터 입력 오류 검출부(22)에서 오류를 검출한다. 입력 데이터에 오류가 없을 시에는 중간코드 생성부(23)에서 중간코드를 생성한다. 생성된 중간코드는 중간코드 수행수단(24)에서 수행한다. 중간코드는 제일 먼저 중간코드 번역부(25)에서 번역되고 번역 중에 오류가 있을 시에는 중간코드 오류 검출부(26)에서 오류를 검출한다. 오류가 없을 시에는 중간코드를 실행한다. 중간코드가 EDML관련 코드이면 데이터베이스 갱신부(27)에서 처리한다. 데이터베이스(29)는 파일 형태로 존재하며 EDML관련 중간코드에 의해 조작된다. 중간코드가 EDML관련 코드가 아니고 일반수식 코드이면 일반수식 수행부(28)에서 처리된다.1 is a system configuration diagram employed in the present invention, in which the data input unit 20 reads a rule (creation rule, extraction rule, verification rule) or input data created by a user. Rules and input data are entered in the form of a file. The input data is translated by the data translation unit 21, and when there is an error during translation, the data input error detection unit 22 detects an error. When there is no error in the input data, the intermediate code generator 23 generates an intermediate code. The generated intermediate code is executed by the intermediate code execution means 24. The intermediate code is first translated by the intermediate code translation unit 25, and when there is an error during translation, the intermediate code error detection unit 26 detects the error. If there is no error, the intermediate code is executed. If the intermediate code is an EDML related code, the database updater 27 processes it. The database 29 exists in the form of a file and is manipulated by EDML related intermediate code. If the intermediate code is not an EDML related code and is a general formula code, the intermediate code is processed by the general formula execution unit 28.
여기서, 상기 EDML(Embedded Data Manipulation Language)은 응용프로그램이 데이터를 검색하고 변경할 수 있는 기능을 제공하는 데이터 베이스 언어로서, 응용프로그램과 데이터 베이스 관리 시스템 간의 고급 정합 언어이다.Here, the EDML (Embedded Data Manipulation Language) is a database language that provides a function for the application to retrieve and change data, and is an advanced matching language between the application and the database management system.
도 2는 본 발명의 실시예에 따른 데이터베이스의 데이터 제어방법을 설명하는 흐름도이다.2 is a flowchart illustrating a data control method of a database according to an embodiment of the present invention.
먼저, 규칙(생성규칙, 추출규칙, 검증규칙)들이나 데이터가 입력되는데(단계 1), 이 입력된 규칙들 및 데이터는 텍스트 형태의 파일이다. 번역기는 그 파일을 읽은 다음 파일의 타입이 규칙인지 입력데이터 인지를 체크한다(단계 2). 규칙이나 입력 데이터가 아니면 번역기는 오류 메시지를 출력하고 수행을 중지한다(단계 3). 규칙이나 입력 데이터이면 조건에 맞게 구문해석을 한다(단계 4). 구문해석을 하면서 Syntax Error(구문 오류)와 일부 Semantic Error(의미상의 오류)를 검출한다(단계 5). 오류가 없이 구문 해석이 끝나면 중간코드를 생성한다(단계 6). 중간코드는 메모리에 저장되며 가상 머신(7)이 처리할 수 있는 코드로 되어 있다. 중간코드 생성이 끝나면 가상 머신(7)은 중간코드를 수행한다(단계 8). 중간코드를 수행하면서 데이터를 생성, 추출, 검증한다.First, rules (generation rules, extraction rules, verification rules) or data are entered (step 1), and the entered rules and data are files in text form. The translator reads the file and then checks whether the file type is a rule or input data (step 2). If it is not a rule or input data, the translator outputs an error message and stops executing (step 3). If it is a rule or input data, parse it according to the condition (step 4). Syntax detection detects Syntax Error and some Semantic Errors (Step 5). After parsing without errors, generate intermediate code (step 6). The intermediate code is stored in memory and is code that the virtual machine 7 can process. After generation of the intermediate code, the virtual machine 7 executes the intermediate code (step 8). Create, extract, and verify data while executing intermediate code.
도 3은 도 2에서 중간코드 생성 및 수행을 상세히 설명하는 흐름도이다.3 is a flowchart illustrating the generation and execution of intermediate code in FIG.
규칙들이 입력되면(단계 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의 동작을 계속적으로 반복한다.Once the rules are entered (step 9), the first step is to analyze whether the correct token is entered (step 10). If token analysis is not performed properly, an error message is output and execution is stopped (step 11). Variables used in the entered rules must be declared before parsing regular expression statements or EDML. If you don't use variables, you don't have to declare them. If the variable is declared, store the variable in the variable symbol table (step 12). The variable symbol table is used to check whether a variable used in a general expression sentence or EDML is declared. After declaring the variable, parse the EDML or regular expression statement (step 13). In the case of a general formula sentence, an intermediate code is generated after checking whether the general formula sentence conforms to a grammar or correctly using a variable (step 14). In the case of EDML, an intermediate code is generated after checking the syntax of EDML (step 15) and checking whether a relation to be used is defined (step 16). The above operations of steps 10 to 16 are repeated until the input data ends. When the input data is completed, the intermediate code is executed. Intermediate code execution first analyzes the intermediate code (step 17). The intermediate code is analyzed to update the database 29 in the case of UPDATE, INSERT, or DELETE among the EDML codes, and in the case of other EDML codes, the database 29 is selected to select data. Read it (step 19). If the intermediate code is not EDML, the operators including general arithmetic are performed (step 18). The above operations of steps 17 to 19 are continuously repeated until the intermediate code is completed.
여기서, 상기 릴레이션들의 정보는 카탈로그(CATALOG)에 정의되고, 상기 릴레이션들은 데이터베이스를 구축하는데 필요한 데이터이며, EDML에서 사용되는 릴레이션은 카탈로그를 참조하여 체크한다.Here, information of the relations is defined in a catalog (CATALOG), the relations are data necessary to build a database, and the relation used in the EDML is checked with reference to the catalog.
이상 설명한 바와 같은 본 발명에 의하면, 모든 입력 데이터(데이터 생성 규칙, 데이터 추출 규칙, 데이터 검증, 국데이터 Spec., 국데이터)를 실시간 처리하므로 오류발생시 빠르게 대처할 수 있어 생산성을 높일 수 있을 뿐 아니라 새로운 규칙들을 쉽게 적용할 수 있다.According to the present invention as described above, since all input data (data generation rule, data extraction rule, data verification, station data Spec., Station data) is processed in real time, it is possible to cope quickly when an error occurs and increase productivity as well as new. Rules can be easily applied.
따라서, 본 발명을 적용함으로써 데이터 정제 규칙들이 변경될 때 마다 번거로운 작업을 하지 않아도 되므로 신속하게 데이터를 생성, 추출, 검증할 수 있다.Therefore, by applying the present invention, it is possible to quickly generate, extract, and verify data since the data refinement rules do not have to be cumbersome every time the data is changed.
한편 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있다.On the other hand, the present invention is not limited only to the above-described embodiments, but may be modified and modified without departing from the scope of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990006113A KR100290623B1 (en) | 1999-02-24 | 1999-02-24 | A method of controlling data of database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990006113A KR100290623B1 (en) | 1999-02-24 | 1999-02-24 | A method of controlling data of database |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000056629A true KR20000056629A (en) | 2000-09-15 |
KR100290623B1 KR100290623B1 (en) | 2001-05-15 |
Family
ID=19574942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990006113A KR100290623B1 (en) | 1999-02-24 | 1999-02-24 | A method of controlling data of database |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100290623B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101442659B1 (en) * | 2013-03-27 | 2014-09-23 | (주)티베로 | Psm compiler optimization apparatus and method for bulk-dml processing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR930009855B1 (en) * | 1990-12-31 | 1993-10-12 | 한국전기통신공사 | Direct access method of dbms |
KR930010951B1 (en) * | 1990-12-31 | 1993-11-17 | 한국전기통신공사 | Database in switching centre |
JPH04299459A (en) * | 1991-03-27 | 1992-10-22 | Nec Corp | Data base access system |
KR0123247B1 (en) * | 1994-11-24 | 1997-11-21 | 양승택 | Real-time processing method of dbms |
KR100353452B1 (en) * | 1995-12-23 | 2002-12-26 | 삼성전자 주식회사 | Method for producing data base of exchange system |
JP2976891B2 (en) * | 1996-06-28 | 1999-11-10 | 日本電気株式会社 | Remote database access method |
-
1999
- 1999-02-24 KR KR1019990006113A patent/KR100290623B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101442659B1 (en) * | 2013-03-27 | 2014-09-23 | (주)티베로 | Psm compiler optimization apparatus and method for bulk-dml processing |
US9053150B2 (en) | 2013-03-27 | 2015-06-09 | Tibero Co., Ltd. | PSM compiler optimizer and method for processing bulk DML |
Also Published As
Publication number | Publication date |
---|---|
KR100290623B1 (en) | 2001-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775414B2 (en) | Automated bug fixing using deep learning | |
US7711685B1 (en) | Method and system for an extensible macro language | |
US9710243B2 (en) | Parser that uses a reflection technique to build a program semantic tree | |
US9122540B2 (en) | Transformation of computer programs and eliminating errors | |
US7917899B2 (en) | Program development apparatus, method for developing a program, and a computer program product for executing an application for a program development apparatus | |
US20060225052A1 (en) | Method for handling preprocessing in source code transformation | |
JPS6375835A (en) | Apparatus for generating intended code, program, list and design document | |
Tran et al. | Does BLEU score work for code migration? | |
CN105260223B (en) | A kind of SCPI command definitions, the method for parsing, execution and test | |
CN111459500A (en) | Safety compiling method and device based on sea eagle wing brightness operating system | |
CN114911711A (en) | Code defect analysis method and device, electronic equipment and storage medium | |
CN103049504A (en) | Semi-automatic instrumentation method based on source code inquiring | |
KR20090011974A (en) | Method for extracting the target files of compilation | |
KR100290623B1 (en) | A method of controlling data of database | |
WO2023138078A1 (en) | Method and apparatus for parsing programming language, and non-volatile storage medium | |
US20170024193A1 (en) | Method and device for managing ambiguities in the analysis of a source code | |
Grigorev et al. | String-embedded language support in integrated development environment | |
Tomassetti et al. | Extracting variability from C and lifting it to mbeddr | |
Guillermo et al. | Towards a Faster Incremental Packrat Parser | |
JP3141945B2 (en) | Compiling device | |
JP2002082811A (en) | Compiling method and recording medium | |
JPH07121379A (en) | Plural languages mixing compiler | |
KR20010063805A (en) | Method for lexical analysis for c program | |
Deligiannis et al. | RustAssistant: Using LLMs to Fix Compilation Errors in Rust Code | |
Liu et al. | Context-Aware Automatic Code Segment Extraction and Refactoring in Object-Oriented Systems |
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 |