KR20200119108A - 데이터베이스를 위지윅으로 구축하는 방법 - Google Patents

데이터베이스를 위지윅으로 구축하는 방법 Download PDF

Info

Publication number
KR20200119108A
KR20200119108A KR1020190041522A KR20190041522A KR20200119108A KR 20200119108 A KR20200119108 A KR 20200119108A KR 1020190041522 A KR1020190041522 A KR 1020190041522A KR 20190041522 A KR20190041522 A KR 20190041522A KR 20200119108 A KR20200119108 A KR 20200119108A
Authority
KR
South Korea
Prior art keywords
relationship
entity
database
area
user
Prior art date
Application number
KR1020190041522A
Other languages
English (en)
Inventor
최병윤
Original Assignee
(주)템푸스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)템푸스 filed Critical (주)템푸스
Priority to KR1020190041522A priority Critical patent/KR20200119108A/ko
Publication of KR20200119108A publication Critical patent/KR20200119108A/ko

Links

Images

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • 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/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 웹사이트 빌더(website builder)에서 데이터베이스(database)를 위지윅(WYSIWYG, [0001] What You See Is What You Get)으로 쉽게 구축하는 방법에 대한 것으로, 상세하게는 테이블의 속성 정보를 입력할 수 있는 테이블 생성 화면을 제공하는 단계와; 상기 테이블 생성 화면에서의 입력에 따라 테이블을 생성하는 단계와; 생성중인 폼을 보여주는 폼 영역과 상기 생성된 테이블을 표시한 테이블 영역을 포함하는 폼 생성 화면을 제공하는 단계와; 사용자가 상기 테이블 영역으로부터 엔터티를 드래그하여 상기 폼 영역에 드롭하면, 상기 드롭된 엔터티와 연동하는 UI 콤포넌트를 상기 폼 영역에 추가하고, 상기 드롭된 엔터티와 상기 폼 영역에 기 드롭된 엔터티 간의 관계를 결정하여 관계 정보 테이블에 저장하는 단계; 및 사용자가 위지윅(WYSIWYG, what you see is what you get)을 기반으로 하여 원하는 상기 폼 생성 화면을 제공하는 단계;를 포함하는 것을 특징으로 한다.

Description

