KR102147528B1 - 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법 - Google Patents

관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법 Download PDF

Info

Publication number
KR102147528B1
KR102147528B1 KR1020190138015A KR20190138015A KR102147528B1 KR 102147528 B1 KR102147528 B1 KR 102147528B1 KR 1020190138015 A KR1020190138015 A KR 1020190138015A KR 20190138015 A KR20190138015 A KR 20190138015A KR 102147528 B1 KR102147528 B1 KR 102147528B1
Authority
KR
South Korea
Prior art keywords
attribute
history data
record identifier
stored
managed
Prior art date
Application number
KR1020190138015A
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 KR1020190138015A priority Critical patent/KR102147528B1/ko
Application granted granted Critical
Publication of KR102147528B1 publication Critical patent/KR102147528B1/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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

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

Abstract

데이터베이스 테이블 레코드가 추가된다 하더라도 테이블 수는 증가되지 않아 시스템의 공간 효율성을 향상시킬 수 있으며, 데이터 변화뿐만 아니라 관리자가 변경됨에 따라 발생되는 엔티티(entity) 변화까지 신속하고 정확하게 추적 관리할 수 있는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법이 개시된다. 상기 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은 데이터 변화뿐만 아니라 관리자가 변경됨에 따른 엔티티 네임 변화까지도 추적하여 관리할 수 있도록 하여 응용시스템의 유지 및 관리를 매우 용이하게 할 수 있으며, 응용시스템 관리자가 각종 요구사항 등에 유연하고 신속하게 대처할 수 있도록 함으로써 업무 효율성을 대폭 향상시킴은 물론, 대고객 만족도와 신뢰도까지도 대폭 향상시킬 수 있는 효과가 있다.

Description

