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

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

Info

Publication number
WO2016190482A1
WO2016190482A1 PCT/KR2015/006914 KR2015006914W WO2016190482A1 WO 2016190482 A1 WO2016190482 A1 WO 2016190482A1 KR 2015006914 W KR2015006914 W KR 2015006914W WO 2016190482 A1 WO2016190482 A1 WO 2016190482A1
Authority
WO
WIPO (PCT)
Prior art keywords
entity
parent
primary key
child
group
Prior art date
Application number
PCT/KR2015/006914
Other languages
English (en)
French (fr)
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 WO2016190482A1 publication Critical patent/WO2016190482A1/ko

Links

Images

Classifications

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

Definitions

  • the present invention relates to a method and apparatus for establishing a reverse data modeling relationship line. More specifically, the present invention relates to a method for determining a relationship between a parent entity and a child entity using a matching rate in a reverse data modeling process, and to generate a relationship line therebetween, and an apparatus for performing the method.
  • Reverse data modeling refers to generating an entity relationship diagram (ERD) using metadata of a database.
  • Entity-Relationship Modeling EMM
  • entity relationship diagram An entity relationship diagram
  • entity relationship diagram should be generated using metadata of the database.
  • the technical problem to be solved by the present invention is to provide a method and apparatus for automatically setting the relationship line between entities in the reverse data modeling process.
  • Reverse data modeling relationship line setting method for solving the technical problem, for the entity group including a plurality of entities having a first attribute in the primary key, entities belonging to the entity group Determining a parent entity, calculating a primary key matching rate indicating a similarity between the determined primary key of the parent entity and a primary key of each entity other than the parent entity belonging to the entity group, and calculating the primary key matching rate Using, from among entities other than the parent entity belonging to the entity group, determining a child entity for the parent entity and generating a relationship line indicating an identifying relationship between the parent entity and the child entity. Can be.
  • a method for establishing a reverse data modeling relationship line may include: an entity that does not belong to the entity group, for an entity group including a plurality of entities including a first attribute in a foreign key Determining a parent entity, calculating a foreign key matching rate indicating a similarity between a primary key of the determined parent entity and a foreign key of each entity belonging to the entity group, and using the foreign key matching rate, Among entities belonging to an entity group, determining a child entity for the parent entity and generating a relationship line indicating a non-identifying relationship between the parent entity and the child entity.
  • the apparatus for establishing a reverse data modeling relationship line may include: a memory configured to store a network interface, at least one processor, and a memory for loading a computer program executed by the processor and entity data; It may include.
  • the computer program may be configured to perform operations for determining a parent entity among entities belonging to the entity group, and for the entity group including a plurality of entities whose first property is included in the primary key, and the determined primary key of the parent entity; Among operations other than the parent entity belonging to the entity group, using an operation for calculating a primary key matching rate indicating a similarity of the primary key of each entity other than the parent entity belonging to the entity group and the primary key matching rate, An operation of determining a child entity for the parent entity and an operation of generating a relationship line indicating an identification relationship between the parent entity and the child entity.
  • the apparatus for establishing a reverse data modeling relationship line may include: a memory configured to store a network interface, at least one processor, and a memory for loading a computer program executed by the processor and entity data; It may include.
  • the computer program may be configured to perform an operation of determining a parent entity among entities not belonging to the entity group and a primary key of the determined parent entity with respect to an entity group including a plurality of entities whose first attribute is included in a foreign key. And a child entity for the parent entity among the entities belonging to the entity group, using an operation for calculating a foreign key matching rate indicating the similarity of the foreign key of each entity belonging to the entity group and the foreign key matching rate. And generating a relationship line indicating a non-identifying relationship between the parent entity and the child entity.
  • the relationship line between the parent entity and the child entity in the reverse data modeling process can be generated through a formalized and automated method.
  • FIGS. 1A to 1B are diagrams for explaining a primary key, a foreign key, an identification relationship, and a non-identification relationship used in some embodiments of the present invention.
  • FIG. 2A is an illustration of an entity family used in some embodiments of the invention.
  • FIG. 2B is a diagram illustrating a case where a relationship line is displayed in the conventional method of the entity group of FIG. 2A
  • FIG. 2C is a diagram illustrating a relationship line when the entity group of FIG. 2A is displayed according to some embodiments of the present disclosure. It is an illustration.
  • FIG. 3 is a flowchart illustrating a method of establishing a reverse data modeling relationship line according to an embodiment of the present invention.
  • PC-PK matching rate parent-primary key matching rate
  • CP-PK matching rate child-primary key matching rate
  • FIG. 6 is a view for explaining a process of displaying a relationship line indicating an identification relationship according to some embodiments of the present invention.
  • FIG. 7 is a flowchart illustrating a method of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • FIGS. 8A through 8C are diagrams for describing a process of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • FIG. 10 is a diagram for describing a foreign key matching rate (FK matching rate) that may be referred to in some embodiments of the present invention.
  • FK matching rate foreign key matching rate
  • FIG. 11 is a diagram for describing a process of displaying a relationship line connecting non-identifying relationships according to some embodiments of the present disclosure.
  • FIG. 12 is a flowchart illustrating a method of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • FIGS. 13A to 13B are diagrams for describing a process of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • 14 to 15 are diagrams for describing a process of correcting a width of a relation line in some embodiments of the present invention.
  • FIG. 16A is a diagram illustrating a case where a relation line is displayed by a conventional method
  • FIG. 16B is a diagram illustrating a case where the width of a relation line is corrected and displayed according to some embodiments of the present invention.
  • 17 is a hardware configuration diagram of a reverse data modeling relationship line setting apparatus according to an embodiment of the present invention.
  • FIGS. 1A to 1B are diagrams for explaining a primary key, a foreign key, an identification relationship, and a non-identification relationship used in some embodiments of the present invention.
  • the entity 110 may have an X attribute 111a as a primary key.
  • primary keys are shown with underscores.
  • 111b General Attribute
  • the parent entity 113 having the X attribute as the primary key may have a child entity 115a having the X and Y attributes as the primary key or a child entity 115b having the Y attribute as the primary key.
  • the identification relationship is indicated by a solid line 117a.
  • the non-identification relationship is represented by a band line 117b.
  • FIG. 2A is an illustration of an entity family used in some embodiments of the invention.
  • FIG. 2B is a diagram illustrating a case where a relationship line is displayed in the conventional method of the entity group of FIG. 2A
  • FIG. 2C is a diagram illustrating a relationship line when the entity group of FIG. 2A is displayed according to some embodiments of the present disclosure. It is an illustration.
  • metadata of a database may be used to indicate a group of entities for generating an entity relationship diagram. That is, the entity relationship diagram can be completed by displaying the entity group and setting the relationship line between each entity belonging to the entity group through reverse data modeling.
  • the entity group illustrated in FIG. 2A includes entity groups 121, 122, 123, 124, 125, and 126 having A, B, C, D, E, and F attributes as primary keys, and A, B, C, and D attributes. Is divided into entity groups 131, 132a, 132b, 133, and 134 having a foreign key.
  • a method of establishing a relationship line based on the entity group of FIG. 2A will be described.
  • the related relationship line setting method displays all relationship lines by comparing attribute names for each entity. After that, unnecessary relationship lines have to be deleted manually, which causes a lot of inconvenience.
  • the method of establishing a relationship line displays the relationship line only for the parent entity and the child entity having the highest matching rate, thereby efficiently generating the entity relationship diagram.
  • FIG. 3 is a flowchart illustrating a method of establishing a reverse data modeling relationship line according to an embodiment of the present invention.
  • a parent entity of the entity group is determined for an entity group having the same attribute as the primary key (S1100).
  • the entity having the smallest number of attributes of the primary key in the entity group may be determined as the parent entity. This will be described later in detail with reference to FIG. 6.
  • a primary key matching rate is calculated by comparing the primary key of the parent entity with the primary key of each entity belonging to the entity group (S1200).
  • a child entity for the parent entity is determined (S1300).
  • an entity having the parent-primary key matching rate of 100% and having the highest child-primary key matching rate may be determined as a child entity (S1300). This will be described later in detail with reference to FIG. 6.
  • the relationship line connecting the identification relationship between the parent entity and the child entity is displayed as a solid line (S1400). This will be described later in detail with reference to FIG. 6.
  • PC-PK matching rate parent-primary key matching rate
  • CP-PK matching rate child-primary key matching rate
  • PC-PK Matching Rate is the number of attributes of the child entity that match the primary key of the parent entity divided by the number of primary key attributes of the parent entity.
  • Example 3 when the parent entity has both the primary key and the child entity as the primary key (Examples 1 and 2) and when the child entity has both the primary key as the foreign key (Example 3) Has a parent-primary key matching rate of 100%. However, in example 4 of FIG. 4, the child entity has only a part of the primary key of the parent entity. In this case, the parent-primary key matching rate is less than 100%, and no parent-child relationship can be formed between the two entities.
  • the Child Parent Primary Key Matching Rate refers to a value obtained by dividing the number of primary key attributes of a parent entity by the number of primary key attributes of a child entity. For each example shown in FIG. 5, the child-primary key matching ratio is calculated as shown in Table 2 below.
  • Example 1 Primary key of parent entity Primary key of child entity Child-Primary Key Match Rate
  • a A, B 1/2 50%
  • Example 2 A, B A, B, C 2/3 66.7%
  • Example 2 has a child-primary key matching rate of 66.7%
  • Example 3 shows a child-primary key matching rate. This is 50%.
  • the higher the child-primary key matching rate the closer the child entity is to the parent entity.
  • the relationship with the highest matching rate is matched with the child entity to display the relationship line, so that the information contained in the relationship itself can be easily delivered to the user.
  • FIG. 6 is a view for explaining a process of displaying a relationship line indicating an identification relationship according to some embodiments of the present invention.
  • the entities 121, 122, 123, 124, 125, and 126 all form a group 141 having the same attribute A as the primary key. Looking at the number of attributes of the primary key of each entity to determine the parent entity of the entity group 141 as shown in Table 3.
  • the parent entity may determine an entity having the smallest number of attributes of the primary key as the parent entity in the entity group (S1100). Referring to Table 3, an entity 121 having only A attribute as a primary key as a parent entity of the entity group 141 may be determined as a parent entity (S1100).
  • the parent entity of the entity group 141 having the same A attribute as the primary key is determined as the entity 121 having only the same A attribute as the primary key in the entity group 141 (S1100).
  • a primary key matching rate may be calculated by comparing a primary key of an entity 121 having only the A attribute as a primary key and a primary key of each entity belonging to the entity group 141 (S1200). .
  • Computing the primary key matching rate for each entity of FIG. 6 is shown in Table 4 below.
  • a child entity with respect to the parent entity 121 may be determined from among the entities belonging to the entity group 141 using the primary key matching rate (S1300).
  • the entity having the parent-primary key matching rate of 100% and having the highest child-primary key matching rate may be determined as a child entity (S1300).
  • an entity 122 having A and B attributes as a primary key may be determined as a child entity with respect to the parent entity 121.
  • the relationship line connecting the identification relationship between the parent entity 121 and the child entity 122 may be displayed as a solid line (S1400).
  • S1400 the parent entity 121 of the entity group 141 having the A attribute as the primary key and the child entity 122 with respect to the parent entity are determined, and the identification relationship therebetween is determined on the entity relationship diagram. I can display it.
  • FIG. 7 is a flowchart illustrating a method of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • the entity group 141 resets the target entity group excluding the parent entity (S1500). If there is an entity belonging to the target entity group, a new parent entity is determined again with respect to the target entity group. After determining the child entity of the parent entity, the relationship between them may be displayed on the entity relationship diagram (S1600).
  • FIGS. 8A through 8C are diagrams for describing a process of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • the entity group 143 except for the parent entity 121 may be reset to the target entity.
  • the reset target entity group 143 is an entity group having the same A and B attributes as the primary key.
  • Table 5 shows the number of attributes of the primary key of each entity to determine the parent entity of the entity group.
  • the parent entity of the target entity group 143 having the same A and B attributes as the primary key may be determined as the entity 122 having only the A and B attributes as the primary key. That is, the child entity 122 of the entity group 141 may be determined as the parent entity 122 of the reset target entity group 143.
  • the child-primary key matching rate for determining the child entity the higher the child-primary key matching rate, the more determined the child entity. That is, in order to be determined as a child entity, the number of primary key attributes of the child entity, which is the denominator value of the child-primary key matching ratio, must be small. In addition, the number of primary key attributes of the parent entity must be small to be determined as the parent entity in the reset target entity group.
  • each entity has a parent-child relationship from the entity 121 having the A attribute as the primary key to the entity 126 having the A, B, C, D, E, F attributes as the primary key.
  • the entity relationships are also shown on the diagram.
  • the primary key matching rate is calculated to determine a child entity of the parent entity 122 of the target entity group 143 as shown in Table 6 below.
  • an entity 123 having A, B, and C attributes as primary keys may be determined as a child entity with respect to the parent entity 122. Thereafter, the target entity group is reset again except for the parent entity 122 of the target entity group 143. Recursively iterate over the parent and child entities of the reset entity group.
  • the entity 123 having the A, B, and C attributes as the primary key as the parent entity of the reset target entity group 145 is determined.
  • Computing the primary key matching rate to determine the child entity of the parent entity 123 is shown in Table 7 below.
  • an entity 124 having A, B, C, and D attributes as a primary key may be determined as a child entity with respect to a parent entity 123.
  • each entity is a parent-child relationship from an entity 121 having an A attribute as a primary key to an entity 126 having an A, B, C, D, E, F attribute as a primary key.
  • the relationship line is set to the solid line for each of the identification relationship, the relationship line connecting the identification relationship can be displayed through normalization and automated methods.
  • a method of setting a relationship line connecting non-identifying relationships will be described with reference to FIG. 9.
  • FIG. 9 is a flowchart illustrating a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • a parent entity of the entity group is determined for an entity group having the same attribute as a foreign key (S2100).
  • the determining of the parent entity of the entity group may determine, as a parent entity, an entity having an attribute of the entity group as a foreign key as a primary key. This will be described later in detail with reference to FIG. 11.
  • a foreign key matching rate is calculated by comparing the primary key of the parent entity and the foreign key of each entity belonging to the entity group (S2200). This will be described later in detail with reference to FIGS. 10 to 11.
  • a child entity for the parent entity is determined (S2300).
  • the entity having the parent-primary key matching rate of 100% and having the highest foreign key matching rate may be determined as a child entity (S2300). This will be described later in detail with reference to FIG. 11.
  • the relationship line connecting the non-identifying relationship between the parent entity and the child entity is displayed as a band line (S2400). This will be described later in detail with reference to FIG. 11.
  • FIG. 10 is a diagram for describing a foreign key matching rate (FK matching rate) that may be referred to in some embodiments of the present invention.
  • FK matching rate foreign key matching rate
  • the foreign key matching rate refers to a value obtained by dividing the number of primary key attributes of a parent entity by the number of foreign key attributes of a child entity.
  • the foreign key matching rate is calculated for each example shown in FIG. 10 as shown in Table 8 below.
  • Example 3 As with the primary key matching rate, to determine the child entity, the entity with the highest foreign key matching rate should be determined as the child entity for the parent entity.
  • Example 3 For a parent entity having both A and B attributes as primary keys, Example 3 has a foreign key matching rate of 100% and Example 6 has a foreign key matching rate of 66.7%. .
  • an entity having A and B attributes as a foreign key in Example 3 should be determined as a child entity for a parent entity having A and B attributes as primary keys, rather than an entity having A, B, and C attributes as a foreign key in Example 6. .
  • FIG. 11 is a diagram for describing a process of displaying a relationship line connecting non-identifying relationships according to some embodiments of the present disclosure.
  • entities 131, 132a, 132b, 133, and 134 all form a group 151 having the same attribute A as a foreign key.
  • the same attribute A that the entity group 151 has as the foreign key and the entity 121 having the primary key may be determined as the parent entity of the entity group 151 (S2100).
  • the parent entity of the entity group 151 having the same A attribute as the foreign key is determined as the entity 121 having only the same A attribute as the primary key outside the entity group 151 (S2100).
  • a foreign key matching rate may be calculated by comparing a primary key of an entity 121 having only the A attribute as a primary key and a foreign key of each entity belonging to the entity group 151 (S2200). .
  • the foreign key matching rate for each entity of FIG. 11 is calculated as shown in Table 9 below.
  • a child entity with respect to the parent entity 121 may be determined among the entities belonging to the entity group 151 (S2300).
  • the entity having the parent-primary key matching rate of 100% and the highest foreign key matching rate may be determined as a child entity (S2300).
  • an entity 131 having an A attribute as a foreign key may be determined as a child entity with respect to a parent entity 121.
  • a relationship line connecting the non-identifying relationship between the parent entity 121 and the child entity 131 may be displayed as a band line in operation S2400.
  • the parent entity 121 of the entity group 151 having the A attribute as a foreign key and the child entity 131 with respect to the parent entity are determined, and the non-identified relationship between them is also improved. Can be marked on.
  • FIG. 12 is a flowchart illustrating a method of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • the parent entity 121 and the child entity 131 of the target entity group 151 having the same A attribute as the foreign key are determined, and the non-identifying relationship between them is displayed on the entity relationship diagram.
  • the entity group 151 resets the target entity group excluding the child entity (S2500). If there is an entity belonging to the target entity group, a new parent entity is determined for the target entity group again. After determining the child entity of the parent entity, the relationship between them may be displayed on the entity relationship diagram (S2600).
  • FIGS. 13A to 13B are diagrams for describing a process of recursively performing a reverse data modeling relationship line setting method according to an embodiment of the present invention.
  • the entity group 153 except for the child entity 131 may be reset to the target entity.
  • the reset target entity group 153 is an entity group having the same A and B attributes as foreign keys.
  • An entity 122 having the same attributes A and B as the foreign key and a primary key of the entity group 153 may be determined as the parent entity of the entity group 153.
  • the foreign key matching ratio is calculated to determine a child entity of the parent entity 122 of the target entity group 153 as shown in Table 10 below.
  • an entity 132a having a Z0 as a primary key, an A and B attribute as a foreign key, and an entity 132b having a Z2 as a primary key and an A and B attribute as a foreign key are assigned to the parent entity 122.
  • each entity will have a non-identifiable relationship as a parent-child relationship. If a relation line is set with a band line for each of the non-identification relations, the relation lines connecting the non-identification relations may be displayed through normalization and automated methods.
  • 14 to 15 are diagrams for describing a process of correcting a width of a relation line in some embodiments of the present invention.
  • displaying the relationship line may further include displaying the relationship line visually differently according to the frequency of use of a query that joins and queries a parent entity and a child entity. .
  • the relationship line between the entities that are frequently used can be visualized more intensively through the width (thickness), color, texture, etc. of the relationship line.
  • a value having the highest query frequency has a value of 5.
  • the following table 11 can be obtained according to the maximum and minimum relationship line widths.
  • RMIN RMAX QMAX Interval value per frequency of use (RMAX-RMIN) / QMAX One 6 5 One One 11 5 2
  • the interval value is assigned to 1 by the maximum value 5 of the query frequency.
  • FIG. 16A is an illustration of the case where the relationship line is displayed by a conventional method. Each relationship line is represented by the same width, which makes it difficult to identify which entity is used primarily.
  • FIG. 16B is an exemplary diagram when the width of the relation line is corrected and displayed according to some embodiments of the present invention. The relationship that is mainly used can be displayed by varying the width of the relationship line, thereby increasing the usability of the entity relationship diagram.
  • 17 is a hardware configuration diagram of a reverse data modeling relationship line setting apparatus according to an embodiment of the present invention.
  • the reverse data modeling relationship line setting apparatus 10 may include one or more processors 510, a memory 520, a storage 560, and an interface 570.
  • the processor 510, the memory 520, the storage 560, and the interface 570 transmit and receive data through the system bus 550.
  • the processor 510 executes a computer program loaded in the memory 520, and the memory 520 loads the computer program in the storage 560.
  • the computer program may include a parent entity determination operation 521, a matching rate calculation operation 523, a child entity determination operation 525, and a relationship line representation operation 527.
  • the parent entity determination operation 521 may load the entity data 561 stored in the storage 560 via the system bus 550 into the memory 520.
  • the entity data may be classified into an entity group having the same attribute as a primary key or an entity group having the same attribute as a foreign key to determine a parent entity of the entity group.
  • the matching rate calculation operation 523 may calculate a primary key matching rate or a foreign key matching rate between the parent entity and each entity belonging to the entity group.
  • the child entity determination operation may determine a child entity for the parent entity among the entities belonging to the entity group using the matching rate.
  • the relationship line display operation 527 may display a relationship line connecting an identification relationship or a non-identification relationship between the parent entity and the child entity as a solid line or a band line.
  • the identification relationship data and the non-identification relationship data configured in the memory 520 may be stored in the storage 560 as the identification relationship data 563 and the non-identification relationship data 565 through the system bus 550.
  • the reverse data modeling relationship line setting device 10 provides the identification relationship data and the non-identification relationship data inquiry interface for displaying the entity relationship diagram through the network interface 570.
  • Each component of FIG. 17 may refer to software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
  • FPGA field programmable gate array
  • ASIC application-specific integrated circuit
  • the components are not limited to software or hardware, and may be configured to be in an addressable storage medium, or may be configured to execute one or more processors.
  • the functions provided in the above components may be implemented by more detailed components, or may be implemented as one component that performs a specific function by combining a plurality of components.

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

