KR20170077935A - An update system for the database by using spreadsheet interface - Google Patents
An update system for the database by using spreadsheet interface Download PDFInfo
- Publication number
- KR20170077935A KR20170077935A KR1020150187691A KR20150187691A KR20170077935A KR 20170077935 A KR20170077935 A KR 20170077935A KR 1020150187691 A KR1020150187691 A KR 1020150187691A KR 20150187691 A KR20150187691 A KR 20150187691A KR 20170077935 A KR20170077935 A KR 20170077935A
- Authority
- KR
- South Korea
- Prior art keywords
- worksheet
- data
- update
- record
- database
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 32
- 239000000284 extract Substances 0.000 claims description 4
- 238000003672 processing method Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 32
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 14
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 3
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 3
- 230000008676 import Effects 0.000 description 3
- 101001023021 Homo sapiens LIM domain-binding protein 3 Proteins 0.000 description 2
- 102100035112 LIM domain-binding protein 3 Human genes 0.000 description 2
- 240000002853 Nelumbo nucifera Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G06F17/30345—
-
- G06F17/246—
-
- G06F17/30312—
-
- G06F17/30339—
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 데이터베이스로부터 데이터를 가져와서 워크시트 상에 표시하고, 표시된 워크시트 상에서 갱신된 데이터를 상기 데이터베이스에 반영하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 관한 것으로서, 상기 데이터베이스로부터 대상 테이블을 요청하여 가져오는 데이터 요청부; 스프레드시트 인터페이스를 제공하고, 워크시트를 생성하여, 상기 대상 테이블의 구조와 레코드 데이터를 상기 워크시트 상에 표시하는 워크시트 표시부; 상기 스프레드시트 인터페이스를 통한 사용자의 입력에 따라 상기 워크시트 상의 레코드 데이터를 갱신하는 워크시트 갱신부; 상기 워크시트 상에서 갱신된 레코드를 검출하고, 갱신된 레코드의 테이블 구조와 레코드 데이터를 정의하는 갱신정의부; 정의된 레코드의 테이블 구조와 레코드 데이터로부터 갱신된 레코드를 상기 데이터베이스에 반영하기 위한 쿼리문을 생성하는 쿼리생성부; 및, 생성된 쿼리문을 상기 데이터베이스에 전송하여 상기 대상 테이블을 갱신하는 DB갱신부를 포함하는 구성을 마련한다.
상기와 같은 방법에 의하여, 스프레드시트 형태로 데이터를 가져와서 직접 수정하면 해당 데이터베이스의 테이블이 갱신되므로, 사용자는 쿼리문 등 데이터베이스 처리 방법에 대한 지식 없이도 데이터베이스를 갱신할 수 있다.
The present invention relates to a database updating system using a spreadsheet interface that fetches data from a database and displays it on a worksheet and reflects the updated data on the displayed worksheet to the database. An incoming data requesting unit; A worksheet display unit that provides a spreadsheet interface, generates a worksheet, and displays the structure of the target table and record data on the worksheet; A worksheet updating unit for updating the record data on the worksheet according to a user's input through the spreadsheet interface; An update definition unit that detects an updated record on the worksheet and defines a table structure and record data of the updated record; A query generating unit for generating a query statement for reflecting the table structure of the defined record and the record updated from the record data to the database; And a DB update unit for transmitting the generated query statement to the database to update the target table.
By fetching data in the form of a spreadsheet and directly modifying the table by the above method, the table of the corresponding database is updated, so that the user can update the database without knowledge of the database processing method such as the query statement.
Description
본 발명은 데이터베이스로부터 데이터셋을 가져와서, 엑셀 등 스프레드시트 인터페이스 시스템에서 표시하고, 스프레드시트 인터페이스 상에서 사용자에 의해 수정된 데이터를 반영하여, 상기 데이터베이스를 갱신하는, 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 관한 것이다.The present invention relates to a database update system using a spreadsheet interface that fetches a data set from a database and displays it on a spreadsheet interface system such as Excel and reflects the data modified by the user on the spreadsheet interface to update the database .
일반적으로, 웹 상에서 데이터베이스를 갱신(update)하기 위해서는, 데이터베이스를 처리하는 웹 프로그램과 이를 지시하기 위한 쿼리문이 필요하다. 즉, 데이터베이스 관리 시스템에서 SQL 수준에 의하여 갱신 연산이 수행된다[특허문헌 1].Generally, in order to update a database on the Web, a web program for processing the database and a query statement for instructing it are needed. That is, the update operation is performed by the SQL level in the database management system [Patent Document 1].
구체적으로, 데이터베이스에 특정 테이블에 기록된 데이터를 입력하거나, 수정 또는 삭제하기 위해서는, JSP(JavaServer Pages), ASP(Active Server Pages), PHP(Hypertext Preprocessor) 등 서버 측 웹 프로그램을 통해 갱신된다. 구체적으로, 상기 서버 측 웹 프로그램은 데이터베이스와 연결하고, 대상 테이블의 데이터를 처리하기 위한 SQL문 등 쿼리문을 작성해야 한다. 작성된 쿼리문을 데이터베이스에 전송하고, 해당 쿼리를 처리하도록 요청하면, 데이터베이스는 수신한 해당 쿼리를 처리함으로써, 데이터베이스 내의 테이블들이 갱신된다.Specifically, in order to input, modify, or delete data recorded in a specific table in the database, it is updated through a server-side web program such as JavaServer Pages (JSP), Active Server Pages (ASP), or Hypertext Preprocessor (PHP). Specifically, the server-side Web program must connect to a database and create a query statement such as an SQL statement for processing data of the target table. If you send the created query statement to the database and request to process the query, the database processes the received query to update the tables in the database.
따라서 상기와 같은 웹 프로그램이 데이터베이스의 쿼리문을 처리하기 위하여, 각각의 테이블 또는 해당 항목별 웹 화면을 구성해야 한다. 또한, 대상 테이블의 개수만큼 입력 화면을 별도로 개발해야 하는 문제점이 있다. 따라서 각각의 쿼리문도 개발자가 직접 작성하여야 하므로, 시간과 공수가 많이 소요되는 문제점이 있다. 또한 만들어진 화면에서도 단건 데이터 또는 소량의 데이터만 핸들링이 가능하고, 대량 데이터 처리에는 불편함과 처리에 많은 시간이 소요된다.Therefore, in order for the web program to process the query of the database, the web screen for each table or item should be configured. In addition, there is a problem that an input screen must be separately developed for the number of target tables. Therefore, each query must be written by the developer himself, so that it takes a lot of time and lots of work. In addition, it is possible to handle only single data or a small amount of data in the created screen, and it is inconvenient for mass data processing and it takes much time to process.
이를 위해, 데이터베이스를 보다 효과적으로 수정하기 위하여, 네트워크 기반에서 원격 데이터베이스를 로컬에서 수정하는 다양한 기술들이 제시되고 있다. 일례로서, 사용자 장치 상에서 다차원 데이터베이스의 일부를 캐싱하고 수정하여, 이를 다차원 데이터베이스에 반영하여, 데이터베이스를 수정하는 기술이 제시되고 있다[특허문헌 2]. 또한, 주기적인 업데이트를 샌드파일 등 특정 파일 포맷을 이용하여 업데이트하는 기술이 제시되고 있다[특허문헌 3]. 또한, 부분 데이터베이스에서 서브셋 데이터베이스의 갱신을 처리하는 기술이 제시되고 있다[특허문헌 4].To this end, various techniques for locally modifying a remote database on a network basis have been proposed to more effectively modify the database. As an example, a technology for modifying a database by caching and modifying a part of a multidimensional database on a user device and reflecting the same on a multidimensional database has been proposed (Patent Document 2). In addition, a technique of updating a periodic update using a specific file format such as a sand file has been proposed (Patent Document 3). Further, a technology for processing update of a subset database in a partial database is proposed (Patent Document 4).
그러나 상기 선행기술들은 모두 데이터베이스의 일부인 또 다른 데이터베이스를 수정하여, 이를 모 데이터베이스에 반영하는 기술이다. 따라서 로컬에서도 데이터베이스를 구성하고 처리해야 하는 문제점이 있다. 즉, 로컬 사용자는 데이터베이스를 다룰 수 있는 지식을 갖추어야 하는 문제점이 있다.However, all of the above prior arts are techniques for modifying another database, which is a part of the database, and reflecting it in the parent database. Therefore, there is a problem in that a database must be configured and processed locally. That is, the local user has to have knowledge to deal with the database.
또한, 대량의 데이터를 데이터베이스에 통합시키기 위한 기술도 제시되고 있다[특허문헌 5]. 즉, 데이터 집합을 변환 데이터로 변환하는 다수의 연속된 작업을 포함하는 처리열을 수행하여, 변환 데이터를 기준으로 데이터베이스를 변경하는 기술이다. 그러나 상기 선행기술은 새로 추가되는 데이터를 특정한 포맷으로 설정한 후에 이들 데이터들을 원래 데이터베이스로 변환하여 저장하는 기술이다. 따라서 일반 사용자가 대량의 데이터를 특정 포맷으로 구성하여야 하고, 이를 직관적으로 처리할 수 없다는 문제점이 있다.In addition, a technique for integrating a large amount of data into a database has been proposed [Patent Document 5]. That is, it is a technique of performing a processing sequence including a plurality of consecutive jobs for converting a data set into converted data, and changing the database based on the converted data. However, the prior art is a technique of converting new data to a specific format and then converting the data into an original database and storing the original data. Therefore, there is a problem that a general user must configure a large amount of data in a specific format and can not process the data intuitively.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 데이터베이스로부터 데이터셋을 가져와서, 엑셀 등 스프레드시트 인터페이스 시스템에서 표시하고, 스프레드시트 인터페이스 상에서 사용자에 의해 수정된 데이터를 반영하여, 상기 데이터베이스를 갱신하는, 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템을 제공하는 것이다.SUMMARY OF THE INVENTION The object of the present invention is to solve the above-mentioned problems, and it is an object of the present invention to provide a method and system for retrieving a data set from a database, displaying it on a spreadsheet interface system such as Excel, And a database updating system using the spreadsheet interface.
상기 목적을 달성하기 위해, 본 발명은 데이터베이스와 네트워크로 연결되는, 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 관한 것으로서, 상기 데이터베이스로부터 대상 테이블의 데이터셋을 요청하여 가져오는 데이터 요청부; 스프레드시트 인터페이스를 제공하고, 워크시트를 생성하여, 상기 데이터셋의 구조와 레코드 데이터를 상기 워크시트 상에 표시하는 워크시트 표시부; 상기 스프레드시트 인터페이스를 통한 사용자의 입력에 따라 상기 워크시트 상의 레코드 데이터를 갱신하고, 각 레코드 데이터의 갱신상태를 표시하는 워크시트 갱신부; 상기 워크시트 상에서 갱신된 레코드에 대하여, 갱신된 레코드의 데이터셋 구조와 레코드 데이터를 정의하는 갱신정의부; 정의된 레코드의 데이터셋 구조와 레코드 데이터로부터 갱신된 레코드를 상기 데이터베이스에 반영하기 위한 쿼리문을 생성하는 쿼리생성부; 및 생성된 쿼리문을 상기 데이터베이스에 전송하여 상기 대상 테이블을 갱신하는 DB갱신부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a database update system using a spreadsheet interface, which is connected to a database via a network, comprising: a data request unit for requesting and fetching a data set of a target table from the database; A worksheet display unit that provides a spreadsheet interface, creates a worksheet and displays the structure of the data set and record data on the worksheet; A worksheet updating unit for updating the record data on the worksheet according to a user's input through the spreadsheet interface and displaying the update status of each record data; An update definition unit for defining a data set structure and record data of the updated record for the record updated on the worksheet; A query generator for generating a query statement for reflecting a data set structure of the defined record and a record updated from the record data to the database; And a DB updating unit for transmitting the created query statement to the database to update the target table.
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 데이터 요청부는 상기 데이터베이스로부터 가져온 대상 테이블 전체 또는 대상 테이블에 대한 쿼리로 가져온 결과를 데이터셋으로 상기 워크시트 표시부로 주거나, 상기 가져온 대상 테이블에 대하여 쿼리를 수행하는 쿼리편집기를 이용하여 쿼리 결과를 추출하고, 추출된 쿼리 결과를 데이터셋으로 상기 워크시트 표시부로 주어, 워크시트 상에 표시하게 하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a database updating system using a spreadsheet interface, wherein the data requesting unit gives a result obtained as a query for the entirety of the target table or the target table fetched from the database to the worksheet display unit as a data set, Extracts a query result using a query editor that performs a query on the table, and gives the extracted query result to the worksheet display unit as a dataset, and displays the result on the worksheet.
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 워크시트 표시부는 상기 데이터셋의 구조를 상기 워크시트 상의 어느 한 행에 표시하고, 데이터셋의 구조가 표시된 행의 아래 행부터 상기 레코드들의 데이터를 표시하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a database updating system using a spreadsheet interface, wherein the worksheet display unit displays the structure of the data set in a row on the worksheet, And records the data of the records.
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 대상 테이블의 구조는 각 데이터 필드의 필드명을 포함하고, 표시명, 데이터의 타입, 조건, 키 필드 중 어느 하나 이상을 더 포함하는 것을 특징으로 한다.In the database update system using the spreadsheet interface, the structure of the target table includes a field name of each data field, and further includes at least one of a display name, a data type, a condition, and a key field .
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 워크시트 표시부는 상기 데이터셋 구조의 각 데이터 필드에 대하여, 해당 데이터 필드의 워크시트 상의 열에 대하여 셀 형식 또는 열 형식을 해당 데이터 필드의 데이터 타입으로 설정하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a database updating system using a spreadsheet interface, wherein the worksheet display unit displays, for each data field of the data set structure, a cell format or a column format for a column on a worksheet of the data field, And the data type is set to a data type of
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 워크시트 표시부는 상기 워크시트 상에 레코드의 갱신 상태를 표시하는 제1 갱신상태 필드를 더 추가하여 레코드 필드를 생성하고, 상기 워크시트 갱신부는 상기 워크시트 상의 하나의 레코드의 셀 내용이 갱신되면 갱신 종류를 해당 레코드의 제1 갱신상태 필드에 표시하고, 상기 갱신정의부는 상기 워크시트 상의 제1 갱신상태 필드를 참조하여, 각 레코드에 대하여 갱신 여부 및, 갱신 종류를 판단하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a database updating system using a spreadsheet interface, wherein the worksheet display unit further generates a record field by adding a first update status field for indicating a record update state on the worksheet, The sheet update unit displays the update type in the first update status field of the record when the cell contents of one record on the worksheet is updated and the update definition unit refers to the first update status field on the worksheet, And the type of the update is determined.
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 워크시트 표시부는 상기 워크시트를 생성할 때, 상기 워크시트와 연동하는 실행 모듈에 상기 워크시트 상의 레코드 내용이 갱신되면 이벤트가 발생하여 이벤트에 의해 호출되어 실행되는 스크립트 함수를 포함시키고, 상기 스크립트 함수는 해당 레코드가 갱신되면 갱신 종류를 상기 제1 갱신상태 필드에 자동으로 표시하는 것을 특징으로 한다.Further, the present invention provides a database updating system using a spreadsheet interface, wherein, when the worksheet display unit generates the worksheet, an event is generated when the contents of the records on the worksheet are updated in an execution module linked with the worksheet And a script function that is called and executed by the event, and the script function automatically displays the update type in the first update status field when the record is updated.
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 갱신정의부는 데이터셋 구조를 XML 문서로 정의하고, 갱신된 데이터를 플랫 파일로 정의하되, 상기 플랫 파일에 사전에 정의된 컬럼 및 행 구분자에 의해 각 레코드의 필드값을 구분하여 정의하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a database updating system using a spreadsheet interface, wherein the update definition unit defines a data set structure as an XML document and defines updated data as a flat file, And the field value of each record is distinguished by the row delimiter.
또한, 본 발명은 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 있어서, 상기 워크시트 표시부는 상기 워크시트 상에 필드의 갱신 상태를 표시하는 제2 갱신상태 필드를 구성하는 레코드를 더 추가하여 생성하고, 상기 워크시트 갱신부는 상기 워크시트 상의 하나의 레코드의 셀 내용이 변경의 갱신되면 변경의 갱신 종류를 해당 레코드 필드의 제2 갱신상태 필드에 표시하고, 상기 갱신정의부는 레코드 필드 중 키 필드와 제2 갱신상태 필드에 변경의 갱신이 된 필드만을 구성하여 갱신할 데이터셋의 구조를 생성하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a database updating system using a spreadsheet interface, wherein the worksheet display unit further generates a record constituting a second update state field for displaying a field update state on the worksheet, The worksheet update unit displays the update type of the change in the second update status field of the corresponding record field when the cell contents of one record on the worksheet is updated, and the update definition unit updates the key field of the record field and the second update And a structure of the dataset to be updated is generated by constructing only the updated field in the status field.
상술한 바와 같이, 본 발명에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 의하면, 엑셀 등 스프레드시트 형태로 데이터를 가져와서 직접 수정하면 해당 데이터베이스의 테이블이 갱신되므로, 사용자는 쿼리문 등 데이터베이스 처리 방법에 대한 지식 없이도 데이터베이스를 갱신할 수 있는 효과가 얻어진다.As described above, according to the database updating system using the spreadsheet interface according to the present invention, when data is fetched in the form of spreadsheet such as Excel, and the data is directly modified, the table of the corresponding database is updated. Therefore, It is possible to update the database without knowledge of the database.
또한, 본 발명에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 의하면, 사무용으로 많이 사용하는 엑셀 등 스프레드시트를 이용하여 데이터베이스를 갱신함으로써, 직관적으로 데이터를 갱신하고 데이터베이스를 업데이트할 수 있는 효과가 얻어진다.In addition, according to the database updating system using the spreadsheet interface according to the present invention, the database is updated by using a spreadsheet, such as Excel, which is often used for office work, so that the data can be intuitively updated and the database can be updated .
또한, 본 발명에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템에 의하면, 사용자는 손쉽게 빠르게 대량의 데이터를 처리 가능함으로써, 자신이 원하는 데이터 분석 보고서를 작성하고 분석하여, 경영계획, 시뮬레이션, 파일럿개발 시 테스트 가공 등 여러 분야에 활용할 수 있는 효과가 얻어진다.In addition, according to the database updating system using the spreadsheet interface according to the present invention, a user can easily process a large amount of data, thereby creating and analyzing a desired data analysis report, Processing, and the like.
도 1은 본 발명에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템을 실시하기 위한 전체 시스템의 구성에 대한 블록도.
도 2는 본 발명에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템을 실시하기 위한 전체 시스템에 대한 구성도.
도 3은 본 발명의 일실시예에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템의 구성에 대한 블록도.
도 4은 본 발명의 일실시예에 따른 목적 데이터베이스의 대상 테이블을 선정하는 화면의 일례.
도 5는 본 발명의 일실시예에 따른 워크시트 상에 테이블의 스키마를 표시한 화면의 일례.
도 6는 본 발명의 일실시예에 따른 워크시트 상에 테이블의 데이터를 표시한 화면의 일례.
도 7은 본 발명의 제1 실시예에 따른 워크시트 상에 테이블의 데이터가 갱신된 상태를 표시한 화면의 일례.
도 8은 본 발명의 제1 실시예에 따라 XML로 표시된 테이블 정보의 일례.
도 9은 본 발명의 제1 실시예에 따라 갱신할 데이터들을 정의한 플랫 파일의 일례.
도 10은 본 발명의 제2 실시예에 따른 워크시트 상에 테이블의 데이터가 갱신된 상태를 표시한 화면의 일례.
도 11은 본 발명의 제2 실시예에 따라 XML로 표시된 테이블 정보의 일례.
도 12는 본 발명의 제2 실시예에 따라 갱신할 데이터들을 정의한 플랫 파일의 일례.1 is a block diagram of a configuration of an overall system for implementing a database update system using a spreadsheet interface according to the present invention;
2 is a block diagram of an overall system for implementing a database update system using a spreadsheet interface according to the present invention;
3 is a block diagram of a configuration of a database update system using a spreadsheet interface in accordance with an embodiment of the present invention.
4 is an example of a screen for selecting a target table of an object database according to an embodiment of the present invention.
5 is an example of a screen displaying a schema of a table on a worksheet according to an embodiment of the present invention;
6 is an example of a screen displaying data of a table on a worksheet according to an embodiment of the present invention;
7 is an example of a screen displaying a state in which data of a table is updated on a worksheet according to the first embodiment of the present invention;
8 is an example of table information displayed in XML according to the first embodiment of the present invention.
9 is an example of a flat file that defines data to be updated according to the first embodiment of the present invention.
10 is an example of a screen displaying a state in which data of a table is updated on a worksheet according to the second embodiment of the present invention;
11 is an example of table information displayed in XML according to the second embodiment of the present invention.
12 is an example of a flat file that defines data to be updated according to the second embodiment of the present invention;
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In the description of the present invention, the same parts are denoted by the same reference numerals, and repetitive description thereof will be omitted.
먼저, 본 발명에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템을을 실시하기 위한 전체 시스템을 도 1을 참조하여 설명한다.First, an overall system for implementing a database updating system using a spreadsheet interface according to the present invention will be described with reference to FIG.
도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10)에 설치되는 클라이언트(20), 클라이언트(20)와 네트워크로 연결되는 갱신서버(30), 및 데이터를 저장하고 관리하는 데이터베이스(40)로 구성된다. 도 2는 도의 전체 시스템을 그림으로 도시한 구성도이다. 도 2의 기재된 "사용자"가 사용자 단말(10) 내의 구성으로 클라이언트(20)에 의해 구동되는 구성을 표시하고 있다.1, the overall system for implementing the present invention includes a
클라이언트(20)는 사용자 단말(10)에 설치되는 클라이언트용 프로그램 시스템으로서, 웹브라우저를 통해 사용자 인터페이스를 갖는다. 즉, 사용자는 웹브라우저 또는 웹브라우저와 같은 화면의 인터페이스를 통해, 온라인상으로 데이터 갱신 등 처리 작업을 수행한다. 이때, 사용자 단말(10)은 사용자의 명령 등을 입력받아 해당 명령을 수행하고, 처리 결과를 화면 상 또는 웹브라우저 상에 표시한다.The
한편, 사용자 단말(10)은 개인용 컴퓨터(PC), 노트북, 태블릿PC, 패블릿, PDA, 스마트폰 등 컴퓨팅 기능을 가지는 컴퓨터 단말이다. 사용자 단말(10)과 갱신 서버(30)는 네트워크로 연결되어, 사용자 단말(10) 상의 클라이언트(20)는 온라인 상으로 데이터 처리 작업을 수행할 수 있다.Meanwhile, the
또한, 클라이언트(20)는 데이터 요청, 데이터 갱신 등 온라인 상으로 처리하는 작업을 갱신 서버(30)에 요청하고, 그 결과를 서버(30)로부터 가져와서 웹브라우저 상에 표시한다. 또는 처리된 데이터를 갱신 서버(30)로 전송한다. 특히, 클라이언트(20)는 데이터베이스(40)로부터 가져온 데이터를 엑셀(마이크로소프트 사의 스프레드시트 소프트웨어 상표임) 등 스프레드시트 프로그램의 인터페이스를 통해 보여주거나 명령/데이터를 입력받는다. 또한, 클라이언트(20)는 스프레드시트 인터페이스를 통해 처리된 데이터의 갱신 결과를 갱신 서버(30)로 전송한다.In addition, the
다음으로, 갱신 서버(30)는 데이터베이스(40)로부터 데이터셋을 가져와서 클라이언트(20)로 전송하거나, 클라이언트(20)로부터 갱신된 데이터셋을 회신하여 데이터베이스(40)를 갱신한다. 특히, 갱신 서버(30)는 클라이언트(20)에서 새로 추가되거나 삭제되거나, 수정된 데이터를 검출하여, 변경된 데이터를 처리하기 위한 데이터베이스 쿼리문을 자동으로 작성한다. 갱신 서버(30)는 작성된 쿼리문을 데이터베이스(40)로 요청하여, 그 결과가 데이터베이스(40)에 반영되도록 요청한다.Next, the
한편, 앞서 설명한 클라이언트(20)와 갱신 서버(30)의 기능은 일례이고, 서버와 클라이언트의 구현 기술에 따라 다양하게 구현될 수 있다. 즉, 클라이언트(20)와 갱신 서버(30)는 하나의 갱신 시스템으로서, 그 기능들이 성능에 따라 서로 분배될 수 있다.Meanwhile, the functions of the
다른 예로서, 클라이언트(20)는 단순히 웹브라우저 기능만 가지고 있고, 모든 기능은 갱신 서버(30)에서 구축될 수 있다. 즉, 갱신 서버(30)는 데이터베이스(40)의 인터페이스 기능, 및, 수정된 데이터에 대한 쿼리문 작성 기능 뿐만 아니라, 스프레드시트 기반의 인터페이스를 통해 데이터를 수정하는 기능을 모두 가질 수 있다.As another example, the
또 다른 예로서, 갱신 서버(30)는 단순히 데이터베이스(40)와의 인터페이스 기능만을 가지고 있고, 클라이언트(20)에서 스프레드시트 기반의 인터페이스를 통해 데이터 수정 기능 뿐만 아니라, 수정된 데이터에 대한 쿼리문 자동 생성 기능까지 구비될 수 있다.As another example, the
또 다른 예로서, 갱신 서버(30) 없이, 클라이언트(20)가 바로 데이터베이스(40)에 접속하여, 앞서 설명한 데이터베이스 접속, 스프레드시트 인터페이스를 통한 데이터 수정 기능, 및, 쿼리문 자동 생성 기능 등을 모두 구비할 수 있다.As another example, without the
다음으로, 데이터베이스(60)는 데이터를 저장하기 위한 통상의 데이터베이스(DB)로서, 데이터를 관리하기 위한 DBMS를 구비하고, 데이터의 저장, 삭제, 검색 등의 작업들을 쿼리를 통해 수행한다. 특히, 데이터베이스(40)는 상용화된 데이터베이스로서, 데이터셋을 처리하기 위한 일반적인 쿼리 기능을 이용하여, 데이터 쿼리 서비스를 수행한다.Next, the
특히, 데이터베이스(40)는 빅데이터를 저장하는 데이터베이스이다. 또한, 바람직하게는, 데이터베이스(40)는 관계형 데이터베이스(RDB)로 구성된다.In particular, the
다음으로, 본 발명의 제1 실시예에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템을 도 3을 참조하여 보다 구체적으로 설명한다. 앞서 설명한 바와 같이, 데이터베이스 자동 갱신 시스템은 사용자 단말(10)의 클라이언트(20)와, 네트워크에 연결된 서버(30)로 구현되는 서버-클라이언트 시스템이다. 그러나 이하에서는 서버(30)에서 구현되는 시스템으로 설명한다.Next, a database updating system using a spreadsheet interface according to a first embodiment of the present invention will be described in more detail with reference to FIG. As described above, the automatic database update system is a server-client system implemented by the
도 3에서 보는 바와 같이, 본 발명의 일실시예에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템은 데이터베이스의 데이터셋을 요청하는 데이터 요청부(31), 요청한 데이터셋을 스프레드시트 인터페이스에 표시하는 워크시트 표시부(32), 워크시트 상에서 데이터셋 중 일부 데이터를 갱신하는 워크시트 갱신부(33), 갱신된 데이터에 대하여 갱신내용을 정의하는 갱신정의부(34), 갱신된 데이터를 갱신하기 위한 쿼리문을 생성하는 쿼리생성부(35), 및, 생성된 쿼리문으로 데이터베이스를 갱신하는 DB갱신부(36)로 구성된다.3, a database updating system using a spreadsheet interface according to an embodiment of the present invention includes a
먼저, 데이터 요청부(31)는 데이터베이스(40)에 요청하여 목적 데이터베이스로부터 데이터셋을 가져온다. 데이터셋이란 동일한 필드들로 구성되는 다수의 레코드들로 구성되는 데이터들의 집합을 의미한다. 즉, 하나의 레코드는 다수의 필드값으로 구성되는데, 모든 레코드의 필드(컬럼)는 동일한 필드(또는 컬럼)를 갖는다.First, the
바람직하게는, 데이터셋은 하나의 DB 테이블로부터 가져온 데이터들이다.Preferably, the dataset is data from one DB table.
구체적으로, 데이터 요청부(31)는 데이터베이스(40)에 요청하여, 목적 데이터베이스의 테이블 리스트를 조회하고, 조회된 테이블 리스트를 화면에 표시한다. 사용자는 화면에서 표시된 테이블 리스트 중에서 자신이 원하는 테이블을 선택할 수 있다. 도 4은 테이블 리스트 중에서 가져올 테이블을 선택하는 화면의 일례를 도시하고 있다.Specifically, the
사용자 화면에 표시된 테이블 중 하나가 선택되면, 해당 테이블에 대한 스키마(schema) 정보를 가져온다. 목적 데이터베이스 또는 대상 테이블의 스키마(schema)는 테이블의 데이터가 어떻게 구성되어 있는지에 대한 세부 정보이다. 즉, 스키마(schema)에는 각 데이터 필드의 이름, 표시명, 데이터의 타입(종류), 조건 등을 테이블 데이터의 구조를 나타낸다.When one of the tables displayed on the user screen is selected, schema information for the corresponding table is retrieved. The schema of the destination database or target table is a detailed description of how the data in the table is organized. That is, the schema indicates the structure of the table data such as the name of each data field, the display name, the type (kind) of the data, and the condition.
다른 일례로서, 데이터 요청부(31)는 목적 데이터베이스의 테이블 데이터를 쿼리문을 통해 가져올 수 있다. 바람직하게는, 이때의 쿼리문은 하나의 테이블에 대한 쿼리문이고, 반드시 쿼리 결과 내에 해당 테이블의 키(key) 필드가 존재하여야 한다. 이때 다수의 필드들이 키를 형성하는 경우, 해당되는 다수의 필드들이 모두 포함하여야 한다. 쿼리문을 통해 가져온 데이터들은 하나의 데이터셋을 형성한다.As another example, the
즉, 데이터 요청부(31)는 목적 데이터베이스로부터 데이터셋을 가져온다. 앞서 테이블을 선택하는 경우에는 가져오는 데이터셋은 해당 테이블의 모든 데이터이고, 대상 테이블을 쿼리문을 가져온 경우에는 쿼리문에 의한 필터링된 테이블의 일부이다. 이때, 바람직하게는, 자바 DB 연결 드라이버(JDBC) 등을 통해 목적 데이터베이스의 데이터를 가져온다. 앞서 데이터 스키마도 자바 DB 연결 드라이버를 이용하여 가져온다.That is, the
한편, 다른 실시예로서, 데이터 요청부(31)는 목적 데이터베이스의 대상 테이블을 데이터셋으로 가져오고, 가져온 데이터셋(또는 대상 테이블)에 대하여 쿼리를 수행하는 쿼리편집기를 이용하여, 쿼리 결과를 추출할 수 있다. 그리고 추출된 쿼리 결과를 하나의 데이터셋으로 이용하게 할 수 있다. 즉, 이하에서 설명할 워크시트 표시부(32)에서 추출된 쿼리 결과의 데이터셋만을 워크시트 상에 데이터로 표시할 수 있다. 이를 통해, 대상 테이블 전체를 워크시트 상에 표시하지 않고, 사용자가 원하는 필드들만으로 구성된 테이블을 워크시트 상에 표시할 수 있다. 또한, 불필요한 데이터 필드를 표시하지 않음으로써, 사용자의 데이터 편집의 편의성을 제고할 수 있다.In another embodiment, the
앞서와 같이, 목적 데이터베이스로부터 가져온 테이블의 데이터셋 또는, 쿼리문에 의한 가져온 데이터셋, 또는, 테이블을 쿼리문에 의해 필터링한 데이터셋 등은 모두 갱신할 데이터셋이다. 이를 이하에서 초기 데이터셋(제1 데이터셋)이라 부르기로 한다.As described above, the data set of the table obtained from the object database, the data set obtained by the query statement, or the data set filtered by the query statement are all the data sets to be updated. This will be hereinafter referred to as an initial data set (first data set).
다음으로, 워크시트 표시부(32)는 스프레드시트 인터페이스를 제공하고, 엑셀 등 스프레드시트 상에 워크시트(이하 워크시트)를 생성하고, 생성한 워크시트 상에 데이터셋을 표시한다. 특히, 목적 데이터베이스로부터 가져온 데이터셋을 스프레드시트의 워크시트 상에 표시한다. 스프레드시트는 엑셀(마이크로소프트 사의 프로그램 상표), 로터스(Lotus 1-2-3, 로터스 소프트웨어 사의 프로그램 상표), 한셀(한글과컴퓨터 사의 프로그램 상표) 등, 행과 열로 구분된 표 형식으로 표시되는 워크시트로 구성되어, 각 셀에 데이터를 처리하는 스프레드시트 소프트웨어 프로그램이다.Next, the
먼저, 워크시트 표시부(32)는 대상 데이터셋의 스키마(schema) 정보(또는 데이터셋의 구조)를 분석하여 각 필드에 대한 상세 정보를 맞게 워크시트에 작성한다. 이를 위해 워크시트를 새로 생성한다.First, the
그 일례로서, 도 5와 같이, 워크시트의 열에 따라, 각 데이터 필드의 이름, 표시명, 데이터의 타입(종류), 조건, 키 필드 등 테이블 데이터의 세부 구조를 표시한다. 또한, 각 열에 해당하는 데이터의 타입을 해석하여, 각 열의 표시 속성(특히, 숫자에 대한 표시 형식)을 데이터의 타입(형식)에 맞도록 보정한다. 예를 들어, 열의 이름이 "생일"인데, 해당 필드의 형식이 날짜 형식이면, 해당 열을 모두 날짜 형식으로 설정한다. 또한, 통화 표시이면, 이에 따른 데이터 형식으로 표시한다.As an example, as shown in Fig. 5, a detailed structure of table data such as a name, a display name, a data type (kind), a condition, and a key field of each data field is displayed according to a column of the worksheet. Further, the type of data corresponding to each column is analyzed, and the display attributes (in particular, the display format for numbers) of each column are corrected to match the type of data (format). For example, if the name of the column is "Birthday" and the format of the field is a date format, set all the columns to date format. If the call is displayed, the data format is displayed accordingly.
또한, 워크시트 표시부(32)는 스프레드시트의 워크시트를 생성할 때, 스프레드시트에서 제공하는 워크시트에 연동되는 실행 모듈을 함께 생성시킨다. 실행 모듈은 VBA(Visual Basic for application) 등 스크립트 방식의 프로그램 언어로 작성된 모듈(또는 코드)이다. 실행 모듈은 워크시트 내에서 특정한 이벤트가 발생하면, 각 이벤트에 대응하는 함수가 실행되도록 하는 모듈이다. 따라서 워크시트 갱신부(33)에 의해 워크시트 상에서 사용자가 삭제, 수정, 삽입 등 특정한 작업을 수행하면, 해당 작업 또는 작업 이벤트에 따라 상기 실행모듈 내의 함수가 실행되어, 관련 작업을 수행한다.In addition, the
그리고 워크시트 표시부(32)는 갱신할 데이터셋(또는 초기 데이터셋)을 스프레드시트의 워크시트에 표시한다. 도 6에서 보는 바와 같이, 앞서 데이터의 각 필드의 필드명 등 세부 구조가 상기 워크시트 상에 열로 나란히 기재되어 있고, 해당 필드명에 대응되는 열 내의 아래 행에 연속적으로 해당 필드값(또는 테이블 데이터)을 표시한다. 즉, 도 6과 같이, 스프레드시트(또는 워크시트) 상의 데이터는 행과 열에 의해 각 셀에 데이터가 표시되고, 이때, 상단 행 내에 각 열에는 필드명(필드 이름), 표시명, 데이터 타입 등이 기재되고, 그 이하에 레코드들을 각 필드에 맞도록 배열한다.The
즉, 초기 데이터셋은 다수의 레코드로 구성되고, 각 레코드들은 워크시트 상에서 하나의 행에 표시된다. 레코드의 각 열에 해당하는 셀들이 해당 레코드 필드의 필드값들이 표시된다. 특히, 앞서 각 필드의 열에 대한 데이터 형식을 분석하여, 해당 형식으로 모든 열을 설정하였으므로, 해당 레코드의 해당 열은 모두 그 데이터 형식에 맞도록 스프레드시트의 워크시트 상에 표시된다.That is, the initial data set consists of a number of records, each of which is displayed in a row on the worksheet. Cells corresponding to each column of the record show the field values of the corresponding record field. Particularly, since the data types of the columns of each field are analyzed in advance and all the columns are set in the corresponding format, all the columns of the corresponding records are displayed on the worksheet of the spreadsheet according to the data format.
도 6의 예에서, EMPLOYEES 테이블의 경우 EMPLOYEE_ID가 기본 키(Primary key)이므로 이 컬럼(또는 열)은 중복을 허용하지 않는다.In the example of FIG. 6, in the case of the EMPLOYEES table, this column (or column) does not allow duplication since EMPLOYEE_ID is the primary key.
또한, 워크시트 표시부(32)는 하나의 워크시트 상에 표시할 수 있는 레코드의 최대 개수를 사전에 설정한다. 그리고, 해당 최대 개수가 넘어가면, 나머지 레코드들을 새로운 워크시트를 생성하고, 생성된 워크시트에 표시한다. 일례로서, 스프레드시트 화면에서 데이터를 처리하므로 동일 시트(sheet) 내에서는 100만건, 여러 시트(sheet)를 통해 수백만건의 데이터를 정의하고 데이터베이스에 입력할 수 있다.In addition, the
한편, 워크시트 표시부(32)는 엑셀 등 상용화된 스프레드시트 프로그램의 주요 기능만을 임베디드하여 사용한다. 즉, 스프레드시트 처리 작업은 스프레드시트의 코어 기능에 의해 수행되고, 전체 인터페이스는 워크시트 표시부(32)에 의해 처리된다. 이하에서 설명할 워크시트 갱신부(33)도 동일하다.On the other hand, the
또한, 워크시트 표시부(32)는 갱신상태를 표시하는 열을 추가로 표시한다. 이하에서 해당 열을 갱신상태 필드 또는 갱신상태 열이라고 부르기로 한다. 바람직하게는, 워크시트 상에서 첫번째 열을 갱신상태 필드로 설정한다. 도 5의 예에서, "Check"로 기재된 열이 갱신상태 필드로 설정되고 있다.Further, the
또한, 워크시트 표시부(32)는 명령을 수행하기 위한 명령 버튼을 워크시트 상에 표시할 수 있다. 바람직하게는, 명령 버튼은 테이블 또는 쿼리 결과를 조회하기 위한 조회 버튼이나, 갱신된 데이터를 서버로 전송하여 데이터베이스를 갱신하기 위한 확인 버튼 등을 포함한다.In addition, the
다음으로, 워크시트 갱신부(33)는 워크시트 상에서 표시된 데이터에 대하여 갱신 작업이 수행된다. 특히, 워크시트 갱신부(33)는 앞서 워크시트 표시부(32)에서 제공하는 스프레드시트 인터페이스 화면을 통해, 사용자에 의해 데이터 갱신 작업이 수행된다.Next, the
즉, 워크시트 갱신부(33)는 초기 데이터셋을 스프레드시트의 워크시트 상에 표시하고, 사용자에 의한 처리되는 스프레드시트의 워크시트 상의 작업들을 처리한다. 예를 들어, 사용자가 스프레드시트 상에서 특정 셀의 데이터를 수정하거나, 특정 행을 삽입하거나, 삭제한다. 이때 통상의 스프레드시트 인터페이스와 같은 형태로 인터페이스를 처리한다.That is, the
또한, 워크시트 갱신부(33)의 각 기능은 워크시트와 연동되는 실행 모듈(VBA 등 스크립트 언어도 작성된 프로그램 모듈)에 의해 구현된다. 즉, 워크시트 상에서 사용자가 수정, 삽입, 삭제 등 특정한 작업을 수행하면, 해당 작업을 하나의 이벤트로 판단하여, 해당 작업 이벤트에 대응되는 실행 모듈의 함수가 실행된다. 이와 같은 기능은 스프레드시트의 코어 기능에서 제공된다. 이하에서, 설명의 편의를 위하여, 수정, 삭제, 삽입(신규 추가) 등에 의해 데이터의 내용이 달라진 것을 모두 "갱신"된 것으로 설명한다.Each function of the
워크시트 갱신부(33)는 워크시트 상에서 편집 작업이 발생되면, 편집 종류 또는 갱신 종류에 따라 갱신상태 필드의 셀에 갱신 종류를 표시한다. 바람직하게는 갱신 종류는 기호 또는 갱신종류 기호로 표시된다. 갱신종류 기호는 사전에 설정된 기호이다. 갱신 종류는 해당 레코드 또는 해당 행의 갱신 상태 또는 갱신 종류를 표시하는 것으로서, 수정, 삽입, 삭제 등의 각 레코드에 대한 갱신 상태들을 표시한다. 예를 들어, 데이터의 셀이 수정되면 해당 행의 갱신상태 컬럼(열)에 'U'가 표시되고, 행이 추가되면 'C' 가 표시된다.The
또한, 워크시트 갱신부(33)는 갱신상태 필드에 사용자가 직접 갱신상태 또는 갱신종류 기호를 표시하도록 제공한다. 일례로서, 사용자가 삭제할 행(또는 레코드)의 갱신상태 컬럼에 'D'를 입력할 수 있다. 이때, 갱신상태 열(컬럼)의 각 셀에는 콤보박스를 구성하여, 각 레코드별(또는 행 별)로 갱신상태를 직접 설정할 수 있도록 한다.In addition, the
또한, 바람직하게는, 어느 항목도 갱신되지 않은 레코드(또는 행)에는 갱신상태 필드에 아무 값 또는 기호도 표시되지 않는다.Preferably, no value or symbol is displayed in the update status field in a record (or row) in which no item is updated.
도 7은 도 6의 레코드 데이터 중 일부가 갱신된 상태를 나타내고 있다. 즉, 키가 104의 레코드가 삭제되고, 레코드 105, 106, 108이 각각 변경되고, 변경된 데이터는 봉급(salary)과 전화번호(phone_number)이다. 따라서 갱신필드(check 1)에는 각각 D, U, U, U가 표시된다.FIG. 7 shows a state in which a part of the record data in FIG. 6 is updated. That is, the record of the key 104 is deleted, the
다음으로, 갱신정의부(34)는 워크시트 또는 워크시트 상에서 갱신된 데이터를 검출하여, 검출된 데이터(또는 레코드)에 대하여 갱신내용을 정의한다. 바람직하게는 XML문서 형태로 정의하고, 데이터는 플랫 파일(flat file)로 구성한다.Next, the
앞서, 워크시트 갱신부(33)에 의하여, 사용자는 워크시트 상의 데이터셋을 셀, 범위, 행, 또는 열 단위로 수정할 수 있다. 즉, 하나의 셀 내에 있는 데이터를 수정하거나, 하나의 행(또는 레코드) 등을 전체 삭제할 수 있다(즉, 삭제할 레코드의 갱신상태 필드에 삭제 기호(D)를 표시할 수 있다). 또는, 새로운 데이터 레코드를 삽입하고, 각 필드 내에 값을 입력할 수 있다.The
또한, 갱신정의부(34)는 검출된 갱신 레코드에 대하여 각각 갱신 내용을 정해진 정의 규칙에 의하여 정의한다. 이때, 정의할 내용은, 갱신할 데이터 또는 데이터셋의 구조 또는 스키마를 표시하는 테이블 정보와, 갱신할 데이터들이다. 즉, 갱신정의부(34)는 갱신된 데이터 또는 갱신된 레코드에 대해서만 갱신 데이터를 기록(또는 정의)한다. 즉, 전혀 갱신되지 않은 데이터는 기록하지 않는다.Further, the
먼저, 갱신정의부(34)는 데이터셋(또는 갱신 데이터 구조)을 사전에 정해진 포맷(또는 정의 규칙)에 의하여 정의한다. 바람직하게는, 데이터셋의 구조(또는 갱신 데이터 구조)을 XML 문서로 표시한다. 데이터셋의 구조를 XML 문서로 표시한 일례가 도 8에 도시되고 있다.First, the
도 8과 같은 테이블 정보 또는 데이터셋의 정보는 다음과 같은 개체 및 그 속성들에 대한 데이터를 포함한다. 바람직하게는, 테이블 정보 또는 데이터셋의 구조에 대한 정보는 테이블 명(사용자 화면에서 테이블 선택 시 자동 지정), DB 연결 코드(DB Connection code, 사용자 화면에서 DB 연결 시 자동 지정), 키 필드의 존재 여부, 데이터 타입, 널(NULL) 값 허용 여부 등의 내용을 포함한다.The table information or the information of the data set as shown in FIG. 8 includes data on the following entity and its attributes. Preferably, the information on the structure of the table information or the data set includes a table name (automatically designated when a table is selected on the user screen), a DB connection code (automatically specified when a DB is connected on the user screen) Data type, whether to allow null values, and so on.
(1) ExecuteInfo : 실행할 데이터베이스 정보(1) ExecuteInfo: Database information to be executed
- ConnectionCode : 서버에 정의된 데이터베이스 코드- ConnectionCode: Database code defined on the server.
(2) DataTable : 갱신할 테이블 정보, 다수의 테이블을 동일한 트랜잭션으로 처리 가능(2) DataTable: table information to be updated, multiple tables can be processed in the same transaction
- Name :테이블명- Name: table name
- Caption : 표시명- Caption: Display name
- TargetTable :갱신할 테이블 명- TargetTable: the name of the table to be updated
(3) Column : 테이블(또는 데이터셋)의 컬럼 정보(3) Column: Column information of the table (or data set)
- Name : 컬럼 명- Name: Column name
- Caption :컬럼 표시 명- Caption: Column display name
- Constraint : key 정보 P : Primary key V : not null N : nullable- Constraint: key information P: Primary key V: not null N: nullable
- DataType :데이터 타입 C:String N:숫자형, D : Data형- DataType: Data type C: String N: Numeric type, D: Data type
- UpdateFlag : Update 쿼리 생성 시 컬럼을 포함할지 여부- UpdateFlag: Whether to include the column when generating the Update query
(4) Rows : 처리할 Data를 정의(4) Rows: Define data to process
- RowIndexCol : 데이터 행 일련번호가 위치할 열- RowIndexCol: the column where the data row serial number will be located
- RowStateCol : 데이터 건별 처리시 해당항을 처리할 구분코드가 위치할 열- RowStateCol: Column to place the separator code to process the corresponding item in data handling
- TextType :처리할 데이터 위치 FILE: 첨부파일로 전송 XML: xml 내부포함- TextType: The location of the data to be processed. FILE: Sent as an attachment. XML: Internal xml
데이터셋의 컬럼 정보 또는 필드 정보는 대상 테이블의 전체 필드 정보를 나타낼 수도 있고, 그 일부를 나타낼 수도 있다. 즉, 앞서 대상 테이블을 쿼리를 통해 일부만 가져오는 경우에는, 테이블의 필드 중 일부에 대해서만 필드 구조를 생성한다.The column information or the field information of the data set may represent the entire field information of the target table or may represent a part thereof. That is, if the target table is partially retrieved through a query, the field structure is generated for only some of the fields of the table.
또한, 갱신정의부(34)는 갱신할 데이터들을 사전에 정해진 포맷으로 기록하여 파일로 생성한다. 바람직하게는, 또한, 갱신정의부(34)는 워크시트 상에서 갱신된 데이터를 플랫 파일(flat file)로 생성한다. 플랫 파일이란 데이터를 일련의 스트링으로 구성되는 통상의 파일을 말한다.In addition, the
도 9은 플랫 파일의 일례를 도시한 것이다. 바람직하게는, 스프레드시트 화면에 정의된 데이터는 서버와 사전에 정의된 컬럼, 행 구분자에 의해 도 9과 같은 형태의 텍스트 파일로 만들어져 서버로 전송된다. 여기서, 일례로서, 컬럼 구분자를 “|”, 행 구분자를 "엔터(또는 줄바꿈)" 기호로 나타낸다.Fig. 9 shows an example of a flat file. Preferably, the data defined in the spreadsheet screen is created as a text file of the form shown in FIG. 9 by the server, the column and the row delimiter defined in advance, and transmitted to the server. Here, as an example, column delimiters are denoted by " | ", and row delimiters are denoted by an "enter (or new line)"
특히, 도 9에서 각 줄의 맨 앞에 해당 레코드(해당 행)가 어떻게 처리할 것인지에 대한 갱신종류를 표시한다. 각 갱신상태 기호는 다음과 같다.In particular, in FIG. 9, the type of the update is displayed at the top of each line of how the corresponding record (corresponding row) is to be processed. Each update status symbol is as follows.
C :신규입력 U : 데이터갱신 D : 데이터 삭제C: New input U: Data update D: Data deletion
다음으로, 쿼리생성부(35)는 테이블 정보 및, 갱신할 데이터들이 정의된 갱신문서를 수신하여, 갱신된 데이터에 대해서 쿼리문을 생성한다. Next, the
즉, 쿼리생성부(35)는 테이블 정보를 정의한 갱신문서의 내용을 해석하여, 갱신할 데이터베이스(database), 테이블(table), 컬럼(column) 정보를 추출한다. 그리고 추출된 정보를 이용하여, 입력 쿼리, 업데이트 쿼리, 삭제 쿼리에 대한 쿼리 등을 생성한다.That is, the
또한, 쿼리생성부(35)는 데이터를 각각 레코드 별로 읽어들여, 각 레코드에 대하여 실제 쿼리를 생성한다. 이때, 각 레코드의 갱신종류에 따라 해당 종류의 쿼리문(예를 들어, 추가 쿼리문, 업데이트 쿼리문, 삭제 쿼리문 등)을 생성한다. 특히, 쿼리생성부(35)는 갱신할 데이터들을 스트림으로 수신할 수 있고, 스트림으로 수신되는 순서로, 각 갱신할 레코드의 내용으로 쿼리문을 실시간으로 생성한다.In addition, the
다음으로, DB갱신부(36)는 생성된(작성된) 쿼리문을 데이터베이스(40)에 요청하여, 대상 테이블의 데이터를 갱신하도록 요청한다.Next, the
DB갱신부(36)는 앞서 생성된 실제 쿼리문들을 각 레코드별로 쿼리문을 데이터베이스(40)에 전송하여 갱신 요청할 수 있다. 그러나 개별적으로 각 레코드별로 쿼리문을 데이터베이스(40)에 요청하면, 전체 갱신하는 시간이나 비용이 상당히 많이 소요된다. 이것은 데이터베이스는 한번의 트랜잭션으로 하나의 요청을 처리하는데, 트랜잭션을 수행하기 위한 작업이 많기 때문이다.The
따라서, 바람직하게는, DB갱신부(36)는 다수의 레코드별 실제 쿼리를 배치(batch)로 묶어 일괄 처리한다. 즉, 쿼리문은 한번만 생성하고, 전송 데이터의 처리는 해당 쿼리의 변수에 해당 컬럼값만 매핑하여 배치(Batch)에 추가한 다음 마지막으로 한번만 데이터베이스에 실행(Execution) 요청하게 되므로 빠르게 대량 데이터를 처리할 수 있다.Therefore, preferably, the
다음으로, 본 발명의 제2 실시예에 따른 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템을 도 10을 참조하여 구체적으로 설명한다. 본 발명의 제2 실시예는 앞서 제1 실시예와 구성이 동일하고, 다만, 갱신상태 필드를 워크시트 상에서 컬럼 외에도 하나의 행(row)에도 표시한다.Next, a database updating system using a spreadsheet interface according to a second embodiment of the present invention will be described in detail with reference to FIG. The second embodiment of the present invention is the same as the first embodiment, except that the update status field is displayed on one row in addition to the columns on the worksheet.
도 10에서 보는 바와 같이, 워크시트 표시부(32)는 갱신상태를 표시하는 행을 추가로 표시한다. 도 10에서 "check 2"로 표시된 행이 갱신상태를 나타내는 레코드이다. 즉, 워크시트 상에서 하나의 행을 추가하여, 해당 행을 갱신상태를 나타내는 레코드로 사용한다. 이를 제2 갱신상태 필드(또는 제2 갱신상태 레코드)라 부르기로 한다. 앞서 제1 실시예와 같이 갱신상태를 표시하는 열의 갱신상태 필드를 제1 갱신상태 필드라 부르기로 한다.As shown in Fig. 10, the
다음으로, 워크시트 갱신부(33)는 워크시트 상에서 하나의 데이터 필드값(또는 셀값)이 변경(업데이트)되면, 해당 필드에 대응되는 제1 갱신필드와 제2 갱신필드에 모두 갱신상태를 표시한다. 이때, 제2 갱신필드에는 데이터 값(또는 셀 값)이 변경되는 경우에 표시된다. 또한, 워크시트 상에서 하나의 레코드가 추가되어 삽입되는 경우(새로운 레코드의 추가되는 경우)에는 새로운 값이 입력되는 셀에 대응되는 제2 갱신필드가 "C" 등으로 갱신됨이 표시된다. 따라서 아무 값도 기재되어 있지 않아 빈 셀로 남아 있는 필드에 대해서는, 대응되는 제2 갱신필드에 갱신 상태가 표시되지 않는다. 또한, 레코드가 삭제되는 경우에는 제2 갱신필드의 내용은 "U"나 "C" 등의 표시로 갱신되어 표시되지 않는다. 즉, 제2 갱신필드의 값을 변경하지 않는다.Next, when one data field value (or cell value) is changed (updated) on the worksheet, the
도 10의 예에서, 데이터 값이 변경된 것은 키 105, 106, 108의 레코드 중 봉급(salary)과 전화번호(phone_number)의 필드이다. 따라서 이들 2개의 필드에 대응되는 제2 갱신필드만 "U"로 갱신되어 표시된다.In the example of FIG. 10, the data value is changed is a field of salary and phone number (number) in the records of the
다음으로, 갱신정의부(34)는 워크시트 상에 제2 갱신필드 중에서 "U"로 표시되는 필드(컬럼)와, 키 필드만을 합하여, 데이터셋의 구조 또는 스키마의 구조를 생성한다.Next, the
도 10의 예에서, 키 필드는 "고용자 ID(EMPLOYEE_ID)" 이고, 변경된 필드들은 봉급(salary)과 전화번호(phone_number)이다. 따라서 이들 필드(또는 컬럼)에 대해서만 데이터셋의 구조 또는 스키마의 구조를 생성한다. 상기 예에 따라 작성된 데이터셋 구조의 XML 문서는 도 11과 같다.In the example of FIG. 10, the key field is "EMPLOYEE ID ", and the changed fields are salary and phone number. Therefore, only those fields (or columns) are used to create the structure of the dataset or the structure of the schema. The XML document of the data set structure created according to the above example is shown in FIG.
도 11에서 보는 바와 같이, 컬럼 필드는 고용자 ID와, 전화번호, 및 연봉에 대한 필드들만 xml 문서에 대해서만 나타난다.As shown in FIG. 11, the column field only shows fields for employee ID, telephone number, and salary for xml documents.
또한, 갱신정의부(34)는 갱신된 데이터를 생성할 때, 갱신된 데이터셋의 구조만 표시한다. 즉, 갱신할 데이터들을 사전에 정해진 포맷으로 기록하여 파일로 생성할 때, 키 필드와 갱신된 필드에 대응되는 필드값(컬럼값)만 표시하여, 플랫 파일로 구성한다. 그의 예가 도 12에 표시되고 있다.In addition, the
다음으로, 본 발명의 효과를 보다 구체적으로 설명한다.Next, the effect of the present invention will be described in more detail.
먼저, 본 발명은 실행 건수에 제약이 없다.First, the number of executions of the present invention is not limited.
사용자가 등록/수정/삭제한 데이터를 업로드 스트림(Upload stream)을 통해 서버로 전송하므로 단건 데이터부터 수백만건의 대량 데이터까지 자유롭게 핸들링이 가능하다. 데이터 정보는 정해진 행, 열 구분자로 분리된 플랫 파일(flat file)로 만들어저 서버로 업로드(upload)되고, 서버에서는 업로드(Upload Stream)에서 데이터를 읽어 정해진 행, 열 구분자에 따라 파싱 후 함께 전송된 xml 정보로부터 미리 생성된 쿼리에 바인딩하여 실행하게 된다.Since the data registered / modified / deleted by the user is transmitted to the server through the upload stream, it is possible to freely handle the single data to millions of large data. The data information is converted into a flat file separated by a predetermined row and column delimiter and uploaded to the server. The server reads the data from the upload stream, parses it according to the predetermined row and column delimiter, and transmits And binds it to a pre-generated query from the obtained xml information.
또한, 대량 데이터를 빠르게 처리할 수 있다.Also, mass data can be processed quickly.
갱신 서버에서 데이터를 처리하는 기본 형식은 jdbc dirver를 통해 데이터베이스에 접속한 후 클라이언트(client)로부터 전송된 xml 정보를 파싱(parsing)하여 입력, 수정, 삭제에 해당하는 쿼리문을 생성하고, 함께 클라이언트(Client)로부터 전송된 업로드 스트림(upload stream)으로부터 데이터(data)를 읽어들이면서 미리 생성된 쿼리에 변수를 바인딩 시킨 후 실행하는 방식이다.The basic format for processing data in the update server is to access the database through the jdbc dirver and then parse the xml information sent from the client to generate a query statement corresponding to input, The client reads the data from the upload stream transmitted from the client and binds the variable to the pre-generated query.
이때 연결(connection) 객체 중 PreparedStatement를 사용하여 크기(Fetch size)를 지정하고, 바인딩 된 데이터를 PreparedStatement의 배치 수단(addBatch method)을 사용하여 추가하며, 전체 데이터가 추가 되었을 때 한번 실행하여 데이터를 처리한다. 매 건마다 실행(Execute)하는 방식이 아니고 한번에 실행(Execute)하는 방식이라서 데이터베이스(database)의 부하도 줄이고 속도도 매우 빠른 것이 장점이다.At this time, among the connection objects, PreparedStatement is used to specify the size (Fetch size), and the bound data is added using the PreparedStatement's addBatch method. When the entire data is added, do. The advantage of this method is that it does not execute every time, but executes at once, reducing the load on the database and speeding up the speed.
또한, DB 기능(DB Function)을 사용기능으로 제공한다.In addition, DB function (DB function) is provided as a function.
사용자가 화면에서 처리한 데이터 뿐만 아니라 데이터베이스 기능, 사용자 생성 함수(Function) 등을 처리할 수 있도록 옵션을 제공하여 서버에서 쿼리 생성 시 대상 컬럼 처리를 데이터 바인딩 대신 함수 처리 할 수 있는 기능을 제공한다. It provides the option to process database function, user creation function, etc. as well as data processed by the user, so that the server provides the function to process the target column processing instead of data binding function.
또한, 오라클 시퀀스(Oracle sequence), 사이데이터(sysdate) 등 시간함수, rownum 등의 DB함수 등을 쿼리에 포함하여 사용할 수 있다. You can also include queries such as Oracle functions, time functions such as Oracle sequence, sysdate, and DB functions such as rownum.
이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.The invention made by the present inventors has been described concretely with reference to the embodiments. However, it is needless to say that the present invention is not limited to the embodiments, and that various changes can be made without departing from the gist of the present invention.
10 : 사용자 단말 20 : 클라이언트
30 : 갱신 서버 31 : 데이터 요청부
32 : 워크시트 표시부 33 : 워크시트 갱신부
34 : 갱신정의부 35 : 쿼리생성부
36 : DB갱신부 37 : 저장부
40 : 데이터베이스10: user terminal 20: client
30: update server 31: data request unit
32: worksheet display section 33: worksheet update section
34: update definition unit 35: query generation unit
36: DB updating unit 37:
40: Database
Claims (8)
상기 데이터베이스로부터 대상 테이블의 데이터셋을 요청하여 가져오는 데이터 요청부;
스프레드시트 인터페이스를 제공하고, 워크시트를 생성하여, 상기 데이터셋의 구조와 레코드 데이터를 상기 워크시트 상에 표시하는 워크시트 표시부;
상기 스프레드시트 인터페이스를 통한 사용자의 입력에 따라 상기 워크시트 상의 레코드 데이터를 갱신하고, 각 레코드 데이터의 갱신상태를 표시하는 워크시트 갱신부;
상기 워크시트 상에서 갱신된 레코드에 대하여, 갱신된 레코드의 데이터셋 구조와 레코드 데이터를 정의하는 갱신정의부;
정의된 레코드의 데이터셋 구조와 레코드 데이터로부터 갱신된 레코드를 상기 데이터베이스에 반영하기 위한 쿼리문을 생성하는 쿼리생성부; 및
생성된 쿼리문을 상기 데이터베이스에 전송하여 상기 대상 테이블을 갱신하는 DB갱신부를 포함하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
A system for updating a database using a spreadsheet interface, the system being networked with a database,
A data request unit for requesting and fetching a data set of the target table from the database;
A worksheet display unit that provides a spreadsheet interface, creates a worksheet and displays the structure of the data set and record data on the worksheet;
A worksheet updating unit for updating the record data on the worksheet according to a user's input through the spreadsheet interface and displaying the update status of each record data;
An update definition unit for defining a data set structure and record data of the updated record for the record updated on the worksheet;
A query generator for generating a query statement for reflecting a data set structure of the defined record and a record updated from the record data to the database; And
And a DB updating unit for transmitting the generated query statement to the database to update the target table.
상기 데이터 요청부는 상기 데이터베이스로부터 가져온 대상 테이블 전체 또는 대상 테이블에 대한 쿼리로 가져온 결과를 데이터셋으로 상기 워크시트 표시부로 주거나, 상기 가져온 대상 테이블에 대하여 쿼리를 수행하는 쿼리편집기를 이용하여 쿼리 결과를 추출하고, 추출된 쿼리 결과를 데이터셋으로 상기 워크시트 표시부로 주어, 워크시트 상에 표시하게 하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
The method according to claim 1,
The data request unit may extract a query result using a query editor that gives a result obtained as a query on the entirety of the target table or the target table obtained from the database to the worksheet display unit as a data set or queries the imported target table And displays the extracted query result on the worksheet as the worksheet display unit as a data set.
상기 워크시트 표시부는 상기 데이터셋의 구조를 상기 워크시트 상의 어느 한 행에 표시하고, 데이터셋의 구조가 표시된 행의 아래 행부터 상기 레코드들의 데이터를 표시하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
The method according to claim 1,
Wherein the worksheet display unit displays the structure of the data set in a row on the worksheet and displays data of the records from a row below the row in which the structure of the data set is displayed. Update system.
상기 워크시트 표시부는 상기 데이터셋 구조의 각 데이터 필드에 대하여, 해당 데이터 필드의 워크시트 상의 열에 대하여 셀 형식 또는 열 형식을 해당 데이터 필드의 데이터 타입으로 설정하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
The method of claim 3,
Wherein the worksheet display unit sets a cell format or column format for each data field of the data set structure as a data type of the corresponding data field with respect to a column on a worksheet of the data field. Update system.
상기 워크시트 표시부는 상기 워크시트 상에 레코드의 갱신 상태를 표시하는 제1 갱신상태 필드를 더 추가하여 레코드 필드를 생성하고,
상기 워크시트 갱신부는 상기 워크시트 상의 하나의 레코드의 셀 내용이 갱신되면 갱신 종류를 해당 레코드의 제1 갱신상태 필드에 표시하고,
상기 갱신정의부는 상기 워크시트 상의 제1 갱신상태 필드를 참조하여, 각 레코드에 대하여 갱신 여부 및, 갱신 종류를 판단하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
The method according to claim 1,
Wherein the worksheet display unit further generates a record field by adding a first update state field for indicating an update state of the record on the worksheet,
The worksheet update unit displays the update type in the first update status field of the record when the cell contents of one record on the worksheet is updated,
Wherein the update definition unit refers to the first update status field on the worksheet to determine whether or not to update each record and the update type.
상기 워크시트 표시부는 상기 워크시트를 생성할 때, 상기 워크시트와 연동하는 실행 모듈에 상기 워크시트 상의 레코드 내용이 갱신되면 이벤트가 발생하여 이벤트에 의해 호출되어 실행되는 스크립트 함수를 포함시키고, 상기 스크립트 함수는 해당 레코드가 갱신되면 갱신 종류를 상기 제1 갱신상태 필드에 자동으로 표시하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
6. The method of claim 5,
Wherein the worksheet display unit includes a script function for generating an event when the contents of the record on the worksheet are updated by an execution module linked with the worksheet when the worksheet is created and called and executed by an event, Function automatically displays the update type in the first update status field when the corresponding record is updated.
상기 갱신정의부는 데이터셋 구조를 XML 문서로 정의하고, 갱신된 데이터를 플랫 파일로 정의하되, 상기 플랫 파일에 사전에 정의된 컬럼 및 행 구분자에 의해 각 레코드의 필드값을 구분하여 정의하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
6. The method of claim 5,
The update definition unit defines the data set structure as an XML document and defines the updated data as a flat file, wherein the field definition of each record is defined by a column and a row delimiter defined in the flat file in advance A database update system using a spreadsheet interface.
상기 워크시트 표시부는 상기 워크시트 상에 필드의 갱신 상태를 표시하는 제2 갱신상태 필드를 구성하는 레코드를 더 추가하여 생성하고,
상기 워크시트 갱신부는 상기 워크시트 상의 하나의 레코드의 셀 내용이 업데이트 또는 입력으로 갱신되면 갱신 종류를 해당 레코드 필드의 제2 갱신상태 필드에 표시하고,
상기 갱신정의부는 레코드 필드 중 키 필드와 제2 갱신상태 필드에 입력 또는 변경의 갱신이 된 필드만을 구성하여 갱신할 데이터셋의 구조를 생성하는 것을 특징으로 하는 스프레드시트 인터페이스를 이용한 데이터베이스 갱신 시스템.
6. The method of claim 5,
Wherein the worksheet display unit further generates a record constituting a second update status field for displaying an updated state of the field on the worksheet,
The worksheet update unit displays the update type in the second update status field of the corresponding record field when the cell contents of one record on the worksheet is updated or updated,
Wherein the update definition unit generates a structure of a dataset to be updated by configuring only the fields updated or updated in the key field and the second update status field of the record field.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150187691A KR101769857B1 (en) | 2015-12-28 | 2015-12-28 | An update system for the database by using spreadsheet interface |
JP2016089138A JP6199439B2 (en) | 2015-12-28 | 2016-04-27 | Database update system using spreadsheet interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150187691A KR101769857B1 (en) | 2015-12-28 | 2015-12-28 | An update system for the database by using spreadsheet interface |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170077935A true KR20170077935A (en) | 2017-07-07 |
KR101769857B1 KR101769857B1 (en) | 2017-08-22 |
Family
ID=59272660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150187691A KR101769857B1 (en) | 2015-12-28 | 2015-12-28 | An update system for the database by using spreadsheet interface |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6199439B2 (en) |
KR (1) | KR101769857B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190087841A (en) | 2018-01-17 | 2019-07-25 | (주)비아이매트릭스 | A data input/output system using grid interface |
KR20210050206A (en) * | 2019-10-28 | 2021-05-07 | 주식회사 한글과컴퓨터 | Knowledge database management device for building a knowledge database using tables included in spreadsheet documents and enabling user access to the knowledge database, and operating method thereof |
KR102745191B1 (en) * | 2023-09-25 | 2024-12-20 | (주)비아이매트릭스 | Method and device for providing spreadsheet interface linked to database |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10540153B2 (en) | 2016-12-03 | 2020-01-21 | Thomas STACHURA | Spreadsheet-based software application development |
US10216494B2 (en) | 2016-12-03 | 2019-02-26 | Thomas STACHURA | Spreadsheet-based software application development |
US11726753B2 (en) | 2016-12-03 | 2023-08-15 | Thomas STACHURA | Spreadsheet-based software application development |
WO2019104447A1 (en) * | 2017-12-03 | 2019-06-06 | Thomas Stachura | Spreadsheet-based software application development |
KR102490941B1 (en) * | 2020-12-11 | 2023-01-26 | (주)비아이매트릭스 | An online report creation system using Excel tool |
KR102499832B1 (en) * | 2020-12-18 | 2023-02-15 | (주)비아이매트릭스 | An online report creation system with query binding function |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003015920A (en) * | 2001-06-28 | 2003-01-17 | Shinsei Kaihatsu Kk | Database update system and method that use sheet of spreadsheet software as input screen, database update program that uses sheet of spreadsheet software as input screen and computer-readable recording medium with the program recorded thereon |
JP4101045B2 (en) * | 2002-12-13 | 2008-06-11 | 富士通株式会社 | Support method, support device, and computer program |
JP2004341770A (en) | 2003-05-15 | 2004-12-02 | Kazuo Kobayashi | Data management system and data management method |
KR100969656B1 (en) * | 2009-10-30 | 2010-07-14 | (주)비아이매트릭스 | An excel-based composing system for analyzing reports or views and the method thereof |
KR101013810B1 (en) * | 2010-01-15 | 2011-02-14 | (주)비아이매트릭스 | Excel based DW table update system and method |
JP2011227621A (en) * | 2010-04-16 | 2011-11-10 | Next-1 Co Ltd | Information processing apparatus, information processing method, and program |
JP2011227631A (en) * | 2010-04-16 | 2011-11-10 | Wincube Co Ltd | System for business management |
JP5645627B2 (en) * | 2010-12-08 | 2014-12-24 | 三菱電機株式会社 | Data input / output device |
JP2015210586A (en) | 2014-04-24 | 2015-11-24 | 秀一 黒木 | Data extraction editing device of various databases and program of the same |
-
2015
- 2015-12-28 KR KR1020150187691A patent/KR101769857B1/en active IP Right Grant
-
2016
- 2016-04-27 JP JP2016089138A patent/JP6199439B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190087841A (en) | 2018-01-17 | 2019-07-25 | (주)비아이매트릭스 | A data input/output system using grid interface |
KR20210050206A (en) * | 2019-10-28 | 2021-05-07 | 주식회사 한글과컴퓨터 | Knowledge database management device for building a knowledge database using tables included in spreadsheet documents and enabling user access to the knowledge database, and operating method thereof |
KR102745191B1 (en) * | 2023-09-25 | 2024-12-20 | (주)비아이매트릭스 | Method and device for providing spreadsheet interface linked to database |
Also Published As
Publication number | Publication date |
---|---|
JP6199439B2 (en) | 2017-09-20 |
KR101769857B1 (en) | 2017-08-22 |
JP2017120610A (en) | 2017-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101769857B1 (en) | An update system for the database by using spreadsheet interface | |
US10831753B2 (en) | Query plan generation and execution in a relational database management system with a temporal-relational database | |
KR101899055B1 (en) | A database update method based on spreadsheet interface by making queries optimized for updated records | |
US10860653B2 (en) | System for accessing a relational database using semantic queries | |
KR101769853B1 (en) | A batch update system based on spreadsheet interface for the database by using query templates | |
US10657687B2 (en) | Dynamic chaining of data visualizations | |
KR102034679B1 (en) | A data input/output system using grid interface | |
US12079181B2 (en) | Efficient indexing for querying arrays in databases | |
US20080263142A1 (en) | Meta Data Driven User Interface System and Method | |
KR101908556B1 (en) | A database update system based on spreadsheet interface by finding out updated records automatically | |
US10942732B1 (en) | Integration test framework | |
US8489644B2 (en) | System and method for managing virtual tree pages | |
EP3404557A1 (en) | Worker thread processing | |
US8316013B2 (en) | Programmatic retrieval of tabular data within a cell of a query result | |
US20040249792A1 (en) | Automated query file conversions upon switching database-access applications | |
US10331715B2 (en) | Metadata enrichment with a keyword definition editor | |
KR100984976B1 (en) | How to combine and retrieve data from disparate two-dimensional tables | |
US10769164B2 (en) | Simplified access for core business with enterprise search | |
AU2007229359B2 (en) | Method and apparatus for flexible storage and uniform manipulation of XML data in a relational database system | |
JP2003296342A (en) | Meta data generation method and device | |
Syme et al. | Integrating External Data and Services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20151228 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20161124 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170519 |
|
PG1501 | Laying open of application | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170814 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170814 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20200731 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20210730 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20220729 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20230731 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20240731 Start annual number: 8 End annual number: 8 |