관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법{DYNAMIC MANAGEMENT SYSTEM AND METHOD OF TABLE, ATTRIBUTE, RELATIONSHIP USING RELATIONAL DATABASE}
본 발명은 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법에 관한 것으로, 보다 상세하게는 관계형 데이터베이스에서 사전에 정의하고 생성하지 않은 테이블, 속성, 관계를 응용시스템 관리자의 조작에 의해 동적으로 관리할 수 있는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적관리시스템 및 방법에 관한 것이다.
초창기의 컴퓨터에서는 운영체제가 제공하는 파일 시스템을 이용하여 데이터를 단순히 저장하고 읽기만 했는데, 이러한 데이터를 보다 효율적으로 관리하거나 접근하기 위해서는 응용 프로그래머가 직접 파일 시스템 상에서 필용한 응용 프로그램을 개발해야만 했다. 그때에는 클라이언트의 요구가 바뀔 때마다 계속 응용 프로그램을 변경하거나 심지어는 다시 개발해야 했으며, 그 기능 또한 동시에 많은 사용자가 사용하기에는 극히 제한적이었다.
1960년대 초에 이르러 처음으로 "데이터베이스"란 용어가 "한 조직의 응용 시스템들이 공용하기 위해 통합, 저장한 운영 데이터의 집합"이란 개념으로 정의되고 곧이어 데이터베이스를 관리하기 위한 시스템인 DBMS(Database Management System)가 소개되었다. 그 이후 계층적으로 데이터 모델과 네트워크 데이터 모델에 기반을 둔 IMS, Total 등의 DBMS들이 개발되어 영업망 정보, 부서 조직 정보 등 계층적 구조를 갖는 비즈니스 영역에서 우수한 성능을 발휘하였다.
그러나, 상기와 같은 DBMS들은 데이터들이 포인터로 연결되어 있고 그러한 포인터들을 최대한 효율적으로 이용하도록 응용 프로그램들을 개발하였기 때문에 데이터베이스의 변경이 응용 프로그램의 성능에 큰 영향을 미친다는 결정적인 문제점이 있을 뿐만 아니라, 데이터베이스의 일관성을 유지하기가 매우 어렵다는 문제점이 있었다.
상술한 바와 같은 문제점을 해결하기 위하여 관계형 데이터베이스(RDBMS, Relational Database)가 개발되어 사용되고 있다.
종래의 관계형 데이터베이스에 확장형 마크업 언어(XML, eXtensible Markup Language)를 저장하고 변환하는 방법은, 단순히 XML 문서 전체를 문자열로 저장하거나, 각 노드(Node)의 내용을 내용 그대로 관계형 데이터베이스의 각 항목에 일대일로 맵핑시켜 저장하고 다시 XML로 변환시키는 방법이다.
이러한, 종래의 저장 및 변환 방법은 각 XML 태그의 내용이 관계형 데이터베이스에도 구조 그대로 맵핑되어 저장되는바, 공간의 낭비 및 너무 많은 데이터베이스 테이블 레코드가 발생하는 문제점이 있었다.
즉, 계층적 구조를 갖는 비즈니스 영역의 소프트웨어에서 고객의 요구에 따라 테이블의 속성이 변경되거나 테이블 수가 증가하게 되면 관계를 관리하는 데이터베이스 테이블 레코드가 테이블 수당 n!/2로 그 수가 기하급수적으로 늘어나게 됨으로써 이를 추적 관리하는데 많은 시간과 작업공수가 투입되어야 한다는 문제점이 있다.
특히, 조직을 관리하는 응용 프로그램 등에서 데이터 변화가 발생될 시에도 이를 추적 관리하는데 많은 시간과 작업공수가 투입되나, 응용 프로그램을 관리하는 담당자가 바뀌어 엔티티 네임(entity name)이 변경될 경우에는 이를 추적 관리하는 것이 사실상 불가능하다는 문제점이 있었다.
대한민국 등록특허공보 제10-0899616호(2009.05.20.) 대한민국 공개특허공보 제10-2016-0103841호(2016.09.02.) 대한민국 등록특허공보 제10-1801865호(2017.11.21.)
본 발명의 목적은 데이터베이스 테이블 레코드가 추가된다 하더라도 테이블 수는 증가되지 않아 시스템의 공간 효율성을 향상시킬 수 있는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 데이터 변화뿐만 아니라 관리자가 변경됨에 따라 발생되는 엔티티(entity) 변화까지 신속하고 정확하게 추적 관리할 수 있는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법을 제공하는 것이다.
그 외 본 발명의 세부적인 목적은 이하에 기재되는 구체적인 내용을 통하여 이 기술 분야의 전문가나 연구자에게 자명하게 파악되고 이해될 것이다.
상기 목적을 달성하기 위하여 본 발명은 각 테이블의 속성을 구분하기 위해 테이블 정보와 속성 정의정보를 저장 및 관리하는 메타 모델 테이블과, 레코드 식별자가 기본 키로 정의 되어 저장되며, 상기 기본 키로 정의된 레코드 식별자에 대응되도록 상기 메타 모델 테이블에서 기본 키로 정의된 테이블 식별자를 외래 키로 정의하여 저장 및 관리하는 오브젝트 마스터 테이블과, 상기 오브젝트 마스터 테이블의 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되어 관리되며, 상기 레코드 식별자와 대응되어 추가되는 속성 이력 데이터의 타임스탬프가 기본 키로 정의되어 저장 및 관리되는 오브젝트 슬레이브 테이블 및, 상기 오브젝트 마스터 테이블에 정의된 각각의 레코드 식별자 간의 관계내용만 별도로 저장되어 관리되는 오브젝트 관계 테이블을 포함하는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템을 제시한다.
한편, 상기 레코드 식별자 별 속성 이력 데이터를 수정할 시에는, 상기 오브젝트 슬레이브 테이블에 수정된 속성 이력 데이터를 추가하고, 기존의 속성 이력 데이터는 히스토리 관계를 위해 보존되는 것이 바람직하다.
여기서, 상기 오브젝트 슬레이브 테이블에 저장되어 관리되는 레코드 식별자 별 수정 전 속성 이력 데이터와 추가되는 적어도 하나의 수정된 속성 이력 데이터는, 기본 키로 정의되는 타임스탬프를 통해 최신 속성 이력 데이터를 식별할 수 있도록 관리될 수 있다.
또한, 상기 메타 모델 테이블에 추가할 테이블 정보와 속성 정의 정보를 입력하면, 상기 오브젝트 마스터 테이블에는 새로 추가된 테이블 식별자가 외래 키로 정의 되어 추가 저장됨과 동시에, 상기 새로 추가된 테이블 식별자와 대응되는 레코드 식별자가 기본 키로 정의 되어 추가 저장되어 관리되며, 상기 오브젝트 슬레이브 테이블에는 추가된 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되어 관리되고, 상기 오브젝트 관계 테이블에는 기존 레코드 식별자와 추가된 레코드 식별자 간의 관계 내용이 추가 저장되어 관리될 수 있다.
한편, 상기 메타 모델 테이블에 엔티티 별 정보 확인 신호가 입력되면, 상기 메타 모델 테이블은 정보 확인 신호가 입력된 엔티티 속성의 사용 여부와 이름을 검색하고, 상기 정보 확인 신호가 입력된 엔티티의 레코드 식별자와 대응되는 속성 이력 데이터를 상기 오브젝트 슬레이브 테이블로부터 검색하여 상기 검색된 엔티티 속성의 사용 여부 및 이름과 매칭시켜 디스플레이 시킬 수 있다.
또한, 본 발명은 각 테이블의 속성을 구분하기 위해 테이블 정보와 속성 정의정보를 메타 모델 테이블에 저장하여 관리하며, 오브젝트 마스터 테이블에 레코드 식별자를 기본 키로 정의 하여 저장하고, 상기 기본 키로 정의된 레코드 식별자에 대응되도록 상기 메타 모델 테이블에서 기본 키로 정의된 테이블 식별자를 외래키로 정의하여 상기 오브젝트 마스터 테이블에 저장하여 관리하고, 상기 오브젝트 마스터 테이블의 레코드 식별자와 대응되는 모든 속성 이력 데이터가 오브젝트 슬레이브 테이블에 저장되어 관리되며, 상기 레코드 식별자와 대응되어 추가되는 속성 이력 테이터의 타임스탬프가 기본 키로 정의되어 오브젝트 슬레이브 테이블에 저장되어 관리되며, 상기 오브젝트 마스터 테이블에 정의된 각각의 레코드 식별자 간의 관계내용만 별도로 오브젝트 관계 테이블에 저장되어 관리되는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리방법을 제시한다.
한편, 상기 레코드 식별자 별 속성 이력 데이터를 수정할 시에는, 상기 오브젝트 슬레이브 테이블에 수정된 속성 이력 데이터를 추가하고, 기존의 속성 이력 데이터는 히스토리 관계를 위해 보전될 수 있다.
여기서, 상기 오브젝트 슬레이브 테이블에 저장되어 관리되는 레코드 식벽자 별 수정 전 속성 이력 테이터와 추가되는 적어도 하나의 수정된 속성 이력 데이터는, 기본 키로 정의되는 타임스탬프를 통해 최신 속성 이력 데이터를 식별할 수 있도록 관리될 수 있다.
또한, 상기 메타 모델 테이블에 추가할 테이블 정보와 속정 정의 정보를 입력되면, 상기 오브젝트 마스터 테이블에는 새로 추가된 테이블 식별자가 외래 키로 정의 되어 추가 저장됨과 동시에, 상기 새로 추가된 테이블 식별자와 대응되는 레코드 식별자가 기본 키로 정의 되어 추가 저장되어 관리되며, 상기 오브젝트 슬레이브 테이블에는 추가된 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되어 관리되고, 상기 오브젝트 관계 테이블에는 기존 레코드 식별자와 추가된 레코드 식별자 간의 관계 내용이 추가 저장되어 관리될 수 있다.
한편, 상기 메타 모델 테이블에 엔티티 별 정보 확인 신호가 입력되면, 상기 메타 모델 테이블은 정보 확인 신호가 입력된 엔티티 속성의 사용 여부와 이름을 검색하고, 상기 정보 확인 신호가 입력된 엔티티의 레코드 식별자와 대응되는 속성 이력 데이터를 상기 오브젝트 슬레이브 테이블로부터 검색하여 상기 검색된 엔티티 속성의 사용 여부 및 이름과 매칭시켜 디스플레이 시킬 수 있다.
상술한 바와 같이 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은, 테이블의 모든 속성 이력 데이터는 오브젝트 슬레이브 테이블에 저장되어 관리되고, 오브젝트 마스터 테이블은 테이블 식별자와 레코드 식별자를 이용하여 상기 오브젝트 슬레이브 테이블의 모든 속성 이력 데이터를 관리함과 동시에, 오브젝트 관계 테이블은 오브젝터 마스터의 레코드 식별자를 이용하여 관계 내용을 관리함으로써 오브젝트 슬레이브 테이블의 모든 속성 이력 데이터는 오브젝트 관계 테이블과 관계를 유지할 수 있다.
따라서, 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은 데이터 변화뿐만 아니라 관리자가 변경됨에 따라 엔티티가 변경된다 하더라도 레코드 식별자를 이용하여 이를 신속하게 추적 관리할 수 있는 효과가 있다.
또한, 데이터 테이블 레코드가 추가된다 하더라도 테이블 수는 증가되지 않고 추가되는 테이블 레코드의 모든 속성 이력 테이터를 레코드 식별자의 관계를 이용하여 추적 관리할 수 있으므로 시스템의 공간 효율성을 대폭 향상시킬 수 있는 효과가 있다.
궁극적으로, 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은 데이터 변화뿐만 아니라 관리자가 변경됨에 따른 엔티티 네임 변화까지도 추적하여 관리할 수 있도록 하여 응용시스템의 유지 및 관리를 매우 용이하게 할 수 있으며, 응용시스템 관리자가 각종 요구사항 등에 유연하고 신속하게 대처할 수 있도록 함으로써 업무 효율성을 대폭 향상시킴은 물론, 대고객 만족도와 신뢰도까지도 대폭 향상시킬 수 있는 효과가 있다.
그 외 본 발명의 효과들은 이하에 기재되는 구체적인 내용을 통하여, 또는 본 발명을 실시하는 과정 중에 이 기술분야의 전문가나 연구자에게 자명하게 파악되고 이해될 것이다.
도 1은 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템을 설명하기 위한 개략도
도 2는 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템에 엔티티 네임 별로 레코드가 추가되는 과정을 설명하기 위한 도면
도 3은 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템에 기 저장되어 있는 레코드가 수정되는 과정을 설명하기 위한 도면
도 4는 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템을 이용하여 새로운 테이블을 추가하는 과정을 설명하기 위한 도면
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
본 출원에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하 도면을 참조하여, 본 발명의 바람직한 실시예들을 보다 상세하게 설명한다.
도 1은 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템을 설명하기 위한 개략도이다.
도 1을 참조하면, 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템(100)은 메타 모델 테이블(110), 오브젝트 테이블(120) 및, 오브젝트 관계테이블(130)을 포함할 수 있다.
상기 메타 모델 테이블(110)에서는 각 테이블의 속성을 구분하기 위해 테이블 정의와 속성 정의 정보가 저장되어 관리된다.
또한, 상기 오브젝트 테이블(120)은 상기 메타 모델 테이블(110)과 연결되어 상기 메타 모델 테이블(110)에 저장되어 있는 데이터 주제에 따라 다르게 정의되는 속성과 관계를 동적으로 관리하기 위해 각 테이블 별 속성 이력 데이터가 모두 저장될 수 있다.
여기서, 상기 오브젝트 테이블(120)은 오브젝트 테이블(120)에 저장된 데이터의 변경 과정을 이력관리 하기 위해 오브젝트 마스터 테이블(121)과 오브젝트 슬레이브 테이블(122)로 구분될 수 있다.
예를 들면, 상기 오브젝트 마스터 테이블(121)은 식별자를 가지고 오브젝트 슬레이브 테이블(122)의 모든 속성 이력 데이터를 관리할 수 있도록 한다.
보다 상세하게 설명하면, 상기 오브젝트 마스터 테이블(121)에는 레코드 식별자가 기본 키(PK)로 정의 되어 저장되며, 상기 기본 키(PK)로 정의된 레코드 식별자에 대응되도록 상기 메타 모델 테이블(110)에서 기본 키(PK)로 정의된 테이블 식별자가 외래 키(FK)로 정의되어 저장될 수 있다.
한편, 상기 오브젝트 슬레이브 테이블(122)에는 상기 오브젝트 마스터 테이블(121)의 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되어 관리되며, 상기 레코드 식별자와 대응되어 추가되는 속성 이력 데이터의 타임스탬프가 기본 키로 정의되어 저장될 수 있다.
따라서, 상기 오브젝트 마스터 테이블(121)은 테이블 식별자와 대응되는 레코드 식별자를 가지고 상기 오브젝트 슬레이브 테이블(122)에 저장되는 모든 속성 이력 데이터를 관리할 수 있도록 한다.
한편, 상기 오브젝트 관계 테이블(130)에는 상기 오브젝트 마스터 테이블(121)에 정의된 각각의 레코드 식별자 간의 관계내용만 별도로 저장되어 관리될 수 있다.
이때, 상기 오브젝트 관계 테이블(130)이 관리하는 관계는 상기 오브젝트 마스터 테이블(121)의 레코드 식별자를 이용하므로 상기 오브젝트 슬레이브 테이블(122)의 모든 속성 이력 데이터는 여전히 관계를 유지할 수 있다. 여기서, 관계 자체의 이력은 상기 오브젝트 관계 테이블(130)에서 버전으로 관리될 수 있다.
상술한 바와 같이 구성된 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템(100)을 이용하여 엔티티 네임(Entity name)별 레코드를 추가하게 될 시에는, 상기 오브젝트 마스터 테이블(121)에 추가될 엔티티 네임의 레코드 식별자와 테이블 식별자를 추가시켜 저장하게 되고, 상기 오브젝트 슬레이브 테이블(122)에는 추가된 레크도 식별자에 대응되는 모든 속성 이력 데이터가 저장되어 관리된다.
이때, 상기 오브젝트 슬레이브 테이블(122)에 추가되어 저장되는 속성 이력 데이터는 상기 오브젝트 슬레이브 테이블(122)에서 기본 키(PK)로 정의되는 타임스탬프(Time stamp)와 매칭되어 저장되어 관리될 수 있다.
한편, 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템(100)을 이용하여 레코드 식별자 별 속성 이력 데이터를 수정할 시에는, 간단하게 상기 오브젝트 슬레이브 테이블(122)에 수정된 속성 이력 데이터를 추가하기만 하면 된다.
이때, 상기 오브젝트 슬레이브 테이블(122)에 저장되어 있는 기존의 속성 이력 데이터는 히스토리(history) 관계를 위해 삭제되지 않고 그대로 보존된다.
여기서, 상기 오브젝트 슬레이브 테이블(122)에 저장되어 관리되는 레코드 식별자 별 수정 전 속성 이력 데이터와 추가되는 적어도 하나의 수정된 속성 이력 데이터는, 기본 키(PK)로 정의되는 타임스탬프를 통해 최신 속성 이력 데이터를 식별할 수 있도록 관리된다.
또한, 상기 메타 모델 테이블(110)에 추가할 테이블 정보와 속성 정의 정보를 입력하면, 상기 오브젝트 마스터 테이블(121)에는 새로 추가된 테이블 식별자가 외래 키(FK)로 정의 되어 추가 저장됨과 동시에, 상기 새로 추가된 테이블 식별자와 대응되는 레코드 식별자가 기본 키(PK)로 정의 되어 추가 저장되어 관리되고, 상기 오브젝트 슬레이브 테이블(122)에는 추가된 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되고 관리되며, 상기 오브젝트 관계 테이블(130)에는 기존 레코드 식별자와 추가된 레코드 식별자 간의 관계 내용이 추가 저장되어 관리된다.
한편, 사용자가 엔티티 별 정보 확인을 위해 상기 메타 모델 테이블(110)에 엔티티 별 정보 확인 신호를 입력하면, 상기 메타 모델 테이블(110)은 정보 확인 신호가 입력된 엔티티 속성의 사용 여부와 이름을 검색하고, 상기 정보 확인 신호가 입력된 엔티티의 레코드 식별자와 대응되는 속성 이력 데이터를 상기 오브젝트 슬레이브 테이블(122)로부터 검색하여 상기 검색된 엔티티 속성의 사용 여부 및 이름과 매칭시켜 디스플레이 시킬 수 있도록 한다.
도 2 내지 도 4를 참조하여 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리방법에 대하여 설명한다.
도 2는 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템에 엔티티 네임 별로 레코드가 추가되는 과정을 설명하기 위한 도면이다.
먼저, 도 2에 도시된 바와 같이 메타 모델 테이블에 엔티티 네임(Entity name)이 '요구사항', '프로젝트'라고 정의되고, 상기 요구사항, 프로젝트의 테이블 식별자가 각각 'T001', 'T002'로 정의되어 기본 키(PK)로 저장되었을 경우 요구사항 레코드가 추가되는 과정에 대하여 설명한다.
상기 요구사항 레코드를 추가하기 위해서는 오브젝트 마스터 테이블(121)에 요구사항 레코드 식별자(R001)와 테이블 식별자(T001)를 추가하게 된다.
보다 상세하게 설명하면, 요구사항 레코드를 추가하기 위해서는 상기 오브젝트 마스터 테이블(121)에 상기 레코드 식별자(R001)를 기본 키(PK)로 정의 하여 추가하게 되며, 상기 테이블 식별자(T001)자는 외래 키(FK)로 정의 하여 추가하게 된다.
한편, 오브젝트 슬레이브 테이블(122)에는 레코드 식별자(R001)에 대응되는 요구사항 속성 이력 데이터(D1)가 저장되어 관리된다.
이때, 상기 오브젝트 슬레이브 테이블(122)에는 추가된 레코드 식별자(R001)와 대응되는 타임스탬프(TS1)가 기본 키(PK)로 정의 되어 저장된다.
여기서, 오브젝트 관계 테이블(130)에는 상기 오브젝트 마스터 테이블(121)에 정의된 요구사항 레코드 식별자(R001)와 프로젝트 레코드 식별자(R002) 간의 관계 내용만 별도로 저장되어 관리된다.
도 3은 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템에 기 저장되어 있는 레코드가 수정되는 과정을 설명하기 위한 도면이다.
요구사항, 프로젝트, 정보시스템 레코드가 수정되는 과정은 모두 동일함으로써 설명의 편의를 위하여 요구사항 레코드가 수정되는 과정에 대해서만 설명한다.
상기 요구사항 레코드를 수정하기 위해서는 상기 오브젝트 슬레이브 테이블(122)에 수정된 요구사항 속성 이력 데이터(D2)를 추가하기만 하면 되며, 기존의 요구사항 속성 이력 데이터(D1)는 히스토리 관계를 위해 삭제되지 않고 그대로 보존된다.
이때, 상기 오브젝트 슬레이브 테이블(122)에 저장되어 관리되는 수정 전 요구사항 속성 이력 데이터(D1)와 추가되는 수정된 요구사항 속성 이력 데이터(D2)는 상기 오브젝트 슬레이브 테이블(122)에 기본 키(PK)로 정의되는 타임스탬프(TS1)(TS2)를 통해 최신 속성 이력 데이터를 식별할 수 있도록 관리된다.
도 4는 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템을 이용하여 새로운 테이블을 추가하는 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템을 이용하여 새로운 테이블을 추가하기 위해서는, 먼저 관리자가 웹 화면에서 추가할 테이블에 대한 정보를 입력하게 되면, 상기 메타 모델 테이블(110)에 추가되는 테이블 정보와 속성 정의 정보가 추가된다.
예를 들면, 도 4에 도시된 바와 같이 관리자가 정보시스템테이블에 대한 정보를 입력하게 되면, 상기 메타 모델 테이블(110)에는 정보시스템 테이블 정보와 속정 정의 정보가 추가된다.
이때, 상기 오브젝트 마스터 테이블(121)에는 새로 추가된 정보시스템 테이블 식별자(T003)가 외래 키(FK)로 정의 되어 추가 저장됨과 동시에, 상기 정보시스템 테이블 식별자(T003)와 대응되는 레코드 식별자(R003)가 기본 키(PK)로 정의 되어 추가 저장된다.
한편, 상기 오브젝트 슬레이브 테이블(122)에는 추가된 정보시스템 레코드 식별자(R003)와 대응되는 모든 속성 이력 데이터(D3)가 저장되어 관리된다.
또한, 상기 오브젝트 관계 테이블(130)에는 프로젝트 레코드 식별자(R002)와 정보시스템 레코드 식별자(R003) 간의 관계 내용만 추가 저장되어 관리될 수 있다.
한편, 일반 사용자가 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템을 이용하여 엔티티 별 정보를 확인하기 위해서는, 먼저 사용자는 메타 모델 테이블(110)에 확인하고자 하는 엔티티의 정보 확인 신호를 입력하게 된다.
상기 메타 모델 테이블(110)에 엔티티 별 정보 확인 신호가 입력되면, 상기 메타 모델 테이블(110)은 정보 확인 신호가 입력된 엔티티 속성의 사용 여부와 이름을 검색하고, 상기 정보 확인 신호가 입력된 엔티티의 레코드 식별자와 대응되는 속성 이력 데이터를 상기 오브젝트 슬레이브 테이블(122)로부터 검색하여 상기 검색된 엔티티 속성의 사용 여부 및 이름과 매칭시켜 디스플레이 시킬 수 있도록 한다.
상술한 바와 같이 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은 데이터 주제에 따라 다르게 정의되는 속성과 관계를 동적으로 관리하기 위해 데이터 내용은 모두 오브젝트 테이블(120)에 저장하며, 각 테이블의 속성을 구분하기 위해 테이블 정보와 속성 정의 정보는 메타 모델 테이블(110)에서 관리한다.
한편, 데이터 간 관계를 동적으로 관리하기 위해 오브젝트 관계 테이블(130)에서는 두 개의 오브젝트 레코드 간 관계를 관리하며 관계의 내용을 속성으로 관리하게 된다.
또한, 오브젝트 테이블(120)에 저장된 데이터의 변경 과정을 이력 관리하기 위해서 본 발명에 따른 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은 오브젝트 테이블(120)을 오브젝트 마스터 테이블(121)과 오브젝트 슬레이브 테이블(122)로 구분하고, 오브젝트 마스터 테이블(121)은 레코드 식별자를 가지고 오브젝트 슬레이브 테이블(122)의 모든 이력 테이터를 관리하게 된다.
이때, 오브젝트 관계 테이블(130)이 관리하는 관계는 상기 오브젝트 마스터 테이블(121)의 레코드 식별자를 이용하므로 오브젝트 슬레이브 테이블(122)의 모든 속성 이력 테이터는 여전히 관계를 유지할 수 있다.
따라서, 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은 복잡 다양한 업부에 따라 별도로 적용되어야 하는 데이터 관계를 동적으로 관리할 수 있으며 관계를 중심으로 다양한 업부를 유연하게 관리할 수 있다는 장점이 있다.
상기와 같은 본 발명의 일실시예에 의한 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법은 데이터베이스 테이블 레코드가 추가된다 하더라도 테이블 수는 전혀 증가되지 않고 단 4개의 테이블 만으로 모든 데이터 간의 관계를 유지시키면서 관리할 수 있으므로 시스템의 공간 효율성을 대폭 향상시킬 수 있는 장점이 있다.
또한, 테이블의 모든 속성 이력 데이터는 오브젝트 슬레이브 테이블(122)에 저장되어 관리되고, 오브젝트 마스터 테이블(121)은 테이블 식별자와 레코드 식별자를 이용하여 상기 오브젝트 슬레이브 테이블(122)의 모든 속성 이력 데이터를 관리함과 동시에, 오브젝트 관계 테이블(130)은 오브젝터 마스터 테이블(121)의 레코드 식별자를 이용하여 관계 내용을 관리함으로써 오브젝트 슬레이브 테이블(122)의 모든 속성 이력 데이터는 오브젝트 관계 테이블(130)과 관계를 유지할 수 있으므로 데이터 변화뿐만 아니라 엔티티 네임 변화까지 추적 관리할 수 있는 장점이 있다.
앞서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예들을 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
(110) : 메타 모델 테이블(Meta model table)
(120) : 오브젝트 테이블(Object table)
(121) : 오브젝트 마스터 테이블(Object master table)
(122) : 오브젝트 슬레이브 테이블(Object slave table)
(130) : 오브젝트 관계 테이블(Object relation table)