리버스 데이터 모델링 관계선 설정 방법 및 그 장치
본 발명은 리버스 데이터 모델링 관계선 설정 방법 및 그 장치에 관한 것이다. 보다 자세하게는, 리버스 데이터 모델링 과정에서 매칭률을 이용하여 부모 엔티티와 자식 엔티티 사이의 관계를 결정하고, 그 사이의 관계선을 생성하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
리버스 데이터 모델링(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 속성이 포함된 복수의 엔티티들을 포함하는 엔티티 군에 대하여, 상기 엔티티 군에 속하지 아니한 엔티티들 중 부모 엔티티를 결정하는 오퍼레이션;
    상기 결정된 부모 엔티티의 기본키와 상기 엔티티 군에 속한 각 엔티티의 외래키의 유사도를 가리키는 외래키 매칭률을 연산하는 오퍼레이션;
    상기 외래키 매칭률을 이용하여, 상기 엔티티 군에 속한 엔티티 중에서, 상기 부모 엔티티에 대한 자식 엔티티를 결정하는 오퍼레이션; 및
    상기 부모 엔티티와 상기 자식 엔티티 사이의 비식별 관계를 가리키는 관계선을 생성하는 오퍼레이션을 포함하는,
    리버스 데이터 모델링 관계선 설정 장치.
PCT/KR2015/006914 2015-05-27 2015-07-06 리버스 데이터 모델링 관계선 설정 방법 및 그 장치 WO2016190482A1 (ko)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2016190482A1 true WO2016190482A1 (ko) 2016-12-01

Family

ID=57394038

Family Applications (1)

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

Country Status (2)

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

Cited By (1)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192171A1 (en) * 1997-04-04 2007-08-16 Mikhail Lotvin Computer apparatus and methods supporting different categories of users
US20100114841A1 (en) * 2008-10-31 2010-05-06 Gravic, Inc. Referential Integrity, Consistency, and Completeness Loading of Databases
US20140207731A1 (en) * 2011-06-03 2014-07-24 Robert Mack Method and apparatus for defining common entity relationships
KR20150038220A (ko) * 2012-07-24 2015-04-08 아브 이니티오 테크놀로지 엘엘시 데이터 모델에서의 엔티티 매핑
KR20150042872A (ko) * 2010-06-22 2015-04-21 아브 이니티오 테크놀로지 엘엘시 관련 데이터세트의 처리

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150803B2 (en) * 2006-01-03 2012-04-03 Informatica Corporation Relationship data management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192171A1 (en) * 1997-04-04 2007-08-16 Mikhail Lotvin Computer apparatus and methods supporting different categories of users
US20100114841A1 (en) * 2008-10-31 2010-05-06 Gravic, Inc. Referential Integrity, Consistency, and Completeness Loading of Databases
KR20150042872A (ko) * 2010-06-22 2015-04-21 아브 이니티오 테크놀로지 엘엘시 관련 데이터세트의 처리
US20140207731A1 (en) * 2011-06-03 2014-07-24 Robert Mack Method and apparatus for defining common entity relationships
KR20150038220A (ko) * 2012-07-24 2015-04-08 아브 이니티오 테크놀로지 엘엘시 데이터 모델에서의 엔티티 매핑

Cited By (2)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2020015067A1 (zh) 数据采集方法、装置、设备及存储介质
WO2016047866A1 (ko) 데이터베이스 마이그레이션 방법 및 그 장치
WO2018058959A1 (zh) Sql审核方法、装置、服务器及存储设备
WO2020087981A1 (zh) 风控审核模型生成方法、装置、设备及可读存储介质
WO2020233089A1 (zh) 测试用例生成方法、装置、终端及计算机可读存储介质
WO2019024485A1 (zh) 数据共享方法、装置及计算机可读存储介质
WO2015144012A1 (zh) 一种软件开发事务的实现方法及电子设备
WO2020119369A1 (zh) 智能it运维故障定位方法、装置、设备及可读存储介质
WO2016190482A1 (ko) 리버스 데이터 모델링 관계선 설정 방법 및 그 장치
WO2015182835A1 (ko) 데이터 처리 시스템 및 방법
WO2018000884A1 (zh) 数据展示方法和装置、终端和存储介质
WO2020062639A1 (zh) 区块链引入测试方法、装置、设备及计算机可读存储介质
WO2019198950A1 (ko) 컨텐츠 정보 제공 장치 및 그 방법
WO2013008978A1 (ko) 개체 식별 결과 검색 시스템 및 방법
WO2020143296A1 (zh) 数据采集方法、装置、设备及计算机可读存储介质
WO2018151384A1 (ko) 통신 데이터 모델링 방법
WO2015056818A1 (en) Counting bloom filter
WO2022145572A1 (ko) 예상 결과값을 토대로 정보를 제공하는 방법 및 이를 이용한 연산 장치
WO2016186326A1 (ko) 검색어 리스트 제공 장치 및 이를 이용한 방법
WO2016137035A1 (ko) 테스트 케이스 생성 장치와 방법 및 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
CN108364162B (zh) 一种任务界面管理方法、系统及终端设备
WO2020034531A1 (zh) 空间清理方法、装置、设备和计算机可读存储介质
WO2019098428A1 (ko) 사용자 별 확장 가능 관리 테이블을 이용한 erp 펑션 제공 방법 및 이를 수행하는 erp 펑션 제공 시스템
WO2021261901A1 (ko) 함수 호출 패턴 분석을 통한 이상 검출 장치 및 방법
WO2020209498A1 (ko) 특허 검색 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15893434

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15893434

Country of ref document: EP

Kind code of ref document: A1