데이터베이스를 위지윅으로 구축하는 방법{Method for constructing database in WYSIWYG based website builder}
본 발명은 웹사이트 빌더(website builder)에서 데이터베이스(database)를 위지윅(WYSIWYG, [0001] What You See Is What You Get)으로 쉽게 구축하는 방법에 대한 것이다.
웹사이트 빌더(website builder)는 웹사이트를 템플릿(template)이나 테마 기반으로 간단히 만들수 있는 서비스를 말하며, 이를 이용하면 HTML(Hypertext Mark-up Language)에 대한 지식이 없고 웹 서버(Web Server)를 운영할 수 없는 일반 사용자들도 자신의 웹사이트를 쉽게 만들수 있다.
한편, 데이터베이스(database)를 구성하는 요소인 테이블(table), 컬럼(column), 뷰(view) 등을 엔터티(entity)라고 하며, 데이터베이스 구축을 위해서는, 일반적으로 데이터베이스를 구성하는 요소들 간의 관계를 나타내는 ERD(Entity-relationship Diagram)를 그리고, 이 ERD를 보면서 DBA(Database Administrator)가 각 테이블의 관계를 하나씩 설계한다. 그리고, 개발자들은 이 ERD를 보면서 정보화시스템을 개발한다.
데이터베이스를 웹사이트와 연동하기 위해서는 데이터베이스의 설계 뿐만아니라 데이터베이스와 홈 페이지를 연결하기 위한 코딩(coding)이 필요하기 때문에 기술자가 아닌 일반인들을 대상으로하는 웹사이트 빌더에서는 데이터베이스 연동 서비스를 제공하기가 어려운 실정이다.
상술한 종래의 문제점을 해결하기 위해 본 발명은 웹사이트 빌더에서 웹사이트를 구축할 때, 데이터베이스를 쉽게 생성하고 웹 페이지상에 엔터티를 드래그앤그롭(Drag&Drop)해주는 것만으로 웹 화면에 해당 데이터베이스의 데이터가 표시될 수 있도록 하는 데이터베이스 구축 방법을 제공하기 위한 것이다.
상술한 기술적 과제를 해결하기 위해 본 발명은 웹사이트 빌더에서 데이터베이스를 위지윅으로 구축하는 방법에 있어서, 테이블의 속성 정보를 입력할 수 있는 테이블 생성 화면을 제공하는 단계와; 상기 테이블 생성 화면에서의 입력에 따라 테이블을 생성하는 단계와; 생성중인 폼을 보여주는 폼 영역과 상기 생성된 테이블을 표시한 테이블 영역을 포함하는 폼 생성 화면을 제공하는 단계와; 사용자가 상기 테이블 영역으로부터 엔터티를 드래그하여 상기 폼 영역에 드롭하면, 상기 드롭된 엔터티와 연동하는 UI 콤포넌트를 상기 폼 영역에 추가하고, 상기 드롭된 엔터티와 상기 폼 영역에 기 드롭된 엔터티 간의 관계를 결정하여 관계 정보 테이블에 저장하는 단계; 및 사용자가 위지윅(WYSIWYG, what you see is what you get)을 기반으로 하여 원하는 상기 폼 생성 화면을 제공하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 사용자는 데이터베이스나 ERD에 대한 지식이 없이도 데이터베이스를 쉽게 구축할 수 있고, ERD를 사용하지 않고도 엔터티들간의 관계를 자동으로 설정할 수 있으며, 위지윅 방식으로 데이터 베이스와 연동되는 웹페이지를 구축할 수 있다.
도 1은 본 발명의 일 실시예에 따른 데이터베이스 구축 시스템을 설명하기 위한 네트워크 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터베이스 구축 방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 일 실시예에 따라 테이블을 생성하는 화면을 예시한 것이다.
도 4는 본 발명의 일 실시예에 따라 생성된 테이블에 데이터를 입력하는 화면을 예시한 것이다.
도 5는 본 발명의 일 실시예에 따라 엔터티를 드래그앤드롭하여 웹 페이지에 데이터베이스의 데이터를 표시하는 폼을 생성하기 위한 폼 생성 화면을 예시한 것이다.
도 6은 본 발명의 일 실시예에 따라 두 엔터티 간의 일대일 관계를 설정하는 화면을 예시한 것이다.
도 7은 본 발명의 일 실시예에 따라 두 엔터티 간의 일대다 관계를 설정하는 화면을 예시한 것이다.
도 8은 본 발명의 일 실시예에 따라 두 엔터티 간의 다대다 관계를 설정하는 화면을 예시한 것이다.
도 9는 본 발명의 일 실시예에 따라 다대다 관계에 있는 두 엔터티를 이용하여 생성한 교차 테이블을 예시한 것이다.
도 10은 본 발명의 일 실시예에 따라 웹사이트 생성시 사용할 수 있는 템플릿을 예시한 것이다.
도 11은 본 발명의 일 실시예에 따라 두 엔터티 간의 일대다 관계를 설정하는 화면을 예시한 것이다.
이하, 상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부 도면을 참조한 실시 예에 대한 설명을 통하여 명백히 드러나게 될 것이며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 데이터베이스 구축 시스템을 설명하기 위한 네트워크 도면이다.
도 1을 참조하면, 사용자 단말(100)은 인터넷(300)을 통해 서버(200)에 접속하며, 서버(200)는 사용자 단말(100)에 위지윅 방식의 데이터베이스 구축 및 데이터베이스와 연동된 웹사이트 구축 서비스를 제공한다.
서버(200)는 물리적으로 하나 또는 복수의 장치로 구현될 수 있으며, 예를 들어 복수의 사용자에게 웹사이트 구축 서비스를 제공하기 위한 제1 서버와 각 사용자가 구축한 데이터베이스를 저장하고 관리하는 제2 서버로 구성될 수 있다.
서버(200)는 사용자 단말(100)로부터의 요청에 따라 사용자 단말(100)로 테이블의 속성 정보를 입력할 수 있는 테이블 생성 화면과, 웹사이트를 구성하는 폼(FORM)을 생성하기 위한 폼 생성 화면을 제공한다. 폼 생성 화면은 사용자 단말(100)로부터의 요청에 따라 생성중인 폼을 보여주는 폼 영역과 생성된 테이블을 표시한 테이블 영역을 포함할 수 있다.
서버(200)는, 테이블 생성 화면에서의 사용자 입력에 따라 테이블을 생성하고, 사용자가 테이블 영역으로부터 엔터티를 드래그하여 폼 영역에 드롭하면, 드롭된 엔터티에 해당하는 UI 콤포넌트를 폼 영역에 추가하고, 폼 영역에 드롭된 복수의 엔터티들 간의 관계를 결정하여 관계 정보 테이블에 저장한다.
도 2는 본 발명의 일 실시예에 따른 데이터베이스 구축 방법을 설명하기 위한 순서도이다.
데이터베이스 시스템에 대한 정보를 저장하는 시스템 테이블은 서버(100)에 빌트인으로 미리 구축되며, 유저 테이블은 각 사용자의 니즈(Needs)에 따라 정의된다. 시스템 테이블의 명칭은 미리 정해져 있으며, 유저 테이블의 명칭은 사용자에 의해 지정될 수 있다.
도 2의 단계 S202에서, 유저 테이블의 생성을 위해 테이블 생성 화면이 사용자 단말(100)로 제공되며, 사용자는 테이블 생성 화면을 통해 테이블을 생성하고 각 테이블의 속성(attributes)을 지정할 수 있다.
도 3은 본 발명의 일 실시예에 따라 테이블을 생성하는 화면을 예시한 것이다. 도 3을 참조하면, 테이블 생성화면에서 사용자는 테이블의 라벨(301)을 입력하고, 각 컬럼의 라벨(302), 시스템 네임(303), 데이터 유형(304) 등의 테이블의 속성을 입력 또는 설정할 수 있다.
컬럼의 라벨(302)은 해당 컬럼이 웹사이트에 보여질 때 붙는 명칭이며, 시스템 네임(303)은 해당 컬럼에 대한 데이터베이스 내부의 명칭이다. 도 3의 실시예에서는 라벨(302)과 시스템 네임(303)이 별도의 속성으로 정의되어 있으나, 실시예에 따라서는 라벨(302)과 명칭(303)을 분리하지 않고 하나의 항목으로 설정하고 웹페이지에 표시되는 라벨을 시스템 네임으로 그대로 사용하도록 할 수도 있다. 또한, 데이터베이스 기술에 대해 잘 모르는 사용자를 위해 시스템 네임(303)이 사용자로부터 입력되는 대신 자동으로 부여되도록 구현할 수도 있을 것이다.
데이터 유형(304)은 해당 컬럼에 어떤 유형의 데이터가 입력될지를 지정하는항목으로서, 사용자가 직접 입력하도록 하는 대신 도 3과 같이 유형 리스트를 제공하여 정해진 데이터 유형들 중 하나를 선택하도록 할 수 있다.
또한, 테이블 생성시 사용자로 하여금 각 컬럼에 대응하는 UI 콤포넌트의 유형도 테이블 속성으로 미리 정의하도록 할 수 있다.
다른 실시예에서는 사용자가 각 필드에 적절한 UI 콤포넌트를 설정하는 대신, 각 필드의 데이터 유형에 따라 미리 정해진 적절한 UI 콤포넌트가 자동으로 사용되도록 할 수도 있다. 예컨대, 1비트 형식의 데이터를 가지는 컬럼이 폼에 드래그앤드롭되면 컬럼의 라벨과 함께 체크 박스가 자동으로 폼에 추가되도록 설정될 수 있다.
사용자에 의한 테이블의 라벨(301)과 각 컬럼들에 대한 정의 입력에 따라 사용자의 웹사이트 구축에 필요한 데이터를 저장할 테이블(들)이 생성되며, 도 3과 유사한 사용자 인터페이스를 통해 유저 테이블들의 생성, 변경, 삭제 등의 관리가 이루어질 수 있다. 생성된 테이블(들)은 서버(100)의 데이터베이스에 저장된다.
테이블을 생성한 후에는 각 테이블에 데이터를 입력할 수 있는데, 도 4a 및 4b는 테이블에 데이터를 입력하는 화면을 예시한 것이다.
도 4a를 참조하면, 사용자가 선택한 "고객 정보" 테이블(401)의 "이름"(402), "성별"(403), "나이"(404) 컬럼에 대해 데이터를 입력할 수 있는 폼(FORM)이 제공되며, 사용자는 이전 레코드(405)나 다음 레코드(406)로 이동하여 새로운 레코드를 추가로 입력하거나 기 입력된 데이터의 수정, 삭제, 조회를 수행할 수 있다.
도 4b를 참조하면, 사용자가 선택한 "고객 정보" 테이블(410)에 대해 그리드 형태의 사용자 인터페이스(411)를 통해 데이터를 입력, 수정, 삭제, 조회할 수 있다.
이와 같이 본 발명에 따른 데이터베이스 구축 시스템은 테이블의 생성과 데이터 관리를 위한 사용자 인터페이스를 다양하게 제공하며, 사용자의 선택에 따라서 또는 테이블의 컬럼 수 등의 환경에 따라서 적절한 사용자 인터페이스를 사용자에게 제시할 수 있다.
도 2의 단계 S204에서는, 생성중인 폼을 보여주는 폼 영역과 구축된 테이블을 표시한 테이블 영역을 포함하는 폼 생성 화면이 제공된다. 웹사이트 구축에 필요한 테이블(들)을 생성한 사용자는 폼 생성을 요청할 것이며, 서버(200)는 이에 대응하여 폼 생성 화면을 사용자 단말(100)에 제공하는 것이다.
폼은 웹사이트 빌더 상에서 웹페이지에 표시되는 UI 콤포넌트(User Interface components)의 집합으로서, 데이터베이스의 데이터가 표시되는 영역에 해당한다.
도 5의 예에서 생성되는 폼은 단일 테이블의 하나의 행(row)을 표시하고 레코드를 입력, 삭제, 수정하는데 사용되는 UI(User Interface) 요소이다.
도 5는 본 발명의 일 실시예에 따라 엔터티를 드래그앤드롭하여 웹 페이지에 데이터베이스의 데이터를 표시하는 폼을 생성하기 위한 폼 생성 화면을 예시한 것이다.
도 5를 참조하면, 화면의 왼쪽에는 새로이 생성중인 빈 폼이 표시되는 폼 영역이, 화면의 오른쪽에는 사용자가 생성한 테이블에 대한 정보가 표시되는 테이블 영역이 배치된다.
사용자가 테이블 영역의 테이블 리스트(510)에서 하나의 테이블(511)을 선택하면 하단에 선택된 테이블의 컬럼리스트(512)가 표시될 것이다. 이 컬럼 리스트(512)에서 원하는 엔터티(514)를 드래그하여 폼 영역에서 드롭하면, 드롭된 엔터티와 연동하는 UI 콤포넌트가 폼 영역에 추가된다. UI 콤포넌트(520)의 라벨은 테이블의 해당 컬럼에 대해 정의된 라벨이며, 미리 정의된 데이터 유형에 따라 UI 콤포넌트(520)의 유형이 결정될 것이다. 도5의 예에서 "이름" 컬럼은 텍스트 유형이므로 텍스트를 입력할 수 있는 텍스트 박스가 폼에 추가되었음을 알 수 있다(520) 각 컬럼을 순차적으로 드래그앤드롭하거나 복수의 컬럼을 드래그앤드롭할 경우 해당 테이블의 컬럼들에 대해 데이터를 조회하거나 입력할 수 있는 폼을 자동으로 생성할 수 있다. 또한, 테이블 자체를 폼에 드래그앤드롭할 경우는 해당 테이블의 모든 컬럼들과 연동되는 UI 콤포넌트들이 폼에 추가될 것이다.
상기와 같이 데이터베이스 엔터티(들)을 폼에 드래그앤드롭하면 서버(200)가 데이터베이스 연동에 필요한 코드를 자동으로 생성해주므로, 사용자에 의한 추가적인 코딩 없이 데이터베이스가 연동되는 폼을 생성할 수 있다.
도 2의 단계 S206에서는, 폼 영역의 엔터티들, 즉 폼 영역에 드롭되는 엔터티와 폼 영역에 기 드롭된 엔터티 간의 관계를 결정하여 관계 정보 테이블에 저장한다. 이후, 해당 엔터티들을 하나의 폼에 드래그앤드롭하면 관계정보 테이블에 설정된 관계에 따라 적당한 형태로 엔터티들을 표시할 것이다.
도 6은 본 발명의 일 실시예에 따라 두 엔터티 간의 일대일 관계를 설정하는 화면을 예시한 것이다.
도 6을 참조하면, 아직까지 관계가 설정되어 있지 않은 "고객 정보" 테이블(530)과 "고객 주소" 테이블(540)의 데이터가 테이블 영역에 표시되어 있다. "고객 정보" 테이블(530)의 첫번째 레코드(531)를 폼 영역에 드래그앤 드롭하면, "이름", "성별", "나이" 컬럼에 해당하는 라벨과 UI 콤포넌트들(550)이 폼에 추가될 것이다. 또한, "고객 주소" 테이블(540)의 첫번째 레코드(541)를 폼 영역에 드래그앤드롭하면, 해당 데이터가 폼에 추가될 것이다. 이때, 각 컬럼에 대응하는 라벨과 UI 콤포넌트가 개별적으로 추가될 수도 있으나, 사용자에게 선택 옵션을 주어 복수 컬럼의 데이터를 통합하여 조회할 수 있도록 할 수 있으며, 컬럼의 라벨도 사용자의 입력에 따라 변경하여 사용할 수 있도록 구현할 수 있다(551)
한편, 도 6과 같이 2개의 테이블에서 각각 하나의 레코드가 드래그앤드롭되는 경우, 두 엔터티 간에 일대일 관계가 있다고 결정하고 결정된 관계에 대한 정보를 관계 정보 테이블에 저장할 수 있다. 사용자가 테이블을 생성하는 시점에서는 전혀 별개의 테이블이었지만 이제는 두 테이블이 서로 연결된 것이다.
이에 따라, FORM2의 생성 완료 후 대응하는 웹 페이지에서 "고객정보" 테이블(530)의 레코드가 조회될 때, 이레코드와 연결된 "고객주소" 테이블(540)의 레코드에 저장된 주소 정보도 같이 조회될 것이다.
본 발명의 일 실시예에 따른 데이터베이스 구축 시스템의 서버(200)는 관계 정보 테이블을 만들어 관리하며, 관계 정보 테이블은 엔터티들의 식별 정보와 관계에 대한 정보를 저장한다. 엔터티들간의 관계는 일대일 관계, 일대다 관계 또는 다대다 관계로 분류될 수 있다.
이와 같은 관계 정보 테이블을 참조하여 두 테이블간의 관계를 알 수 있으며 파악된 관계에 따라 데이터베이스에 저장된 데이터를 폼에 표시할 수 있다. 폼 생성 화면에서 엔터티의 드래그앤드롭이 있을 때마다 엔터티들간의 관계를 판단하여 관계 정보 테이블에 저장할 수 있다.
테이블간의 관계를 이어주는 필드로 두 테이블에서 이름이 동일한 필드가 사용될 수 있다. 도 6의 예에서 ID 필드는 "고객정보" 테이블(530)과 "고객주소" 테이블(540) 둘 다에 포함되어 있으며, 이 ID 필드가 동일한 레코드들이 1:1 관계로 연결될 수 있다. 웹사이트의 구축이 완료된 후에 도 6의 예에 따라 생성된 페이지에서, "이름" 란에 특정 이름이 표시될 때, 해당 레코드의 "ID" 값과 일치하는 "ID" 값을 가지는 레코드를 "고객주소" 테이블(540) 로부터 조회하여 같이 뿌려주는 것이다.
두 엔터티 간의 관계를 설정할 때 일치하는 필드가 없는 경우는, 결정된 관계를 나타내는 키 필드를 두 엔터티에 동일하게 추가하고, 사용자의 드래그앤드롭에 의해 관계를 연결해야 하는 레코드들이 동일한 키 값을 가지도록 설정할 수 있을 것이다. 또한, 실시예에 따라서는 상기 키 필드에 대한 정보를 관계 정보 테이블에 저장할 수도 있다.
도 7은 본 발명의 일 실시예에 따라 두 엔터티 간의 일대다 관계를 [0059] 설정하는 화면을 예시한 것이다.
도 7을 참조하면, 먼저 사용자는 "반정보" 테이블(710)과 이 테이블(710)의 각 레코드에 대응하는 독립적인 테이블들을 생성한다. "반정보" 테이블(710)에서 하나의 레코드를 드래그앤드롭하여 폼에 해당 UI 콤포넌트들 (712)을 추가하면 해당 레코드의 데이터가 폼에 보여지며, 1학년 4반의 중간고사 성적을 저장하고 있는 테이블 "1-4중간고사성적"(720)의 모든 레코드를 통째로 드래그앤드롭하면 해당 테이블의 모든 데이터가 그리드의 형태로 폼에 추가될 것이다.
또한, 이 경우 두 테이블 간의 관계가 일대다 관계인 것으로 판단하고 해당 관계 정보를 관계 정보 테이블에 저장하게 된다. 이때, 한 테이블의 각 레코드에 대해 연결되는 테이블이 어떤 것인지를 나타내는 정보가 저장될 수 있다.
일대다 관계에 있는 테이블의 데이터를 보여주기 위해서 도 7과 같이 그리드 형태로 다수의 레코드를 출력할 수도 있으나, 사용자의 선택 또는 구현 옵션으로 리스트나 콤보 박스 등의 UI 콤포넌트가 사용될 수 있다.
도 8은 본 발명의 일 실시예에 따라 두 엔터티 간의 다대다 관계를 설정하는 화면을 예시한 것이다.
다대다 관계는, 예컨대 제품과 대리점의 매핑 관계와 같이 하나의 제품이 여러 대리점에서 판매되고 각 대리점은 여러개의 물품을 판매하는 경우를 말한다.
서로 일치하는 키 필드가 없는 독립적인 제1 테이블 및 제2 테이블로부터 하나 이상의 레코드를 각각 드래그앤 드롭한 경우, 제1 테이블과 상기 제2 테이블이 다대다 관계인 것으로 결정할 수 있다.
도 8을 참조하면, 테이블1(810)은 제품에 대한 데이터를 저장하기 위해 생성된 테이블이며, 테이블2(820)는 대리점에 대한 데이터를 저장하기 위해 생성된 테이블이다. 초기에 이 두 테이블은 아무런 관계가 없는 독립적인 테이블이다. 그런데 사용자가 웹페이지를 저작하면서 도 8에서와 같이 "대리점" 테이블(820)의 레코드 하나(821)를 드래그앤드롭하여 폼에 가져오고, "제품" 테이블(810)에서 복수의 레코드(811, 812, 813)를 드래그앤드롭하여 폼에 가져다 붙이면, 폼에는 대리점 "3"에 대한 정보(822)와 그에 대응하는 제품 정보(814)가 뿌려지고, 이 두 테이블은 다대다 관계가 있다고 판단되어 이 관계에 대한 정보가 관계 정보 테이블에 저장되며, 두 테이블의 레코드를 이용한 교차 테이블이 생성된다.
도 9는 본 발명의 일 실시예에 따라 다대다 관계에 있는 두 엔터티를 이용하여 생성한 교차 테이블을 예시한 것이다.
도 8에서 선택하여 가져온 대리점의 대리점 코드 "3"과 그에 대응하는 제품 코드 "1", "2", "10"을 저장하는 레코드 3개를 포함하는 교차 테이블이 생성되었음을 알 수 있다. 이 예에서 교차 테이블은 "제품 코드"와 "대리점 코드" 컬럼으로 구성된다. 도 8의 화면에서 다른 대리점에 대한 레코드와 그에 해당하는 제품 레코드들을 폼에 드래그앤드롭하면, 해당 관계를 나타내는 레코드들이 교차 테이블에 추가될 것이다.
웹사이트 구축 후 FORM4가 포함된 웹페이지에서 대리점 정보가 조회될 때, 교차 테이블이 참조되어 현재 조회되고 있는 대리점에 대응하는 제품들에 대한 정보가 같이 보여질 것이다.
도 10은 본 발명의 일 실시예에 따라 웹사이트 생성시 사용할 수 있는 템플릿을 예시한 것이다.
도 10을 참조하면, 폼 생성 화면에 라디오 박스(1010), 텍스트 박스(020), 콤보 박스(1030), 그리드(1040) 등의 템플릿들을 제공하고 템플릿을 가져다가 폼에 붙일 수 있도록 구현될 수 있다. 또는 다양한 스타일의 폼 템플릿을 제공하고 사용자가 원하는 폼 템플릿을 웹페이지에 가져다 붙이도록 할 수도 있다.
도 11은 본 발명의 일 실시예에 따라 두 엔터티 간의 일대다 관계를 설정하는 화면을 예시한 것이다.
도 11은 한 테이블의 레코드 하나에 다른 테이블의 레코드 여러 개가 관련지어지는 구조를 보여주며 이 관계를 마스터 디테일(master-detail) 구조라고도 할 수 있다. 도 11을 참조하면, "게시판" 테이블(1110)에서 하나의 레코드(1111)를 가져오면 해당 레코드의 데이터가 적절한 UI 콤포넌트를 통해서 표시되고(1112), "게시물" 테이블(1120)로부터 복수의 레코드(1121)를 가져오면, 이들 레코드의 데이터가 그리드 형태의 UI 콤포넌트(1122)를 통해 표시됨을 알 수 있다.
또한, 두 테이블의 관계가 일대다 관계로 설정되어 관계 정보 테이블에 저장되며, 두 테이블 간에 동일한 이름의 필드가 없는 경우는 미리 정해진 동일 명칭의 필드가 각 테이블에 추가되어 키 필드로서의 기능을 하도록 테이블이 수정될 수 있다. 구축된 웹사이트의 FORM5에서 특정 게시판을 조회하면 상기 키 필드를 이용해 특정 게시판과 관계있는 레코드들을 "게시물" 테이블(1120)에서 조회하고 검색된 레코드들이 그리드 형태의 UI 콤포넌트(1122)를 통해 출력될 것이다.
상기에서는 테이블로부터 레코드를 선택하여 드래그앤 드롭하는 것으로 설명하였으나 이는 이해를 돕기 위한 것으로, 행(Row)이나 컬럼(Column) 또는 테이블 그 자체와 같은 다양한 형태의 데이터 베이스 엔터티를 선택하여 드래그앤 드롭하는 것으로 구현할 수 있다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적인 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100: 사용자 단말
200: 서버
300: 인터넷