Claims (10)

  1. 각 테이블의 속성을 구분하기 위해 테이블 정보와 속성 정의정보를 저장 및 관리하는 메타 모델 테이블;
    레코드 식별자가 기본 키로 정의 되어 저장되며, 상기 기본 키로 정의된 레코드 식별자에 대응되도록 상기 메타 모델 테이블에서 기본 키로 정의된 테이블 식별자를 외래 키로 정의하여 저장 및 관리하는 오브젝트 마스터 테이블;
    상기 오브젝트 마스터 테이블의 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되어 관리되며, 상기 레코드 식별자와 대응되어 추가되는 속성 이력 데이터의 타임스탬프가 기본 키로 정의되어 저장 및 관리되는 오브젝트 슬레이브 테이블; 및
    상기 오브젝트 마스터 테이블에 정의된 각각의 레코드 식별자 간의 관계내용만 별도로 저장되어 관리되는 오브젝트 관계 테이블을 포함하며,
    상기 메타 모델 테이블에 추가할 테이블 정보와 속성 정의 정보를 입력하면,
    상기 오브젝트 마스터 테이블에는 새로 추가된 테이블 식별자가 외래 키로 정의 되어 추가 저장됨과 동시에, 상기 새로 추가된 테이블 식별자와 대응되는 레코드 식별자가 기본 키로 정의 되어 추가 저장되어 관리되며,
    상기 오브젝트 슬레이브 테이블에는 추가된 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되어 관리되고,
    상기 오브젝트 관계 테이블에는 기존 레코드 식별자와 추가된 레코드 식별자 간의 관계 내용이 추가 저장되어 관리되는 것을 특징으로 하는 관계형 데이터 베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템.
  2. 제1 항에 있어서,
    상기 레코드 식별자 별 속성 이력 데이터를 수정할 시에는,
    상기 오브젝트 슬레이브 테이블에 수정된 속성 이력 데이터를 추가하고, 기존의 속성 이력 데이터는 히스토리 관계를 위해 보존되는 것을 특징으로 하는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템.
  3. 제2 항에 있어서,
    상기 오브젝트 슬레이브 테이블에 저장되어 관리되는 레코드 식별자 별 수정 전 속성 이력 데이터와 추가되는 적어도 하나의 수정된 속성 이력 데이터는,
    기본 키로 정의되는 타임스탬프를 통해 최신 속성 이력 데이터를 식별할 수 있도록 관리되는 것을 특징으로 하는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템.
  4. 삭제
  5. 제1 항에 있어서,
    상기 메타 모델 테이블에 엔티티 별 정보 확인 신호가 입력되면,
    상기 메타 모델 테이블은 정보 확인 신호가 입력된 엔티티 속성의 사용 여부와 이름을 검색하고,
    상기 정보 확인 신호가 입력된 엔티티의 레코드 식별자와 대응되는 속성 이력 데이터를 상기 오브젝트 슬레이브 테이블로부터 검색하여 상기 검색된 엔티티 속성의 사용 여부 및 이름과 매칭시켜 디스플레이 시키는 것을 특징으로 하는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템.
  6. 각 테이블의 속성을 구분하기 위해 테이블 정보와 속성 정의정보를 메타 모델 테이블에 저장하여 관리하며,
    오브젝트 마스터 테이블에 레코드 식별자를 기본 키로 정의 하여 저장하고, 상기 기본 키로 정의된 레코드 식별자에 대응되도록 상기 메타 모델 테이블에서 기본 키로 정의된 테이블 식별자를 외래키로 정의하여 상기 오브젝트 마스터 테이블에 저장하여 관리하고,
    상기 오브젝트 마스터 테이블의 레코드 식별자와 대응되는 모든 속성 이력 데이터가 오브젝트 슬레이브 테이블에 저장되어 관리되며, 상기 레코드 식별자와 대응되어 추가되는 속성 이력 테이터의 타임스탬프가 기본 키로 정의되어 오브젝트 슬레이브 테이블에 저장되어 관리되며,
    상기 오브젝트 마스터 테이블에 정의된 각각의 레코드 식별자 간의 관계내용만 별도로 오브젝트 관계 테이블에 저장되어 관리되고,
    상기 메타 모델 테이블에 추가할 테이블 정보와 속정 정의 정보를 입력되면,
    상기 오브젝트 마스터 테이블에는 새로 추가된 테이블 식별자가 외래 키로 정의 되어 추가 저장됨과 동시에, 상기 새로 추가된 테이블 식별자와 대응되는 레코드 식별자가 기본 키로 정의 되어 추가 저장되어 관리되며,
    상기 오브젝트 슬레이브 테이블에는 추가된 레코드 식별자와 대응되는 모든 속성 이력 데이터가 저장되어 관리되고,
    상기 오브젝트 관계 테이블에는 기존 레코드 식별자와 추가된 레코드 식별자 간의 관계 내용이 추가 저장되어 관리되는 것을 특징으로 하는 관계형 데이터 베이스를 이용한 테이블, 속성, 관계의 동적 관리방법.
  7. 제6 항에 있어서,
    상기 레코드 식별자 별 속성 이력 데이터를 수정할 시에는,
    상기 오브젝트 슬레이브 테이블에 수정된 속성 이력 데이터를 추가하고, 기존의 속성 이력 데이터는 히스토리 관계를 위해 보전되는 것을 특징으로 하는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리방법.
  8. 제7 항에 있어서,
    상기 오브젝트 슬레이브 테이블에 저장되어 관리되는 레코드 식벽자 별 수정 전 속성 이력 테이터와 추가되는 적어도 하나의 수정된 속성 이력 데이터는,
    기본 키로 정의되는 타임스탬프를 통해 최신 속성 이력 데이터를 식별할 수 있도록 관리되는 것을 특징으로 하는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리방법.
  9. 삭제
  10. 제6 항에 있어서,
    상기 메타 모델 테이블에 엔티티 별 정보 확인 신호가 입력되면,
    상기 메타 모델 테이블은 정보 확인 신호가 입력된 엔티티 속성의 사용 여부와 이름을 검색하고,
    상기 정보 확인 신호가 입력된 엔티티의 레코드 식별자와 대응되는 속성 이력 데이터를 상기 오브젝트 슬레이브 테이블로부터 검색하여 상기 검색된 엔티티 속성의 사용 여부 및 이름과 매칭시켜 디스플레이 시키는 것을 특징으로 하는 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리방법.
