KR20180004632A - Method and computer program for integrating spread sheet with database - Google Patents

Method and computer program for integrating spread sheet with database Download PDF

Info

Publication number
KR20180004632A
KR20180004632A KR1020160106059A KR20160106059A KR20180004632A KR 20180004632 A KR20180004632 A KR 20180004632A KR 1020160106059 A KR1020160106059 A KR 1020160106059A KR 20160106059 A KR20160106059 A KR 20160106059A KR 20180004632 A KR20180004632 A KR 20180004632A
Authority
KR
South Korea
Prior art keywords
column
data
sheet
spreadsheet
area
Prior art date
Application number
KR1020160106059A
Other languages
Korean (ko)
Other versions
KR101864700B1 (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 KR20180004632A publication Critical patent/KR20180004632A/en
Application granted granted Critical
Publication of KR101864700B1 publication Critical patent/KR101864700B1/en

Links

Images

Classifications

    • G06F17/246
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • G06F17/30315
    • G06F17/30339
    • G06F9/4443
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Disclosed are a method for integrating a spread sheet into a database (DB), and a computer program and a system thereof. The method according to the present invention comprises the steps of: providing a user interface screen including a sheet area for displaying content of a spread sheet, an integrated control area for displaying control information required to integrate the spread sheet into a DB, and a DB area for displaying table information on the DB; extracting at least one sheet column to be mapped to the DB from an area selected in the sheet area; displaying information on the extracted sheet column in the integrated control area; requesting a server to generate a table including a column corresponding to the extracted sheet column in the DB; and displaying information on the generated table in the DB area.

Description

스프레드 시트를 데이터베이스로 통합하는 방법 및 컴퓨터 프로그램 {Method and computer program for integrating spread sheet with database}Method and computer program for integrating a spreadsheet into a database

본 발명은 스프레드 시트의 내용을 데이터베이스로 통합하는 방법 및 컴퓨터 프로그램과 스프레드 시트 통합 시스템에 대한 것이다.The present invention relates to a method of integrating the contents of a spreadsheet into a database and to a computer program and spreadsheet integration system.

엑셀과 같은 스프레드 시트를 이용하여 작성하고 수집한 데이터를 데이터베이스로 옮기는 작업을 수행하기 위해서는 데이터베이스 및 쿼리 언어에 대한 기술을 가진 전문가의 도움이 필요하다.Experts with database and query language skills are needed to carry out the work of creating and collecting data from a spreadsheet, such as Excel, into a database.

기존 엑셀 파일을 가지고 좀더 쉽게 데이터베이스를 구축할 수 있도록 해주는 시스템을 구현한 여러 제품이 존재하지만 여전히 일반 사용자가 이용하기에는 어려운 실정이다.There are many products that implement a system that makes it easier to build a database with existing Excel files, but it is still difficult for general users to use.

본 발명은 스프레드 시트의 내용을 데이터베이스에 통합함에 있어서 편리하고 직관적인 사용자 인터페이스를 제공하는 방법 및 컴퓨터 프로그램과 그 시스템을 제공하기 위한 것이다. SUMMARY OF THE INVENTION The present invention is directed to providing a method and computer program and system for providing a convenient and intuitive user interface for incorporating the contents of a spreadsheet into a database.

본 발명의 일 실시예에 따른 스프레드 시트를 데이터베이스로 통합하는 방법은, 스프레드 시트의 내용을 표시한 시트 영역, 스프레드 시트를 데이터베이스로 통합하는데 필요한 제어 정보를 표시하기 위한 통합 제어 영역 및 데이터베이스의 테이블 정보를 표시하기 위한 DB 영역을 포함하는 사용자 인터페이스 화면을 제공하는 단계와; 상기 시트 영역에서 선택된 영역으로부터 데이터베이스로 매핑할 시트 컬럼을 적어도 하나 추출하는 단계와; 상기에서 추출된 시트 컬럼에 대한 정보를 상기 통합 제어 영역에 표시하는 단계와; 상기 추출된 시트 컬럼에 대응하는 컬럼을 포함하는 테이블을 데이터베이스에 생성하도록 서버에 요청하는 단계와; 생성된 테이블에 대한 정보를 상기 DB 영역에 표시하는 단계;를 포함할 수 있다.A method for integrating spreadsheets into a database according to an embodiment of the present invention includes a sheet area displaying contents of a spreadsheet, an integrated control area for displaying control information necessary for integrating a spreadsheet into a database, Providing a user interface screen including a DB area for displaying the user interface screen; Extracting at least one sheet column to be mapped from a selected region in the sheet region to a database; Displaying information on the extracted sheet column in the integrated control area; Requesting a server to create a table in the database that includes a column corresponding to the extracted sheet column; And displaying information on the generated table in the DB area.

상기 매핑할 시트 컬럼을 추출하는 단계에서, 상기 선택된 영역을 분석하여, 병합된 컬럼이 마지막으로 존재하는 부분까지를, 매핑할 시트 컬럼들을 추출할 시트 컬럼 영역으로 판단할 수 있다.In the step of extracting the sheet column to be mapped, the selected region may be analyzed to determine the region where the merged column last exists as the sheet column region to extract the sheet columns to be mapped.

상기 매핑할 시트 컬럼을 추출하는 단계에서, 컬럼 모드가 행기준 모드인지 열기준 모드인지 판단하고, 상기 판단된 컬럼 모드에 따라 행을 기준으로 또는 열을 기준으로, 매핑할 시트 컬럼들을 추출할 시트 컬럼 영역을 판단할 수 있다.A step of determining whether the column mode is a row-based mode or a column-based mode, extracting sheet columns to be mapped based on a row or a column based on the determined column mode, The column area can be determined.

상기 매핑할 시트 컬럼을 추출하는 단계에서, 사용자의 입력에 따른 영역을, 매핑할 시트 컬럼들을 추출할 시트 컬럼 영역으로 판단할 수 있다.In the step of extracting the sheet column to be mapped, an area according to a user's input may be determined as a sheet column area to extract the sheet columns to be mapped.

상기 방법은, 상기 테이블의 생성을 요청하기 전에, 상기 추출된 시트 컬럼에 해당하는 스프레드 시트의 데이터를 참조하여 데이터 타입을 결정하고, 결정된 데이터 타입을 포함하는 컬럼 요약 정보를 상기 DB 영역에 표시하는 단계;를 더 포함할 수 있다.The method includes determining a data type by referring to data of a spreadsheet corresponding to the extracted sheet column before requesting generation of the table, and displaying column summary information including the determined data type on the DB area Step;

본 발명의 다른 실시예에 따른 스프레드 시트를 데이터베이스로 통합하는 방법은, 스프레드 시트의 내용을 표시한 시트 영역, 스프레드 시트를 데이터베이스로 통합하는데 필요한 제어 정보를 표시하기 위한 통합 제어 영역 및 데이터베이스의 테이블 정보를 표시하기 위한 DB 영역을 포함하는 사용자 인터페이스 화면을 제공하는 단계와; 상기 시트 영역에서 선택된 영역으로부터 데이터베이스로 매핑할 시트 컬럼을 적어도 하나 추출하여 상기 통합 제어 영역에 표시하는 단계와; 데이터 이동을 위한 소스 컬럼과 타겟 컬럼에 대한 정보를 표시할 컬럼 매핑 표를 상기 통합 제어 영역에 표시하는 단계와; 상기 DB 영역에 표시된 작업 테이블의 컬럼 중 적어도 하나를 상기 컬럼 매핑 표의 타겟 컬럼에 추가하는 단계와; 사용자의 입력에 따라 상기 매핑할 시트 컬럼의 적어도 하나를 상기 컬럼 매핑 표의 소스 컬럼에 추가하는 단계와; 상기 컬럼 매핑 표를 참조하여 상기 시트 영역에서 선택된 영역의 데이터를 상기 작업 테이블에 추가하도록 서버에 요청하는 단계;를 포함할 수 있다.A method for integrating a spreadsheet into a database according to another embodiment of the present invention includes a sheet area displaying the contents of the spreadsheet, an integrated control area for displaying control information required to integrate the spreadsheet into the database, Providing a user interface screen including a DB area for displaying the user interface screen; Extracting at least one sheet column to be mapped from a selected region in the sheet region to a database and displaying the extracted sheet column in the integrated control region; Displaying a column mapping table to display information on a source column and a target column for data movement in the integrated control area; Adding at least one column of the work table displayed in the DB area to a target column of the column mapping table; Adding at least one of the sheet columns to be mapped to a source column of the column mapping table according to a user's input; And requesting the server to add data of the selected area in the sheet area to the work table with reference to the column mapping table.

상기 방법은, 상기 컬럼 매핑 표를 매핑 정보 파일로 변환하여 저장하는 단계와; 상기 매핑 정보 파일을 템플릿 폴더와 바인딩하는 단계와; 상기 템플릿 폴더에 데이터 파일이 추가되는지 감지하는 단계와; 상기 템플릿 폴더에 데이터 파일이 추가되면, 상기 바인딩된 매핑 정보 파일을 참조하여 상기 데이터 파일의 데이터를 데이터베이스에 저장하는 단계;를 더 포함할 수 있다.The method includes converting the column mapping table into a mapping information file and storing the mapping information file; Binding the mapping information file with a template folder; Detecting whether a data file is added to the template folder; And if the data file is added to the template folder, storing the data of the data file in the database with reference to the bound mapping information file.

본 발명에 따르면 사용자는 데이터베이스나 쿼리 언어에 대한 전문 지식이 없더라도 한 화면에 디스플레이되는 직관적인 사용자 인터페이스를 통해 스프레드 시트와 데이터베이스를 연동시고 통합함으로써 손쉽게 데이터 테이블을 생성하고 관리할 수 있다.According to the present invention, a user can easily create and manage a data table by linking and integrating a spreadsheet and a database through an intuitive user interface displayed on a single screen even without expertise in a database or a query language.

본 발명에 따르면 사용자는 데이터를 반복하여 대량으로 데이터베이스에 이동(Migration)하는 작업을 위지윅(WYSIWYG, What You See Is What You Get) 방식으로 쉽게 수행할 수 있다는 효과가 있다.According to the present invention, a user can easily perform a work of migrating data to a database in a repetitive manner by a WYSIWYG (What You See Is What You Get) method.

도 1은 본 발명의 일 실시예에 따른 스프레드 시트 통합 시스템의 네트워크 구성을 도시한 것이다.
도 2는 본 발명의 일 실시예에 따른 스프레드 시트 통합기의 화면을 예시한 것이다.
도 3은 본 발명의 일 실시예에 따른 스프레드 시트를 데이터베이스에 통합하는 방법을 설명하기 위한 순서도이다.
도 4는 본 발명의 일 실시예에 따라 스프레드 시트의 일부 영역을 선택하여 매핑할 시트 컬럼을 추출하는 모습을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따라 컬럼 추출 영역을 수동으로 설정하는 모습을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따라 테이블이 자동으로 생성되는 모습을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따라 테이블 컬럼의 데이터 타입을 변경하는 모습을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 컬럼의 상세 타입을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 스프레드 시트를 데이터베이스에 통합하는 방법을 설명하기 위한 순서도이다.
도 10은 스프레드 시트의 데이터를 테이블에 추가하기 위해 컬럼 매핑을 설정하는 모습을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 템플릿 폴더를 설명하기 위한 도면이다.
도 12는 스프레드 시트의 데이터를 이용해 테이블의 데이터를 수정하기 위해 컬럼 매핑을 설정하는 모습을 설명하기 위한 도면이다.
도 13은 본 발명의 일 실시예에 따라 선택형 데이터 타입의 데이터를 통합하는 방법을 설명하기 위한 도면이다.
도 14 내지 도 17은 본 발명의 일 실시예에 따라 조회형 데이터 타입의 데이터를 통합하는 방법을 설명하기 위한 도면이다.
도 18은 본 발명의 일 실시예에 따라 예약어를 소스 컬럼으로 사용하도록 하는 사용자 인터페이스의 예를 도시한 것이다.
1 illustrates a network configuration of a spreadsheet integration system according to an embodiment of the present invention.
FIG. 2 illustrates a screen of a spreadsheet integrator according to an embodiment of the present invention.
3 is a flowchart illustrating a method of integrating a spreadsheet into a database according to an embodiment of the present invention.
FIG. 4 is a view for explaining a method of extracting a sheet column to be mapped by selecting a part of a spreadsheet according to an embodiment of the present invention.
5 is a view for explaining how a column extracting area is manually set according to an embodiment of the present invention.
FIG. 6 is a view for explaining how a table is automatically generated according to an embodiment of the present invention.
FIG. 7 is a diagram for explaining how a data type of a table column is changed according to an embodiment of the present invention.
8 is a view for explaining a detailed type of a column according to an embodiment of the present invention.
9 is a flowchart illustrating a method of integrating a spreadsheet according to another embodiment of the present invention into a database.
10 is a diagram for explaining how column mapping is set to add data of a spreadsheet to a table.
11 is a view for explaining a template folder according to an embodiment of the present invention.
12 is a diagram for explaining how column mapping is set to modify data of a table using data of a spreadsheet.
13 is a diagram for explaining a method of integrating data of a selectable data type according to an embodiment of the present invention.
14 to 17 are views for explaining a method of integrating data of a inquiry type data type according to an embodiment of the present invention.
18 shows an example of a user interface for using a reserved word as a source column according to an embodiment of the present invention.

이하에서는 본 발명의 바람직한 실시예 및 첨부하는 도면을 참조하여 본 발명을 상세히 설명하되, 도면의 동일한 참조부호는 동일한 구성요소를 지칭함을 전제하여 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Hereinafter, the present invention will be described in detail with reference to preferred embodiments of the present invention and the accompanying drawings, wherein like reference numerals refer to like elements.

발명의 상세한 설명 또는 특허청구범위에서 어느 하나의 구성요소가 다른 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 당해 구성요소만으로 이루어지는 것으로 한정되어 해석되지 아니하며, 다른 구성요소들을 더 포함할 수 있는 것으로 이해되어야 한다.It is to be understood that when an element is referred to as being "comprising" another element in the description of the invention or in the claims, it is not to be construed as being limited to only that element, And the like.

또한, 발명의 상세한 설명 또는 특허청구범위에서 "~수단", "~부", "~모듈", "~블록"으로 명명된 구성요소들은 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이들 각각은 소프트웨어 또는 하드웨어, 또는 이들의 결합에 의하여 구현될 수 있다.Also, in the description of the invention or the claims, the components named as "means", "parts", "modules", "blocks" refer to units that process at least one function or operation, Each of which may be implemented by software or hardware, or a combination thereof.

이하에서 개시되는 스프레드 시트를 데이터베이스로 통합하기 위한 방법, 컴퓨터 프로그램 및 시스템은 공지의 사용자 인터페이스와 비교하여 완전히 새롭고 진보적인 사용자 인터페이스를 제시한다. 사용자와 상호작용하기 위한 하나 이상의 센서를 갖는 다양한 실시예가 공지의 입력도구와의 조합으로 또는 독자적으로 고려될 수 있다.The methods, computer programs and systems for integrating spreadsheets into databases, disclosed below, provide a completely new and advanced user interface as compared to known user interfaces. Various embodiments having one or more sensors for interacting with a user may be considered in combination with or independently of known input tools.

도 1은 본 발명의 일 실시예에 따른 스프레드 시트 통합 시스템의 네트워크 구성을 도시한 것이다.1 illustrates a network configuration of a spreadsheet integration system according to an embodiment of the present invention.

본 발명에 따른 스프레드 시트 통합 시스템은 네트워크를 통해 서로 통신하는 스프레드 시트 통합 서버(10)와 하나 이상의 사용자 단말(11)을 포함한다. 스프레드 시트 통합 서버(10)는 데이터베이스(DB, 14)를 구동하기 위한 데이터베이스 관리 시스템(DBMS)과 스프레드 시트 통합 서버의 기능을 수행하는 컴퓨팅 장치로서, 하나의 물리적인 장치에 구현될 수도 있으나 DBMS를 구비하는 데이터베이스 서버와 스프레드 시트 통합 서버를 별도의 장치에 구현하는 것도 가능하다.The spreadsheet integration system according to the present invention includes a spreadsheet integration server 10 and one or more user terminals 11 that communicate with each other over a network. The spreadsheet integration server 10 is a computing device that performs functions of a database management system (DBMS) and a spreadsheet integration server for driving a database (DB) 14, and may be implemented in one physical device, It is also possible to implement the database server and the spreadsheet integration server in separate devices.

사용자 단말(11)에는 스프레드 시트를 데이터베이스(14)에 통합하기 위한 사용자 인터페이스를 제공하는 클라이언트 프로그램인 스프레드 시트 통합기가 구비되며, 스프레드 시트 통합 서버(10)는 스프레드 시트 통합기와 연동하여 사용자의 조작에 따라 스프레드 시트의 내용을 데이터베이스(14)에 통합하는 작업을 수행한다. 스프레드 시트 통합 서버(10)는 사용자의 조작에 따른 통합 작업을 수행하기 위해 DBMS를 호출함으로써, 테이블의 생성, 변경, 삭제나 데이터의 입력, 변경, 삭제 등이 실제로 데이터베이스(14) 상에서 수행되도록 한다.The user terminal 11 is provided with a spreadsheet integrator, which is a client program that provides a user interface for integrating the spreadsheet into the database 14, and the spreadsheet integration server 10, in cooperation with the spreadsheet integrator, And then integrates the contents of the spreadsheet into the database 14. The spreadsheet integration server 10 calls the DBMS to perform an integration operation according to a user's operation so that creation, modification, deletion, entry, change, deletion, etc. of the table are actually performed on the database 14 .

사용자 단말(11)에 사용자 인터페이스 화면을 제공하는 스프레드 시트 통합기가 웹 화면으로 구현될 수도 있다. 이 실시예에서는 스프레드 시트 통합 서버(10)가 웹 서버로 동작하여 사용자 단말(11)과 통신할 것이다.A spreadsheet integrator that provides a user interface screen to the user terminal 11 may be implemented as a web screen. In this embodiment, the spreadsheet integration server 10 will operate as a web server and communicate with the user terminal 11. [

도 2는 본 발명의 일 실시예에 따른 스프레드 시트 통합기의 화면을 예시한 것이고, 도 3은 본 발명의 일 실시예에 따른 스프레드 시트를 데이터베이스에 통합하는 방법을 설명하기 위한 순서도이다.FIG. 2 illustrates a screen of a spreadsheet integrator according to an embodiment of the present invention, and FIG. 3 is a flowchart illustrating a method of integrating a spreadsheet according to an embodiment of the present invention into a database.

스프레드 시트 통합기를 실행하면 사용자 인터페이스 화면이 제공된다(S32).When the spreadsheet integrator is executed, a user interface screen is provided (S32).

스프레드 시트 통합기가 제공하는 사용자 인터페이스는, 사용자가 스프레드 시트의 내용과 데이터베이스의 내용을 확인하고, 스프레드 시트에서 원하는 부분을 추출하여 해당하는 테이블을 생성하거나 데이터를 입력하는 등의 통합 작업을 자동으로 수행할 수 있도록, 스프레드 시트의 내용을 표시하는 스프레드 시트 영역(21), 데이터베이스의 테이블 정보를 표시하기 위한 데이터베이스 영역(23), 스프레드 시트를 데이터베이스로 통합하는데 필요한 제어 정보를 표시하기 위한 통합 제어 영역(22)으로 구성될 수 있다. 이들 영역은 한 화면에 배치되는 것이 바람직하나 실시예에 따라서는 사용자 단말의 환경을 고려하여 다수의 탭이나 윈도우에 구현되는 것도 가능할 것이다.The user interface provided by the spreadsheet integrator allows the user to check the contents of the spreadsheet and the contents of the database, extract the desired part from the spreadsheet, and automatically perform such integrated tasks as creating the corresponding table or inputting data A spreadsheet area 21 for displaying the contents of the spreadsheet, a database area 23 for displaying table information of the database, an integrated control area for displaying control information necessary for integrating the spreadsheet into a database 22). These areas are preferably arranged on one screen, but it may be implemented in a plurality of tabs or windows in consideration of the environment of the user terminal according to the embodiment.

도 2를 참조하면, 스프레트 시트 영역(21)은 화면의 왼쪽에 위치한 부분으로, 스프레드 시트 파일의 내용이 디스플레이된다. 도 2의 예에서는 스프레드 시트 파일로 엑셀 파일이 사용되었으나 이에 한정되는 것은 아니며, 다른 형식의 스프레드 시트 파일도 지원하도록 구현될 수 있다. 스프레드 시트 영역(21)에서는 스프레드 시트 파일을 불러 올 수 있으며, 스프레드 시트 파일에는 하나 이상의 표가 포함되며 각 표는 컬럼명과 데이터로 구성된다.Referring to FIG. 2, the spread sheet region 21 is a portion located on the left side of the screen, and the contents of the spreadsheet file are displayed. In the example of FIG. 2, an Excel file is used as a spreadsheet file. However, the present invention is not limited to this, and other types of spreadsheet files may also be supported. In the spreadsheet area 21, a spreadsheet file can be called up, and the spreadsheet file includes one or more tables, each table being composed of a column name and data.

데이터베이스 영역(23)은 화면의 오른쪽에 위치한 부분으로, 데이터베이스에 생성되어 있거나 생성할 테이블(31)의 컬럼 리스트와 데이터를 조회하고 편집할 수 있다.The database area 23 is a part located on the right side of the screen, and it is possible to inquire and edit the column list and data of the table 31 that is created or generated in the database.

통합 제어 영역(22)은 실행 모드의 선택, 컬럼 모드의 선택, 시트 컬럼 추출 영역의 설정, 새 테이블명의 입력, 매핑할 시트 컬럼의 디스플레이, 스프레드 시트의 컬럼을 테이블의 컬럼에 매핑하기 위한 컬럼 매칭 등 스프레드 시트 통합 작업을 위한 정보와 메뉴들을 모아둔 영역이다.The integrated control area 22 is used for selecting an execution mode, selecting a column mode, setting a sheet column extraction area, inputting a new table name, displaying a sheet column to be mapped, column matching for mapping a column of a spreadsheet to a column of a table This is the area where information and menus for spreadsheet integration work are gathered.

본 발명의 일 실시예에 따른 스프레드 시트 통합기의 실행 모드(24)는 통합 제어 영역(22)에서 선택할 수 있으며, 테이블 생성 모드, 데이터 추가 모드 또는 데이터 수정 모드로 실행될 수 있다.The execution mode 24 of the spreadsheet integrator according to an embodiment of the present invention can be selected in the integrated control area 22 and can be executed in a table creation mode, a data addition mode, or a data modification mode.

테이블 생성 모드에서, 스프레드 시트의 내용을 이용하여 테이블을 생성하기 위해서는 먼저 원하는 시트 컬럼을 스프레드 시트에서 추출한다. 구체적으로는 스프레드 시트 영역(21)에서 선택된 영역으로부터 데이터베이스의 테이블로 매핑할 시트 컬럼을 추출하여 화면에 표시한다(S34). 추출된 시트 컬럼들은 통합 제어 영역(22)의 매핑할 시트 컬럼 란(28)에 출력된다.In table creation mode, to create a table using the contents of a spreadsheet, first extract the desired sheet column from the spreadsheet. Specifically, a sheet column to be mapped to the table of the database is extracted from the selected area in the spreadsheet area 21 and displayed on the screen (S34). The extracted sheet columns are output to the sheet column column 28 to be mapped in the integrated control area 22.

시트 컬럼 추출시 행을 기준으로 할 것인지 열을 기준으로 할 것인지 컬럼 모드(25)를 설정할 수 있다. 행기준 모드에서는 행을 기준으로 소정의 행까지를 포함하는 영역에서 매핑할 시트 컬럼을 추출하게 되고, 열기준 모드에서는 열을 기준으로 소정의 열까지를 포함하는 영역에서 매핑할 시트 컬럼을 추출하게 된다.When extracting a sheet column, you can set the column mode (25) based on the row or column. In the row reference mode, a sheet column to be mapped is extracted in an area including a row up to a predetermined row, and in a column reference mode, a sheet column to be mapped in an area including up to a predetermined column is extracted do.

도 2의 스프레드 시트 영역(21)에 열려 있는 스프레드 시트는 행을 기준으로 컬럼명이 기입된 표를 포함하므로 행기준 모드로 컬럼을 추출하겠지만, 표의 왼쪽 열에 컬럼명이 기입된 표의 경우는 열기준 모드로 컬럼을 추출하도록 설정되어야 할 것이다.The spreadsheet opened in the spreadsheet area 21 of FIG. 2 extracts the column in the row-based mode because the spreadsheet includes the table in which the column name is written based on the row. In the case of the table in which the column name is written in the left column of the table, It should be set up to extract the column.

시트 컬럼의 추출 방법으로는 자동 추출 방법과 수동 추출 방법이 있다. As a method of extracting a sheet column, there are an automatic extraction method and a manual extraction method.

자동 추출 방법에 따르면, 사용자가 스프레드 시트 상에서 영역을 선택함에따라 선택된 영역에 포함된 셀 집합으로부터 매핑할 시트 컬럼(들)이 자동으로 추출된다. 추출된 컬럼들은 통합 제어 영역(22)의 매핑할 시트 컬럼 란(28)에 보여진다. 영역의 선택을 위해 사용자는 스프레드 시트 상에서 마우스 커서를 이동시키거나 드래그 동작 등을 수행하면 된다.According to the automatic extraction method, as the user selects an area on the spreadsheet, the sheet column (s) to be mapped from the set of cells included in the selected area is automatically extracted. The extracted columns are shown in the sheet column column 28 to be mapped in the integrated control area 22. To select a region, the user may move the mouse cursor or perform a drag operation on the spreadsheet.

도 4는 본 발명의 일 실시예에 따라 스프레드 시트의 일부 영역을 선택하여 자동 추출 방법에 의해 매핑할 시트 컬럼을 추출하는 모습을 설명하기 위한 도면이다.4 is a view for explaining a state in which a part of a spreadsheet is selected and a sheet column to be mapped is extracted by an automatic extraction method according to an embodiment of the present invention.

도 4에 도시된 바와 같이 사용자가 셀 (C1,R2)로부터 셀 (C7, R15)까지의 영역을 선택하였을 때, 어느 부분에 기입된 데이터를 테이블에 매핑할 컬럼으로 인식하느냐가 문제인데, 본 발명의 일 실시예에 따르면 선택된 영역에서 병합(merge)된 셀이 마지막으로 존재하는 부분까지를 매핑할 컬럼 영역으로 인식한다. As shown in FIG. 4, when the user selects an area from the cells C1 and R2 to the cells C7 and R15, there is a problem in which part the data written is recognized as a column to be mapped to the table. According to an embodiment of the present invention, a region to be merged last in a selected region is recognized as a column region to be mapped.

예컨대, 도 4의 선택된 영역(40)에서 맨 위의 행에서부터 판단했을 때, "시술매출", "담당자", "현금", "카드", "합계", "대체금액" 까지가 병합된 셀이 존재하는 부분이고 그 아래 행부터는 병합된 셀이 없으므로, R2 행부터 R4 행까지 3개의 행을 매핑 컬럼 추출 영역으로 판단하고, 그 아래 행부터는 일반 데이터 영역으로 판단한다.For example, when it is judged from the top row in the selected area 40 of FIG. 4, the cell in which the "transaction sales", "agent", "cash", "card", "total" And there are no merged cells from the lower row. Therefore, three rows from the R2 to R4 rows are determined as the mapping column extraction area, and the lower row is determined as the general data area.

결과적으로 셀 (C1, R2)로부터 셀 (C7, R4) 까지 3개 행이 포함된 영역에서 매핑할 컬럼을 추출하게 되는데, 셀의 병합 상태를 참조하여, 시술매출.담당자, 시술매출.현금.영수증, 시술매출.현금.미발행, 시술매출.현금.소계, 시술매출.카드, 시술매출.합계, 시술매출.대체금액이라는 시트 컬럼들이 매핑할 시트 컬럼으로 추출된다. 추출된 시트 컬럼들이 통합 제어 영역(22)의 매핑할 시트컬럼 란(28)에 표시되며, 사용자가 선택한 영역이 변경되면 매핑할 시트컬럼 란(28)에 표시되는 시트 컬럼들도 그에 따라서 동적으로 변경된다. As a result, the column to be mapped is extracted in an area including three rows from the cells C1 and R2 to the cells C7 and R4. Referring to the merging state of the cell, the sales person in charge, the sales person, Receipts, procedure sales, cash, unpublished, procedure sales, cash, subtotal, procedure sales, card, procedure sales, sum, procedure sales. The extracted sheet columns are displayed in the sheet column column 28 to be mapped in the integrated control area 22 and the sheet columns displayed in the sheet column column 28 to be mapped when the selected area is changed are also dynamically Is changed.

이때, 도 4의 예에서와 같이 추출된 컬럼들의 이름을 줄여서 맨 마지막 셀의 내용만 포함되도록 할 수 있다. 즉, 시술매출.담당자, 시술매출.현금.영수증, 시술매출.현금.미발행, 시술매출.현금.소계, 시술매출.카드, 시술매출.합계, 시술매출.대체금액이라는 컬럼명 대신 담당자, 영수증, 미발행, 소계, 카드, 합계, 대체금액이 매핑할 시트컬럼으로 표시됨을 알 수 있다.At this time, the names of the extracted columns may be reduced to include only the contents of the last cell as in the example of FIG. In other words, the sales person in charge of the procedure, the sales person in charge of the treatment, the cash, the receipt, the treatment sales, the cash, the unrepaid, the treatment sales, the cash, the subtotal, the treatment sales card, , Unpublished, subtotal, card, sum, and substitute amount are displayed in the sheet column to be mapped.

유사한 방법으로, 열기준 모드로 동작할 때는 사용자가 선택한 영역에서 몇번째 열까지의 부분에서 매핑할 시트 컬럼을 추출할지 결정하게 되며, 병합한 셀이 있는 마지막 열까지를 시트 컬럼 추출 영역으로 인식한다.In a similar manner, when operating in the column reference mode, it is determined to extract a sheet column to be mapped in a portion from a user-selected region to a column, and up to the last column in which the merged cell is located is recognized as a sheet column extraction region .

병합된 셀이 없는 경우, 행기준 모드에서는 선택된 스프레드 시트 영역의 첫번째 행으로부터, 열기준 모드에서는 선택된 스프레드 시트 영역의 첫번째 열로부터, 매핑할 컬럼들이 추출될 것이다.If there are no merged cells, the columns to be mapped will be extracted from the first row of the selected spreadsheet area in the row reference mode and from the first column of the selected spreadsheet area in the column reference mode.

도 5는 본 발명의 일 실시예에 따라 컬럼 추출 영역을 수동으로 설정하는 모습을 설명하기 위한 도면이다.5 is a view for explaining how a column extracting area is manually set according to an embodiment of the present invention.

수동 추출 방법에 따르면, 사용자가 컬럼 모드 메뉴(25)를 이용하여 어디까지를 시트 컬럼 추출 영역으로 설정할지를 선택할 수 있다. 먼저, 표의 형태에 따라 행을 기준으로 컬럼을 추출할지 열을 기준으로 컬럼을 추출할지를 설정한다. 도 4의 예에서는 컬럼 명이 표의 윗부분에 기재되어 있으므로 "행기준"을 선택하고, 세째 행까지 컬럼으로 인식하여 추출할지를 선택하였다(26). "열기준"을 선택한 경우는 도 5의 선택 목록은 행머리, 첫째열, 둘째열, 세째열 등을 포함할 것이다.According to the manual extraction method, the user can select where to use the column mode menu 25 to set the sheet column extraction area. First, set whether to extract the column based on the row or column based on the table type. In the example of FIG. 4, since the column name is written in the upper part of the table, it is selected to select "row-based" and to recognize the column up to the third row and extract it (26). If "column criteria" is selected, the selection list of FIG. 5 will include row head, first column, second column, third column, and so on.

매핑할 시트 컬럼을 추출한 후 사용자가 새테이블명 란(27)에 원하는 테이블명을 입력하고 통합 실행 버튼(29)을 누르면, 스프레드 시트 통합기는 추출된 컬럼을 포함하는 새 테이블의 모습을 도 6와 같이 데이터베이스 영역(23)에 디스플레이한다. After extracting the sheet column to be mapped, if the user inputs a desired table name into the new table name column 27 and presses the integrated execution button 29, the spreadsheet integrator displays the state of the new table including the extracted column And displays it in the database area 23 as well.

도 6은 본 발명의 일 실시예에 따라 테이블이 자동으로 생성되는 모습을 설명하기 위한 도면이다.FIG. 6 is a view for explaining how a table is automatically generated according to an embodiment of the present invention.

도 6을 참조하면, 사용자가 입력한 새테이블명(61)이 테이블 목록에 추가되며, "바로테이블"에 대한 컬럼리스트 탭에 컬럼 요약 정보가 표시된다.Referring to FIG. 6, a new table name 61 entered by the user is added to the table list, and column summary information is displayed in a column list tab for "immediate table".

컬럼 리스트의 표시명은 스프레드 시트에 표시된 시트 컬럼명이 디폴트로 표시되며 변경 가능하다. 표시명은 사용자가 식별하기에 편한 라벨이며, 해당 컬럼이 데이터베이스에 생성될 때는 DBMS에서 허용하는 형식의 시스템 네임이 사용될 수 있다. 컬럼 리스트의 컬럼 라벨에 마우스를 이동시키면 해당 컬럼의 시스템 네임을 확인할 수 있다. 예를 들어, 표시명이 "담당자"인 컬럼의 시스템 네임은 "col_399" 등으로 생성된다.The display name of the column list is displayed by default in the sheet column name displayed in the spreadsheet and can be changed. The display name is a label that is easy for the user to identify. When the column is created in the database, the system name in the format allowed by the DBMS can be used. Move the mouse over the column label in the column list to see the system name of the corresponding column. For example, the system name of a column whose display name is "contact person" is "col_399".

스프레드 시트 통합기는, 각 테이블 컬럼의 데이터 타입으로서, 스프레드 시트에서 선택된 영역 내의 데이터 부분을 분석하여 자동으로 판단한 데이터 타입을 보여준다. 예를 들어 스프레드 시트의 "담당자" 컬럼 아래의 데이터는 텍스트 데이터를 포함하므로 text 타입이 자동 추출되며, "영수증" 칼럼의 데이터는 숫자를 포함하므로 number 타입이 자동 추출된다.The spreadsheet integrator analyzes the data portion of the selected area of the spreadsheet as the data type of each table column and shows the data type automatically determined. For example, the data under the column "Person" in the spreadsheet contains text data, so the text type is automatically extracted, and the data in the "receipt" column contains numbers, so the number type is automatically extracted.

도 7은 본 발명의 일 실시예에 따라 테이블 컬럼의 데이터 타입을 변경하는 모습을 설명하기 위한 도면이고, 도 8은 본 발명의 일 실시예에 따른 컬럼의 상세 타입을 설명하기 위한 도면이다.FIG. 7 is a view for explaining a method of changing a data type of a table column according to an embodiment of the present invention, and FIG. 8 is a view for explaining a detailed type of a column according to an embodiment of the present invention.

도 7와 같이 데이터 타입은 Text, Number, Selection, Date, Lookup, Formatted, 또는 Compute가 될 수 있다. Selection은 도 8과 같이 사용자가 미리 정의한 옵션들 중 하나를 선택할 수 있는 선택형 데이터 타입이다. Lookup은 조회형 데이터 타입이다.As shown in FIG. 7, the data type may be Text, Number, Selection, Date, Lookup, Formatted, or Compute. Selection is an optional data type in which one of the user-defined options can be selected as shown in FIG. Lookup is a query type.

상세 타입은 데이터 타입을 더 상세한 타입으로 나눈 것이다. 예를 들어 Number 타입의 상세 타입은 Integer, Decimal, Currency 중 하나로 지정될 수 있다. The detail type is the data type divided by the more detailed type. For example, the detail type of a Number type can be specified as Integer, Decimal, or Currency.

필수 여부는 테이블에 레코드가 입력될 때 해당 컬럼에 데이터가 필수적으로 존재해야 하는지를 나타내는 것이다.Mandatory indicates whether data must exist in the corresponding column when a record is entered into the table.

사용자는 이 컬럼 리스트에서 컬럼 정보를 확인하고 필요할 경우 표시명, 데이터타입, 상세타입, 필수 여부 등을 변경할 수 있다.The user can check the column information in this column list and change the display name, data type, detail type, and necessity if necessary.

사용자가 저장 버튼(62)을 눌러 현재 컬럼 리스트를 저장하면, 해당 컬럼들을 포함하는 테이블이 데이터베이스에 생성되도록 하는 쿼리 문장을 생성하여 서버에 전송함으로써 테이블의 생성을 서버에 요청한다(S36). 서버는 스프레드 시트 통합기로부터 필요한 정보를 받고 그에 대응하는 테이블을 생성한 후 결과를 리턴할 것이다. 생성된 테이블에 대한 정보는 데이터베이스 영역(23)에 표시되며(S38), 테이블의 생성 후에도 사용자는 컬럼리스트 탭에서 원하는 대로 테이블의 설정을 변경할 수 있다.When the user presses the save button 62 to store the current column list, a query sentence for generating a table including the corresponding columns in the database is generated and transmitted to the server, thereby requesting the server to create the table (S36). The server will receive the necessary information from the spreadsheet integrator and will generate a corresponding table and return the results. Information on the generated table is displayed in the database area 23 (S38). After creation of the table, the user can change the setting of the table as desired in the column list tab.

도 9는 본 발명의 다른 실시예에 따라 스프레드 시트를 데이터베이스에 통합하는 방법을 설명하기 위한 순서도이고, 도 10은 스프레드 시트의 데이터를 테이블에 추가하기 위해 컬럼을 매핑하는 모습을 설명하기 위한 도면이다.FIG. 9 is a flow chart for explaining a method of integrating spreadsheets into a database according to another embodiment of the present invention, and FIG. 10 is a diagram for explaining how a column is mapped to add data of a spreadsheet to a table .

테이블의 생성시와 유사하게 스프레드 시트 영역(21), 통합 제어 영역(22) 및 데이터베이스 영역(23)으로 구성된 사용자 인터페이스 화면이 제공된다(S90).A user interface screen composed of a spreadsheet area 21, an integrated control area 22, and a database area 23 is provided similarly to the generation of the table (S90).

사용자는 스프레드 시트 영역(21)에서 이동을 원하는 데이터를 선택하며, 이와 같이 스프레드 시트 영역(21)에서 선택된 영역으로부터 매핑할 시트 컬럼들을 추출한다. 시트 컬럼의 추출 방법은 테이블의 생성시와 유사하다. 추출된 시트 컬럼들은 통합 제어 영역(22)의 매핑할 시트컬럼 란(28)에 표시된다(S92).The user selects data to be moved in the spreadsheet area 21 and thus extracts the sheet columns to be mapped from the selected area in the spreadsheet area 21. [ The method of extracting a sheet column is similar to that of creating a table. The extracted sheet columns are displayed in the sheet column column 28 to be mapped in the integrated control area 22 (S92).

실행 모드(24)가 "데이터 추가" 모드인 경우 데이터의 이동(migration)을 수행할 수 있다. 도 10에 도시된 바와 같이 "데이터 추가" 모드에서는 통합 제어 영역(22)의 컬럼 매핑 표(30)를 이용하여 이전에 생성된 테이블에 스프레드 시트의 데이터를 추가할 수 있다.When the execution mode 24 is the "data addition" mode, data migration can be performed. In the "data addition" mode, as shown in FIG. 10, data of a spreadsheet can be added to a previously generated table using the column mapping table 30 of the integrated control area 22. [

컬럼 매핑 표(30)에는 데이터의 소스(90)와 데이터의 이동 타겟(95)이 표시된다. 소스는 스프레드 시트 영역(21)의 시트 컬럼이고 타겟은 데이터베이스 테이블의 컬럼이다. "데이터 추가" 모드로 설정 또는 변경되면, 컬럼 매핑 표(30)의 타겟(95)에 현재 데이터베이스 영역(23)에 표시되어 있는 작업 테이블의 컬럼들 중 일부 또는 전부가 표시된다(S94). 이들 컬럼이 데이터 이동의 목적지인 것이다.In the column mapping table 30, a source 90 of data and a moving target 95 of data are displayed. The source is the sheet column of the spreadsheet region 21 and the target is the column of the database table. When the mode is set or changed in the "data addition" mode, some or all of the columns of the work table displayed in the current database area 23 are displayed on the target 95 of the column mapping table 30 (S94). These columns are the destinations of data movement.

사용자의 입력에 따라 상기 매핑할 시트 컬럼의 적어도 하나를 상기 컬럼 매핑 표의 소스 컬럼(90)에 추가한다(S96).At least one of the sheet columns to be mapped is added to the source column 90 of the column mapping table according to a user's input (S96).

데이터의 소스 지정은 매핑할 시트 컬럼 란(28)의 컬럼을 드래그앤드롭 등에 의해 컬럼 매핑 표(30)로 이동시킴으로써 직관적으로 수행될 수 있다. 도 10의 예를 보면, "담당자" 컬럼과 "영수증" 컬럼이 컬럼 매핑 표의 소스로 이동하였음을 알 수 있다.The source designation of the data can be intuitively performed by moving the column of the sheet column column 28 to be mapped to the column mapping table 30 by dragging and dropping. In the example of FIG. 10, it can be seen that the "Person" column and the "Receipt" column have moved to the source of the column mapping table.

컬럼 매핑 표(30)에서 원하는 소스와 타겟을 모두 설정한 후 통합 실행 버튼(29)을 누르면, 스프레드 시트에서 선택되어 있는 영역에 포함된 데이터가 데이터베이스의 테이블에 추가된다. 스프레드 시트 통합기는 컬럼 매핑 표(30)를 참조하여 선택된 영역의 데이터를 작업 테이블에 추가하는 쿼리 문장(들)을 생성하여 서버에 전송함으로써 데이터의 추가를 서버에 요청한다(S98).After setting both the desired source and target in the column mapping table 30 and pressing the unified execution button 29, the data included in the area selected in the spreadsheet is added to the table of the database. The spreadsheet integrator generates a query sentence (s) for adding the data of the selected region to the work table by referring to the column mapping table 30 and sends the query sentence (s) to the server to request the server to add data (S98).

데이터의 추가는 컬럼 매핑 표(30)에 설정된 대로 소스 컬럼과 타겟 컬럼을 대응시켜 수행될 것이다. 즉, 소스에 해당하는 컬럼들에 해당하는 값들이 하나의 레코드를 이루어 테이블의 대응 컬럼에 저장된다.The addition of data will be performed by mapping the source column to the target column as set in the column mapping table 30. [ That is, the values corresponding to the columns corresponding to the source are stored in the corresponding column of the table as one record.

테이블에 추가된 데이터는 데이터베이스 영역(23)의 데이터 탭을 통해 바로 확인할 수 있으며, 사용자는 동일 인터페이스를 통해 원하는 대로 데이터를 수정할 수도 있다.The data added to the table can be directly checked through the data tab of the database area 23, and the user can modify the data as desired through the same interface.

도 12는 스프레드 시트의 데이터를 이용해 테이블의 데이터를 수정하기 위해 컬럼 매핑을 설정하는 모습을 설명하기 위한 도면이다.12 is a diagram for explaining how column mapping is set to modify data of a table using data of a spreadsheet.

도 12와 같이 실행 모드(24)를 "데이터 수정"으로 설정하면 스프레드 시트의 데이터를 가지고 데이터베이스에 기 저장된 데이터를 수정할 수 있다. "데이터 수정" 모드에서도 "데이터 추가" 모드에서와 마찬가지로 통합 제어 영역(22)의 컬럼 매핑 표(30)를 이용하여 데이터 수정시 스프레드 시트 영역의 컬럼과 테이블 컬럼 간에 어떻게 매핑하는지를 설정할 수 있다. If the execution mode 24 is set to "data modification" as shown in FIG. 12, data previously stored in the database can be modified with the spreadsheet data. As in the "data addition" mode, the column mapping table 30 of the integrated control area 22 can be used to set how to map between the columns of the spreadsheet area and the table columns when modifying data in the "data modification" mode.

다만, "데이터 수정" 모드에서의 컬럼 매핑 표(30)는 데이터의 소스 및 데이터의 이동 타겟을 지정하기 위한 란(122, 123) 뿐만 아니라 키 필드(key field) 지정란(121)을 가지고 있다. 키 필드 지정란(121)은 수정할 레코드를 조회할 키가 되는 컬럼을 지정하기 위한 것이며, 키 필드 이외의 나머지 컬럼은 데이터 필드로서 실질절으로 수정되는 부분이다. 즉, 키 필드를 이용하여 수정할 레코드를 조회하며, 결과적으로 키 필드의 데이터가 스프레드 시트와 동일한 레코드가 스프레드 시트의 데이터와 동일하게 수정된다.However, the column mapping table 30 in the "data modification" mode has columns 121 and 122 as well as columns 122 and 123 for designating a source of data and a movement target of data. The key field designation field 121 is for designating a column to be a key for inquiring a record to be modified, and the rest of the columns other than the key field are data fields, which are substantially revised. That is, a key field is used to inquire a record to be modified, and as a result, the same key field data as that of the spreadsheet is modified to be the same as that of the spreadsheet.

데이터 수정의 기준이 되는 키 필드는 하나 이상이며, 사용자가 컬럼 매핑 표(30)에서 키 필드로 체크하는 모든 필드를 키필드 조합으로 사용하여 수정 대상 레코드가 조회된다. 즉, 사용자에 의해 지정된 하나 이상의 키 필드는, 수정을 위한 데이터를 데이터베이스에서 조회하기 위한 필터 부분으로, 데이터 수정을 위한 SQL의 where 절에 들어가게 된다.The modification target record is inquired using one or more key fields as a reference for data modification and all fields that the user checks as a key field in the column mapping table 30 as a key field combination. That is, one or more key fields designated by the user are part of the filter for querying the data for modification in the database, and entered into the SQL where clause for data modification.

도 12의 예에서 사용자는 "호수" 컬럼(124)을 키 필드로 지정하였으며 나머지 컬럼들은 데이터 필드로 인식된다. 사용자가 통합 실행 버튼(29)을 선택하면, 스프레드 시트에서 선택되어 있는 영역의 "호수" 값과 동일한 "호수" 값을 가진 "입주업체정보" 테이블의 레코드가 조회되며, 이 레코드에 포함된 데이터 필드 "구분", "입주업체명", "연락처", "담당자"의 데이터를, 스프레드 시트의 대응 레코드에 기록된 데이터로 수정하도록 서버에 요청한다. 이때 스프레드 시트 통합기는 화면의 데이터를 이용하여 데이터 수정을 위한 SQL을 작성하여 서버로 보낼 것이다. 키 필드가 복수 개 지정된 경우에는 모든 키 필드가 동일한 테이블 레코드가 수정의 대상이 될 것이다.In the example of FIG. 12, the user specifies the "lake" column 124 as the key field and the remaining columns as the data field. When the user selects the integrated execution button 29, a record of the "occupant information" table having the same "lake" value as the "lake" value of the area selected in the spreadsheet is displayed, Request the server to modify the data of the field "division", "name of the tenant", "contact", "contact person" into data recorded in the corresponding record of the spreadsheet. At this time, the spreadsheet integrator will use the screen data to create SQL for data modification and send it to the server. If more than one key field is specified, the same table record will be subject to modification.

본 발명의 일 실시예에 따르면 이와 같은 컬럼 매핑 표(30)를 이용한 데이터 추가 작업을 XML(eXtensible Markup Language) 등의 언어로 자동 저장할 수 있는 사용자 인터페이스가 더 제공될 수 있다. 이 경우, 추후에 스프레드 시트에 데이터가 추가되었을 때 상기에서 저장된 XML을 실행하면 자동으로 데이터 이동이 수행될 것이다.According to an embodiment of the present invention, a user interface capable of automatically storing the data addition work using the column mapping table 30 in a language such as XML (eXtensible Markup Language) can be further provided. In this case, when data is added to the spreadsheet at a later time, data movement will be automatically performed when the stored XML is executed.

도 11은 본 발명의 일 실시예에 따른 템플릿 폴더를 설명하기 위한 도면이다.11 is a view for explaining a template folder according to an embodiment of the present invention.

본 발명의 일 실시예에 따르면, 스프레드 시트 파일의 데이터를 대량으로 빠르게 데이터베이스로 통합하기 위하여 템플릿 폴더를 사용한다.According to one embodiment of the present invention, a template folder is used to rapidly integrate spreadsheet file data into a database in a large amount.

스프레드 시트의 컬럼을 소스(90)로 정의하고 데이터베이스 테이블의 컬럼을 타겟(95)으로 정의한 컬럼 매핑 표(30)에 포함된 매핑 정보는 매핑 정보 파일로 변환되어 저장될 수 있다. 하나의 매핑 정보 파일은 하나의 템플릿 폴더에 바인딩되도록 설정되며, 템플릿 폴더에 저장되는 데이터 파일은 대응하는 매핑 정보 파일에 정의된 대로 해당 테이블에 자동으로 저장된다.The mapping information included in the column mapping table 30 defining the column of the spreadsheet as the source 90 and the column of the database table as the target 95 may be converted into a mapping information file and stored. One mapping information file is set to be bound to one template folder, and data files stored in the template folder are automatically stored in the corresponding table as defined in the corresponding mapping information file.

도 11은 템플릿 폴더들을 관리하기 위한 템플릿 관리 영역(110)의 구체적인 예를 도시한 것이다. 템플릿 폴더는 컬럼 매핑 표(30)와 연동하는 기능이므로, 도 2의 사용자 인터페이스 화면에서 템플릿 관리 영역(110)을 우측 하단에 배치하여 컬럼 매핑 표(30)와 나란히 위치하도록 하면 편리할 것이다. 11 shows a specific example of the template management area 110 for managing template folders. Since the template folder has a function of interlocking with the column mapping table 30, it may be convenient to arrange the template management area 110 on the lower right side of the user interface screen of FIG. 2 so as to be located side by side with the column mapping table 30.

사용자가 새폴더 란(101)을 통해 새로운 템플릿 폴더의 이름을 입력하면, 스프레드 시트 통합기는 템플릿 폴더를 생성한다. 템플릿 폴더는 실시예에 따라 사용자 단말 또는 스프레드 시트 통합 서버에 생성될 수 있다. 도 11을 참조하면, "박승철"과 "블루코너"라는 2개의 템플릿 폴더가 생성되어 있음을 알 수 있다.When the user inputs the name of a new template folder through the new folder column 101, the spreadsheet integrator creates a template folder. Template folders may be created in the user terminal or spreadsheet integration server according to an embodiment. Referring to Fig. 11, it can be seen that two template folders, "Park Seung-cheol" and "Blue Corner"

사용자가 컬럼 매핑 표(30)를 통해 매핑 정보를 설정한 후에 템플릿 저장(104)을 눌러 템플릿을 저장하면, 스프레드 시트 통합기는 컬럼 매핑 표(30)의 매핑 정보를 XML 파일로 변환하여 템플릿 관리 영역에 현재 선택되어 있는 템플릿 폴더(102)와 연결시켜 저장한다. 생성된 XML 파일의 내용은 ShowXML 버튼(106)을 눌러 확인해볼 수 있으며, 템플릿 편집(107)을 눌러 편집할 수 있다.When the user sets the mapping information through the column mapping table 30 and then stores the template by pressing the template storage 104, the spreadsheet integrator converts the mapping information of the column mapping table 30 into an XML file, And the template folder 102 currently selected in the template folder. The contents of the generated XML file can be confirmed by pressing the ShowXML button 106 and can be edited by clicking the template editing 107. [

템플릿 폴더에는 미리 정의된 규격의 데이터 파일(103)이 저장될 수 있다. 예컨대 엑셀과 같은 스프레드 시트 파일이 저장될 것이다. 템플릿 폴더에 데이터 파일을 저장하는 방법으로는, 파일을 복사하는 방법, 파일을 드래그앤 드롭으로 가져다 놓는 방법, 업로드 버튼(105)을 이용하여 원격 장치에 저장된 파일을 업로드 하는 방법, 도 11에는 도시되어 있지 않지만 "찾아보기" 메뉴를 제공하여 파일을 찾아 복사하도록 하는 방법, FTP(File Transfer Protocol)를 이용하여 원격 장치의 파일을 전송하는 방법 등 다양한 방법이 사용될 수 있다.A data file 103 of a predefined standard can be stored in the template folder. A spreadsheet file such as Excel will be stored. As a method for storing the data file in the template folder, there are a method of copying the file, a method of dragging and dropping the file, a method of uploading the file stored in the remote device using the upload button 105, A method of searching for and copying a file by providing a "browse" menu, and a method of transferring a file of a remote device using a file transfer protocol (FTP) can be used.

스프레드 시트 통합기는 템플릿 폴더에 데이터 파일이 추가되는지 실시간으로 또는 주기적으로 체크한다, 데이터 파일의 추가가 감지되면, 템플릿 폴더에 바인딩된 XML 파일의 매핑 정보에 따라 데이터 파일의 데이터를 타겟 테이블에 저장할 것이다. 저장된 데이터베이스의 데이터는 데이터베이스 영역(23)의 데이터 탭을 통해 바로 확인할 수 있다. 데이터의 추가나 조회가 필요한 경우, 스프레드 시트 통합기는 해당하는 쿼리 문장을 생성하여 서버에 전송함으로써 데이터베이스 작업이 수행되도록 할 것이다.The spreadsheet integrator checks in real time or periodically whether a data file is added to the template folder. If the addition of the data file is detected, the data of the data file will be stored in the target table according to the mapping information of the XML file bound to the template folder . The data of the stored database can be directly checked through the data tab of the database area 23. [ If you need to add or query data, the spreadsheet integrator will generate the corresponding query statement and send it to the server so that the database work is done.

이와 같이 템플릿을 만들어 두면 반복적이고 대량으로 스프레드 시트 데이터를 데이터베이스와 동기화시키는 작업을 자동으로 수행할 수 있다.By creating templates like this, you can automate repetitive and massive synchronization of spreadsheet data with the database.

한편, 데이터 통합의 타겟 컬럼이 선택형 데이터 타입인 경우, 컬럼 매핑 표(30)에서의 사용자의 입력에 따라 매핑할 시트 컬럼의 데이터를 카테고리별로 분류하고 각 카테고리를 타겟 컬럼의 각 옵션에 대응시키는 카테고리 매칭을 더 수행하며, 데이터 추가를 서버에 요청할 때, 매핑할 시트 컬럼의 데이터 대신 그에 대응하는 카테고리 정보를 타겟 컬럼에 저장하도록 요청한다.If the target column of the data integration is the selectable data type, the data of the sheet column to be mapped according to the input of the user in the column mapping table 30 is classified according to the category, and the category in which each category is associated with each option of the target column When requesting addition of data to the server, it is requested to store the corresponding category information in the target column instead of the data of the sheet column to be mapped.

도 13은 본 발명의 일 실시예에 따라 선택형 데이터 타입의 데이터를 통합하는 방법을 설명하기 위한 도면이다.13 is a diagram for explaining a method of integrating data of a selectable data type according to an embodiment of the present invention.

선택형 데이터 타입을 가진 테이블 컬럼은 사용자가 미리 정의한 옵션들 중 하나가 선택되어 데이터로 저장되는 컬럼이다. 선택형 데이터 타입의 컬럼을 정의할 때 데이터 타입은 Selection으로 지정되며 상세 타입에는 상기 옵션들이 입력된다.A table column with an optional data type is a column in which one of the user-defined options is selected and stored as data. When defining a column of an optional data type, the data type is designated as Selection and the above options are entered as the detailed type.

스프레드 시트의 특정 컬럼을 선택형 데이터 타입의 테이블 컬럼으로 이동하기 위해서는 카테고리 매칭이 필요하다. 즉, 스프레드 시트의 데이터를 그대로 테이블에 저장하는 것이 아니라 스프레드 시트의 데이터를 카테고리 별로 분류하여 각 카테고리를 나타내는 정보를 테이블에 저장하는 것이다. 각 카테고리 정보는 해당 선택형 컬럼의 상세 타입에 지정된 옵션에 대응한다.Category matching is required to move a particular column of a spreadsheet into a table column of the selectable data type. That is, instead of storing the data of the spreadsheet in the table as it is, the data of the spreadsheet is classified into categories, and information indicating each category is stored in the table. Each category information corresponds to the option specified in the detailed type of the selected column.

선택형 데이터를 통합하기 위해 컬럼 매핑 표(30)는 소스 컬럼 란(131)과 타겟 컬럼 란(132)에 더하여, 타겟 컬럼 란(132)의 하위에 소스 항목(133)과 타겟 항목(134)을 각각 복수개 포함한다. 또한, 소스 컬럼 란(131)에는 소스 컬럼의 이름에 더하여 소스 컬럼의 데이터 항목(카테고리 분류 대상이 되는 데이터의 모집단)이 더 표시된다.The column mapping table 30 includes a source column 133 and a target column 134 under the target column column 132 in addition to the source column column 131 and the target column column 132 in order to integrate the selectable data. Respectively. Further, in the source column column 131, a data item of the source column (a population of data to be category-classified) is displayed in addition to the name of the source column.

하위의 소스 항목(133) 각각에는 카테고리 분류 대상이 되는 데이터의 모집단 중 일부의 데이터가 입력되고, 하위의 타겟 항목(134) 각각에는 타겟 컬럼 란(132)에 지정된 테이블 컬럼의 상세 타입으로 정의된 옵션(카테고리 정보)이 표시된다. 사용자는 분류할 소스 데이터(들)과 카테고리 정보가 매칭되도록 소스 컬럼 란(131)으로부터 원하는 데이터 항목을 하위의 소스 항목(133)으로 이동시키면 된다.In each of the lower source items 133, data of some of the population of data subject to category classification is input, and in each of the lower target items 134, data defined by the detailed type of the table column specified in the target column 132 Option (category information) is displayed. The user can move the desired data item from the source column column 131 to the lower source item 133 so that the source data item (s) to be classified and the category information are matched.

선택형 데이터의 구체적인 통합 과정은 다음과 같다.The concrete integration process of the optional data is as follows.

먼저, 선택형 데이터 타입을 가진 테이블 컬럼이 컬럼 매핑 표(30)의 타겟 컬럼 란(132)에 추가되면, 해당 필드의 상세 타입으로 지정된 옵션들이 타겟 컬럼 란(132)의 하위 타겟 항목(134)에 각각 표시된다. 현재 작업 테이블의 "선택2" 컬럼이 Selection 타입이며 상세 유형으로 "User", "Guest", "Admin7"이 지정되어 있다면 컬럼 매핑 표(30)가 도 13과 같은 모습이 될 것이다.First, when a table column having a selectable data type is added to the target column field 132 of the column mapping table 30, the options specified by the detailed type of the field are stored in the lower target item 134 of the target column field 132 Respectively. If the "selection 2" column of the current work table is a selection type and "User", "Guest", or "Admin7" is specified as the detailed type, the column mapping table 30 will become as shown in FIG.

또한, 선택형 데이터 타입의 테이블 컬럼에 매칭될 스프레드 시트 영역의 컬럼을 소스 컬럼 란(131)에 가져오면, 해당 컬럼의 모든 데이터가 소스 컬럼 란(131)에 표시된다. 스프레드 시트 영역의 해당 컬럼에 동일한 데이터가 중복된 경우는 한 번만 표시될 것이다.When a column of the spreadsheet area to be matched with the table column of the selectable data type is brought to the source column column 131, all the data of the column is displayed in the source column column 131. If the same data is duplicated in the corresponding column of the spreadsheet area, it will only be displayed once.

도 13을 참조하면, "선택2" 컬럼에 매칭될 스프레드 시트 영역의 소스 컬럼(131)으로 "담당자" 컬럼이 지정되어 있으며, 이 "담당자" 컬럼의 데이터를 분류하여 카테고리 매칭을 수행하기 위해 소스 컬럼 란(131)에는 "담당자" 컬럼의 모든 소스 데이터인 "박민식점장", "혜인", "한준", "백담", "다인", "매장"이 표시되었음을 알 수 있다.Referring to FIG. 13, the "owner" column is designated as the source column 131 of the spreadsheet area to be matched with the "selection 2" column, It can be seen that all the source data of the column "Person in charge" in the column column 131 are displayed as "Park Min-sik manager", "Hyein", "Hanjoon", "Baekdam", "Daein", "Store".

이들 소스 데이터는 타겟 컬럼 란(132)에서 지정된 대로 분류된다. 사용자는 소스 컬럼 란(131)의 각 데이터를 원하는 카테고리에 대응하는 소스 항목(133)으로 이동하기만 하면 된다. 도 13은, "혜인", "박민식점장", "백담"은 "User"로 분류되고, "다인", "한준"은 "Guest"로 분류되고, "매장"은 "Admin7"으로 분류되도록 사용자가 조작한 결과이다. These source data are classified as specified in the target column column 132. The user only needs to move each data item in the source column field 131 to the source item 133 corresponding to the desired category. FIG. 13 is a diagram showing a state in which the user is classified as " Admin7 "and the store is classified as " Admin7 " .

이 상태에서 통합 실행 버튼(29)을 누르면, 스프레드 시트 영역의 "담당자" 컬럼에 기입된 데이터는 컬럼 매핑 표(30)의 정의에 따라 분류되고 해당 카테고리 정보로 변경되어 테이블에 저장된다. 즉, 스프레드 시트의 "담당자" 컬럼의 값이 "혜인", "박민식점장", 또는 "백담"이면 작업 대상 테이블의 "선택2" 컬럼에는 "User"가 저장되고, 스프레드 시트의 "담당자" 컬럼의 값이 "다인" 또는 "한준"이면 테이블의 "선택2" 컬럼에는 "Guest"가 저장되고, 스프레드 시트의 "담당자" 컬럼의 값이 "매장"이면 테이블의 "선택2" 컬럼에는 "Admin7"이 저장된다. When the integration execution button 29 is pressed in this state, the data written in the column "Person in charge" in the spreadsheet area is classified according to the definition of the column mapping table 30, changed into corresponding category information, and stored in the table. In other words, if the value of the column "Person in charge" of the spreadsheet is "Hyein", "Minsik manager" or "Baekdam", "User" is stored in the column "Selection 2" "Guest" is stored in the "Select 2" column of the table when the value of the "Person" column of the spreadsheet is "Dyne" or " "Is stored.

이와 같이 본 발명은, 데이터 통합시 자동으로 스프레드 시트 영역의 데이터를 분류하여 분류 체계와 연계된 카테고리 정보로 변경한 후 테이블에 저장할 수 있는 사용자 인터페이스를 제공한다.As described above, the present invention provides a user interface capable of automatically classifying data in a spreadsheet area upon data integration, changing the category information associated with the classification scheme, and storing the converted category information in a table.

데이터 통합의 타겟 컬럼이 조회형 데이터 타입인 경우, 컬럼 매핑 표(30)에서의 사용자 입력에 따라 타겟 컬럼의 피참조 테이블의 컬럼 하나를 스프레드 시트의 소스 컬럼과 대응시키고, 데이터 추가를 서버에 요청할 때, 매핑할 시트 컬럼의 데이터 대신 피참조 컬럼의 키값을 타겟 컬럼에 저장하도록 요청한다.If the target column of data integration is a query type, one of the columns of the referenced table of the target column is matched with the source column of the spreadsheet according to user input in the column mapping table 30, , It is requested to store the key value of the referenced column in the target column instead of the data of the sheet column to be mapped.

도 14 내지 도 17은 본 발명의 일 실시예에 따라 조회형 데이터 타입의 데이터를 통합하는 방법을 설명하기 위한 도면이다.14 to 17 are views for explaining a method of integrating data of a inquiry type data type according to an embodiment of the present invention.

조회형 데이터 타입을 가진 테이블 컬럼은 다른 엔티티, 예컨대 다른 테이블을 참조하는 관계형 데이터를 저장하기 위한 것으로, 조회형 데이터 타입의 컬럼을 정의할 때 데이터 타입은 Lookup으로 지정되며 상세 타입에는 피참조 엔티티의 이름이 입력된다. 도 15의 예에서, 통합대상 테이블의 "담당" 컬럼(151)은 조회형 테이터 타입으로 "담당자정보"라는 다른 테이블을 참조하는 것으로 정의되었다.A table column having a query type data type is for storing relational data referring to another entity, for example, another table. When defining a column of a query type data type, the data type is designated as a lookup. The name is entered. In the example of Fig. 15, the "charge" column 151 of the integration target table is defined as referring to another table called "contact information"

조회형 데이터의 통합을 위해 컬럼 매핑 표(30)는 소스 컬럼 란(141)과 타겟 컬럼 란(142) 뿐만 아니라, 타겟 컬럼 란(142)의 하위에 타겟 항목(144)을 더 포함한다. 하위의 타겟 항목(144)에는 소스 컬럼 란(141)의 컬럼이 참조하는 컬럼의 이름이 입력된다. 사용자는 컬럼 매핑 표(30)에서 [스프레드 시트 영역의 소스 컬럼 -> 테이블의 타겟 컬럼 -> 타겟 컬럼이 참조하는 피참조 컬럼]의 연결이 정의되도록 각 컬럼을 매핑할 시트 컬럼 란(28)과 데이터베이스 영역(23)으로부터 가져오기만 하면 되는 것이다.The column mapping table 30 further includes a target column 144 below the target column column 142 as well as the source column column 141 and the target column column 142 for consolidation of the inquiry type data. In the lower target item 144, the name of the column referred to by the column of the source column column 141 is input. The user has a sheet column column 28 for mapping each column so that the connection of [source column of the spreadsheet area - target column of the table - referenced column referenced by the target column] is defined in the column mapping table 30 It is only necessary to fetch it from the database area 23.

조회형 데이터의 구체적인 통합 과정은 다음과 같다.The concrete integration process of inquiry type data is as follows.

조회형 데이터 타입의 컬럼이 컬럼 매핑 표(30)의 타겟 컬럼 란(142)에 추가되면, 컬럼 매핑 표(30)에는 해당 타겟 컬럼(142)이 조회하는 피조회 컬럼명을 입력할 수 있는 타겟 항목(144)이 더 표시된다.When a column of the inquiry type data type is added to the target column column 142 of the column mapping table 30, the column mapping table 30 stores a target column name Item 144 is further displayed.

소스 컬럼 란(141)에 지정된 스프레트 시트 영역의 데이터가 타겟 컬럼 란(142)에 지정된 조회형 데이터 타입의 컬럼으로 통합될 때는, 조회형 데이터 타입의 컬럼에 정의된 피참조 테이블이 참조되며 특히 타겟 항목(144)에 지정된 피참조 컬럼이 참조되어, 스프레드 시트와 동일한 데이터를 가진 레코드의 키값이 타겟 컬럼에 저장된다.When the data in the spreadsheet area specified in the source column field 141 is incorporated into the column of the inquiry type data type specified in the target column field 142, the referenced table defined in the column of the inquiry type data type is referred to The referenced column specified in the target item 144 is referenced, and the key value of the record having the same data as the spreadsheet is stored in the target column.

도 14를 참조하면, 매핑할 시트 컬럼 란(28)으로부터 "담당자" 컬럼이 소스 컬럼 란(141)에 이동되고, 통합대상 테이블의 조회형 컬럼인 "담당" 컬럼이 타겟 컬럼 란(142)에 입력되며, 타켓 항목(144)에는 피참조 컬럼인 "이름"이 입력되어 있음을 알 수 있다.14, the "owner" column is moved from the sheet column column 28 to be mapped to the source column column 141, and the "responsible" column, which is an inquiry type column of the integration target table, is moved to the target column column 142 Quot; name "is input to the target item 144, and the " name "

도 15를 참조하면, 통합대상 테이블의 조회형 컬럼인 "담당" 컬럼(151)은 "담당자정보" 테이블을 참조하도록 정의되어 있으므로, 사용자가 통합 실행 버튼(29)을 누르면 스프레드 시트 영역의 "담당자" 컬럼에 있는 데이터들이 그대로 통합대상 테이블의 "담당" 컬럼에 저장되는 것이 아니라, "담당자정보" 테이블의 "이름" 컬럼을 참조함으로써 통합이 수행된다.15, the "charge" column 151, which is an inquiry type column of the integration target table, is defined to refer to the "contact person information" table. Thus, when the user presses the integration execution button 29, "Column is not directly stored in the " responsible" column of the integration target table, but the integration is performed by referring to the "name"

통합의 결과로 통합대상 테이블의 "담당" 컬럼에는 스프레드 시트의 "담당자" 컬럼의 값과 동일한 "이름"을 가진 "담당자정보" 테이블 레코드의 키값(Id)이 저장된다.As a result of the consolidation, the " responsible "column of the consolidation target table stores the key value Id of the" representative information "table record with the" name "

도 16은 "담당자정보" 테이블에 저장되어 있는 데이터이고, 도 17은 통합의 결과로 통합대상 테이블에 추가된 데이터를 예시한 것이다. 통합 대상 테이블의 "담당" 컬럼(171)에 피참조 테이블인 "담당자정보" 테이블의 대응 레코드의 키값이 저장되었음을 알 수 있다. 스프레트 시트의 "담당자" 컬럼의 데이터가 "박민식점장"인 경우, 먼저 피참조 테이블 "담당자정보"의 "이름" 컬럼(162)과 비교되어 Id(161)가 "257"인 레코드(163)가 조회되고, 통합대상 테이블의 타겟 컬럼 "담당"(171)에는 피참조 테이블명인 "담당자정보"와 조회된 레코드(163)의 키값인 "257"이 저장될 것이다.FIG. 16 shows data stored in the "contact person information" table, and FIG. 17 illustrates data added to the integration target table as a result of the integration. It can be seen that the key value of the corresponding record in the table of "personnel information" which is the reference table is stored in the " responsible "column 171 of the integration target table. If the data in the column of the "person in charge" column of the spread sheet is the "manager of the manager", the record 163 having Id 161 is compared with the "name" column 162 of the referenced table " Quot; contact person information "and the key value" 257 "of the inquired record 163 will be stored in the target column" charge "

본 발명의 일 실시예에 따르면 통합의 소스 컬럼으로 예약어(Reserved)를 지정할 수 있다. 즉, 데이터 통합시 스프레드 시트의 각 셀에 기입된 데이터뿐만 아니라 시트 이름, 현재 연도, 현재 월, 현재 날짜, 현재 시간, 현재 요일 등을 나타내는 예약어 데이터를 데이터베이스에 저장할 수 있다.According to an embodiment of the present invention, a reserved word can be designated as a source column of the integration. That is, it is possible to store, in the database, reserved word data indicating the sheet name, the current year, the current month, the current date, the current time, the current day, etc., as well as the data written in each cell of the spreadsheet.

도 18은 본 발명의 일 실시예에 따라 예약어를 소스 컬럼으로 사용하도록 하는 사용자 인터페이스의 예를 도시한 것이다.18 shows an example of a user interface for using a reserved word as a source column according to an embodiment of the present invention.

도 18을 참조하면, 매핑할 시트 컬럼 란(28)에 더하여 예약어들을 소스 데이터로 지정하기 위한 예약어 란(181)이 통합 제어 영역(22)에 더 포함될 수 있다. 사용자가 예약어 중 원하는 것을 컬럼 매핑 표(30)의 소스 컬럼 란(90)에 이동시킨 후 데이터 통합을 실행시키면 예약어를 타겟 컬럼 란(95)의 타겟 컬럼에 저장할 수 있다. 도 18의 예에서는 스프레드 시트 영역(21)에 표시된 스프레드 시트의 이름이 통합 대상 테이블의 "시트명" 컬럼에 저장되도록 설정한 것이다.18, in addition to the sheet column column 28 to be mapped, a reserved word column 181 for specifying reserved words as source data may be further included in the integrated control area 22. [ The user can move a reserved word among the reserved words to the source column column 90 of the column mapping table 30 and execute data integration to store the reserved word in the target column of the target column column 95. In the example of FIG. 18, the name of the spreadsheet displayed in the spreadsheet area 21 is set to be stored in the "sheet name" column of the integration target table.

한편, 스프레드 시트의 선택된 영역에 포함된 컬럼을 이용하여 가공한 가상 컬럼도 소스 컬럼으로 지정하도록 구현할 수 있다. 가상 컬럼은 기존의 컬럼을 계산식에 넣어 계산 결과를 이용하는 계산 컬럼, 기존의 컬럼을 소정의 서식에 넣어 포맷을 바꾼 포맷 컬럼 등을 포함할 수 있다. 통합 제어 영역(22)에서 사용자가 원하는 가상 컬럼을 편집하게 하고, 완성된 가상 컬럼을 컬럼 매핑 표(30)의 소스 컬럼 란(90)에 이동시키면 데이터의 통합시 가상 컬럼에서 정의된 데이터가 테이블의 타겟 컬럼에 저장될 것이다.On the other hand, a virtual column processed using a column included in a selected area of a spreadsheet can be also designated as a source column. The virtual column may include a calculation column that uses an existing column by using a calculation result, a format column in which an existing column is inserted in a predetermined format, and a format column. The user edits the desired virtual column in the integrated control area 22 and moves the completed virtual column to the source column column 90 of the column mapping table 30, ≪ / RTI >

본 명세서에서는 데이터 통합의 방향을 스프레드 시트에서 데이터베이스로 데이터를 이동하는 것으로 설명하였으나, 실시예에 따라서는 소스가 데이터베이스의 테이블이고 타겟이 스프레드 시트인 것으로 또는 소스가 데이터베이스의 테이블이고 타겟도 데이터베이스 테이블인 것으로도 구현 가능할 것이다.In the present specification, the direction of data integration is described as moving data from a spreadsheet to a database, but depending on the embodiment, the source may be a table in the database and the target may be a spreadsheet, or the source may be a table in the database, .

한편, 본 발명에 의한 스프레드 시트를 데이터베이스로 통합하는 방법은 컴퓨터가 판독할 수 있는 명령어의 집합인 소프트웨어의 형태로 구현되어 기록 매체에 수록될 수 있다.Meanwhile, the method of integrating spreadsheets according to the present invention into a database may be implemented in the form of software, which is a set of instructions readable by a computer, and may be recorded on a recording medium.

이때, 기록매체는 컴퓨터에 의하여 읽을 수 있는 모든 종류의 매체를 포함할 수 있으며, 그 예로는 DVD-ROM, CD-ROM, 하드 디스크, USB 메모리, 플래쉬 메모리와 같은 유형물을 들 수 있다.In this case, the recording medium may include any type of medium readable by a computer, such as DVD-ROM, CD-ROM, hard disk, USB memory, and flash memory.

한편, 기록매체에 수록된다는 표현은 이와 같은 유형의 기록매체에 수록되는 경우는 물론, 무형의 반송파(Carrier Wave)의 형태로 통신회선을 통해 제공되는 경우를 포함한다.On the other hand, the expression to be recorded on the recording medium includes not only the case of being recorded on the recording medium of this type but also the case of being provided through a communication line in the form of an intangible carrier wave (Carrier Wave).

이상 몇 가지의 실시예를 통해 본 발명의 기술적 사상을 살펴보았다.The technical idea of the present invention has been described through several embodiments.

본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 상기 살펴본 실시예를 다양하게 변형하거나 변경할 수 있음은 자명하다. 또한, 비록 명시적으로 도시되거나 설명되지 아니하였다 하여도 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기재사항으로부터 본 발명에 의한 기술적 사상을 포함하는 다양한 형태의 변형을 할 수 있음은 자명하며, 이는 여전히 본 발명의 권리범위에 속한다. 첨부하는 도면을 참조하여 설명된 상기의 실시예들은 본 발명을 설명하기 위한 목적으로 기술된 것이며 본 발명의 권리범위는 이러한 실시예에 국한되지 아니한다.It will be apparent to those skilled in the art that various changes and modifications may be made to the embodiments described above from the description of the present invention. Further, although not explicitly shown or described, those skilled in the art can make various modifications including the technical idea of the present invention from the description of the present invention Which is still within the scope of the present invention. The above-described embodiments described with reference to the accompanying drawings are for the purpose of illustrating the present invention, and the scope of the present invention is not limited to these embodiments.

10: 스프레드 시트 통합 서버
11: 사용자 단말
14: 데이터베이스
21: 스프레드 시트 영역
22: 통합 제어 영역
23: 데이터베이스 영역
24: 실행 모드
25: 컬럼 모드
27: 테이블명
28: 매핑할 시트 컬럼 란
29: 통합 실행 버튼
30: 컬럼 매핑 표
10: Spreadsheet integration server
11: User terminal
14: Database
21: Spreadsheet area
22: Integrated control area
23: Database area
24: Execution mode
25: Column mode
27: table name
28: What is a sheet column to map?
29: Integrated Execute button
30: Column mapping table

Claims (6)

컴퓨터가,
스프레드 시트의 내용을 표시한 시트 영역, 스프레드 시트를 데이터베이스로 통합하는데 필요한 제어 정보를 표시하기 위한 통합 제어 영역 및 데이터베이스의 테이블 정보를 표시하기 위한 DB 영역을 포함하는 사용자 인터페이스 화면을 제공하는 단계와;
상기 시트 영역에서 선택된 영역으로부터 데이터베이스로 매핑할 시트 컬럼을 적어도 하나 추출하는 단계와;
상기에서 추출된 시트 컬럼에 대한 정보를 상기 통합 제어 영역에 표시하는 단계와;
상기 추출된 시트 컬럼에 대응하는 컬럼을 포함하는 테이블을 데이터베이스에 생성하도록 서버에 요청하는 단계와;
생성된 테이블에 대한 정보를 상기 DB 영역에 표시하는 단계를 포함하는 것을 특징으로 하는, 스프레드 시트를 데이터베이스로 통합하는 방법.
Computer,
Providing a user interface screen including a sheet area displaying the contents of the spreadsheet, an integrated control area displaying control information required to integrate the spreadsheet into a database, and a DB area displaying table information of the database;
Extracting at least one sheet column to be mapped from a selected region in the sheet region to a database;
Displaying information on the extracted sheet column in the integrated control area;
Requesting a server to create a table in the database that includes a column corresponding to the extracted sheet column;
And displaying information on the generated table in the DB area. ≪ Desc / Clms Page number 20 >
컴퓨터가,
스프레드 시트의 내용을 표시한 시트 영역, 스프레드 시트를 데이터베이스로 통합하는데 필요한 제어 정보를 표시하기 위한 통합 제어 영역 및 데이터베이스의 테이블 정보를 표시하기 위한 DB 영역을 포함하는 사용자 인터페이스 화면을 제공하는 단계와;
상기 시트 영역에서 선택된 영역으로부터 데이터베이스로 매핑할 시트 컬럼을 적어도 하나 추출하여 상기 통합 제어 영역에 표시하는 단계와;
데이터 이동을 위한 소스 컬럼과 타겟 컬럼에 대한 정보를 표시할 컬럼 매핑 표를 상기 통합 제어 영역에 표시하는 단계와;
상기 DB 영역에 표시된 작업 테이블의 컬럼 중 적어도 하나를 상기 컬럼 매핑 표의 타겟 컬럼에 추가하는 단계와;
사용자의 입력에 따라 상기 매핑할 시트 컬럼의 적어도 하나를 상기 컬럼 매핑 표의 소스 컬럼에 추가하는 단계와;
상기 컬럼 매핑 표를 참조하여 상기 시트 영역에서 선택된 영역의 데이터를 상기 작업 테이블에 추가하도록 서버에 요청하는 단계를 포함하는 것을 특징으로 하는, 스프레드 시트를 데이터베이스로 통합하는 방법.
Computer,
Providing a user interface screen including a sheet area displaying the contents of the spreadsheet, an integrated control area displaying control information required to integrate the spreadsheet into a database, and a DB area displaying table information of the database;
Extracting at least one sheet column to be mapped from a selected region in the sheet region to a database and displaying the extracted sheet column in the integrated control region;
Displaying a column mapping table to display information on a source column and a target column for data movement in the integrated control area;
Adding at least one column of the work table displayed in the DB area to a target column of the column mapping table;
Adding at least one of the sheet columns to be mapped to a source column of the column mapping table according to a user's input;
And requesting the server to add data of the selected region in the sheet region to the work table with reference to the column mapping table.
제2항에 있어서,
상기 추가된 타겟 컬럼이 선택형 데이터 타입인 경우,
상기 컬럼 매핑 표에서의 사용자의 입력에 따라 상기 매핑할 시트 컬럼의 데이터를 카테고리별로 분류하고 각 카테고리를 상기 타겟 컬럼의 각 옵션에 대응시키는 단계를 더 포함하고,
상기 데이터 추가를 서버에 요청하는 단계에서, 상기 매핑할 시트 컬럼의 데이터 대신 그에 대응하는 카테고리 정보를 상기 타겟 컬럼에 저장하도록 요청하는 것을 특징으로 하는, 스프레드 시트를 데이터베이스로 통합하는 방법.
3. The method of claim 2,
If the added target column is a selectable data type,
Further comprising classifying data of the sheet column to be mapped according to a user's input in the column mapping table and associating each category with each option of the target column,
Wherein the step of requesting the server to add data requests storing the corresponding category information in the target column instead of the data of the sheet column to be mapped.
제2항에 있어서,
상기 추가된 타겟 컬럼이 조회형 데이터 타입인 경우,
상기 컬럼 매핑 표에서의 사용자 입력에 따라 상기 타겟 컬럼이 참조하는 테이블의 피참조 컬럼을 상기 매핑할 시트 컬럼과 대응시키는 단계를 더 포함하고,
상기 데이터 추가를 서버에 요청하는 단계에서, 상기 매핑할 시트 컬럼의 데이터 대신 상기 피참조 컬럼의 키값을 상기 타겟 컬럼에 저장하도록 요청하는 것을 특징으로 하는, 스프레드 시트를 데이터베이스로 통합하는 방법.
3. The method of claim 2,
If the added target column is a query type data type,
Further comprising associating a referenced column of a table referenced by the target column with a sheet column to be mapped according to a user input in the column mapping table,
Wherein the step of requesting the server to add data requests to store the key value of the referenced column in the target column instead of the data of the sheet column to be mapped.
제2항에 있어서,
데이터 수정 모드에서, 상기 컬럼 매핑 표에 지정된 키 필드를 이용하여 수정할 레코드를 상기 작업 테이블에서 조회하고, 상기 컬럼 매핑 표를 참조하여 상기 시트 영역에서 선택된 영역의 데이터로 상기 조회된 레코드를 수정하는 단계를 더 포함하는 것을 특징으로 하는, 스프레드 시트를 데이터베이스로 통합하는 방법.
3. The method of claim 2,
In the data modification mode, a table to be modified is inquired in the work table using a key field specified in the column mapping table, and the corrected record is modified with data of an area selected in the sheet area with reference to the column mapping table Further comprising the steps of: < Desc / Clms Page number 13 >
제2항에 있어서,
상기 컬럼 매핑 표를 매핑 정보 파일로 변환하여 저장하는 단계와;
상기 매핑 정보 파일을 템플릿 폴더와 바인딩하는 단계와;
상기 템플릿 폴더에 데이터 파일이 추가되는지 감지하는 단계와;
상기 템플릿 폴더에 데이터 파일이 추가되면, 상기 바인딩된 매핑 정보 파일을 참조하여 상기 데이터 파일의 데이터를 데이터베이스에 저장하는 단계;를 더 포함하는 것을 특징으로 하는, 스프레드 시트를 데이터베이스로 통합하는 방법.
3. The method of claim 2,
Converting the column mapping table into a mapping information file and storing the mapping information file;
Binding the mapping information file with a template folder;
Detecting whether a data file is added to the template folder;
Further comprising: when the data file is added to the template folder, storing the data of the data file in the database with reference to the bound mapping information file.
KR1020160106059A 2016-07-04 2016-08-22 Method and computer program for integrating spread sheet with database KR101864700B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160083922 2016-07-04
KR20160083922 2016-07-04

Publications (2)

Publication Number Publication Date
KR20180004632A true KR20180004632A (en) 2018-01-12
KR101864700B1 KR101864700B1 (en) 2018-07-13

Family

ID=61000853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160106059A KR101864700B1 (en) 2016-07-04 2016-08-22 Method and computer program for integrating spread sheet with database

Country Status (1)

Country Link
KR (1) KR101864700B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102123286B1 (en) * 2019-12-23 2020-06-16 (주)수소프트 System and method for processing data
CN111767704A (en) * 2020-06-30 2020-10-13 山东浪潮通软信息科技有限公司 Excel form template generation method and device
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
KR20210157610A (en) * 2020-06-22 2021-12-29 주식회사 한글과컴퓨터 Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof
CN114116656A (en) * 2022-01-25 2022-03-01 深圳希施玛数据科技有限公司 Data processing method and related device
KR20220101787A (en) * 2021-01-12 2022-07-19 주식회사 온코소프트 Extract, transform, load apparatus and method for controlling the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11599718B1 (en) 2022-03-23 2023-03-07 Acuitive Solutions, Inc. Database system for storing electronic spreadsheets

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3272281B2 (en) * 1997-10-20 2002-04-08 インターナショナル・ビジネス・マシーンズ・コーポレーション Data item display method and display device, storage medium storing program for controlling display of data item
JP2004102400A (en) * 2002-09-05 2004-04-02 Beacon Information Technology:Kk Data management system, method, and computer program
EP1569135A1 (en) * 2004-01-19 2005-08-31 Sap Ag A database management system and a method of managing a database
KR20100054328A (en) * 2008-11-14 2010-05-25 주식회사 엔씨소프트 Method for data input processing to database table
KR101013810B1 (en) * 2010-01-15 2011-02-14 (주)비아이매트릭스 An excel-based management system for updating db tables and the method thereof
KR101351079B1 (en) * 2011-09-08 2014-01-14 (주)이맥스 Method and system for providing service for controlling program linked to database
KR101368068B1 (en) * 2012-03-29 2014-02-27 주식회사 엘지씨엔에스 Method of constructing database, server performing the same and storage media storing the same

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR102123286B1 (en) * 2019-12-23 2020-06-16 (주)수소프트 System and method for processing data
KR20210157610A (en) * 2020-06-22 2021-12-29 주식회사 한글과컴퓨터 Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof
CN111767704A (en) * 2020-06-30 2020-10-13 山东浪潮通软信息科技有限公司 Excel form template generation method and device
CN111767704B (en) * 2020-06-30 2024-01-26 浪潮通用软件有限公司 Excel form template generation method and device
KR20220101787A (en) * 2021-01-12 2022-07-19 주식회사 온코소프트 Extract, transform, load apparatus and method for controlling the same
CN114116656A (en) * 2022-01-25 2022-03-01 深圳希施玛数据科技有限公司 Data processing method and related device
CN114116656B (en) * 2022-01-25 2022-06-21 深圳希施玛数据科技有限公司 Data processing method and related device

Also Published As

Publication number Publication date
KR101864700B1 (en) 2018-07-13

Similar Documents

Publication Publication Date Title
KR101864700B1 (en) Method and computer program for integrating spread sheet with database
KR101323011B1 (en) Command user interface for displaying selectable functionality controls in a database application
US7660817B2 (en) System and method for representing content in a file system
US9336267B2 (en) Method and system for navigation and visualization of data in relational and/or multidimensional databases
US5603025A (en) Methods for hypertext reporting in a relational database management system
CN100524296C (en) System and method utilizing virtual folders
US9171132B1 (en) Electronic note management system and user-interface
JPH0962665A (en) Document management device
US20070073770A1 (en) Methods, systems, and computer program products for resource-to-resource metadata association
KR101887095B1 (en) Method for providing safty inspection service for real estate with handheld based device
KR20170098854A (en) Building reports
EP3367266A1 (en) Page construction method, terminal, computer-readable storage medium and page construction device
US20090094271A1 (en) Variable driven method and system for the management and display of information
KR102230729B1 (en) An online task system for an Excel file based on templates
US20050086638A1 (en) Method and system for editing column oriented programming language statements
US20050171934A1 (en) System and method for generating a parameterized query
US20140317155A1 (en) Research data collector and organizer
US20110208777A1 (en) Method and system for facilities management
US20060026137A1 (en) Method and apparatus for integrating a list of selected data entries into a spreadsheet
CN111783407A (en) Electronic form creating system
US11755175B2 (en) Keyboard navigation menu
US10162877B1 (en) Automated compilation of content
KR102056710B1 (en) Method and computer program for porting spread sheet document to relational database
US20070055928A1 (en) User workflow lists to organize multimedia files
US8195701B1 (en) Integration of data sets into documents for interactive exploration

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right