KR20160139307A - 리버스 데이터 모델링 관계선 설정 방법 및 그 장치 - Google Patents

리버스 데이터 모델링 관계선 설정 방법 및 그 장치 Download PDF

Info

Publication number
KR20160139307A
KR20160139307A KR1020150073942A KR20150073942A KR20160139307A KR 20160139307 A KR20160139307 A KR 20160139307A KR 1020150073942 A KR1020150073942 A KR 1020150073942A KR 20150073942 A KR20150073942 A KR 20150073942A KR 20160139307 A KR20160139307 A KR 20160139307A
Authority
KR
South Korea
Prior art keywords
entity
parent
child
primary key
group
Prior art date
Application number
KR1020150073942A
Other languages
English (en)
Other versions
KR102281454B1 (ko
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 KR1020150073942A priority Critical patent/KR102281454B1/ko
Priority to PCT/KR2015/006914 priority patent/WO2016190482A1/ko
Publication of KR20160139307A publication Critical patent/KR20160139307A/ko
Application granted granted Critical
Publication of KR102281454B1 publication Critical patent/KR102281454B1/ko

Links

Images

Classifications

    • G06F17/30604
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30595

Landscapes

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

Abstract

본 발명의 일 태양에 따른 리버스 데이터 모델링 관계선 설정 방법은, 기본키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속한 엔티티들 중 부모 엔티티를 결정하는 단계와 상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 각 엔티티의 기본키의 유사도를 가리키는 기본키 매칭률을 연산하는 단계와 상기 기본키 매칭률을 이용하여, 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 단계 및 상기 부모 엔티티와 상기 자식 엔티티 사이의 식별 관계를 가리키는 관계선을 생성하는 단계를 포함할 수 있다.

Description

리버스 데이터 모델링 관계선 설정 방법 및 그 장치 {Method and apparatus for setting relationship line with reverse data modeling}
본 발명은 리버스 데이터 모델링 관계선 설정 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 리버스 데이터 모델링 과정에서 매칭률을 이용하여 부모 엔티티와 자식 엔티티 사이의 관계를 결정하고, 그 사이의 관계선을 생성하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
리버스 데이터 모델링(Reverse Data Modeling)은, 데이터베이스의 메타 데이터를 이용하여 엔티티 관계도(Entity Relationship Diagram; ERD)를 생성하는 것을 가리킨다.
일반적으로, 데이터베이스를 구성하기 전에 먼저 데이터 모델링을 통해 데이터를 구조화하고 조직화한다. 이를 개체-관계 모델링(Entity-Relationship Modeling; ERM)이라고 하며, 그 산출물이 엔티티 관계도이다.
하지만, 때에 따라서는 이미 구성된 데이터베이스를 기반으로 엔티티 관계도를 생성해야 하는 경우도 있다. 기존에 생성한 엔티티 관계도가 없거나, 생성을 하였더라도 데이터베이스 구조 변화에 따른 갱신을 장기간 하지 않은 경우이다. 이때에는, 데이터베이스의 메타 데이터를 이용하여 엔티티 관계도를 생성해야 한다.
리버스 데이터 모델링을 지원하는 여러가지 툴이 있으나, 대부분이 엔티티 간의 관계선을 표시할 때, 동일한 속성명을 기준으로 부모와 자식 간의 관계선을 모두 연결하여 표시한다. 그 후, 불필요한 관계선은 사람이 판단하여 삭제하는 수동적인 방법을 통해 엔티티 관계도를 생성하도록 하고 있다. 그래서, 시스템의 규모가 점점 커지고 복잡해질수록 리버스 데이터 모델링 과정에서 불필요한 관계선을 수작업으로 제거해야 하는 불편이 커질 수밖에 없다.
본 발명이 해결하고자 하는 기술적 과제는, 리버스 데이터 모델링 과정에서 엔티티 간의 관계선을 자동으로 설정하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 태양에 따른 리버스 데이터 모델링 관계선 설정 방법은, 기본키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속한 엔티티들 중 부모 엔티티를 결정하는 단계와 상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 각 엔티티의 기본키의 유사도를 가리키는 기본키 매칭률을 연산하는 단계와 상기 기본키 매칭률을 이용하여, 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 단계 및 상기 부모 엔티티와 상기 자식 엔티티 사이의 식별 관계를 가리키는 관계선을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 태양에 따른 리버스 데이터 모델링 관계선 설정 방법은, 외래키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속하지 아니한 엔티티들 중 부모 엔티티를 결정하는 단계와 상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 각 엔티티의 외래키의 유사도를 가리키는 외래키 매칭률을 연산하는 단계와 상기 외래키 매칭률을 이용하여, 상기 엔티티 군에 속한 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 단계 및 상기 부모 엔티티와 상기 자식 엔티티 사이의 비식별 관계를 가리키는 관계선을 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 태양에 따른 리버스 데이터 모델링 관계선 설정 장치는, 네트워크 인터페이스와 하나 이상의 프로세서와 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리 및 엔티티 데이터를 저장하는 스토리지를 포함할 수 있다. 여기서, 상기 컴퓨터 프로그램은, 기본키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속한 엔티티들 중 부모 엔티티를 결정하는 오퍼레이션과 상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 각 엔티티의 기본키의 유사도를 가리키는 기본키 매칭률을 연산하는 오퍼레이션과 상기 기본키 매칭률을 이용하여, 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 오퍼레이션 및 상기 부모 엔티티와 상기 자식 엔티티 사이의 식별 관계를 가리키는 관계선을 생성하는 오퍼레이션을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 태양에 따른 리버스 데이터 모델링 관계선 설정 장치는, 네트워크 인터페이스와 하나 이상의 프로세서와 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리 및 엔티티 데이터를 저장하는 스토리지를 포함할 수 있다. 여기서, 상기 컴퓨터 프로그램은, 외래키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속하지 아니한 엔티티들 중 부모 엔티티를 결정하는 오퍼레이션과 상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 각 엔티티의 외래키의 유사도를 가리키는 외래키 매칭률을 연산하는 오퍼레이션과 상기 외래키 매칭률을 이용하여, 상기 엔티티 군에 속한 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 오퍼레이션 및 상기 부모 엔티티와 상기 자식 엔티티 사이의 비식별 관계를 가리키는 관계선을 생성하는 오퍼레이션을 포함할 수 있다.
상기와 같은 본 발명에 따르면, 리버스 데이터 모델링 과정에서 부모 엔티티와 자식 엔티티 사이의 관계선을, 정형화 및 자동화된 방법을 통해 생성할 수 있다.
또한, 부모 엔티티와 자식 엔티티를 매칭할 때 가장 매칭률이 높은 관계만을 매칭하여 관계선을 생성함으로써, 관계 자체에 담겨 있는 정보를 사용자에게 손쉽게 전달할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
도 1a 내지 도 1b는 본 발명의 몇몇 실시예들에서 사용되는 기본키, 외래키, 식별 관계, 비식별 관계를 설명하기 위한 도면이다.
도 2a는 본 발명의 몇몇 실시예들에서 사용되는 엔티티 군의 예시이다. 도 2b는 상기 도 2a의 엔티티 군을 종래의 방법으로 관계선을 표시한 경우의 예시도이며, 도 2c는 상기 도 2a의 엔티티 군을 본 발명의 몇몇 실시예에 따라 관계선을 표시한 경우의 예시도이다.
도 3은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법의 순서도이다.
도 4 내지 도 5는 본 발명의 몇몇 실시예들에서 참조될 수 있는 부모-기본키 매칭률(PC-PK 매칭률) 및 자식-기본키 매칭률(CP-PK 매칭률)을 설명하기 위한 도면이다.
도 6은 본 발명의 몇몇 실시예들에 따른 식별 관계를 가리키는 관계선을 표시하는 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 경우의 순서도이다.
도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 과정을 설명하기 위한 도면이다.
도 9은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법의 순서도이다.
도 10은 본 발명의 몇몇 실시예들에서 참조될 수 있는 외래키 매칭률(FK 매칭률)을 설명하기 위한 도면이다.
도 11은 본 발명의 몇몇 실시예들에 따른 비식별 관계를 연결한 관계선을 표시하는 과정을 설명하기 위한 도면이다.
도 12는 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 경우의 순서도이다.
도 13a 내지 도 13b는 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 과정을 설명하기 위한 도면이다.
도 14 내지 도 15는 본 발명의 몇몇 실시예들에서 관계선의 너비를 보정하는 과정을 설명하기 위한 도면이다.
도 16a는 종래의 방법으로 관계선을 표시한 경우의 예시도이며, 도 16b는 본 발명의 몇몇 실시예에 따라 관계선의 너비를 보정하여 표시한 경우의 예시도이다.
도 17은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 보다 상세히 설명한다.
도 1a 내지 도 1b는 본 발명의 몇몇 실시예들에서 사용되는 기본키, 외래키, 식별 관계, 비식별 관계를 설명하기 위한 도면이다.
도 1a에 도시된 바와 같이, 엔티티(110)는 X 속성(111a)을 기본키(Primary Key)로 가질 수 있다. 엔티티 관계도에서는 기본키를 밑줄과 함께 표시한다. 반면 기본키가 아닌(Non Primary Key) X 속성(111b)을 가진 경우(General Attribute)에는, 밑줄 없이 그냥 문자로만 표시한다.
도 1b에 도시된 바와 같이, X 속성을 기본키로 가진 부모 엔티티(113)는 X와 Y 속성을 기본키로 가지는 자식 엔티티(115a)나, Y 속성을 기본키로 가지는 자식 엔티티(115b)를 가질 수 있다. 이 때, 부모 엔티티(113)의 기본키를 자식 엔티티(115a)도 기본키로 가지는 경우에는 이를 식별 관계라고 한다. 엔티티 관계도에서 식별 관계는 실선(117a)으로 관계선을 표시한다. 반면, 부모 엔티티(113)의 기본키를 자식 엔티티(115b)가 기본키가 아닌 일반 속성으로 가지는 경우(General Attribute)에는 이를 비식별 관계라고 한다. 엔티티 관계도에서 비식별 관계는 띠선(117b)으로 관계선을 표시한다.
도 2a는 본 발명의 몇몇 실시예들에서 사용되는 엔티티 군의 예시이다. 도 2b는 상기 도 2a의 엔티티 군을 종래의 방법으로 관계선을 표시한 경우의 예시도이며, 도 2c는 상기 도 2a의 엔티티 군을 본 발명의 몇몇 실시예에 따라 관계선을 표시한 경우의 예시도이다.
도 2a에 도시된 바와 같이, 데이터베이스의 메타 데이터를 이용하여, 엔티티 관계도를 생성하기 위한 엔티티 군을 표시할 수 있다. 즉, 리버스 데이터 모델링을 통하여, 엔티티 군을 표시하고, 상기 엔티티 군에 속한 각 엔티티 사이의 관계선을 설정함으로써, 엔티티 관계도를 완성할 수 있다.
도 2a에 예시된, 엔티티 군은 A, B, C, D, E, F 속성을 기본키로 가지는 엔티티 군(121, 122, 123, 124, 125, 126)과, A, B, C, D 속성을 외래키로 가지는 엔티티 군(131, 132a, 132b, 133, 134)으로 구별된다. 이하 도 2a의 엔티티 군을 예시 대상으로 하여 관계선을 설정하는 방법을 살펴보도록 한다.
도 2b에 도시된 바와 같이, 종래의 관계선 설정 방법은 각 엔티티 별로 속성명을 비교하여 모든 관계선을 표시한다. 그 후, 불필요한 관계선은 수작업으로 삭제하여야 하므로, 많은 불편이 따른다.
도 2c에 도시된 바와 같이, 본 발명의 몇몇 실시예에 따른 관계선 설정 방법은 부모 엔티티와 가장 매칭률이 높은 자식 엔티티에 대해서만 관계선을 표시하므로 엔티티 관계도 생성을 효율적으로 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법의 순서도이다.
우선, 동일한 속성을 기본키로 가지는 엔티티 군에 대하여, 상기 엔티티 군의 부모 엔티티를 결정한다(S1100). 상기 엔티티 군의 부모 엔티티를 결정하는 단계는, 상기 엔티티 군에서 기본키의 속성 수가 가장 작은 엔티티를 부모 엔티티로 결정할 수 있다. 이에 대해서는 도 6과 함께 추후 자세히 설명하기로 한다.
그 다음 단계로, 상기 부모 엔티티의 기본키와 상기 엔티티 군에 속한 각 엔티티의 기본키를 비교한 기본키 매칭률을 연산한다(S1200). 기본키 매칭률은 부모-기본키 매칭률과 자식-기본키 매칭률 두 가지가 있다. 이에 대해서는 도 4 내지 도 6과 함께 추후 자세히 설명하기로 한다.
그 다음 단계로, 상기 기본키 매칭률을 이용하여, 상기 엔티티 군에 속한 각 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정한다(S1300). 자식 엔티티를 결정하기 위해서는, 상기 부모-기본키 매칭률이 100% 이면서, 상기 자식-기본키 매칭률이 가장 높은 엔티티를 자식 엔티티로 결정할 수 있다(S1300). 이에 대해서는 도 6과 함께 추후 자세히 설명하기로 한다.
마지막 단계로, 상기 부모 엔티티와 상기 자식 엔티티 사이의 식별 관계를 연결한 관계선을 실선으로 표시한다(S1400). 이에 대해서는 도 6과 함께 추후 자세히 설명하기로 한다.
도 4 내지 도 5는 본 발명의 몇몇 실시예들에서 참조될 수 있는 부모-기본키 매칭률(PC-PK 매칭률) 및 자식-기본키 매칭률(CP-PK 매칭률)을 설명하기 위한 도면이다.
부모-기본키 매칭률(Parent Child Primary Key 매칭률; PC-PK 매칭률) 이란, 자식 엔티티의 속성 중에서 부모 엔티티의 기본키와 일치하는 속성 수를, 부모 엔티티의 기본키 속성 수로 나눈 값을 말한다. 도 4에 도시된 각 예에 대해 부모-기본키 매칭률을 연산하면 다음 표 1 과 같다.
부모 엔티티의 기본키와 일치하는 속성 부모 엔티티의 기본키 부모-기본키 매칭률
예 1 A A 1/1 = 100%
예 2 A, B A, B 2/2 = 100%
예 3 A, B A, B 2/2 = 100%
예 4 B, C A, B, C 2/3 = 66.7%
상기 표 1에서도 확인할 수 있듯이, 부모 엔티티의 기본키를 자식 엔티티도 기본키로 모두 가지고 있는 경우(예 1, 예 2) 및 부모 엔티티의 기본키를 자식 엔티티가 외래키로 모두 가지고 있는 경우(예 3)에는 부모-기본키 매칭률이 100% 값을 가지게 된다. 그러나, 도 4의 예 4를 보면 부모 엔티티의 기본키를 자식 엔티티가 일부만 가지고 있다. 이런 경우, 부모-기본키 매칭률은 100% 미만의 값을 가지게 되며, 이 때에는 두 엔티티 사이에는 부모-자식 관계가 형성될 수 없다.
즉, 두 엔티티 사이에 부모-자식 관계가 형성되기 위해서는 부모 엔티티의 기본키를 자식 엔티티도 기본키로 가지는 식별 관계 또는, 부모 엔티티의 기본키를 자식 엔티티가 일반 속성으로 가지는 비식별 관계이어야 한다. 도 4의 예시에서는 예 1, 예 2 가 식별 관계에 해당되며, 예 3이 비식별 관계에 해당된다.
이를 통해, 부모 엔티티에 대한 자식 엔티티를 결정하기 위해서는 부모-기본키 매칭률이 100% 이어야 함이 필요조건임을 알 수 있다.
자식-기본키 매칭률(Child Parent Primary Key 매칭률; CP-PK 매칭률) 이란, 부모 엔티티의 기본키 속성 수를, 자식 엔티티의 기본키 속성 수로 나눈 값을 말한다. 도 5에 도시된 각 예에 대해 자식-기본키 매칭률을 연산하면 다음 표 2 과 같다.
부모 엔티티의 기본키 자식 엔티티의 기본키 자식-기본키 매칭률
예 1 A A, B 1/2 = 50%
예 2 A, B A, B, C 2/3 = 66.7%
예 3 A, B A, B, C, D 2/4 = 50%
예 4 A, B, C A, B, C, D 3/4 = 75%
상기 표 2에서도 확인할 수 있듯이, 자식-기본키 매칭률이 더 높은 엔티티를 부모 엔티티에 대한 자식 엔티티로 결정하여야 한다. 도 5의 예 2와 예 3을 살펴보면 둘 다 동일하게 A 와 B 속성을 기본키로 가지는 부모 엔티티에 대해서, 예 2는 자식-기본키 매칭률이 66.7% 이고, 예 3은 자식-기본키 매칭률이 50% 이다. 이 경우, 예 3의 A, B, C, D 속성을 기본키로 가지는 엔티티보다 예 2의 A, B, C 속성을 기본키로 가지는 엔티티를, A, B 속성을 기본키로 가지는 부모 엔티티에 대한 자식 엔티티로 결정하여야 한다.
즉, 자식-기본키 매칭률이 더 높을수록 부모 엔티티에 가까운 자식 엔티티라고 볼 수 있다. 모든 자식 엔티티에 대해서 관계선을 표시하기보다, 가장 매칭률이 높은 관계만을 자식 엔티티로 매칭하여 관계선을 표시함으로써, 관계 자체에 담겨 있는 정보를 사용자에게 손쉽게 전달할 수 있다.
도 6은 본 발명의 몇몇 실시예들에 따른 식별 관계를 가리키는 관계선을 표시하는 과정을 설명하기 위한 도면이다.
도 2a의 예시를 살펴보면, 엔티티 121, 122, 123, 124, 125, 126 은 모두 동일한 속성 A 를 기본키로 가지는 하나의 군(141)을 형성한다. 상기 엔티티 군(141)의 부모 엔티티를 결정하기 위해 각 엔티티의 기본키의 속성 수를 살펴보면 다음 표 3과 같다.
엔티티 기본키 기본키 속성 수
121 A 1
122 A, B 2
123 A, B, C 3
124 A, B, C, D 4
125 A, B, C, D, E 5
126 A, B, C, D, E, F 6
본 발명의 일 실시예를 따르면, 부모 엔티티는 엔티티 군에서 기본키의 속성 수가 가장 작은 엔티티를 부모 엔티티로 결정할 수 있다(S1100). 표 3을 살펴보면, 상기 엔티티 군(141)의 부모 엔티티로 A 속성만을 기본키로 가지는 엔티티(121)를 부모 엔티티로 결정할 수 있다(S1100).
즉, 동일한 A 속성을 기본키로 가지는 엔티티 군(141)의 부모 엔티티는, 상기 엔티티 군(141)에서 상기 동일한 A 속성만을 기본키로 가지는 엔티티(121)로 결정되는 것을 알 수 있다(S1100).
자식 엔티티를 결정하기 위해서, 상기 A 속성 만을 기본키로 가지는 엔티티(121)의 기본키와 상기 엔티티 군(141)에 속한 각 엔티티의 기본키를 비교한 기본키 매칭률을 연산할 수 있다(S1200). 도 6의 각 엔티티에 대해 기본키 매칭률을 연산하면 다음 표 4와 같다.
엔티티 PC-PK 매칭률 CP-PK 매칭률
121 - -
122 1/1 = 100% 1/2 = 50%
123 1/1 = 100% 1/3 = 33.4%
124 1/1 = 100% 1/4 = 25%
125 1/1 = 100% 1/5 = 20%
126 1/1 = 100% 1/6 = 16.6%
기본키 매칭률을 이용하여, 상기 엔티티 군(141)에 속한 각 엔티티 중에서, 상기 부모 엔티티(121)에 대한 자식 엔티티를 결정할 수 있다(S1300). 자식 엔티티를 결정하기 위해서, 상기 부모-기본키 매칭률이 100% 이고, 상기 자식-기본키 매칭률이 가장 높은 엔티티를 자식 엔티티로 결정할 수 있다(S1300). 상기 표 4를 참고하면, A, B 속성을 기본키로 가지는 엔티티(122)를 부모 엔티티(121)에 대한 자식 엔티티로 결정할 수 있다.
부모 엔티티(121)에 대한 자식 엔티티(122)를 결정하면, 상기 부모 엔티티(121)와 상기 자식 엔티티(122) 사이의 식별 관계를 연결한 관계선을 실선으로 표시할 수 있다(S1400). 이와 같은 과정을 통해, A 속성을 기본키로 가지는 엔티티 군(141)의 부모 엔티티(121)와, 상기 부모 엔티티에 대한 자식 엔티티(122)를 결정하고, 이들 사이의 식별 관계를 엔티티 관계도 상에 표시할 수 있다.
도 7은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 경우의 순서도이다.
도 6에서 살펴본 것처럼 동일한 A 속성을 기본키로 가지는 대상 엔티티 군(141)의 부모 엔티티(121)와 자식 엔티티(122)를 결정하고, 이들 사이의 식별 관계를 엔티티 관계도 상에 표시하는 것을 한 싸이클이라 보면, 엔티티 관계도를 완성하기 위해서는 상기 싸이클을 나머지 엔티티에 대해서도 재귀적으로 반복할 필요가 있다.
즉, 상기 엔티티 군(141)에서 부모 엔티티를 제외한 대상 엔티티 군을 재설정하고(S1500), 상기 대상 엔티티 군에 속한 엔티티가 존재하면, 다시 상기 대상 엔티티 군에 대하여, 새로운 부모 엔티티를 결정하고, 상기 부모 엔티티의 자식 엔티티를 결정한 후, 이들 사이의 관계를 엔티티 관계도 상에 표시할 수 있다(S1600).
리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 것에 대해서는 도 8a 내지 도 8c에서 구체적으로 설명하기로 한다.
도 8a 내지 도 8c는 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 과정을 설명하기 위한 도면이다.
도 8a에 도시된 바와 같이, 동일한 A 속성을 기본키로 가지는 엔티티 군(141)의 부모 엔티티(121)와 자식 엔티티(122)를 결정하고, 이들 사이의 관계를 관계선으로 표시한 후, 상기 엔티티 군(141)에서 부모 엔티티(121)을 제외한 엔티티 군(143)을 대상 엔티티로 재설정할 수 있다.
상기 재설정된 대상 엔티티 군(143)은 동일한 A, B 속성을 기본키로 가지는 엔티티 군으로써, 상기 엔티티 군의 부모 엔티티를 결정하기 위해서 각 엔티티의 기본키의 속성 수를 살펴보면 표 5와 같다.
엔티티 기본키 기본키 속성 수
122 A, B 2
123 A, B, C 3
124 A, B, C, D 4
125 A, B, C, D, E 5
126 A, B, C, D, E, F 6
상기 표 5를 참고하면, 동일한 A, B 속성을 기본키로 가지는 대상 엔티티 군(143)의 부모 엔티티는, A, B 속성만을 기본키로 가지는 엔티티(122)로 결정할 수 있다. 즉, 엔티티 군(141)의 자식 엔티티(122)를 재설정된 대상 엔티티 군(143)의 부모 엔티티(122)로 결정할 수 있다.
이는, 자식 엔티티를 결정하기 위한 수식을 살펴보면 당연한 것임을 알 수 있다. 자식 엔티티를 결정하기 위한 자식-기본키 매칭률을 살펴보면, 자식-기본키 매칭률이 높을수록 자식 엔티티로 결정이 된다. 즉, 자식 엔티티로 결정이 되기 위해서는 자식-기본키 매칭률의 분모 값인 자식 엔티티의 기본키 속성 수가 작아야 한다. 그리고 재설정된 대상 엔티티 군에서 부모 엔티티로 결정되기 위해서는 부모 엔티티의 기본키 속성 수가 작아야 한다.
이러한 과정을 통해, 엔티티 군(141)의 자식 엔티티(122)가 새로운 엔티티 군(143)의 부모 엔티티(122)가 된다. 이를 재귀적으로 반복하게 되면, A 속성을 기본키로 가지는 엔티티(121)부터, A, B, C, D ,E ,F 속성을 기본키로 자지는 엔티티(126)까지 각 엔티티가 부모-자식 관계의 구조를 가지고 엔티티 관계도 상에 도시된다.
도 8a에서 대상 엔티티 군(143)의 부모 엔티티(122)에 대한 자식 엔티티를 결정하기 위해 기본키 매칭률을 연산해보면 다음 표 6과 같다.
엔티티 PC-PK 매칭률 CP-PK 매칭률
122 - -
123 2/2 = 100% 2/3 = 66.7%
124 2/2 = 100% 2/4 = 50%
125 2/2 = 100% 2/5 = 40%
126 2/2 = 100% 2/6 = 33.4%
표 6을 참고하면, A, B, C 속성을 기본키로 가지는 엔티티(123)를 부모 엔티티(122)에 대한 자식 엔티티로 결정할 수 있다. 그 후, 대상 엔티티 군(143)의 부모 엔티티(122)를 제외하고 다시 대상 엔티티 군을 재설정한다. 재설정한 엔티티 군의 부모 엔티티, 자식 엔티티를 재귀적으로 반복하여 결정한다.
도 8b에 도시된 바와 같이, 재설정된 대상 엔티티 군(145)의 부모 엔티티로 A, B, C 속성을 기본키로 가지는 엔티티(123)를 결정한다. 부모 엔티티(123)의 자식 엔티티를 결정하기 위해 기본키 매칭률을 연산해보면 다음 표 7과 같다.
엔티티 PC-PK 매칭률 CP-PK 매칭률
123 - -
124 3/3 = 100% 3/4 = 75%
125 3/3 = 100% 3/5 = 60%
126 3/3 = 100% 3/6 = 50%
표 7을 참고하면, A, B, C, D 속성을 기본키로 가지는 엔티티(124)를 부모 엔티티(123)에 대한 자식 엔티티로 결정할 수 있다. 이와 같은 과정을 재귀적으로 반복해서 수행하면 도 8c의 결과를 얻을 수 있다.
도 8c에 도시된 바와 같이, A 속성을 기본키로 가지는 엔티티(121)부터, A, B, C, D, E ,F 속성을 기본키로 가지는 엔티티(126)까지, 각 엔티티가 부모-자식 관계로서 식별 관계를 가지게 된다. 상기 식별 관계에 대해 각각 실선으로 관계선을 설정하면, 정규화 및 자동화된 방법을 통해 식별 관계를 연결한 관계선을 표시할 수 있다. 이하, 도 9에서는 비식별 관계를 연결한 관계선을 설정하는 방법을 살펴보기로 한다.
도 9은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법의 순서도이다.
우선, 동일한 속성을 외래키로 가지는 엔티티 군에 대하여, 상기 엔티티 군의 부모 엔티티를 결정한다(S2100). 상기 엔티티 군의 부모 엔티티를 결정하는 단계는, 상기 엔티티 군이 외래키로 가지는 속성을 기본키로 가지는 엔티티를 부모 엔티티로 결정할 수 있다. 이에 대해서는 도 11과 함께 추후 자세히 설명하기로 한다.
그 다음 단계로, 상기 부모 엔티티의 기본키와 상기 엔티티 군에 속한 각 엔티티의 외래키를 비교한 외래키 매칭률을 연산한다(S2200). 이에 대해서는 도 10 내지 도 11과 함께 추후 자세히 설명하기로 한다.
그 다음 단계로, 상기 외래키 매칭률을 이용하여, 상기 엔티티 군에 속한 각 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정한다(S2300). 자식 엔티티를 결정하기 위해서는, 상기 부모-기본키 매칭률이 100% 이면서, 상기 외래키 매칭률이 가장 높은 엔티티를 자식 엔티티로 결정할 수 있다(S2300). 이에 대해서는 도 11과 함께 추후 자세히 설명하기로 한다.
마지막 단계로, 상기 부모 엔티티와 상기 자식 엔티티 사이의 비식별 관계를 연결한 관계선을 띠선으로 표시한다(S2400). 이에 대해서는 도 11과 함께 추후 자세히 설명하기로 한다.
도 10은 본 발명의 몇몇 실시예들에서 참조될 수 있는 외래키 매칭률(FK 매칭률)을 설명하기 위한 도면이다.
외래키 매칭률(Foreign Key 매칭률; FK 매칭률)이란, 부모 엔티티의 기본키 속성 수를, 자식 엔티티의 외래키 속성 수로 나눈 값을 말한다. 도 10에 도시된 각 예에 대해 외래키 매칭률을 연산하면 다음 표 8 과 같다.
부모 엔티티의 기본키 자식 엔티티의 외래키 외래키 매칭률
예 1 A A 1/1 = 100%
예 2 A, B A, B 2/2 = 100%
예 3 A, B A, B 2/2 = 100%
예 4 A A, B 1/2 = 50%
예 5 A A, B, C 1/3 = 33.4%
예 6 A, B A, B, C 2/3 = 66.7%
기본키 매칭률과 마찬가지로, 자식 엔티티를 결정하기 위해서는 외래키 매칭률이 가장 높은 엔티티를 부모 엔티티에 대한 자식 엔티티로 결정하여야 한다. 도 10의 예 3와 예 6을 살펴보면 둘 다 동일하게 A 와 B 속성을 기본키로 가지는 부모 엔티티에 대해서, 예 3은 외래키 매칭률이 100% 이고, 예 6은 외래키 매칭률이 66.7% 이다. 이 경우, 예 6의 A, B, C 속성을 외래키로 가지는 엔티티보다 예 3의 A, B 속성을 외래키로 가지는 엔티티를, A, B 속성을 기본키로 가지는 부모 엔티티에 대한 자식 엔티티로 결정하여야 한다.
도 11은 본 발명의 몇몇 실시예들에 따른 비식별 관계를 연결한 관계선을 표시하는 과정을 설명하기 위한 도면이다.
도 2a의 예시를 살펴보면, 엔티티 131, 132a, 132b, 133, 134 는 모두 동일한 속성 A 를 외래키로 가지는 하나의 군(151)을 형성한다. 여기서, 상기 엔티티 군(151)이 외래키로 가지는 동일한 속성 A를, 기본키로 가지는 엔티티(121)를 상기 엔티티 군(151)의 부모 엔티티로 결정할 수 있다(S2100).
즉, 동일한 A 속성을 외래키로 가지는 엔티티 군(151)의 부모 엔티티는, 상기 엔티티 군(151) 외에서 상기 동일한 A 속성만을 기본키로 가지는 엔티티(121)로 결정되는 것을 알 수 있다(S2100).
자식 엔티티를 결정하기 위해서, 상기 A 속성 만을 기본키로 가지는 엔티티(121)의 기본키와 상기 엔티티 군(151)에 속한 각 엔티티의 외래키를 비교한 외래키 매칭률을 연산할 수 있다(S2200). 도 11의 각 엔티티에 대해 외래키 매칭률을 연산하면 다음 표 9와 같다.
엔티티 PC-PK 매칭률 외래키 매칭률
131 1/1 = 100% 1/1 = 100%
132a 1/1 = 100% 1/2 = 50%
132b 1/1 = 100% 1/2 = 50%
133 1/1 = 100% 1/3 = 33.4%
134 1/1 = 100% 1/4 = 25%
외래키 매칭률을 이용하여, 상기 엔티티 군(151)에 속한 각 엔티티 중에서, 상기 부모 엔티티(121)에 대한 자식 엔티티를 결정할 수 있다(S2300). 자식 엔티티를 결정하기 위해서, 상기 부모-기본키 매칭률이 100% 이고, 상기 외래키 매칭률이 가장 높은 엔티티를 자식 엔티티로 결정할 수 있다(S2300). 상기 표 9를 참고하면, A 속성을 외래키로 가지는 엔티티(131)를 부모 엔티티(121)에 대한 자식 엔티티로 결정할 수 있다.
부모 엔티티(121)에 대한 자식 엔티티(131)를 결정하면, 상기 부모 엔티티(121)와 상기 자식 엔티티(131) 사이의 비식별 관계를 연결한 관계선을 띠선으로 표시할 수 있다(S2400). 이와 같은 과정을 통해, A 속성을 외래키로 가지는 엔티티 군(151)의 부모 엔티티(121)와, 상기 부모 엔티티에 대한 자식 엔티티(131)를 결정하고, 이들 사이의 비식별 관계를 엔티티 관계도 상에 표시할 수 있다.
도 12은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 경우의 순서도이다.
도 11에서 살펴본 것처럼 동일한 A 속성을 외래키로 가지는 대상 엔티티 군(151)의 부모 엔티티(121)와 자식 엔티티(131)를 결정하고, 이들 사이의 비식별 관계를 엔티티 관계도 상에 표시하는 것을 한 싸이클이라 보면, 엔티티 관계도를 완성하기 위해서는 상기 싸이클을 나머지 엔티티에 대해서도 재귀적으로 반복할 필요가 있다.
즉, 상기 엔티티 군(151)에서 자식 엔티티를 제외한 대상 엔티티 군을 재설정하고(S2500), 상기 대상 엔티티 군에 속한 엔티티가 존재하면, 다시 상기 대상 엔티티 군에 대하여, 새로운 부모 엔티티를 결정하고, 상기 부모 엔티티의 자식 엔티티를 결정한 후, 이들 사이의 관계를 엔티티 관계도 상에 표시할 수 있다(S2600).
리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 것에 대해서는 도 13a 내지 도 13b에서 구체적으로 설명하기로 한다.
도 13a 내지 도 13b는 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 방법을 재귀적으로 반복하여 수행하는 과정을 설명하기 위한 도면이다.
도 13a에 도시된 바와 같이, 동일한 A 속성을 외래키로 가지는 엔티티 군(151)의 부모 엔티티(121)와 자식 엔티티(131)를 결정하고, 이들 사이의 관계를 관계선으로 표시한 후, 상기 엔티티 군(151)에서 자식 엔티티(131)을 제외한 엔티티 군(153)을 대상 엔티티로 재설정할 수 있다.
상기 재설정된 대상 엔티티 군(153)은 동일한 A, B 속성을 외래키로 가지는 엔티티 군이다. 상기 엔티티 군(153)이 외래키로 가지는 동일한 속성 A, B를, 기본키로 가지는 엔티티(122)를 상기 엔티티 군(153)의 부모 엔티티로 결정할 수 있다
도 13a에서 대상 엔티티 군(153)의 부모 엔티티(122)에 대한 자식 엔티티를 결정하기 위해 외래키 매칭률을 연산해보면 다음 표 10과 같다.
엔티티 PC-PK 매칭률 외래키 매칭률
132a 2/2 = 100% 2/2 = 100%
132b 2/2 = 100% 2/2 = 100%
133 2/2 = 100% 2/3 = 66.7%
134 2/2 = 100% 2/4 = 50%
표 10을 참고하면, Z0를 기본키로 가지고, A, B 속성을 외래키로 가지는 엔티티(132a) 및 Z2를 기본키로 가지고, A, B 속성을 외래키로 가지는 엔티티(132b)를 부모 엔티티(122)에 대한 자식 엔티티로 결정할 수 있다. 그 후, 대상 엔티티 군(153)의 자식 엔티티(132a, 132b)를 제외하고 다시 대상 엔티티 군을 재설정한다. 재설정한 엔티티 군의 부모 엔티티, 자식 엔티티를 재귀적으로 반복하여 결정한다. 이와 같은 과정을 재귀적으로 반복해서 수행하면 도 13b의 결과를 얻을 수 있다.
도 13b에 도시된 바와 같이, A 속성을 기본키로 가지는 엔티티(121)의 자식 엔티티(131)부터, A, B, C, D 속성을 기본키로 가지는 엔티티(124)의 자식 엔티티(134)까지, 각 엔티티가 부모-자식 관계로서 비식별 관계를 가지게 된다. 상기 비식별 관계에 대해 각각 띠선으로 관계선을 설정하면, 정규화 및 자동화된 방법을 통해 비식별 관계를 연결한 관계선을 표시할 수 있다.
도 8c 와 도 13b 에 도시된 바와 같이, 식별 관계를 연결한 관계선 설정 방법과, 비식별 관계를 연결한 관계선 설정 방법을 리버스 데이터 모델링 한 엔티티 군에 수행하면 도 2c와 같이, 간결한 엔티티 관계도를 생성할 수 있다.
도 14 내지 도 15는 본 발명의 몇몇 실시예들에서 관계선의 너비를 보정하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 관계선을 표시하는 단계는 부모 엔티티와 자식 엔티티를 조인하여 조회하는 쿼리의 사용 빈도에 따라, 상기 관계선을 시각적으로 달리하여 표시하는 단계를 더 포함할 수 있다. 상기 시각적으로 달리 표시하는 단계는 관계선의 너비(두께)나 색상, 텍스쳐 등을 통해서 사용 빈도가 많은 엔티티 사이의 관계선을 더 중점적으로 시각화 할 수 있다.
도 14는 그 중에서 관계선의 너비를 달리하여 시각화 하는 방법을 설명하기 위한 도면이다. 선형 보간법에 따라, 관계선 너비의 최대치(RMAX)와 관계선 너비의 최소치(RMIN) 사이의 값을 최대 쿼리 사용 빈도(QMAX)를 이용하여 구간으로 나눈다. 그 후, 각 쿼리의 사용 빈도(n)에 따라 관계선 너비(X)를 결정하여, 관계선을 표시할 수 있다. 즉 관계선 너비 X = RMIN + (RMAX - RMIN) / QMAX * n 의 수식으로 표현될 수 있다.
도 15를 참고하면, 쿼리 사용 빈도가 가장 높은 값은 5의 값을 가진다. 이 경우, 관계선 너비 최대치와 최소치에 따라 다음과 같은 표 11을 얻을 수 있다.
RMIN RMAX QMAX 사용 빈도당 구간값 (RMAX - RMIN) / QMAX
1 6 5 1
1 11 5 2
예를 들어, 설정된 관계선 너비의 최소값과 최대값이 각각 1과 6이라고 할 때, 쿼리 사용 빈도의 최대값 5에 의해 구간값은 1로 할당된다. 이 경우, 쿼리 사용 빈도가 1인 RCO0051T 엔티티와 RCO0052T 엔티티 사이의 관계선은 1+1*1=2의 너비로 표시할 수 있고, 사용 빈도가 2인 MT_CAPA 엔티티와 MT_DAY_CAPA 엔티티 사이의 관계선은 1+1*2=3의 너비로 표시할 수 있다. 사용 빈도가 5인 TR_SPOT_USE_INFO 엔티티와 TR_SPOT_USE_LOG 엔티티 사이의 관계선은 1+1*5=6으로 표시할 수 있다. 만약, 관계선 너비의 최소값과 최대값이 각각 1과 11이라고 하면 구간값을 2로 할당하여 각각의 관계선 너비를 결정할 수 있다.
도 16a는 종래의 방법으로 관계선을 표시한 경우의 예시도이다. 각 관계선이 동일한 너비로 표시가 되어, 어느 엔티티 사이의 관계가 중점적으로 사용되는지를 파악하기 어려운 면이 있다. 이에 비해, 도 16b는 본 발명의 몇몇 실시예에 따라 관계선의 너비를 보정하여 표시한 경우의 예시도이다. 중점적으로 사용되는 관계를 관계선의 너비를 달리하여 표시함으로서 엔티티 관계도의 사용성을 높이는 효과를 얻을 수 있다.
도 17은 본 발명의 일 실시예에 따른 리버스 데이터 모델링 관계선 설정 장치의 하드웨어 구성도이다.
도 17를 참조하면, 리버스 데이터 모델링 관계선 설정 장치(10)는 하나 이상의 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)을 포함할 수 있다. 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)는 시스템 버스(550)를 통하여 데이터를 송수신한다.
프로세서(510)는 메모리(520)에 로드 된 컴퓨터 프로그램을 실행하고, 메모리(520)는 상기 컴퓨터 프로그램을 스토리지(560)에서 로드(load) 한다. 상기 컴퓨터 프로그램은, 부모 엔티티 결정 오퍼레이션(521), 매칭률 연산 오퍼레이션(523), 자식 엔티티 결정 오퍼레이션(525) 및 관계선 표시 오퍼레이션(527)을 포함할 수 있다.
부모 엔티티 결정 오퍼레이션(521)은 스토리지(560)에 저장된 엔티티 데이터(561)을 시스템 버스(550)을 통해 메모리(520)로 로드할 수 있다. 그리고, 상기 엔티티 데이터를 동일한 속성을 기본키로 가지는 엔티티 군 또는 동일한 속성을 외래키로 가지는 엔티티 군으로 분류하여, 상기 엔티티 군의 부모 엔티티를 결정할 수 있다.
매칭률 연산 오퍼레이션(523)은 상기 부모 엔티티와, 상기 엔티티 군에 속한 각 엔티티 사이의 기본키 매칭률 또는 외래키 매칭률을 연산할 수 있다.
자식 엔티티 결정 오퍼레이션은 상기 매칭률을 이용하여, 상기 엔티티 군에 속한 엔티티 중에서 상기 부모 엔티티에 대한 자식 엔티티를 결정할 수 있다.
관계선 표시 오퍼레이션(527)은 상기 부모 엔티티와 상기 자식 엔티티 사이의 식별 관계 또는 비식별 관계를 연결한 관계선을 실선 또는 띠선으로 표시할 수 있다. 또한 메모리(520)에서 구성된 식별 관계 데이터 및 비식별 관계 데이터를 시스템 버스(550)을 통해 스토리지(560)에 식별 관계 데이터(563) 및 비식별 관계 데이터(565)로 저장할 수 있다.
리버스 데이터 모델링 관계선 설정 장치(10)는, 네트워크 인터페이스(570)을 통해 엔티티 관계도를 표시하기 위한 식별 관계 데이터 및 비식별 관계 데이터 조회 인터페이스를 제공한다.
도 17의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (16)

  1. 기본키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속한 엔티티들 중 부모 엔티티를 결정하는 단계;
    상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 각 엔티티의 기본키의 유사도를 가리키는 기본키 매칭률을 연산하는 단계;
    상기 기본키 매칭률을 이용하여, 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 단계; 및
    상기 부모 엔티티와 상기 자식 엔티티 사이의 식별 관계를 가리키는 관계선을 생성하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  2. 제1항에 있어서,
    상기 부모 엔티티를 결정하는 단계는,
    상기 엔티티 군에 속한 엔티티 중에서 기본키의 속성 수가 가장 작은 엔티티를 부모 엔티티로 결정하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  3. 제1항에 있어서,
    상기 기본키 매칭률은 부모-기본키 매칭률 및 자식-기본키 매칭률을 포함하고,
    상기 부모-기본키 매칭률은 상기 각 엔티티의 속성 중에서 상기 부모 엔티티의 기본키와 일치하는 속성 수를, 상기 부모 엔티티의 기본키 속성 수로 나눈 것이고,
    상기 자식-기본키 매칭률은 상기 부모 엔티티의 기본키 속성 수를, 상기 각 엔티티의 기본키 속성 수로 나눈 것인,
    리버스 데이터 모델링 관계선 설정 방법.
  4. 제3항에 있어서,
    상기 자식 엔티티를 결정하는 단계는,
    상기 각 엔티티 중에서, 상기 부모-기본키 매칭률이 100%이고, 상기 자식-기본키 매칭률이 가장 높은 엔티티를 자식 엔티티로 결정하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  5. 제1항에 있어서,
    상기 부모 엔티티와 상기 자식 엔티티를 조인하여 조회하는 쿼리의 사용 빈도에 따라, 상기 관계선을 시각적으로 달리하여 표시하는 단계를 더 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  6. 제5항에 있어서,
    상기 관계선을 시각적으로 달리하여 표시하는 단계는,
    상기 관계선 너비의 최소값 및 최대값에 대한 선형 보간법에 따라, 상기 쿼리 사용 빈도를 표시하기 위한 상기 관계선의 너비를 결정하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  7. 제1항에 있어서,
    상기 엔티티 군에 속한 엔티티가 더 이상 없을 때까지,
    상기 엔티티 군에서 상기 부모 엔티티를 제외하는 단계, 상기 엔티티 군의 부모 엔티티를 결정하는 단계, 상기 기본키 매칭률을 연산하는 단계, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 단계 및 상기 관계선을 생성하는 단계를 반복하는 단계를 더 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  8. 외래키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속하지 아니한 엔티티들 중 부모 엔티티를 결정하는 단계;
    상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 각 엔티티의 외래키의 유사도를 가리키는 외래키 매칭률을 연산하는 단계;
    상기 외래키 매칭률을 이용하여, 상기 엔티티 군에 속한 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 단계; 및
    상기 부모 엔티티와 상기 자식 엔티티 사이의 비식별 관계를 가리키는 관계선을 생성하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  9. 제8항에 있어서,
    상기 부모 엔티티를 결정하는 단계는,
    상기 엔티티 군이 외래키로 가지는 제1 속성을 기본키로 가지는 엔티티를 부모 엔티티로 결정하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  10. 제8항에 있어서,
    상기 외래키 매칭률은 부모-기본키 매칭률 및 자식-외래키 매칭률을 포함하고,
    상기 부모-기본키 매칭률은 상기 각 엔티티의 속성 중에서 상기 부모 엔티티의 기본키와 일치하는 속성 수를, 상기 부모 엔티티의 기본키 속성 수로 나눈 것이고,
    상기 자식-외래키 매칭률은 상기 부모 엔티티의 기본키 속성 수를, 상기 각 엔티티의 외래키 속성 수로 나눈 것인,
    리버스 데이터 모델링 관계선 설정 방법.
  11. 제10항에 있어서,
    상기 자식 엔티티를 결정하는 단계는,
    상기 각 엔티티 중에서, 상기 부모-기본키 매칭률이 100%이고, 상기 자식-외래키 매칭률이 가장 높은 엔티티를 자식 엔티티로 결정하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  12. 제8항에 있어서,
    상기 부모 엔티티와 상기 자식 엔티티를 조인하여 조회하는 쿼리의 사용 빈도에 따라, 상기 관계선을 시각적으로 달리하여 표시하는 단계를 더 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  13. 제12항에 있어서,
    상기 관계선을 시각적으로 달리하여 표시하는 단계는,
    상기 관계선 너비의 최소값 및 최대값에 대한 선형 보간법에 따라, 상기 쿼리 사용 빈도를 표시하기 위한 상기 관계선의 너비를 결정하는 단계를 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  14. 제8항에 있어서,
    상기 엔티티 군에 속한 엔티티가 더 이상 없을 때까지,
    상기 엔티티 군에서 상기 자식 엔티티를 제외하는 단계, 상기 엔티티 군의 부모 엔티티를 결정하는 단계, 상기 외래키 매칭률을 연산하는 단계, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 단계 및 상기 관계선을 생성하는 단계를 반복하는 단계를 더 포함하는,
    리버스 데이터 모델링 관계선 설정 방법.
  15. 네트워크 인터페이스;
    하나 이상의 프로세서;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리; 및
    엔티티 데이터를 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    기본키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속한 엔티티들 중 부모 엔티티를 결정하는 오퍼레이션;
    상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 각 엔티티의 기본키의 유사도를 가리키는 기본키 매칭률을 연산하는 오퍼레이션;
    상기 기본키 매칭률을 이용하여, 상기 엔티티 군에 속한 상기 부모 엔티티 이외의 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 오퍼레이션; 및
    상기 부모 엔티티와 상기 자식 엔티티 사이의 식별 관계를 가리키는 관계선을 생성하는 오퍼레이션을 포함하는,
    리버스 데이터 모델링 관계선 설정 장치.
  16. 네트워크 인터페이스;
    하나 이상의 프로세서;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리; 및
    엔티티 데이터를 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    외래키에 제1 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속하지 아니한 엔티티들 중 부모 엔티티를 결정하는 오퍼레이션;
    상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 각 엔티티의 외래키의 유사도를 가리키는 외래키 매칭률을 연산하는 오퍼레이션;
    상기 외래키 매칭률을 이용하여, 상기 엔티티 군에 속한 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 오퍼레이션; 및
    상기 부모 엔티티와 상기 자식 엔티티 사이의 비식별 관계를 가리키는 관계선을 생성하는 오퍼레이션을 포함하는,
    리버스 데이터 모델링 관계선 설정 장치.