KR1020190138015A 2019-10-31 2019-10-31 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법 KR102147528B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190138015A KR102147528B1 (ko) 2019-10-31 2019-10-31 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190138015A KR102147528B1 (ko) 2019-10-31 2019-10-31 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102147528B1 true KR102147528B1 (ko) 2020-08-24

Family

ID=72235114

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190138015A KR102147528B1 (ko) 2019-10-31 2019-10-31 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102147528B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220069413A (ko) * 2020-11-20 2022-05-27 한국전자기술연구원 데이터 중복 방지를 위한 데이터 저장 방법 및 이를 적용한 데이터 플랫폼

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323677A (ja) * 2007-09-03 2007-12-13 Hitachi Ltd オブジェクト統合管理システムの生成方法
KR100899616B1 (ko) 2008-01-25 2009-05-27 주식회사 케이티프리텔 관계형 데이터베이스를 이용한 메타데이터 관리 방법 및시스템
KR20160103841A (ko) 2015-02-25 2016-09-02 주식회사 이노룰스 메타모델을 이용한 상품관리 시스템 및 방법
KR101801865B1 (ko) 2014-05-20 2017-11-27 이프위저드 코포레이션 관계형 데이터 전송 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323677A (ja) * 2007-09-03 2007-12-13 Hitachi Ltd オブジェクト統合管理システムの生成方法
KR100899616B1 (ko) 2008-01-25 2009-05-27 주식회사 케이티프리텔 관계형 데이터베이스를 이용한 메타데이터 관리 방법 및시스템
KR101801865B1 (ko) 2014-05-20 2017-11-27 이프위저드 코포레이션 관계형 데이터 전송 방법
KR20160103841A (ko) 2015-02-25 2016-09-02 주식회사 이노룰스 메타모델을 이용한 상품관리 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220069413A (ko) * 2020-11-20 2022-05-27 한국전자기술연구원 데이터 중복 방지를 위한 데이터 저장 방법 및 이를 적용한 데이터 플랫폼
WO2022107931A1 (ko) * 2020-11-20 2022-05-27 한국전자기술연구원 데이터 중복 방지를 위한 데이터 저장 방법 및 이를 적용한 데이터 플랫폼
KR102460910B1 (ko) * 2020-11-20 2022-10-31 한국전자기술연구원 데이터 중복 방지를 위한 데이터 저장 방법 및 이를 적용한 데이터 플랫폼