Claims (1)

  1. 웹사이트 빌더에서 데이터베이스를 위지윅으로 구축하는 방법에 있어서,
    테이블의 속성 정보를 입력할 수 있는 테이블 생성 화면을 제공하는 단계와;
    상기 테이블 생성 화면에서의 입력에 따라 테이블을 생성하는 단계와;
    생성중인 폼을 보여주는 폼 영역과 상기 생성된 테이블을 표시한 테이블 영역을 포함하는 폼 생성 화면을 제공하는 단계와;
    사용자가 상기 테이블 영역으로부터 엔터티를 드래그하여 상기 폼 영역에 드롭하면, 상기 드롭된 엔터티와 연동하는 UI 콤포넌트를 상기 폼 영역에 추가하고, 상기 드롭된 엔터티와 상기 폼 영역에 기 드롭된 엔터티 간의 관계를 결정하여 관계 정보 테이블에 저장하는 단계; 및
    사용자가 위지윅(WYSIWYG, what you see is what you get)을 기반으로 하여 원하는 상기 폼 생성 화면을 제공하는 단계;를 포함하는 것을 특징으로 하는 데이터베이스를 위지윅으로 구축하는 방법.
KR1020190041522A 2019-04-09 2019-04-09 데이터베이스를 위지윅으로 구축하는 방법 KR20200119108A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190041522A KR20200119108A (ko) 2019-04-09 2019-04-09 데이터베이스를 위지윅으로 구축하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190041522A KR20200119108A (ko) 2019-04-09 2019-04-09 데이터베이스를 위지윅으로 구축하는 방법