KR1020150073942A 2015-05-27 2015-05-27 리버스 데이터 모델링 관계선 설정 방법 및 그 장치 KR102281454B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150073942A KR102281454B1 (ko) 2015-05-27 2015-05-27 리버스 데이터 모델링 관계선 설정 방법 및 그 장치
PCT/KR2015/006914 WO2016190482A1 (ko) 2015-05-27 2015-07-06 리버스 데이터 모델링 관계선 설정 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150073942A KR102281454B1 (ko) 2015-05-27 2015-05-27 리버스 데이터 모델링 관계선 설정 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20160139307A true KR20160139307A (ko) 2016-12-07
KR102281454B1 KR102281454B1 (ko) 2021-07-23

Family

ID=57394038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150073942A KR102281454B1 (ko) 2015-05-27 2015-05-27 리버스 데이터 모델링 관계선 설정 방법 및 그 장치

Country Status (2)

Country Link
KR (1) KR102281454B1 (ko)
WO (1) WO2016190482A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303342B (zh) * 2023-02-01 2023-09-12 北京三维天地科技股份有限公司 一种逆向模型的构建方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156767A1 (en) * 2006-01-03 2007-07-05 Khanh Hoang Relationship data management
KR20150038220A (ko) * 2012-07-24 2015-04-08 아브 이니티오 테크놀로지 엘엘시 데이터 모델에서의 엔티티 매핑

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907831A (en) * 1997-04-04 1999-05-25 Lotvin; Mikhail Computer apparatus and methods supporting different categories of users
US7949640B2 (en) * 2008-10-31 2011-05-24 Gravic, Inc. Referential integrity, consistency, and completeness loading of databases
EP2585949B1 (en) * 2010-06-22 2015-03-25 Ab Initio Technology LLC Processing related datasets
US8874619B2 (en) * 2011-06-03 2014-10-28 Robert Mack Method and apparatus for defining common entity relationships

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156767A1 (en) * 2006-01-03 2007-07-05 Khanh Hoang Relationship data management
KR20150038220A (ko) * 2012-07-24 2015-04-08 아브 이니티오 테크놀로지 엘엘시 데이터 모델에서의 엔티티 매핑

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Spanos, Dimitrios-Emmanuel et al., Bringing relational databases into the Semantic Web: A survey, Semantic Web, vol. 3, no. 2, pp. 169-209, 2012. <DOI: 10.3233/SW-2011-0055> *
김명수 외 1인, 분할된 역 인덱스 테이블에서 부모노드의 정보를 이용한 질의 처리, 멀티미디어학회논문지 11(7), 2008.07, 905-913페이지. *