Similar Documents

Publication Publication Date Title
US6611838B1 (en) Metadata exchange
US9292573B2 (en) Extended database engine providing versioning and embedded analytics
JP5065056B2 (ja) ワークフローを処理するための方法、コンピュータ・プログラム、およびシステム(ワークフロー・システムへのデータ管理動作の統合)
US7213208B2 (en) Data container for interaction between a client process and software applications
US7899820B2 (en) Apparatus and method for transporting business intelligence objects between business intelligence systems
CN108228817A (zh) 数据处理方法、装置和系统
US20050234889A1 (en) Method and system for federated querying of data sources
US20100115100A1 (en) Federated configuration data management
US7624117B2 (en) Complex data assembly identifier thesaurus
US20140122523A1 (en) Point-in-time query system
US20020091705A1 (en) Object integrated management system
US20020091716A1 (en) Replication system and program
EP4155964A1 (en) Centralized metadata repository with relevancy identifiers
US20120084330A1 (en) High performance map editor for business analysts
US11561976B1 (en) System and method for facilitating metadata identification and import
KR102147528B1 (ko) 관계형 데이터베이스를 이용한 테이블, 속성, 관계의 동적 관리시스템 및 방법
US20040054640A1 (en) Interaction between a client process and software applications
US20110087709A1 (en) Methods and system for dynamic database content persistence and information management
Phungtua-Eng et al. Slowly changing dimension handling in data warehouses using temporal database features
CN113886505A (zh) 一种基于搜索引擎和关系型数据库实现动态建模的管理系统
Pan Metadata Version Management for DW 2, 0 Environment.
KR20090066036A (ko) 전역 뷰 생성 도구를 이용한 데이터베이스 통합 방법
Gruhn et al. Configuration management for Lyee software
Khnaisser et al. Past indeterminacy in data warehouse design
KR20000061300A (ko) 칼스 통합 데이터베이스 시스템 및 그 운용 방법

Legal Events

Date Code Title Description
GRNT Written decision to grant