Publications (1)

Publication Number Publication Date
KR20200119108A true KR20200119108A (ko) 2020-10-19

Family

ID=73042655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190041522A KR20200119108A (ko) 2019-04-09 2019-04-09 데이터베이스를 위지윅으로 구축하는 방법

Country Status (1)

Country Link
KR (1) KR20200119108A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328153A (zh) * 2020-10-30 2021-02-05 北京数秦科技有限公司 显示方法、装置以及存储介质
CN113641698A (zh) * 2021-08-19 2021-11-12 成都数之联科技有限公司 一种连表查询代码生成方法、装置、电子设备及计算机可读存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328153A (zh) * 2020-10-30 2021-02-05 北京数秦科技有限公司 显示方法、装置以及存储介质
CN112328153B (zh) * 2020-10-30 2022-07-15 北京数秦科技有限公司 显示方法、装置以及存储介质
CN113641698A (zh) * 2021-08-19 2021-11-12 成都数之联科技有限公司 一种连表查询代码生成方法、装置、电子设备及计算机可读存储介质
CN113641698B (zh) * 2021-08-19 2024-03-12 成都数之联科技股份有限公司 一种连表查询代码生成方法、装置、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US8756567B2 (en) Profile based version comparison
US9299050B2 (en) System and method of representing business units in sales performance management using entity tables containing explicit entity and internal entity IDs
US6401096B1 (en) Method and apparatus for generating user profile reports using a content menu
US7725501B1 (en) System and method for rapid database application deployment and use
US7788584B2 (en) Computer-implemented method, system, and program product for hiding columns in an electronic table
US20110154253A1 (en) Process field extensibility for business objects
US20090216772A1 (en) Conversational question generation system adapted for an insurance claim processing system
US20040186860A1 (en) Method and architecture for providing data-change alerts to external applications via a push service
US20080195649A1 (en) Dynamic User Interface and a Method For Generating a Dynamic User Interface For Interfacing With an Electronic Data Repository Storing a Collection of Data Elements
KR20170098854A (ko) 보고 생성 방법
US9953331B2 (en) Extensibility for sales predictor (SPE)
US20190180337A1 (en) Requirement-specific configuration of user interface forms
US10338894B2 (en) Generating applications based on data definition language (DDL) query view and application page template
US20170161926A1 (en) Rendering data visualizations in different analytical applications
WO2011088396A1 (en) Apparatus and method for constructing data applications in an unstructured data environment
KR101787010B1 (ko) 웹사이트 빌더에서 데이터베이스를 위지윅으로 구축하는 방법 및 시스템
US20140143270A1 (en) Generating dynamic drilldown reports
US8176098B2 (en) Obtaining information from an object
KR20200119108A (ko) 데이터베이스를 위지윅으로 구축하는 방법
US20110302483A1 (en) Forms integration toolkit
JP2007265249A (ja) データ検索表示装置、データ検索表示システム、検索表示処理プログラムおよびデータ検索表示方法
US8626773B2 (en) Aligning records for visual comparison
US7574329B1 (en) Object model for decision and issue tracking
Feldman et al. Developing Business Intelligence Apps for SharePoint: Combine the Power of SharePoint, LightSwitch, Power View, and SQL Server 2012
CN110222032A (zh) 一种基于软件数据分析的通用事件模型