Also Published As

Publication number Publication date
KR102281454B1 (ko) 2021-07-23
WO2016190482A1 (ko) 2016-12-01

Similar Documents

Publication Publication Date Title
US20160173122A1 (en) System That Reconfigures Usage of a Storage Device and Method Thereof
US20120221509A1 (en) Determining a data mapping relationship between database tables
JP6062549B2 (ja) 電子商取引プラットフォームにおける情報を検索するための方法及び装置
US9223847B2 (en) Using dimension substitutions in OLAP cubes
CN104899225A (zh) 对象关系映射方法、装置及处理器
US20210125144A1 (en) Bill of material conversion method, electronic apparatus and non-transitory computer-readable storage medium
EP3217296A1 (en) Data query method and apparatus
CN105512265A (zh) 一种通过图形展示数据的方法及装置
WO2017063389A1 (zh) 文档生成方法和装置
CN106940721B (zh) 一种自定义选择框的数据处理方法及系统
US8914352B2 (en) Non-equijoin metadata
US20180144035A1 (en) Information landscape modeling, analysis &amp; validation
CN112328575B (zh) 数据资产血缘生成方法、装置、电子设备
CN107735781A (zh) 存储查询结果的方法和装置、计算设备
KR20160139307A (ko) 리버스 데이터 모델링 관계선 설정 방법 및 그 장치
US11531706B2 (en) Graph search using index vertices
CN105117333A (zh) 一种测试用例的管理方法及系统
CN109522334B (zh) 一种欠料查询方、欠料查询系统及电子设备
CN106648338B (zh) 编辑数据的方法和装置
WO2020201830A1 (en) Systems and methods for generating, monitoring, and analyzing event networks from event data
US10055811B2 (en) System and method for generating interactive 2D projection of 3D model
US20060195750A1 (en) Simplifying Troubleshooting of Errors in Configurable Parameter Values Associated with Computer Supported Business-flows
CN115879120A (zh) 用于获取用户权限的方法及装置、电子设备、存储介质
CN111061471B (zh) 一种控制界面控件元素显示的方法及系统
US11126599B2 (en) Information validation method and system

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
GRNT Written decision to grant