JP6840062B2 - Table-related analysis support device and table-related analysis support method - Google Patents

Table-related analysis support device and table-related analysis support method Download PDF

Info

Publication number
JP6840062B2
JP6840062B2 JP2017188631A JP2017188631A JP6840062B2 JP 6840062 B2 JP6840062 B2 JP 6840062B2 JP 2017188631 A JP2017188631 A JP 2017188631A JP 2017188631 A JP2017188631 A JP 2017188631A JP 6840062 B2 JP6840062 B2 JP 6840062B2
Authority
JP
Japan
Prior art keywords
relationship
many
group
tables
analysis
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2017188631A
Other languages
Japanese (ja)
Other versions
JP2019066924A (en
Inventor
康勢 高井
康勢 高井
敬志 大島
敬志 大島
克己 河合
克己 河合
木村 誠
誠 木村
山口 潔
潔 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017188631A priority Critical patent/JP6840062B2/en
Priority to CN201810972829.6A priority patent/CN110019564B/en
Priority to US16/129,130 priority patent/US11138173B2/en
Publication of JP2019066924A publication Critical patent/JP2019066924A/en
Application granted granted Critical
Publication of JP6840062B2 publication Critical patent/JP6840062B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、テーブル関係解析支援装置、および、テーブル関係解析支援方法に係り、特に、リレーショナルデータベースのテーブル間の関係を解析するのに好適なテーブル関係解析支援装置、および、テーブル関係解析支援方法に関する。 The present invention relates to a table relation analysis support device and a table relation analysis support method, and more particularly to a table relation analysis support device suitable for analyzing a relationship between tables in a relational database, and a table relation analysis support method. ..

システムの保守やリプレース開発を行う際、対象システムで利用するデータの関係を把握することが重要となる。コンピュータによりデータの検索、解析のためにデータベースシステムが従来より利用されている。特に、関係モデルにより設計、開発がされるリレーショナルデータベース(Relational DataBase:関係データベース)がデータベースの主流となっている。リレーショナルデータベースでは、種々のデータがテーブルに含まれており、テーブル間の関係を把握することが、データの関係の把握につながる。一般に、多数のテーブルが存在するシステムでは、テーブル間の関係が複雑になり、理解が困難となる。そこで、複数のテーブルを集合にまとめて提示できれば、一度に理解すべき関係が削減できるため、テーブル間の関係の理解が容易になり、結果として、データの関係の把握が容易になる。例えば、特許文献1には、階層的にまとめることにより、テーブルを分類し、データベースの統合を容易にするテーブル分類方法が開示されている。 When performing system maintenance or replacement development, it is important to understand the relationship between the data used in the target system. A database system has been conventionally used for searching and analyzing data by a computer. In particular, relational databases (relational databases), which are designed and developed based on a relational model, are the mainstream databases. In a relational database, various data are included in a table, and understanding the relationship between the tables leads to understanding the relationship between the data. Generally, in a system with a large number of tables, the relationships between the tables become complicated and difficult to understand. Therefore, if a plurality of tables can be presented together as a set, the relationships that should be understood at one time can be reduced, so that the relationships between the tables can be easily understood, and as a result, the data relationships can be easily grasped. For example, Patent Document 1 discloses a table classification method that classifies tables by hierarchically grouping them and facilitates database integration.

特開2010−39593号公報Japanese Unexamined Patent Publication No. 2010-39593

上記従来技術の特許文献1に記載された技術では、リレーショナルデータベースを利用している複数のシステムを統合する際に、各システムに存在する類似のテーブルをまとめることを目的としている。この特許文献1に記載された技術では、テーブル内のカラムの出現順序、出現位置、および、類似カラムの出現数に着目している。しかしながら、一般に、リレーショナルデータベースでは、カラムの位置や順序には制約が無いため、この技術を有向に活用できない場合がある。また、単一のシステムを適用対象とする場合、正規化の実施などにより、類似カラムが多数出現することは少なく、カラムの出現数に着目してテーブルをまとめることは難しい。 The technique described in Patent Document 1 of the above-mentioned prior art aims at grouping similar tables existing in each system when integrating a plurality of systems using a relational database. The technique described in Patent Document 1 focuses on the order of appearance of columns in the table, the position of appearance, and the number of appearances of similar columns. However, in general, in a relational database, there are no restrictions on the position and order of columns, so this technique may not be used in a directed manner. Further, when a single system is applied, it is rare that many similar columns appear due to normalization or the like, and it is difficult to organize the table by paying attention to the number of columns appearing.

本発明の目的は、リレーショナルデータベースのテーブルの関係をデータの出現関係に着目して、直感的に把握しやすくするテーブル関係解析支援装置を提供することにある。 An object of the present invention is to provide a table relationship analysis support device that makes it easy to intuitively grasp the relationship between tables in a relational database by focusing on the relationship of appearance of data.

本発明のテーブル関係解析支援装置の構成は、好ましくは、リレーショナルデータベースのテーブル間の特定のカラムにおけるデータの関係を解析するテーブル関係解析支援装置であって、テーブルのデータの関係が一対一関係、多対一関係にあるテーブルを一つのテーブル群として定義するテーブル間関係分析情報と、テーブル間関係情報から、一対一関係にあるテーブルをテーブル群としてまとめたテーブル間関係分析情報を出力する一対一関係の畳み込み部と、多対一関係をもつテーブルをテーブル群としてまとめることにより、テーブル間関係分析情報を更新する多対一関係の畳み込み部と、テーブル間関係分析情報の内容を表示する分析結果表示部とを有し、分析結果表示部は、リレーショナルデータベースの一つ以上のテーブルをテーブル群として縮約した形式で表示するようにしたものである。 The configuration of the table relationship analysis support device of the present invention is preferably a table relationship analysis support device that analyzes the relationship of data in a specific column between tables of a relational database, and the relationship of data in the tables is one-to-one. One-to-one output of table-to-table relationship analysis information that defines tables with a many-to-one relationship as one table group and table-to-table relationship analysis information that summarizes tables with a one-to-one relationship as a table group from the table-to-table relationship information. Analysis result that displays the contents of the multi-to-one relational convolution part that updates the table-to-table relationship analysis information and the contents of the table-to-table relationship analysis information by collecting the relational convolution part and the tables that have a many-to-one relationship as a table group. It has a display unit, and the analysis result display unit displays one or more tables of a relational database as a table group in a reduced format.

本発明によれば、リレーショナルデータベースのテーブルの関係をデータの出現関係に着目して、直感的に把握しやすくするテーブル関係解析支援装置を提供することができる。 According to the present invention, it is possible to provide a table relationship analysis support device that makes it easy to intuitively grasp the relationship between tables in a relational database by focusing on the relationship of appearance of data.

実施形態1のテーブル関係解析支援装置の機能構成を示す図である。It is a figure which shows the functional structure of the table relation analysis support apparatus of Embodiment 1. FIG. 実施形態1のテーブル関係解析支援装置のハードウェア・ソフトウェア構成を示す図である。It is a figure which shows the hardware software structure of the table relation analysis support apparatus of Embodiment 1. FIG. 一対一関係の畳み込み部201の処理を示すフローチャートである。It is a flowchart which shows the process of the convolution part 201 of a one-to-one relationship. 多対一関係の畳み込み部203の処理を示すフローチャートである。It is a flowchart which shows the process of the convolution part 203 of a many-to-one relationship. 実施形態1のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その一)。It is a diagram showing the relationship between the tables of the relational database of the first embodiment (No. 1). 実施形態1のテーブル群間関係表の一例を示す図である(その一)。It is a figure which shows an example of the table group relation table of Embodiment 1 (the 1). 割付表の一例を示す図である(その一)。It is a figure which shows an example of the allocation table (the 1). 実施形態1のテーブル群間関係表の一例を示す図である(その二)。It is a figure which shows an example of the table group relation table of Embodiment 1 (the 2). 実施形態1のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その二)。It is a diagram showing the relationship between the tables of the relational database of the first embodiment (No. 2). 実施形態1のテーブル群間関係表の一例を示す図である(その三)。It is a figure which shows an example of the table group relation table of Embodiment 1 (the 3). 実施形態1の割付表の一例を示す図である(その二)。It is a figure which shows an example of the allocation table of Embodiment 1 (the 2). 実施形態1のテーブル群間関係表の一例を示す図である(その四)。It is a figure which shows an example of the table group relation table of Embodiment 1 (the fourth). 実施形態1のテーブル群間関係表の一例を示す図である(その五)。It is a figure which shows an example of the table group relation table of Embodiment 1 (the 5). 実施形態1の割付表の一例を示す図である(その三)。It is a figure which shows an example of the allocation table of Embodiment 1 (the third). 実施形態1のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その三)。It is a diagram showing the relationship between the tables of the relational database of the first embodiment (No. 3). 実施形態1のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その四)。It is a diagram showing the relationship between the tables of the relational database of the first embodiment (No. 4). 実施形態1の割付表の一例を示す図である(その四)。It is a figure which shows an example of the allocation table of Embodiment 1 (the fourth). 実施形態1のテーブル関係解析支援装置の解析結果の表示画面の一例を示す図である。It is a figure which shows an example of the display screen of the analysis result of the table relation analysis support apparatus of Embodiment 1. FIG. 実施形態2のテーブル関係解析支援装置の機能構成を示す図である。It is a figure which shows the functional structure of the table relation analysis support apparatus of Embodiment 2. 実施形態2のテーブル関係解析支援装置のハードウェア・ソフトウェア構成を示す図である。It is a figure which shows the hardware software structure of the table relation analysis support apparatus of Embodiment 2. テーブル間関係抽出部1901の処理を示すフローチャートである。It is a flowchart which shows the process of the inter-table relation extraction unit 1901. 多対多関係の切断部1903の処理を示すフローチャートである。It is a flowchart which shows the process of the cutting part 1903 of a many-to-many relationship. 閉路分割部1907の処理を示すフローチャートである。It is a flowchart which shows the process of the closed circuit division part 1907. 実施形態2のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その一)。It is a diagram showing the relationship between the tables of the relational database of the second embodiment (No. 1). 実施形態2のテーブル間関係情報の一例を示す図である。It is a figure which shows an example of the inter-table relation information of Embodiment 2. 多対多関係切断済みテーブル間関係情報の一例を示す図である。It is a figure which shows an example of the relation-to-table relation information which has been disconnected many-to-many relations. 多対多関係テーブルリストの一例を示す図である。It is a figure which shows an example of a many-to-many relation table list. 実施形態2のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その二)。It is a diagram showing the relationship between the tables of the relational database of the second embodiment (No. 2). 実施形態2のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その三)。It is a diagram showing the relationship between the tables of the relational database of the second embodiment (No. 3). 実施形態2のテーブル群間関係表の一例を示す図である(その一)。It is a figure which shows an example of the table group relation table of Embodiment 2 (the 1). 実施形態2の割付表の一例を示す図である(その一)。It is a figure which shows an example of the allocation table of Embodiment 2 (the 1). 実施形態2の割付表の一例を示す図である(その二)。It is a figure which shows an example of the allocation table of Embodiment 2 (the 2). 実施形態2のテーブル群間関係表の一例を示す図である(その二)。It is a figure which shows an example of the table group relation table of Embodiment 2 (the 2). 実施形態2のテーブル群間関係表の一例を示す図である(その三)。It is a figure which shows an example of the table group relation table of Embodiment 2 (the third). 実施形態2のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その四)。It is a diagram showing the relationship between the tables of the relational database of the second embodiment (No. 4). 実施形態2の割付表の一例を示す図である(その三)。It is a figure which shows an example of the allocation table of Embodiment 2 (the third). 実施形態2のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その五)。It is a diagram showing the relationship between the tables of the relational database of the second embodiment (No. 5). 実施形態2の割付表の一例を示す図である(その四)。It is a figure which shows an example of the allocation table of Embodiment 2 (the fourth). 実施形態2のリレーショナルデータベースのテーブル間の関係を示すダイヤグラムである(その六)。It is a diagram showing the relationship between the tables of the relational database of the second embodiment (No. 6). 実施形態2のテーブル関係解析支援装置の解析結果の表示画面の一例を示す図である(その一)。It is a figure which shows an example of the display screen of the analysis result of the table relation analysis support apparatus of Embodiment 2 (the 1). 実施形態2のテーブル関係解析支援装置の解析結果の表示画面の一例を示す図である(その二)。It is a figure which shows an example of the display screen of the analysis result of the table relation analysis support apparatus of Embodiment 2 (the second). 従業員IDテーブルを示す図である。It is a figure which shows the employee ID table. 従業員プロファイルテーブルを示す図である。It is a figure which shows the employee profile table. 従業員給与テーブルを示す図である。It is a figure which shows the employee salary table.

以下、本発明に係る各実施形態を、図1ないし図44を用いて説明する。 Hereinafter, each embodiment of the present invention will be described with reference to FIGS. 1 to 44.

〔テーブルの関係について〕
先ず、図42ないし図44を用いて本実施形態でテーブル関係解析の着目点となるテーブルの対応について説明する。
図42ないし図44は、そのために例示とするテーブルである。
[About table relationships]
First, with reference to FIGS. 42 to 44, the correspondence between the tables, which is the focus of the table relation analysis in the present embodiment, will be described.
42 to 44 are tables illustrated for that purpose.

リレーショナルデータベースの基礎となるのは、名称がつけられたカラム(縦欄)と、その値を埋めるレコード(横)からなるテーブルである。複数のテーブルは、参照整合性を保障する外部キー(FK)によって、論理的に結びついている。 The basis of a relational database is a table consisting of named columns (vertical columns) and records (horizontal) that fill the values. A plurality of tables are logically connected by a foreign key (FK) that guarantees referential integrity.

図42に示す従業員IDテーブル20は、従業員IDを格納するためのテーブルである。図43に示す従業員プロファイルテーブル21は、氏名、住所などの各々の従業員プロファイルを格納するためのテーブルである。図43に示す従業員プロファイルテーブル21は、氏名、住所などの各々の従業員プロファイルを格納するためのテーブルである。図44に示す従業員給与テーブル22は、各々の従業員の月ごとの給与を格納するためのテーブルである。この三つのテーブルは、外部キーとして従業員IDにより論理的に結びついている。例えば、従業員ID「e001」の従業員の氏名が「山〇〇男」で、支払い月「2017年1月」の給与が「253,500円」であることが分かる。 The employee ID table 20 shown in FIG. 42 is a table for storing employee IDs. The employee profile table 21 shown in FIG. 43 is a table for storing each employee profile such as a name and an address. The employee profile table 21 shown in FIG. 43 is a table for storing each employee profile such as a name and an address. The employee salary table 22 shown in FIG. 44 is a table for storing the monthly salary of each employee. These three tables are logically linked by an employee ID as a foreign key. For example, it can be seen that the name of the employee with the employee ID "e001" is "Yama OO man" and the salary of the payment month "January 2017" is "253,500 yen".

ところで、外部キーとなるカラムの従業員IDのデータの出現について着目すると、従業員IDテーブル20と従業員プロファイルテーブル21は、一対一の関係がある。本実施形態では、これを各々のテーブルが「一対一関係」を有するということにする。 By the way, paying attention to the appearance of the employee ID data of the column which is the foreign key, the employee ID table 20 and the employee profile table 21 have a one-to-one relationship. In the present embodiment, it is assumed that each table has a "one-to-one relationship".

また、従業員IDのデータの出現について、従業員IDテーブル20と従業員給与テーブル22は、従業員IDテーブル20を元テーブルとみなし、従業員給与テーブル22を先テーブルとみなすと、一対多の関係がある。本実施形態では、これを、元テーブルの従業員IDテーブル20と、先テーブルの従業員給与テーブル22が「一対多関係」を有するということにする。 Further, regarding the appearance of the employee ID data, the employee ID table 20 and the employee salary table 22 have a one-to-many relationship when the employee ID table 20 is regarded as the original table and the employee salary table 22 is regarded as the destination table. There is. In the present embodiment, it is assumed that the employee ID table 20 of the original table and the employee salary table 22 of the destination table have a "one-to-many relationship".

逆に、従業員給与テーブル22を元テーブルとみなし、従業員IDテーブル20を先テーブルとみなすと、多対一の関係があり、この場合には、元テーブルの従業員給与テーブル22と、先テーブルの従業員IDテーブル20が「多対一関係」を有するということにする。 Conversely, if the employee salary table 22 is regarded as the original table and the employee ID table 20 is regarded as the destination table, there is a many-to-one relationship. In this case, the employee salary table 22 of the original table and the destination table It is assumed that the employee ID table 20 of the table has a "many-to-one relationship".

さらに、特に、示さなかったが、二つのテーブルの外部キーのカラムのデータが多対多になっているときには、その二つのテーブルは、「多対多関係」を有するということにする。 Furthermore, although not specifically shown, when the data in the columns of the foreign keys of the two tables is many-to-many, the two tables are said to have a "many-to-many relationship".

〔実施形態1〕
以下、図1ないし図18を用いて本発明の実施形態1について説明する。
先ず、図1および図2を用いて実施形態1のテーブル関係解析支援装置の構成について説明する。
[Embodiment 1]
Hereinafter, the first embodiment of the present invention will be described with reference to FIGS. 1 to 18.
First, the configuration of the table-related analysis support device of the first embodiment will be described with reference to FIGS. 1 and 2.

テーブル関係解析支援装置100は、一対一関係の畳み込み部201と、多対一関係の畳み込み部203と、分析結果表示部204の各機能部からなる。 The table-related analysis support device 100 includes a one-to-one relationship convolution unit 201, a many-to-one relationship convolution unit 203, and each functional unit of the analysis result display unit 204.

一対一関係の畳み込み部201は、テーブル間関係情報200を入力としテーブル間関係分析情報202を出力する。テーブル間関係情報200は、リレーショナルデータベースのテーブル間の対応関係の情報である。テーブル間関係分析情報202は、テーブル間関係情報に基づいて、対応関係にあるテーブルをテーブル群としてまとめた情報である。なお、テーブル間関係情報200とテーブル間関係分析情報202の具体例は、後述する。 The one-to-one relationship convolution unit 201 inputs the table-to-table relationship information 200 and outputs the table-to-table relationship analysis information 202. The table-to-table relationship information 200 is information on the correspondence between tables in a relational database. The table-to-table relationship analysis information 202 is information that summarizes the tables having a corresponding relationship as a table group based on the table-to-table relationship information. Specific examples of the table-to-table relationship information 200 and the table-to-table relationship analysis information 202 will be described later.

多対一関係の畳み込み部203は、テーブル間関係分析情報202を入力とし、多対一関係をもつテーブルをテーブル群としてまとめることにより、テーブル間関係分析情報202を更新する。 The convolution unit 203 of the many-to-one relationship receives the table-to-table relationship analysis information 202 as input, and updates the table-to-table relationship analysis information 202 by collecting the tables having the many-to-one relationship as a table group.

分析結果表示部204は、テーブル間関係情報200と、テーブル間関係分析情報202を、ユーザに視認できる形式により、ディスプレイなどの表示装置120に表示する。 The analysis result display unit 204 displays the table-to-table relationship information 200 and the table-to-table relationship analysis information 202 on a display device 120 such as a display in a format that can be visually recognized by the user.

テーブル関係解析支援装置100は、一般的な情報処理装置により構成され、図1に示されるように、CPU(Central Processing Unit)110と、表示装置120と、主メモリ130と、入力装置140と、外部記憶装置150と、ネットワーク通信装置160を有する。 The table-related analysis support device 100 is composed of a general information processing device, and as shown in FIG. 1, a CPU (Central Processing Unit) 110, a display device 120, a main memory 130, an input device 140, and the like. It has an external storage device 150 and a network communication device 160.

CPU110と、表示装置120と、主メモリ130と、入力装置140と、外部記憶装置150と、ネットワーク通信装置160は、バス170を通じて接続されており、データの送受信が可能である。
CPU110は、外部記憶装置150から主メモリ130にロードされたプログラム、データを実行し、テーブル関係解析支援装置100の各部を制御する。
The CPU 110, the display device 120, the main memory 130, the input device 140, the external storage device 150, and the network communication device 160 are connected via the bus 170, and data can be transmitted and received.
The CPU 110 executes programs and data loaded from the external storage device 150 into the main memory 130, and controls each part of the table-related analysis support device 100.

外部記憶装置150は、HDD(Hard Disk Drive)やSDD(Solid State Drive)等のような大容量の記憶装置である。外部記憶装置150には、テーブル関係解析支援プログラム151が、インストールされ、テーブル間関係情報200やテーブル間関係分析情報202が格納されている。 The external storage device 150 is a large-capacity storage device such as an HDD (Hard Disk Drive) or an SDD (Solid State Drive). The table relationship analysis support program 151 is installed in the external storage device 150, and the table-to-table relationship information 200 and the table-to-table relationship analysis information 202 are stored.

テーブル関係解析支援プログラム151は、サブプログラムとして、一対一関係の畳み込みモジュール151a、多対一関係の畳み込みモジュール151b、分析結果表示モジュール151cからなる。 The table-related analysis support program 151 includes a one-to-one relationship convolution module 151a, a many-to-one relationship convolution module 151b, and an analysis result display module 151c as subprograms.

一対一関係の畳み込みモジュール151a、多対一関係の畳み込みモジュール151b、分析結果表示モジュール151cは、それぞれ、一対一関係の畳み込み部201、多対一関係の畳み込み部203、分析結果表示部204の各機能部の機能を実行するモジュールである。CPU110は、外部記憶装置150から主メモリ130にロードされたこれらのモジュールを実行する。 The one-to-one convolution module 151a, the many-to-one convolution module 151b, and the analysis result display module 151c are each of the one-to-one convolution unit 201, the many-to-one convolution unit 203, and the analysis result display unit 204, respectively. It is a module that executes the functions of the functional part. The CPU 110 executes these modules loaded from the external storage device 150 into the main memory 130.

実施形態1では、図1に示したように、テーブル関係解析支援装置100は、一対一関係の畳み込み部201、多対一関係の畳み込み部203、分析結果表示部204の順で、各機能部を呼び出し、処理を実行する。 In the first embodiment, as shown in FIG. 1, the table-related analysis support device 100 has a one-to-one relationship convolution unit 201, a many-to-one relationship convolution unit 203, and an analysis result display unit 204 in this order. To execute the process.

一対一関係の畳み込み部201は、テーブル間関係情報200を入力とし、テーブル間関係分析情報202を出力する。テーブル間関係情報200は、少なくとも、リレーショナルデータベースのテーブル間のカーディナリティ情報を含んでいる。最初に例示したように、カーディナリティ情報とは、お互いのテーブルで着目したカラムのデータの結びつきを示した情報であり、少なくとも、基点となる元テーブル、対象となる先テーブル、および、一対一関係、一対多関係、多対一関係、多対多関係のいずれかで表される関係を含む。テーブル間関係分析情報202は、テーブル群間関係表320と割付表321からなる。テーブル群間関係表320は、テーブルの関係を表す表であり、テーブル群について、少なくとも、基点となる元テーブル群601、対象となる先テーブル群602、その関係603を含む表である(具体例は、後述)。テーブル群は、一つ以上のテーブルかテーブル群をひとつにまとめたものであり、その中の一つを代表テーブル群とする。 The one-to-one relationship convolution unit 201 inputs the table-to-table relationship information 200 and outputs the table-to-table relationship analysis information 202. The table-to-table relationship information 200 includes at least cardinality information between tables in a relational database. As illustrated at the beginning, the cardinality information is information that shows the connection of the data of the columns of interest in each table, and at least the source table that is the base point, the destination table that is the target, and the one-to-one relationship. Includes relationships represented by one-to-many relationships, many-to-one relationships, and many-to-many relationships. The inter-table relationship analysis information 202 includes an inter-table relationship table 320 and an allocation table 321. The table-group relationship table 320 is a table showing the table relationships, and is a table including at least a source table group 601 as a base point, a target destination table group 602, and a relationship 603 of the table group (specific example). Will be described later). A table group is a collection of one or more tables or a group of tables, and one of them is a representative table group.

なお、本実施形態では、テーブル群を識別するために様々な命名規則を用いているが、各テーブル群を識別可能であれば、特にこの命名規則にこだわる必要はない。割付表321は、テーブルをテーブル群としてまとめるための計算テーブルであり、少なくとも、各情報を識別するID700、テーブル群701、割付番号702を含む表である(具体例は、後述)。 In this embodiment, various naming conventions are used to identify the table groups, but if each table group can be identified, it is not necessary to be particular about this naming convention. The allocation table 321 is a calculation table for organizing the tables as a table group, and is a table including at least an ID 700 for identifying each information, a table group 701, and an allocation number 702 (specific examples will be described later).

多対一関係の畳み込み部203は、多対一関係のテーブルをテーブル群としてテーブル間関係分析情報202を更新する。 The convolution unit 203 of the many-to-one relationship updates the table-to-table relationship analysis information 202 with the tables of the many-to-one relationship as a table group.

分析結果表示部204は、テーブル間関係情報200や分析済みのテーブル間関係分析情報202を編集して、表示装置120にグラフィカルに出力する(表示の具体例は、後述)。 The analysis result display unit 204 edits the table-to-table relationship information 200 and the analyzed table-to-table relationship analysis information 202 and graphically outputs them to the display device 120 (specific examples of the display will be described later).

次に、図3および図4を用いてテーブル関係解析支援装置における各処理について説明する。
テーブル関係解析支援装置100の実施形態1では、一対一関係の畳み込み部201、多対一関係の畳み込み部203、分析結果表示部204の順で、各機能部を呼び出す。
Next, each process in the table-related analysis support device will be described with reference to FIGS. 3 and 4.
In the first embodiment of the table-related analysis support device 100, each functional unit is called in the order of the one-to-one relationship convolution unit 201, the many-to-one relationship convolution unit 203, and the analysis result display unit 204.

先ず、図3を用いて一対一関係の畳み込み部201の処理について説明する。
先ず、一対一関係の畳み込み部201では、テーブル間関係情報200を入力として取得し、各テーブルを一つのテーブルからなるテーブル群とみなし、テーブル群間関係表320を作成する(S301)。
First, the process of the one-to-one convolution section 201 will be described with reference to FIG.
First, the one-to-one relationship convolution unit 201 acquires the table-to-table relationship information 200 as input, regards each table as a table group consisting of one table, and creates a table-group relationship table 320 (S301).

次に、テーブル群間関係表320に含まれる全てのテーブル群を、空の割付表321に追加する(S302)。この際、割付番702は、未割付状態がわかるようにする(本実施形態では、空欄とした。具体例は、後述)。 Next, all the table groups included in the table group relationship table 320 are added to the empty allocation table 321 (S302). At this time, the allocation number 702 is made so that the unallocated state can be known (in this embodiment, it is left blank. A specific example will be described later).

次に、テーブル群間関係表320を入力とし、テーブル群間の関係が一対一関係であるテーブル群の組を取得する(S303)。
以下、☆:S304〜S306を、S303で取得したテーブル群の組に含まれる全てのテーブル群について繰り返す。
Next, using the table group relationship table 320 as an input, a set of table groups having a one-to-one relationship between the table groups is acquired (S303).
Hereinafter, ☆: S304 to S306 are repeated for all the table groups included in the set of table groups acquired in S303.

取得したテーブル群の組に含まれる一対一関係のテーブル群Ti毎に(S304)、Tiから一対一関係のみで到達可能なテーブル群を全て取得し、新たなテーブル群を作成する(S305)。なお、着目したテーブル群から、一対一関係のみで到達可能なテーブル群を取得するアルゴリズムは、公知のものを採用することができる。 For each table group Ti having a one-to-one relationship included in the acquired set of table groups (S304), all the table groups reachable only by the one-to-one relationship are acquired from Ti, and a new table group is created (S305). A known algorithm can be adopted as an algorithm for acquiring a table group that can be reached only by a one-to-one relationship from the table group of interest.

次に、S305で作成した複数の新たなテーブル群から、重複するテーブル群を取り除く(S307)。 Next, the overlapping table group is removed from the plurality of new table groups created in S305 (S307).

次に、テーブル群間関係表320とS307後に残った新たなテーブル群を入力とし、テーブル群間関係表320を更新する(S308)。S308では、テーブル群間関係表320の元テーブル群601と先テーブル群602の中で、S307後に残った新たなテーブル群に含まれるテーブルを含むテーブル群を、そのテーブルを含むS307後に残った新たなテーブル群で置き換える。 Next, the table group relationship table 320 and the new table group remaining after S307 are used as inputs, and the table group relationship table 320 is updated (S308). In S308, among the original table group 601 and the destination table group 602 of the inter-table relationship table 320, the table group including the table included in the new table group remaining after S307 is replaced with the new table group remaining after S307 including the table. Replace with a group of tables.

次に、テーブル群間関係表320の中で、元テーブル群601と先テーブル群602が同じ行を削除し、テーブル群間関係表320を更新する(S309)。
以下、★:S310〜S313を、S307後に残った新たなテーブル群について繰り返す。
Next, in the table group relationship table 320, the original table group 601 and the destination table group 602 delete the same row, and the table group relationship table 320 is updated (S309).
Hereinafter, ★: S310 to S313 are repeated for the new table group remaining after S307.

先ず、作成したテーブル群G毎に(S310)、作成したテーブル群Gを、ID700を採番した上で、割付表321に追加する(S311)。そして、S310で着目したテーブル群に含まれるテーブル群について、割付表321の割付番号702に、S311で採番したID700を記載し、割付表321を更新する(S312)。 First, for each created table group G (S310), the created table group G is added to the allocation table 321 after numbering the ID 700 (S311). Then, with respect to the table group included in the table group of interest in S310, the ID 700 numbered in S311 is described in the allocation number 702 of the allocation table 321 to update the allocation table 321 (S312).

次に、図4を用いて、多対一関係の畳み込み部203の処理について説明する。
以下、テーブル群間関係表320の関係603に一対多が存在する間、◆:S401〜S412を繰り返す。
Next, the processing of the convolutionary portion 203 having a many-to-one relationship will be described with reference to FIG.
Hereinafter, while there is one-to-many in the relationship 603 of the table-group relationship table 320, ◆: S401 to S412 are repeated.

テーブル群間関係表320から、元テーブル群601に含まれるテーブル群を取得する(S402)。
以下、☆:S403〜S411を、S402で取得したテーブル群Tsについて繰り返す。
Relationship between table groups The table group included in the original table group 601 is acquired from the table 320 (S402).
Hereinafter, ☆: S403 to S411 are repeated for the table group Ts acquired in S402.

テーブル群間関係表320から、S403で取得したテーブル群を、元テーブル群601とする行を取得し、その全ての関係603が一対一か一対多であるかを判別する(S404)。 From the table group relationship table 320, a row in which the table group acquired in S403 is the original table group 601 is acquired, and it is determined whether all the relationships 603 are one-to-one or one-to-many (S404).

全ての関係603が一対一か一対多である場合は(S404:YES)、S405を実行し、そうでない場合は(S404:NO)、S411を実行する。
以下、★:S405〜S410を、テーブル群間関係表320の元テーブル群601がS403で取得したテーブル群Tsとなっている行の先テーブル群602Tdについて繰り返す。
If all relationships 603 are one-to-one or one-to-many (S404: YES), then S405 is executed, otherwise (S404: NO), S411 is executed.
Hereinafter, ★: S405 to S410 are repeated for the destination table group 602Td of the row in which the original table group 601 of the table group relationship table 320 is the table group Ts acquired in S403.

先ず、テーブル群間関係表320を更新する(S406)。このS406では、S405で取得したテーブル群Tdを代表テーブル群とし、S403で取得したテーブル群Tsを含む新たなテーブル群を作成し、テーブル群間関係表320の元テーブル群601および先テーブル群602に含まれるテーブル群の中で、S405で着目したテーブル群であるものを、新たなテーブル群Gで置き換える。 First, the table-group relationship table 320 is updated (S406). In this S406, the table group Td acquired in S405 is used as the representative table group, a new table group including the table group Ts acquired in S403 is created, and the original table group 601 and the destination table group 602 of the inter-table relationship table 320 are created. Among the table groups included in, the table group focused on in S405 is replaced with a new table group G.

次に、テーブル群間関係表320から、元テーブル群601がS403で取得したテーブル群Tsである行と、元テーブル群601と先テーブル群602が同じテーブル群を持つ行を削除し、テーブル群間関係表320を更新する(S407)。 Next, from the table group relationship table 320, the row in which the original table group 601 is the table group Ts acquired in S403 and the row in which the original table group 601 and the destination table group 602 have the same table group are deleted, and the table group is deleted. The relationship table 320 is updated (S407).

次に、S406で新たに作成したテーブル群Gを、ID700を採番した上で、割付表321に追加し、割付表321を更新する(S408)。 Next, the table group G newly created in S406 is added to the allocation table 321 after numbering the ID 700, and the allocation table 321 is updated (S408).

次に、S406で新たに作成したテーブル群Gに含まれるテーブル群について、割付表321の割付番号702に、S408で採番したID700を追加し、割付表321を更新する(S409)。 Next, for the table group included in the table group G newly created in S406, the ID 700 numbered in S408 is added to the allocation number 702 in the allocation table 321 to update the allocation table 321 (S409).

次に、図5ないし図18を用いて具体例に基づいたテーブル関係解析支援装置100の動作を説明する。 Next, the operation of the table relation analysis support device 100 based on a specific example will be described with reference to FIGS. 5 to 18.

以下では、テーブル関係解析支援装置100が、図5のダイヤグラムに示されるような対応関係を有するテーブルの関係を解析して、ユーザに視認しやすい形式で表示するまでの動作について説明する。 Hereinafter, the operation until the table relationship analysis support device 100 analyzes the relationship between the tables having the corresponding relationship as shown in the diagram of FIG. 5 and displays it in a format that is easy for the user to see will be described.

テーブルは、テーブルA500〜テーブルG506のような左と上を線で強調した正方形の図形で表すことにする。また線分は、テーブルやテーブル群間の関係が一対一であること、矢印はテーブルやテーブル群間の関係が多対一であることを表している。ここで、矢印の根元が、「多」であり、矢印の根元が「一」である。すなわち、多対一関係とは、特定のカラムについて、「矢印の先側のテーブルに含まれるある1データに対し、関連を持つデータが、矢印の元側のテーブルに複数存在する」と言う関係であることを示している。 The table will be represented by a square figure with lines emphasized on the left and top, such as tables A500 to G506. The line segment indicates that the relationship between the tables and the table group is one-to-one, and the arrow indicates that the relationship between the tables and the table group is many-to-one. Here, the base of the arrow is "many" and the base of the arrow is "one". That is, the many-to-one relationship is a relationship in which, for a specific column, "a plurality of related data exist in the table on the original side of the arrow for a certain data included in the table on the front side of the arrow". It shows that.

先ず、図6ないし図10を用いてこの例における一対一関係の畳み込み部201の動作を説明する。 First, the operation of the one-to-one convolution unit 201 in this example will be described with reference to FIGS. 6 to 10.

図5に示されたテーブル関係は、図6のテーブル群間関係表320のように表現される。テーブル群間関係表320は、ID600、元テーブル群601、先テーブル群602、関係603の各カラムよりなる。このテーブル群間関係表320は、図3のS301で参照されている。 The table relationship shown in FIG. 5 is expressed as in the table group relationship table 320 of FIG. The table group relationship table 320 includes columns ID 600, a source table group 601 and a destination table group 602, and a relationship 603. The table-group relationship table 320 is referred to in S301 of FIG.

テーブル群間関係表320のID600は、各行を識別する番号である。元テーブル群601は、関係603の基点となるテーブル群を表している。また、先テーブル群602は、関係603の対象となるテーブル群を表している。ここで、カラムの名称がテーブル群となっているが、テーブルも一つのテーブル群とみなしてこのカラムに記述できるものとする。関係603は、元テーブル群601から見た先テーブル群602との関係、すなわち、一対一、一対多、多対一、多対多のいずれかの関係を表している。 Relationship between table groups ID 600 in Table 320 is a number that identifies each row. The original table group 601 represents a table group that serves as a base point of the relationship 603. Further, the destination table group 602 represents a table group that is the target of the relationship 603. Here, the name of the column is a table group, but the table can also be regarded as one table group and described in this column. The relationship 603 represents a relationship with the destination table group 602 as viewed from the source table group 601, that is, any one-to-one, one-to-many, many-to-one, or many-to-many relationship.

割付表321は、テーブル関係をテーブル群としてまとめるために用いられワークテーブルであり、図7に示されるように、ID700、テーブル群701、割付番号702の各カラムよりなる。 The allocation table 321 is a work table used to organize the table relations as a table group, and as shown in FIG. 7, consists of columns ID 700, table group 701, and allocation number 702.

ID700は、各行を識別する行番号である。テーブル群701は、まとめるためのテーブル群(または、テーブル)を表している。割付番号702は、当該行のテーブル群が、他のテーブル群701に含まれているか(割付済みか)否かを表しており、他のテーブル群701に含まれている場合は、割付番号702に、当該テーブル群701を含むテーブル群701のID700を記載する。なお、一つのテーブル群(またはテーブル)が複数のテーブル群701に含まれる場合もありうる。最初のS302の時点では、テーブル群701に格納される値は、図5に示されたテーブル関係のテーブルが格納されており、割付番号702は空欄である。 ID700 is a line number that identifies each line. The table group 701 represents a table group (or a table) for grouping. The allocation number 702 indicates whether or not the table group of the row is included in the other table group 701 (allocated), and if it is included in the other table group 701, the allocation number 702 ID 700 of the table group 701 including the table group 701 is described in the above. In addition, one table group (or table) may be included in a plurality of table groups 701. At the time of the first S302, the value stored in the table group 701 is the table related to the table shown in FIG. 5, and the allocation number 702 is blank.

S303では、テーブル群間関係表320から、関係603が一対一であるID600が“1”,“2”,“7”,“8”の行を取得する。その後、テーブルA、テーブルB、テーブルD、テーブルFを対象に、S304〜S306を繰り返す。S305では、例えばテーブルAを対象とする時、一対一関係のみで到達可能なテーブル群(テーブル)にはテーブルBが該当するため、新たなテーブル群A−Bを作る。ここで、テーブル群T1−T2は、お互いに一対一関係にあるテーブルT1、テーブルT2からなるテーブル群を表すものとする。 In S303, rows of ID 600 having a one-to-one relationship 603 and ID 600 of "1", "2", "7", and "8" are acquired from the table group relationship table 320. After that, S304 to S306 are repeated for the table A, the table B, the table D, and the table F. In S305, for example, when table A is targeted, table B corresponds to a table group (table) that can be reached only by a one-to-one relationship, so a new table group AB is created. Here, the table groups T1-T2 represent a table group including tables T1 and T2 having a one-to-one relationship with each other.

なお、本実施形態では、新たなテーブル群A−Bの代表テーブル群は、テーブルAとテーブルBを両方とも含むが、何れか一方のみを含むテーブル群を代表テーブルとしてもよい。例えば、テーブルAとテーブルBを比較すると、テーブル群A−B以外と関係603を持つのはテーブル群Bであることから、テーブルBのみを含むテーブル群を代表テーブル群としてもよい。S304〜S306を繰り返すことにより、新たなテーブル群として、テーブル群A−B、テーブル群D−Fが、二つずつ得られる。その後、S307で、重複を排除し、テーブル群A−B、テーブル群D−Fを、一つずつ得る。S308では、テーブル群間関係表320の元テーブル群601および先テーブル群602に含まれるテーブル群の中で、新たに作成したテーブル群A−B、テーブル群D−Fに含まれるテーブル群であるテーブル群A、テーブル群Bを、テーブル群A−Bに、テーブル群D、テーブル群Fを、テーブル群D−Fに、それぞれ置き換える。 In the present embodiment, the representative table group of the new table groups AB includes both the table A and the table B, but the table group including only one of them may be used as the representative table. For example, when the table A and the table B are compared, since it is the table group B that has the relationship 603 with other than the table groups AB, the table group including only the table B may be used as the representative table group. By repeating S304 to S306, two table groups AB and two table groups DF are obtained as new table groups. Then, in S307, duplication is eliminated, and table groups AB and table groups DF are obtained one by one. In S308, among the table groups included in the original table group 601 and the destination table group 602 of the inter-table group relationship table 320, the table groups included in the newly created table groups AB and the table groups DF. The table group A and the table group B are replaced with the table group AB, and the table group D and the table group F are replaced with the table group DF.

S308実施後のテーブル群間関係表320を表すと、図8に示されるようになる。S309では、図8のテーブル群間関係表320で取り消し線がついている行を削除する。 The table-group relationship table 320 after the implementation of S308 is shown in FIG. In S309, the rows with strikethroughs in the table-group relationship table 320 of FIG. 8 are deleted.

S305で新たに作成したテーブル群A−Bとテーブル群D−Fを対象に、S310〜S313を繰り返す。S311では、S310で着目したテーブル群を、ID700を採番した上で、割付表321に追加する。S312では、割付表321の割付番号702を更新する。更新対象のテーブル群701は、S305で新たに作成したテーブル群A−Bとテーブル群D−Fに含まれるテーブルA、テーブルB、テーブルD、テーブルFで、割付番号702に記載する番号は、テーブル群A−Bやテーブル群D−FのID700である。 S310 to S313 are repeated for the table groups AB and the table groups DF newly created in S305. In S311 the table group focused on in S310 is added to the allocation table 321 after numbering the ID 700. In S312, the allocation number 702 in the allocation table 321 is updated. The table group 701 to be updated is the table A, the table B, the table D, and the table F included in the table group AB and the table group DF newly created in S305. ID700 of the table group AB and the table group DF.

この例における一対一関係の畳み込み部201完了時のテーブル間の関係を表すと、図9に示されるようになる。図9で新たに導入された角欠四角は、テーブル群を表す記号とする。テーブル群A−B900とテーブル群D−F901は、S305で新たに作成したテーブル群である。 The relationship between the tables when the one-to-one convolution unit 201 is completed in this example is shown in FIG. The square missing square newly introduced in FIG. 9 is a symbol representing a table group. The table group A-B900 and the table group D-F901 are the table groups newly created in S305.

また、この例における一対一関係の畳み込み部201完了時のテーブル群間関係表320を表すと、図10に示されるようになる。このテーブル群間関係表320では、テーブルA、テーブルBの値のカラムと、テーブルD、テーブルFの値のカラムが消えて、新たに、テーブル群A−B、テーブル群D−Fが表れている。なお、図10の太字下線は、一対多関係であり、反射的な多対一関係のエントリがあることを示している。例えば、IDが6のエントリとID5のエントリ、IDが9のエントリとID10のエントリが反射的な関係にある。 Further, the table group relationship table 320 at the time of completion of the one-to-one relationship convolution unit 201 in this example is shown in FIG. In this table group relationship table 320, the column of the value of the table A and the table B and the column of the value of the table D and the table F disappear, and the table group AB and the table group DF newly appear. There is. The bold underline in FIG. 10 indicates that there is a one-to-many relationship and that there is a reflexive many-to-one relationship entry. For example, an entry with ID 6 and an entry with ID 5 and an entry with ID 9 and an entry with ID 10 have a reflexive relationship.

また、この例における一対一関係の畳み込み部201完了時の割付表321を表すと、図11に示されるようになる。図7と比較すると、テーブル群A−B(ID700は“8”)とテーブル群D−F(ID700は“9”)が増加し、テーブルA(ID700は“1”)とテーブルB(ID700は“2”)の割付番号702に“8”が記載されており、また、テーブルD(ID700は“4”)とテーブルF(ID700は“6”)の割付番号702に“9”が記載されている。 Further, the allocation table 321 at the time of completion of the one-to-one convolution unit 201 in this example is shown in FIG. Compared with FIG. 7, the table group AB (ID700 is “8”) and the table group DF (ID700 is “9”) are increased, and the table A (ID700 is “1”) and the table B (ID700 is “1”). "8" is described in the allocation number 702 of "2"), and "9" is described in the allocation number 702 of the table D (ID700 is "4") and the table F (ID700 is "6"). ing.

次に、図12ないし図17を用いてこの例における多対一関係の畳み込み部203の動作を説明する。
多対一関係の畳み込み部203開始時のテーブル群間関係表320は、一対一関係の畳み込み部201完了時の図10で、割付表321は、図11である。
Next, the operation of the multi-to-one convolution unit 203 in this example will be described with reference to FIGS. 12 to 17.
The table group relationship table 320 at the start of the many-to-one convolution unit 203 is FIG. 10 when the one-to-one convolution unit 201 is completed, and the allocation table 321 is FIG. 11.

テーブル群間関係表320の関係603に一対多が無くなるまで、S401〜S412を繰り返す。図10のテーブル群間関係表には、一対多関係が含まれている(図10中の太字下線)。 Relationship between table groups S401 to S412 are repeated until there is no one-to-many relationship in the relationship 603 of Table 320. The table-group relationship table of FIG. 10 includes a one-to-many relationship (bold underlined in FIG. 10).

S402の処理では、テーブル群間関係表320を入力とし、元テーブル群601に含まれるテーブル群を取得する。本例では、テーブル群A−B、テーブルC、テーブル群D−F、テーブルE、テーブルGを取得する。そして、S402で取得したテーブル群を対象に、S403〜S411を繰り返す。S404の処理では、テーブル群間関係表320の元テーブル群601が、S403で取得したテーブル群となっている関係を全て取得し、その全てが、一対一か一対多関係であるかを評価する。本例では、テーブル群D−FとテーブルGが、共に一対多関係のみを有している。テーブル群間関係表320の元テーブル群601がテーブル群D−Fとなっている行について、先テーブル群602を対象に、S405〜S410を繰り返す。本例では、テーブル群Cとテーブル群Eが該当する。テーブル群Cを対象にする場合は、S406の処理では、テーブルCを代表テーブル群とし、テーブル群D−Fを含む、テーブル群C:D−Fを作成する。ここで、TA:TBは、多対一関係にあるテーブル群(またはテーブル)TA、テーブル群(またはテーブル)TBをまとめたテーブル群を表すものとする。 In the process of S402, the table group relationship table 320 is input, and the table group included in the original table group 601 is acquired. In this example, the table groups AB, the table C, the table groups DF, the table E, and the table G are acquired. Then, S403 to S411 are repeated for the table group acquired in S402. In the process of S404, all the relationships in which the original table group 601 of the table group relationship table 320 is the table group acquired in S403 are acquired, and it is evaluated whether all of them are one-to-one or one-to-many relationships. In this example, the table groups DF and the table G both have only a one-to-many relationship. Relationship between table groups S405 to S410 are repeated for the destination table group 602 for the row in which the original table group 601 of the table 320 is the table group DF. In this example, table group C and table group E are applicable. When the table group C is targeted, in the process of S406, the table C is set as the representative table group, and the table group C: DF including the table group DF is created. Here, TA: TB is assumed to represent a table group in which a table group (or table) TA and a table group (or table) TB having a many-to-one relationship are put together.

また、テーブル群間関係表320の元テーブル群601と先テーブル群602のテーブル群Cを、テーブル群C:D−Fで置き換える。テーブル群Eを対象にする場合は、S406では、テーブル群Eを代表テーブル群とし、テーブル群D−Fとテーブル群Gを含むテーブル群E:D−F,Gを作成する。ここで、テーブル群(またはテーブル)TA、テーブル群(またはテーブル)TB、テーブル群(またはテーブル)TCに対して、TA:TB,TCの表記は、TA:TBとTA:TCをまとめた表記である。
また、テーブル群間関係表320の元テーブル群601と先テーブル群602のテーブル群Eを、テーブル群E:D−F,Gで置き換える。
Further, the table group C of the original table group 601 and the destination table group 602 in the table group relationship table 320 is replaced with the table group C: DF. When the table group E is targeted, in S406, the table group E is set as the representative table group, and the table groups E: DF and G including the table groups DF and the table group G are created. Here, with respect to the table group (or table) TA, the table group (or table) TB, and the table group (or table) TC, the notation of TA: TB and TC is a notation that summarizes TA: TB and TA: TC. Is.
Further, the table group E of the original table group 601 and the destination table group 602 in the table group relationship table 320 is replaced with the table groups E: DF and G.

S407の処理で削除対象とするテーブル群間関係表320を表すと、図12に示されるようになる。S407では、テーブル群間関係表320から、元テーブル群601がテーブル群D−Fかテーブル群Gの行(図12中の取り消し線)と、元テーブル群601と先テーブル群602が同じテーブル群を持つ行(図12中の太字下線)を削除する。S408の処理では、S406で作成したテーブル群(テーブル群C:D−Fとテーブル群E:D−F,G)を、ID700を採番した上で、割付表321に追加する。テーブル群C:D−Fの場合、S409の処理では、テーブル群D−F(ID700は“9”)の割付番号702に“10”を加え、テーブル群C(ID700は“3”)の割付番号702に“10”を加える。また、テーブル群E:D−F,Gの場合、S409では、テーブル群D−F(ID700は“9”)の割付番号702に“11”を加え、テーブル群E(ID700は“5”)の割付番号702に“11”を加える。 The table group relationship table 320 to be deleted in the process of S407 is shown in FIG. In S407, from the table group relationship table 320, the original table group 601 is the row of the table group DF or the table group G (cancellation line in FIG. 12), and the original table group 601 and the destination table group 602 are the same table group. Delete the line with (bold underline in FIG. 12). In the process of S408, the table group (table group C: DF and table group E: DF, G) created in S406 is added to the allocation table 321 after numbering the ID 700. In the case of table group C: DF, in the processing of S409, "10" is added to the allocation number 702 of the table group DF (ID700 is "9"), and the table group C (ID700 is "3") is assigned. Add "10" to number 702. Further, in the case of the table group E: DF, G, in S409, "11" is added to the allocation number 702 of the table group DF (ID700 is "9"), and the table group E (ID700 is "5"). Add "11" to the allocation number 702 of.

S401〜S412を1回完了した後のテーブル群間関係表320を表すと、図13に示されるようになる。 The table group relationship table 320 after completing S401 to S412 once is shown in FIG.

次に、S401〜S412を1回完了した後の割付表321を表すと、図14に示されるようになる。 Next, the allocation table 321 after completing S401 to S412 once is shown in FIG.

また、S401〜S412を1回完了した後のテーブル間の関係を図示すると、図15に示されるようなる。図示にあたっては、割付表321の割付番号702が空欄のテーブル群を表示対象とし、テーブル群間関係表320の関係603を利用して、テーブルおよびテーブル群間の関係を表す線を引く。なお、図15中の点線四角1500は、同一のテーブルまたはテーブル群を共有しているテーブル群を表している。ここでは、テーブル群C:D−F(1501)と、テーブル群E:D−F,G(1502)が、テーブル群D−Fを共有している。 Further, the relationship between the tables after completing S401 to S412 once is shown in FIG. In the illustration, the table group in which the allocation number 702 of the allocation table 321 is blank is displayed, and the relationship 603 of the table 320 is used to draw a line representing the table and the relationship between the table groups. The dotted square 1500 in FIG. 15 represents the same table or table group sharing the same table group. Here, the table group C: DF (1501) and the table groups E: DF, G (1502) share the table group DF.

図4に示される処理では、S401〜S412を1回完了すると、S401に戻り2回目のループに入る。 In the process shown in FIG. 4, when S401 to S412 are completed once, the process returns to S401 and enters the second loop.

S401〜S412を2回完了した後のテーブル間の関係を図示すると、図16に示されるようになる。 The relationship between the tables after completing S401 to S412 twice is shown in FIG.

また、この時の割付表321を表すと、図17に示されるようになる。S401〜S412を2回完了した時点で、テーブル群間関係表320は、全ての行が削除済みで、空の状態である。 Further, the allocation table 321 at this time is shown in FIG. When S401 to S412 are completed twice, the table group relationship table 320 is empty with all rows deleted.

この後、S401に戻るが、テーブル群間関係表320が空の状態であり、一対一や一対多関係は存在しないため、S413に移動し、多対一関係の畳み込み部203の処理を終了する。 After that, the process returns to S401, but since the table group relationship table 320 is empty and there is no one-to-one or one-to-many relationship, the process moves to S413 and the processing of the convolution unit 203 of the many-to-one relationship is completed.

次に、図18を用いてテーブル関係解析支援装置の解析結果の表示画面を説明する。
未選択時の画面1800を表すと、図18(a)に示されるようになる。
図18(a)に示される未選択時の画面1800は、前述の例において分析が完了した後、テーブル間関係情報200およびテーブル間関係分析情報202を、初期状態として、表示する。
Next, a display screen of the analysis result of the table-related analysis support device will be described with reference to FIG.
The screen 1800 when not selected is shown in FIG. 18 (a).
The unselected screen 1800 shown in FIG. 18A displays the table-to-table relationship information 200 and the table-to-table relationship analysis information 202 as initial states after the analysis is completed in the above example.

解析結果の表示画面では、表示してあるテーブル群を一つ以上選択できるようにする。例えば、テーブル群A−B:C,D−F(1601)を選択した場合には、図18(b)に示されるA−B:C,D−F選択時画面1801の様に表示し、テーブル群E:D−F,G(1602)を選択した場合には、図18(c)に示されるE:D−F,G選択時画面1802を表示する様にする。 On the analysis result display screen, one or more displayed tables can be selected. For example, when the table groups AB: C and DF (1601) are selected, they are displayed as shown in the screen 1801 when AB: C and DF are selected as shown in FIG. 18 (b). When the table group E: DF, G (1602) is selected, the screen 1802 when E: DF, G is selected as shown in FIG. 18C is displayed.

A−B:C,D−Fを選択した場合の例で、表示内容を説明する。選択したテーブル群A−B:C,D−Fには、テーブルA500〜テーブルD503、テーブルF505が含まれる。これらのテーブルを表示し、テーブル間関係情報200に基づき、テーブル間に関係を表す線を引く。また、選択したテーブル群以外のテーブル群も表示する。さらに、表示した各テーブルが、その他のテーブル群に含まれる場合は、そのテーブル-テーブル群間にテーブルの共有関係を表す点線を引く。加えて、選択したテーブル群A−B:C,D−Fの代表テーブル群であるテーブル群A−Bに含まれるテーブルが分かる様に表示してもよい(図中では太字下線)。これは、例えば、テーブルAに着目してその構造を調べた場合に有効な操作である。 AB: The display contents will be described with an example in which C and DF are selected. The selected table groups AB: C and DF include tables A500 to D503 and table F505. These tables are displayed, and a line indicating the relationship between the tables is drawn based on the table-to-table relationship information 200. It also displays table groups other than the selected table group. Furthermore, if each displayed table is included in other table groups, a dotted line indicating the table sharing relationship is drawn between the table and the table group. In addition, the tables included in the table groups AB, which are the representative table groups of the selected table groups AB: C and DF, may be displayed so that they can be seen (bold underlined in the figure). This is an effective operation when, for example, the structure of the table A is investigated by paying attention to it.

他に、分析結果表示部204では、ユーザの操作やテーブル間の情報を入力とし、新たなテーブル群の作成や、既存のテーブル群の分割等が可能であってもよいし、また、ユーザの操作やテーブルの情報を入力とし、テーブルやそのテーブルを含むテーブル群を区別できるように表示する機能を有してもよい。前者の例として、既存のテーブル群を分割するために、テーブルの時系列的な更新順序に関する情報を入力とし、更新タイミングが異なるテーブルをテーブル群から除く方法などがある。後者の例として、テーブルのマスタテーブル/トランザクションテーブルの情報を入力とし、マスタテーブルを別の色で表示したり、グループ群外に切り出して表示したりすることで、データの変化が少なく、その理解が容易なマスタテーブルの情報を先に理解したうえで、トランザクションテーブルとの関係を把握できるようにする方法などがある。 In addition, the analysis result display unit 204 may be able to create a new table group, divide an existing table group, or the like by inputting user operations or information between tables, or the user's. It may have a function of inputting operation and table information and displaying the table and the table group including the table so as to be distinguished. As an example of the former, in order to divide an existing table group, there is a method of inputting information on the time-series update order of tables and excluding tables having different update timings from the table group. As an example of the latter, by inputting the information of the master table / transaction table of the table and displaying the master table in a different color or cutting it out of the group group and displaying it, there is little change in the data and it is understood. There is a method to understand the relationship with the transaction table after first understanding the information of the master table, which is easy to use.

さらに、分析結果表示部204は、一対一関係の畳み込み部201や多対一関係の畳み込み部203等、各機能の実行経過を表示する機能を有していてもよい。例えば、図18(b)に示されるA−B:C,D−F選択時画面1801において、一対一関係の畳み込み部201実行後の結果として、テーブルAとテーブルB、テーブルDとテーブルFをまとめ、テーブル群A−Bとテーブル群D−Fとして表示してもよく、それにより、より理解すべき対象となるテーブルおよびテーブル群を絞り込めるため、理解が容易になる。加えて、分析結果表示部204は、カーディナリティ情報以外のテーブル間の関係を入力とし、その関係が分かるように表示する機能を有していてもよい。例えば、テーブル間のFKに該当するデータの重複割合を入力とし、その割合に応じて関係603を表す線の太さを変えることによって、両テーブル間の等価/従属的な関係等の理解が容易になる。 Further, the analysis result display unit 204 may have a function of displaying the execution progress of each function, such as a one-to-one relationship convolution unit 201 and a many-to-one relationship convolution unit 203. For example, on the screen 1801 when AB: C, DF is selected shown in FIG. 18B, as a result after executing the folding unit 201 having a one-to-one relationship, the table A and the table B, and the table D and the table F are displayed. In summary, they may be displayed as table groups AB and table groups DF, which makes it easier to understand because the tables and table groups to be understood can be narrowed down. In addition, the analysis result display unit 204 may have a function of inputting a relationship between tables other than cardinality information and displaying the relationship so that the relationship can be understood. For example, by inputting the overlap ratio of data corresponding to FK between tables and changing the thickness of the line representing the relationship 603 according to the ratio, it is easy to understand the equivalent / subordinate relationship between the two tables. become.

なお、本実施形態に記載の方法では、テーブル間の関係に、多対多関係がある場合や、多対一関係によって構成された閉路がある場合は正しく動作しない。ただし、リレーショナルデータベースでは、正規化により多対多関係が存在しない様にすることが一般的である。同様に、多対一関係によって構成される閉路も、正規化により解消されることが多いため、十分に実用的であるといえる。 The method described in this embodiment does not operate correctly when there is a many-to-many relationship between the tables or when there is a cycle configured by the many-to-one relationship. However, in relational databases, it is common to normalize so that there is no many-to-many relationship. Similarly, a cycle formed by a many-to-one relationship can be said to be sufficiently practical because it is often eliminated by normalization.

このように本実施形態では、リレーショナルデータベースのテーブル関係を、一対一、一対多の関係にあるかなどの観点から解析して、図18(a)に示されるような画面を表示する。そして、ユーザが着目して、その構造を調べたいテーブルが含まれるテーブル群のアイコンをクリックすることにより、展開した図18(b)、図18(c)のように構造が詳細に展開された画面を見ることができる。これは、特に大規模データベースで複雑なテーブル関係を有するデータベースの構造を迅速に解析でき、直感的に把握しやすくするために有効である。 As described above, in the present embodiment, the table relationship of the relational database is analyzed from the viewpoint of whether there is a one-to-one or one-to-many relationship, and the screen as shown in FIG. 18A is displayed. Then, the user pays attention and clicks the icon of the table group including the table whose structure is to be examined, so that the structure is expanded in detail as shown in FIGS. 18 (b) and 18 (c). You can see the screen. This is effective because the structure of a database having a complicated table relationship can be quickly analyzed, especially in a large-scale database, and it is easy to grasp intuitively.

以上、本実施形態では、データの関係理解のために着目したデータと関連するデータが一つではなく複数あると、関係の理解が難しくなることに注目して、テーブルに含まれるデータ間の一対一、一対多、多対一、多対多関係の内、一対一・多対一関係にあるテーブルの集合(テーブル群)を作成することにより、関連するデータの関係を視覚的に分かりやすく表示して、テーブル群内の関係の理解を容易にする。 As described above, in the present embodiment, paying attention to the fact that it is difficult to understand the relationship if there are a plurality of data related to the data focused on for understanding the relationship of the data, the pair of data included in the table. By creating a set (table group) of tables that have a one-to-one / many-to-one relationship among one-to-many, many-to-one, and many-to-many relationships, the relationship of related data is displayed in an easy-to-understand manner. This makes it easier to understand the relationships within the table group.

また、テーブル群を作ることよって、一度に着目すべき関係を削減できるため、データベースの構造、すなわち、テーブルとテーブル群や、テーブル群間の関係把握が容易となる。 In addition, by creating a table group, the relationships that should be focused on at one time can be reduced, so that the structure of the database, that is, the table and the table group, and the relationship between the table groups can be easily grasped.

〔実施形態2〕
以下、本発明の実施形態2を、図20ないし図41を用いて説明する。
実施形態1に記載のテーブル関係解析支援方法は、テーブル間の関係に、一対一、一対多、多対一の関係がある場合に適用される方法であり、多対多関係がある場合や、多対一関係によって構成された閉路がある場合については述べなかった。
[Embodiment 2]
Hereinafter, Embodiment 2 of the present invention will be described with reference to FIGS. 20 to 41.
The table relationship analysis support method described in the first embodiment is a method applied when there is a one-to-one, one-to-many, or many-to-one relationship between tables, and when there is a many-to-many relationship or many. I did not mention the case where there is a cycle composed of one-to-one relationships.

本実施形態は、テーブル間の関係に、実施形態1のパターンに加えて、多対多関係がある場合や、多対一関係によって構成された閉路がある場合について適用されるものである。 This embodiment is applied to the case where the relationship between the tables has a many-to-many relationship in addition to the pattern of the first embodiment or a closed circuit configured by the many-to-one relationship.

さらに、実施形態1では、図5に示されるテーブル間の関係に関する情報は、外部から与えられものとして記述したが、本実施形態では、解析対象のデータベースのテーブルから、テーブル間の関係を求める機能についても説明する。 Further, in the first embodiment, the information regarding the relationship between the tables shown in FIG. 5 is described as being given from the outside, but in the present embodiment, the function of obtaining the relationship between the tables from the table of the database to be analyzed. Will also be described.

本実施形態では、実施形態1と異なった所を中心的に説明するものとする。 In this embodiment, the points different from those in the first embodiment will be mainly described.

先ず、図19および図20を用いて実施形態2のテーブル関係解析支援装置の構成について説明する。 First, the configuration of the table-related analysis support device of the second embodiment will be described with reference to FIGS. 19 and 20.

本実施形態のテーブル関係解析支援装置100は、図1で示した実施形態1の機能構成に加えて、機能構成として、テーブル間関係抽出部1901、多対多関係の切断部1903、閉路分割部1907がある。 In addition to the functional configuration of the first embodiment shown in FIG. 1, the table-relationship analysis support device 100 of the present embodiment has a table-to-table relationship extraction unit 1901, a many-to-many relationship cutting unit 1903, and a closed circuit division unit. There is 1907.

テーブル間関係抽出部1901は、FK情報1902を入力とし、解析対象データベース1900を分析して、テーブル間関係情報200を出力する。FK情報1902は、少なくとも解析対象データベース1900に含まれるテーブル間にある外部キーの情報を含んでいる。解析対象データベース1900は、リレーショナルデータベースを想定しているが、外部キーに類似する制約を定義できるデータの集合であれば、本実施形態のテーブル関係解析支援装置で扱うことができる。多対多関係の切断部1903は、テーブル間関係情報200を入力とし、多対多関係テーブルリスト1904と多対多関係切断済みテーブル間関係情報1905を出力する。多対多関係テーブルリスト1904は、少なくともテーブル間関係情報200のうち、多対多関係を持つテーブルの組を記録するものである。多対多関係切断済みテーブル間関係情報1905は、テーブル間関係情報200から、関係603が多対多の行を除いたものである。テーブル間関係分析情報1906は、テーブル間関係分析情報202の割付表321に閉路共有番号(後述)を加えたものである。閉路分割部1907は、テーブル間関係分析情報1906に含まれる、多対一関係で構成される閉路を取り除き、テーブル間関係分析情報1906を更新する。分析結果表示部1908は、実施形態1の分析結果表示部204に加えて、多対多関係が分かるように表示する機能を有する。 The table-to-table relationship extraction unit 1901 takes the FK information 1902 as an input, analyzes the analysis target database 1900, and outputs the table-to-table relationship information 200. The FK information 1902 includes at least the information of the foreign key between the tables included in the analysis target database 1900. The analysis target database 1900 is assumed to be a relational database, but if it is a set of data that can define a constraint similar to a foreign key, it can be handled by the table relation analysis support device of the present embodiment. The many-to-many relationship cutting unit 1903 inputs the table-to-table relationship information 200, and outputs the many-to-many relationship table list 1904 and the many-to-many relationship disconnected table-to-table relationship information 1905. The many-to-many relationship table list 1904 records at least a set of tables having a many-to-many relationship out of the table-to-table relationship information 200. The many-to-many relationship disconnected table-to-table relationship information 1905 is obtained by removing the rows of the many-to-many relationship 603 from the table-to-table relationship information 200. The inter-table relationship analysis information 1906 is obtained by adding a closed circuit sharing number (described later) to the allocation table 321 of the inter-table relationship analysis information 202. The closed circuit dividing unit 1907 removes the closed circuit composed of the many-to-one relationship included in the table-to-table relationship analysis information 1906, and updates the table-to-table relationship analysis information 1906. The analysis result display unit 1908 has, in addition to the analysis result display unit 204 of the first embodiment, a function of displaying so that the many-to-many relationship can be understood.

また、本実施形態のテーブル関係解析支援装置100は、実施形態1のテーブル関係解析支援装置100に加えて、外部記憶装置150に、テーブル間関係抽出モジュール151d、多対多関係の切断モジュール151e、閉路分割モジュール151fがインストールされている。テーブル間関係抽出モジュール151d、多対多関係の切断モジュール151e、閉路分割モジュール151fは、各々テーブル間関係抽出部1901、多対多関係の切断部1903、閉路分割部1907の機能を実行するモジュールである。テーブル関係解析支援装置100は、実施形態1と同様に、CPU110より、外部記憶装置150から主メモリ130にロードされたこれらのモジュールを実行する。 In addition to the table-relationship analysis support device 100 of the first embodiment, the table-relationship analysis support device 100 of the present embodiment includes an external storage device 150, an inter-table relationship extraction module 151d, and a many-to-many relationship cutting module 151e. The closed circuit division module 151f is installed. The inter-table relationship extraction module 151d, the many-to-many relationship cutting module 151e, and the closed circuit dividing module 151f are modules that execute the functions of the inter-table relationship extracting unit 1901, the many-to-many relationship cutting unit 1903, and the closed circuit dividing unit 1907, respectively. is there. Similar to the first embodiment, the table-related analysis support device 100 executes these modules loaded from the external storage device 150 into the main memory 130 by the CPU 110.

また、本実施形態のテーブル関係解析支援装置100は、実施形態1のテーブル関係解析支援装置100に加えて、外部記憶装置150に、データとして、解析対象データベース1900、FK情報1902、多対多関係テーブルリスト1904、多対多関係切断済みテーブル間関係情報1905が格納されている。 Further, the table-relationship analysis support device 100 of the present embodiment, in addition to the table-relationship analysis support device 100 of the first embodiment, stores the analysis target database 1900, FK information 1902, and many-to-many relationship as data in the external storage device 150. The table list 1904 and the many-to-many relationship disconnected table-to-table relationship information 1905 are stored.

次に、図21を用いてテーブル間関係抽出部1901の処理について説明する。
テーブル間関係抽出部1901は、解析対象データベース1900に含まれる全てのテーブルの全てのペアについて、総当りで、☆★:S2001〜S2015を繰り返す。以降、☆のループにおけるS2001で着目したテーブルをテーブルX、★のループにおけるS2002で着目したテーブルをテーブルYと呼ぶ。
Next, the process of the inter-table relationship extraction unit 1901 will be described with reference to FIG.
The inter-table relationship extraction unit 1901 repeats ☆ ★: S2001 to S2015 in a round-robin manner for all pairs of all tables included in the analysis target database 1900. Hereinafter, the table focused on in S2001 in the loop of ☆ will be referred to as table X, and the table focused in S2002 in the loop of ★ will be referred to as table Y.

先ず、テーブルXとテーブルYの間に定義された外部キーを、FK情報1902から取得する(S2003)。ここで、テーブルX側の外部キーをFKxと表記し、テーブルY側の外部キーをFKyと表記する。 First, the foreign key defined between the table X and the table Y is acquired from the FK information 1902 (S2003). Here, the foreign key on the table X side is referred to as FKx, and the foreign key on the table Y side is referred to as FKy.

次に、解析対象データベース1900から、FKxのデータを全て取得し、重複を排除してユニークなデータDXの集合にする(S2004)。そして、S2004で取得した全てのユニークなデータDXに対して、〇:S2005〜S2007を繰り返す。 Next, all the FKx data is acquired from the analysis target database 1900, duplication is eliminated, and a unique set of data DX is obtained (S2004). Then, 〇: S2005 to S2007 are repeated for all the unique data DX acquired in S2004.

先ず、S2005で着目したデータに対応するFKyのデータの数を取得し、そのデータの数を判定し(S2006)、その数が、2未満の場合(S2006:2未満)はS2007へ、2以上の場合(S2006:2以上)はS2011へ進む。 First, the number of FKy data corresponding to the data of interest in S2005 is acquired, the number of the data is determined (S2006), and if the number is less than 2 (S2006: less than 2), go to S2007 and 2 or more. In the case of (S2006: 2 or more), the process proceeds to S2011.

次に、FXxのデータに重複があるか否かを判定し(S2008)、重複が無ければ(S2008:YES)、S2009へ、重複があれば(S2008:NO)、S2010へ進む。 Next, it is determined whether or not there is duplication in the FXx data (S2008), and if there is no duplication (S2008: YES), the process proceeds to S2009, and if there is a duplication (S2008: NO), the process proceeds to S2010.

次に、FXxのデータに重複があるか否かを判定し(S2011)、重複が無ければ(S2011:YES)、S2012へ、重複があれば(S2011:NO)S2013へ進む。 Next, it is determined whether or not there is duplication in the FXx data (S2011), and if there is no duplication (S2011: YES), the process proceeds to S2012, and if there is a duplication (S2011: NO), the process proceeds to S2013.

S2008がYESのとき、出力するテーブル間関係情報200に、元テーブルがX、先テーブルがY、関係が一対一の行を追加する(S2009)。 When S2008 is YES, a row having an original table of X, a destination table of Y, and a relationship of one-to-one is added to the output table-to-table relationship information 200 (S2009).

S2008がNOのとき、出力するテーブル間関係情報200に、元テーブルがX、先テーブルがY、関係が多対一の行を追加する(S2010)。 When S2008 is NO, a row in which the source table is X, the destination table is Y, and the relationship is many-to-one is added to the output table-to-table relationship information 200 (S2010).

S2011がYESのとき、出力するテーブル間関係情報200に、元テーブルがX、先テーブルがY、関係が一対多の行を追加する(S2012)。 When S2011 is YES, a row having an original table of X, a destination table of Y, and a relationship of one-to-many is added to the output table-to-table relationship information 200 (S2012).

S2011がNOのとき、出力するテーブル間関係情報200に、元テーブルがX、先テーブルがY、関係が多対多の行を追加する(S2013)。 When S2011 is NO, a row with an original table of X, a destination table of Y, and a many-to-many relationship is added to the output table-to-table relationship information 200 (S2013).

そして、☆★:S2001〜S2015のループを抜けたとき、テーブル間関係抽出部1901は、テーブル間関係情報200を出力する(S2016)。 Then, when the loop of ☆ ★: S2001 to S2015 is exited, the table-to-table relationship extraction unit 1901 outputs the table-to-table relationship information 200 (S2016).

次に、図22を用いて多対多関係の切断部1903の処理について説明する。
先ず、多対多関係の切断部1903は、テーブル間関係情報200の中から、関係が多対多の行を抽出し、削除する(S2101)。
Next, the processing of the many-to-many relationship cutting portion 1903 will be described with reference to FIG.
First, the many-to-many relationship cutting unit 1903 extracts and deletes a row having a many-to-many relationship from the table-to-table relationship information 200 (S2101).

次に、S2101で抽出した行の元テーブルと先テーブルを多対多関係テーブルリスト1904に追加する(S2102)。 Next, the source table and the destination table of the rows extracted in S2101 are added to the many-to-many relationship table list 1904 (S2102).

次に、図23を用いて閉路分割部1907の処理について説明する。
先ず、テーブル群間関係表320から、多対一関係で構成される、同一のテーブル群が二つ以上含まれない閉路を抽出する(S2201)。閉路を抽出するアルゴリズムには、公知のものがあるので、それを利用することができる。
Next, the process of the closed circuit dividing portion 1907 will be described with reference to FIG. 23.
First, from the table group relationship table 320, a cycle that is composed of a many-to-one relationship and does not include two or more identical table groups is extracted (S2201). Since there is a known algorithm for extracting a cycle, it can be used.

次に、S2201で取得した閉路を構成する全テーブル群を取得する(S2202)。S2202で取得したテーブル群Tcを対象に、☆:S2203〜S2208を繰り返す。 Next, all the table groups constituting the closed cycle acquired in S2201 are acquired (S2202). With respect to the table group Tc acquired in S2202, ☆: S2203 to S2208 are repeated.

先ず、S2201で取得した閉路の中から、S2203で着目したテーブル群Tcを含む閉路を抽出し、それぞれの閉路を新たなテーブル群とする(S2204)。 First, from the cycles acquired in S2201, the cycles including the table group Tc focused in S2203 are extracted, and each cycle is used as a new table group (S2204).

次に、テーブル群間関係表320の元テーブル群601と先テーブル群602に含まれるS2202で取得したテーブル群Tcを、S2204で作成した新たなテーブル群で置き換える(S2205)。 Next, the table group Tc acquired in S2202 included in the original table group 601 and the destination table group 602 in the table group relationship table 320 is replaced with a new table group created in S2204 (S2205).

次に、S2204で作成した新たなテーブル群が、割付表2212に含まれていない場合、ID700を採番した上で追加する(S2206)。 Next, when the new table group created in S2204 is not included in the allocation table 2212, the ID 700 is numbered and added (S2206).

次に、閉路に含まれるテーブル群について、割付表2212の割付番号702に、対応するテーブル群のS2206で採番したID700を、重複が無ければ記載する(S2207)。 Next, with respect to the table group included in the cycle, the ID 700 numbered in S2206 of the corresponding table group is described in the allocation number 702 of the allocation table 2212 if there is no duplication (S2207).

次に、閉路からなる全てのテーブル群について、同じテーブルを含むテーブル群701の閉路共有番号3000に、互いのテーブル群701のID700を記載する(S2209)。 Next, for all the table groups consisting of closed circuits, the ID 700 of each other's table group 701 is described in the closed circuit sharing number 3000 of the table group 701 including the same table (S2209).

次に、テーブル群間関係表320から、元テーブル群601と先テーブル群602に、一つ以上、同じ閉路を表すテーブル群701が含まれている行を削除する(S2210)。なお、本実施形態では、閉路内の構造の解析について支援することについては記載していないが、閉路内のいずれかの関係603を切断することで、閉路内についても多対一関係の畳み込み部203等により、構造の解析をすることが可能となる。このとき、切断位置としては、例えば、一対多関係のみを持つテーブルについて、閉路を構成する一対多関係を切断することにより、閉路内のテーブルと閉路外のテーブルとの関係の把握が容易になる。 Next, from the table group relationship table 320, a row in which one or more table groups 701 representing the same cycle are included in the original table group 601 and the destination table group 602 is deleted (S2210). In this embodiment, it is not described to support the analysis of the structure in the cycle, but by cutting any relationship 603 in the cycle, the convolution part in the many-to-one relationship also in the cycle. With 203 and the like, it becomes possible to analyze the structure. At this time, as the cutting position, for example, for a table having only a one-to-many relationship, by cutting the one-to-many relationship constituting the closed cycle, it becomes easy to grasp the relationship between the table inside the cycle and the table outside the cycle.

次に、図24ないし図40を用いて具体例に基づいたテーブル関係解析支援装置100の動作を説明する。
本実施形態では、図24に示されるダイヤグラムで表されるリレーショナルデータベースのテーブル間の関係を例として取り上げる。
Next, the operation of the table relation analysis support device 100 based on a specific example will be described with reference to FIGS. 24 to 40.
In this embodiment, the relationship between the tables of the relational database represented by the diagram shown in FIG. 24 will be taken as an example.

実施形態1と同様に、テーブルA2300〜テーブルM2312は、テーブルを表し、線はテーブルやテーブル群間の関係が一対一であること、片矢印はテーブルやテーブル群間の関係が多対一であることを表している。本発明では、新規の表記として、双矢印はテーブルやテーブル群間の関係が多対多であることを表している。 Similar to the first embodiment, the table A2300 to the table M2312 represent a table, the line indicates that the relationship between the tables and the table groups is one-to-one, and the one-sided arrow indicates that the relationship between the tables and the table groups is many-to-one. It represents that. In the present invention, as a novel notation, double-headed arrows indicate that there are many-to-many relationships between tables and table groups.

実施形態2で取り上げる例では、テーブルA、テーブルC、テーブルD、テーブルB、また、テーブルA、テーブルG、テーブルH、テーブルI、テーブルBが閉路を形成していること、および、テーブルKとテーブルLが多対多の関係にあることに留意する。 In the example taken up in the second embodiment, the table A, the table C, the table D, the table B, the table A, the table G, the table H, the table I, and the table B form a closed path, and the table K Note that the table L has a many-to-many relationship.

以下、図25ないし図28を用いて、多対多関係の切断部1903の動作を説明する。
図24のダイヤグラムに示したテーブル間の関係は、図25のテーブル間関係情報200で表現される。図22のS2101では、テーブル間関係情報200から、多対多関係を持つ行(ID2400が“25”と“26”)を削除する。S2102では、S2101で削除した行の元テーブル2401と先テーブル2402であるテーブルKとテーブルL、および、テーブルLとテーブルKを、多対多関係テーブルリスト1904に追加する。
Hereinafter, the operation of the many-to-many relationship cutting portion 1903 will be described with reference to FIGS. 25 to 28.
The relationship between the tables shown in the diagram of FIG. 24 is represented by the table-to-table relationship information 200 of FIG. In S2101 of FIG. 22, rows having a many-to-many relationship (ID2400 is “25” and “26”) are deleted from the table-to-table relationship information 200. In S2102, the original table 2401 and the destination table 2402 of the row deleted in S2101, the table K and the table L, and the table L and the table K are added to the many-to-many relationship table list 1904.

多対多関係の切断部1903完了後の多対多関係切断済みテーブル間関係情報1905を表すと、図26に示されるようになる。 The many-to-many relationship disconnected table-to-table relationship information 1905 after the completion of the many-to-many relationship cutting section 1903 is shown in FIG.

多対多関係の切断部1903完了後の多対多関係テーブルリスト1904を示すと、図27に示されるようになる。 The many-to-many relationship table list 1904 after the completion of the many-to-many relationship cutting section 1903 is shown in FIG. 27.

多対多関係の切断部1903完了後のテーブル間の関係のダイヤグラムは、図28に示されるようになる。 A diagram of the relationship between the tables after the many-to-many cutting section 1903 is completed is as shown in FIG.

次に、図29ないし図35を用いて、閉路分割部1907の動作を説明する。
多対多関係の切断部1903の完了後、さらに一対一関係の畳み込み部201を適用し、閉路分割部1907の入力となるテーブルおよびテーブル群間の関係を図示すると、図29に示されるようになる。ここでは、テーブルLとテーブルMがテーブル群L−Mとしてまとめられている。
Next, the operation of the closed circuit dividing portion 1907 will be described with reference to FIGS. 29 to 35.
After the completion of the many-to-many cutting section 1903, the one-to-one convolution section 201 is further applied, and the table and the relationship between the table groups that are the inputs of the closed circuit dividing section 1907 are illustrated, as shown in FIG. Become. Here, the table L and the table M are grouped together as a table group LM.

次に、閉路分割部1907の入力となるテーブル群間関係表320を示すと、図30に示されるようになる。これは、図26のテーブル関係情報と等価な情報を持つ表である。 Next, the table group relationship table 320, which is the input of the closed circuit dividing unit 1907, is shown in FIG. This is a table having information equivalent to the table-related information in FIG. 26.

次に、ここでの閉路分割部1907の入力となる割付表2212を示すと、図30は、図31に示されるようになる。 Next, when the allocation table 2212, which is the input of the closed circuit dividing portion 1907, is shown, FIG. 30 is shown in FIG. 31.

図23のS2201では、テーブル群間関係表320に含まれる、多対一関係で構成される閉路である閉路A*C*D*Bと閉路A*G*H*I*Bを抽出する。ここで、テーブルT1、テーブルT2、…、テーブルTnに対し、T1*T2*…*Tnは、ダイヤグラム上で、テーブルT1、テーブルT2、…、テーブルTnが閉路を形成することを意味する。 In S2201 of FIG. 23, the closed cycles A * C * D * B and the closed paths A * G * H * I * B, which are closed paths composed of a many-to-one relationship, included in the table group relationship table 320 are extracted. Here, with respect to the table T1, the table T2, ..., The table Tn, T1 * T2 * ... * Tn means that the table T1, the table T2, ..., The table Tn form a cycle on the diagram.

次に、S2202では、S2201で取得した閉路を構成するテーブルA、テーブルB、テーブルC、テーブルD、テーブルH、テーブルI、テーブルG、を取得する。S2202で取得したテーブルを対象に、S2203〜S2208を繰り返す。S2203でテーブル群Aに着目した場合、S2204では、閉路A*C*D*Bと閉路A*G*H*I*Bについて、テーブル群A*C*D*Bとテーブル群A*G*H*I*Bを作成する。 Next, in S2202, the table A, the table B, the table C, the table D, the table H, the table I, and the table G, which constitute the closed circuit acquired in S2201, are acquired. S2203 to S2208 are repeated for the table acquired in S2202. When focusing on the table group A in S2203, in S2204, for the closed circuit A * C * D * B and the closed circuit A * G * H * I * B, the table group A * C * D * B and the table group A * G * Create H * I * B.

S2205では、テーブル群A*C*D*Bにより、テーブル群間関係表320の元テーブル群601と先テーブル群602に含まれるテーブルA、テーブルC、テーブルD、テーブルBを、全てテーブル群A*C*D*Bに置き換え、テーブル群A*G*H*I*Bにより、テーブル群間関係表320の元テーブル群601と先テーブル群602に含まれるテーブルA、テーブルG、テーブルH、テーブルI、テーブルBをテーブル群A*G*H*I*Bで置き換える。なお、テーブル群Aとテーブル群Bは双方の閉路に含まれているので、テーブル群A*C*D*Bとテーブル群A*G*H*I*Bを併記する。 In S2205, according to the table group A * C * D * B, the table A, the table C, the table D, and the table B included in the original table group 601 and the destination table group 602 of the table group relationship table 320 are all table group A. Replaced with * C * D * B, and by table group A * G * H * I * B, table A, table G, table H, which are included in the original table group 601 and the destination table group 602 of the table group relationship table 320. Table I and table B are replaced with the table group A * G * H * I * B. Since the table group A and the table group B are included in both cycles, the table group A * C * D * B and the table group A * G * H * I * B are described together.

次に、S2206では、ID700を採番した上で、割付表2212にテーブル群A*C*D*Bとテーブル群A*G*H*I*Bを追記する。 Next, in S2206, after numbering the ID700, the table group A * C * D * B and the table group A * G * H * I * B are added to the allocation table 2212.

次に、S2207では、テーブル群A*C*D*Bにより、テーブルA、テーブルC、テーブルD、テーブルBの割付番号702に、S2205で採番したID700である“15”を記載し、テーブル群A*G*H*I*Bにより、テーブルA、テーブルG、テーブルH、テーブルI、テーブルBの割付番号702に、S2205で採番したID700である“16”を記載する。なお、テーブル群Aとテーブル群Bは、双方の閉路に含まれるので、テーブル群A*C*D*Bとテーブル群A*G*H*I*Bの双方のID700を併記する。 Next, in S2207, the table group A * C * D * B describes "15", which is the ID 700 numbered in S2205, in the allocation number 702 of the table A, the table C, the table D, and the table B, and the table. According to the group A * G * H * I * B, "16", which is the ID 700 numbered in S2205, is described in the allocation number 702 of the table A, the table G, the table H, the table I, and the table B. Since the table group A and the table group B are included in both cycles, the ID 700s of both the table group A * C * D * B and the table group A * G * H * I * B are described together.

次に、S2209では、閉路を表すテーブル群A*C*D*Bとテーブル群A*G*H*I*Bで共有するテーブル群、テーブル群Aとテーブル群Bが存在するので、テーブル群A*C*D*Bの閉路共有番号3000にテーブル群A*G*H*I*BのID700である“16”を記載し、同様に、テーブル群A*G*H*I*Bの閉路共有番号3000に、テーブル群A*C*D*BのID700である“15”を記載する。 Next, in S2209, since there are a table group A * C * D * B representing a closed circuit and a table group shared by the table group A * G * H * I * B, a table group A and a table group B, the table group “16”, which is the ID 700 of the table group A * G * H * I * B, is described in the closed circuit sharing number 3000 of the A * C * D * B, and similarly, the table group A * G * H * I * B of the table group A * G * H * I * B. The ID 700 of the table group A * C * D * B, "15", is described in the closed circuit sharing number 3000.

次に、S2210では、テーブル群間関係表320の中で、元テーブル群601と先テーブル群602に一つ以上同一のテーブル群を含む行を削除する。 Next, in S2210, in the table group relationship table 320, a row containing one or more same table groups in the original table group 601 and the destination table group 602 is deleted.

S2210実施前のテーブル群間関係表320を表すと、図33に示されるようになり、取り消し線を引いた行が削除対象である。 The table 320 between the table groups before the implementation of S2210 is shown in FIG. 33, and the row with the strikethrough is the target of deletion.

閉路分割部1907実施後のテーブル群間関係表320を表すと、図34に示されるようになる。
そして、閉路分割部1907実施後のテーブル間の関係を表すと、図35に示されるようになる。
The table group relationship table 320 after the implementation of the closed circuit dividing portion 1907 is shown in FIG. 34.
Then, the relationship between the tables after the closed circuit dividing portion 1907 is implemented is shown in FIG. 35.

閉路分割部1907実施後は、多対一関係の畳み込み部203を実施する。
多対一関係の畳み込み部203において、S401〜S412を1回完了した時点での割付表2212を示すと、図36のようになる。また、多対一関係の畳み込み部203において、S401〜S412を1回完了した時点でのテーブルおよびテーブル群間の関係を表すと、図37のダイヤグラムに示されるようになる。
After the closed circuit dividing portion 1907 is implemented, the convolution portion 203 having a many-to-one relationship is implemented.
FIG. 36 shows the allocation table 2212 at the time when S401 to S412 are completed once in the convolution unit 203 having a many-to-one relationship. Further, in the convolution unit 203 having a many-to-one relationship, the relationship between the table and the table group at the time when S401 to S412 are completed once is shown in the diagram of FIG. 37.

次に、多対一関係の畳み込み部203において、S401〜S412を2回完了した時点での割付表2212を示すと、図38のようになる。また、多対一関係の畳み込み部203において、S401〜S412を2回完了した時点でのテーブルおよびテーブル群間の関係を表すと、図39のダイヤグラムに示されるようになる。ここで、テーブル群(またはテーブル)TA、テーブル群(またはテーブル)TB、テーブル群(またはテーブル)TCに対して、TA:TB:TCの記号は、TA:TBかつTB:TCであることを意味する。 Next, FIG. 38 shows the allocation table 2212 at the time when S401 to S412 are completed twice in the convolution unit 203 having a many-to-one relationship. Further, in the convolution unit 203 having a many-to-one relationship, the relationship between the table and the table group at the time when S401 to S412 are completed twice is shown in the diagram of FIG. 39. Here, for the table group (or table) TA, the table group (or table) TB, and the table group (or table) TC, the symbols TA: TB: TC are TA: TB and TB: TC. means.

この時点で、テーブル群間関係表320には関係603が一対一か一対多の行は無くなり、多対一関係の畳み込み部203の処理は終了する。 At this point, the table 320 has no one-to-one or one-to-many rows of relations 603, and the processing of the convolution unit 203 having a many-to-one relation is completed.

次に、図40を用いて実施形態2のテーブル関係解析支援装置の解析結果の表示画面について説明する。
実施形態2のテーブル関係解析支援装置の解析結果の表示画面の一例を示すと、図40に示されるようになる。
Next, the display screen of the analysis result of the table-related analysis support device of the second embodiment will be described with reference to FIG. 40.
An example of a display screen of the analysis result of the table-related analysis support device of the second embodiment is shown in FIG. 40.

テーブル群E:A*C*D*B(3800)は、テーブル群Eとテーブル群A*C*D*Bが多対一関係であり、テーブルA、テーブルC、テーブルD、テーブルBが閉路をなすことを示している。同様に、テーブル群K:A*G*H*I*B:J(3801)は、テーブル群K:とテーブル群A*G*H*I*B、テーブル群A*G*H*I*BとテーブルJが多対一関係であり、テーブルA、テーブルG、テーブルH、テーブルI、テーブルB、が閉路をなすことを示している。 In table group E: A * C * D * B (3800), table group E and table group A * C * D * B have a many-to-one relationship, and table A, table C, table D, and table B are closed. It shows that it does. Similarly, the table group K: A * G * H * I * B: J (3801) is the table group K :, the table group A * G * H * I * B, and the table group A * G * H * I *. It is shown that B and table J have a many-to-one relationship, and that table A, table G, table H, table I, and table B form a closed path.

また、テーブル群K:A*G*H*I*B:J(3801)とテーブル群L−M(2800)が多対多関係であることを表している。 Further, it shows that the table group K: A * G * H * I * B: J (3801) and the table group LM (2800) have a many-to-many relationship.

また、テーブル群E:A*C*D*B(3800)と、テーブル群K:A*G*H*I*B:J(3801)は、テーブルAとテーブルBを共有している。 Further, the table group E: A * C * D * B (3800) and the table group K: A * G * H * I * B: J (3801) share the table A and the table B.

ここで、テーブル群E:A*C*D*B(3800)を選択すると、テーブル群の構造が展開されて、図41に示されるように表示される。 Here, when the table group E: A * C * D * B (3800) is selected, the structure of the table group is expanded and displayed as shown in FIG. 41.

本実施形態では、実施形態1に加えて、テーブルの関係がダイヤグラム上で閉路をなす場合、テーブルが多対多の関係を持つ場合でも解析して、ユーザに視認しやすい形で表示することができるので、複雑なテーブル構造を有するデータベースの解析に有効である。 In the present embodiment, in addition to the first embodiment, when the table relationship is closed on the diagram, even if the table has a many-to-many relationship, it can be analyzed and displayed in a form that is easy for the user to see. Therefore, it is effective for analyzing a database having a complicated table structure.

100…テーブル関係解析支援装置
110…CPU
120…表示装置
130…主メモリ
140…入力装置
150…外部記憶装置
160…ネットワーク通信装置
170…バス
201…一対一関係の畳み込み部
202…テーブル間関係分析情報
203…多対一関係の畳み込み部
204…分析結果表示部
1900…解析対象データベース
1901…テーブル間関係抽出部
1902…FK情報
1903…多対多関係の切断部
1904…多対多関係テーブルリスト
1905…多対多関係切断済みテーブル間関係情報
1906…テーブル間関係分析情報
1907…閉路分割部
100 ... Table-related analysis support device 110 ... CPU
120 ... Display device 130 ... Main memory 140 ... Input device 150 ... External storage device 160 ... Network communication device 170 ... Bus 201 ... One-to-one relationship folding unit 202 ... Table-to-table relationship analysis information 203 ... Many-to-one relationship folding unit 204 ... Analysis result display unit 1900 ... Analysis target database 1901 ... Table-to-table relationship extraction unit 1902 ... FK information 1903 ... Many-to-many relationship disconnection unit 1904 ... Many-to-many relationship table list 1905 ... Many-to-many relationship disconnected table-to-table relationship information 1906 ... Table-to-table relationship analysis information 1907 ... Closed circuit division

Claims (9)

リレーショナルデータベースのテーブル間の特定のカラムにおけるデータの関係を解析するテーブル関係解析支援装置であって、
テーブルのデータの関係が一対一関係、多対一関係にあるテーブルを一つのテーブル群として定義するテーブル間関係分析情報と、
テーブル間関係情報から、一対一関係にあるテーブルをテーブル群としてまとめた前記テーブル間関係分析情報を出力する一対一関係の畳み込み部と、
多対一関係をもつテーブルをテーブル群としてまとめることにより、前記テーブル間関係分析情報を更新する多対一関係の畳み込み部と、
前記テーブル間関係分析情報の内容を表示する分析結果表示部とを有し、
前記分析結果表示部は、リレーショナルデータベースの一つ以上のテーブルをテーブル群として縮約した形式で表示することを特徴とするテーブル関係解析支援装置。
A table relationship analysis support device that analyzes the relationship of data in a specific column between tables in a relational database.
Table-to-table relationship analysis information that defines tables with one-to-one and many-to-one relationships as one table group,
From the table-to-table relationship information, a one-to-one relationship convolution unit that outputs the table-to-table relationship analysis information that summarizes the tables that have a one-to-one relationship as a table group.
A convolution unit of a many-to-one relationship that updates the inter-table relationship analysis information by grouping tables having a many-to-one relationship as a table group.
It has an analysis result display unit that displays the contents of the table-to-table relationship analysis information.
The analysis result display unit is a table-related analysis support device characterized by displaying one or more tables of a relational database as a table group in a reduced format.
前記分析結果表示部は、前記テーブル群の表示が、含まれるテーブル間のデータの関係が一対一関係、多対一関係のいずれにあるかを視認できる形式で表示することを特徴とする請求項1記載のテーブル関係解析支援装置。 The analysis result display unit is characterized in that the display of the table group is displayed in a format in which it is possible to visually recognize whether the relationship of data between the included tables is a one-to-one relationship or a many-to-one relationship. 1 The table-related analysis support device according to 1. 前記テーブル群の表示形式が、テーブル間を結ぶグラフ形式で表示することを特徴とする請求項2記載のテーブル関係解析支援装置。 The table-related analysis support device according to claim 2, wherein the display format of the table group is displayed in a graph format connecting the tables. さらに、テーブル間関係情報から、多対多関係にあるテーブルをテーブル群としてまとめて、他のテーブル群から取り出して、前記テーブル間関係分析情報を更新する多対多関係の切断部を有し、
前記分析結果表示部は、多対多関係にあるテーブルのテーブル群を他のテーブル群と切り離した形式で表示することを特徴する請求項1記載のテーブル関係解析支援装置。
Further, it has a many-to-many relationship cutting unit that collects tables having a many-to-many relationship from the table-to-table relationship information as a table group, extracts the tables from other table groups, and updates the table-to-table relationship analysis information.
The table-relationship analysis support device according to claim 1, wherein the analysis result display unit displays a table group of a table having a many-to-many relationship in a format separated from other table groups.
前記リレーショナルデータベースのテーブル間の特定のカラムにおけるデータの関係が多対一関係であるとき、テーブルの多対一関係を有向線分で表現したときに、テーブルをノードとする閉路を構成するときに、その閉路をなすテーブルをテーブル群として他のテーブル群から切り離して、前記テーブル間関係分析情報を更新する閉路分割部を有し、
前記分析結果表示部は、閉路をなすテーブルのテーブル群を他のテーブル群と切り離した形式で表示することを特徴する請求項1記載のテーブル関係解析支援装置。
When the data relationship in a specific column between the tables of the relational database is a many-to-one relationship, and when the many-to-one relationship of the table is expressed by a directed line segment, when a closed circuit with the table as a node is constructed. In addition, it has a closed circuit dividing unit that separates the closed table from other table groups as a table group and updates the inter-table relationship analysis information.
The table-related analysis support device according to claim 1, wherein the analysis result display unit displays a table group of a closed table in a format separated from other table groups.
前記分析結果表示部は、テーブル群間で共有するテーブルがあるときに、テーブルの共有関係を表示することを特徴とする請求項1記載のテーブル関係解析支援装置。 The table relationship analysis support device according to claim 1, wherein the analysis result display unit displays the shared relationship of the tables when there is a table shared between the table groups. 前記データの関係を解析する特定のカラムは、リレーショナルデータベースのテーブルの外部キーであることを特徴とする請求項1記載のテーブル関係解析支援装置。 The table relationship analysis support device according to claim 1, wherein the specific column for analyzing the data relationship is a foreign key of a table of a relational database. さらに、リレーショナルデータベースのテーブル間の特定のカラムにおけるデータの関係が、一対一関係、多対一関係、多対多関係のいずれかであるかを解析して、テーブル間関係情報を出力するテーブル間関係抽出部を有することを特徴とする請求項1記載のテーブル関係解析支援装置。 Furthermore, it analyzes whether the data relationship in a specific column between tables in a relational database is one-to-one relationship, many-to-one relationship, or many-to-many relationship, and outputs table-to-table relationship information. The table relation analysis support device according to claim 1, further comprising a relation extraction unit. リレーショナルデータベースのテーブル間の特定のカラムにおけるデータの関係を解析するテーブル関係解析支援方法であって、
テーブルのデータの関係が一対一関係、多対一関係にあるテーブルを一つのテーブル群として定義するテーブル間関係分析情報について、
テーブル間関係情報から、一対一関係にあるテーブルをテーブル群としてまとめて、前記テーブル間関係分析情報を更新するステップと、
多対一関係をもつテーブルをテーブル群としてまとめることにより、前記テーブル間関係分析情報を更新するステップと、
前記テーブル間関係分析情報の内容を表示するステップとを有し、
前記テーブル間関係分析情報の内容を表示するステップは、リレーショナルデータベースの一つ以上のテーブルをテーブル群として縮約した形式で表示することを特徴とするテーブル関係解析支援方法。
It is a table relationship analysis support method that analyzes the data relationship in a specific column between tables in a relational database.
About table-to-table relationship analysis information that defines tables with one-to-one relationship and many-to-one relationship of table data as one table group
From the table-to-table relationship information, a step of collecting the tables having a one-to-one relationship as a table group and updating the table-to-table relationship analysis information, and
A step of updating the inter-table relationship analysis information by grouping tables having a many-to-one relationship as a table group, and
It has a step of displaying the contents of the inter-table relationship analysis information.
The step of displaying the contents of the table-to-table relationship analysis information is a table relationship analysis support method characterized in that one or more tables of a relational database are displayed as a table group in a reduced format.
JP2017188631A 2017-09-28 2017-09-28 Table-related analysis support device and table-related analysis support method Active JP6840062B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017188631A JP6840062B2 (en) 2017-09-28 2017-09-28 Table-related analysis support device and table-related analysis support method
CN201810972829.6A CN110019564B (en) 2017-09-28 2018-08-24 Table relation analysis supporting device and table relation analysis supporting method
US16/129,130 US11138173B2 (en) 2017-09-28 2018-09-12 Table relation analysis assisting apparatus and table relation analysis assisting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017188631A JP6840062B2 (en) 2017-09-28 2017-09-28 Table-related analysis support device and table-related analysis support method

Publications (2)

Publication Number Publication Date
JP2019066924A JP2019066924A (en) 2019-04-25
JP6840062B2 true JP6840062B2 (en) 2021-03-10

Family

ID=65808442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017188631A Active JP6840062B2 (en) 2017-09-28 2017-09-28 Table-related analysis support device and table-related analysis support method

Country Status (3)

Country Link
US (1) US11138173B2 (en)
JP (1) JP6840062B2 (en)
CN (1) CN110019564B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210019299A1 (en) * 2019-07-17 2021-01-21 Aveva Software, Llc System and server comprising database schema for accessing and managing utilization and job data
CN113010611A (en) * 2019-12-19 2021-06-22 北京阿博茨科技有限公司 Method and system for automatically generating relations between relational database tables

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314951A (en) * 1995-05-12 1996-11-29 Hitachi Ltd Structure display method for relational data base and relational data base system
US7356482B2 (en) * 1998-12-18 2008-04-08 Alternative Systems, Inc. Integrated change management unit
US7885981B2 (en) * 2000-10-31 2011-02-08 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
JP5241370B2 (en) 2008-08-01 2013-07-17 三菱電機株式会社 Table classification apparatus, table classification method, and table classification program
WO2014141460A1 (en) * 2013-03-15 2014-09-18 株式会社日立製作所 Management system
CN106960391A (en) * 2017-02-23 2017-07-18 武汉智寻天下科技有限公司 A kind of user profile polymerization, system and device

Also Published As

Publication number Publication date
JP2019066924A (en) 2019-04-25
CN110019564A (en) 2019-07-16
US20190095474A1 (en) 2019-03-28
US11138173B2 (en) 2021-10-05
CN110019564B (en) 2024-01-12

Similar Documents

Publication Publication Date Title
JP4199026B2 (en) Information relevance display method, program, storage medium, and apparatus
CN110532019A (en) A kind of method of software code fragment history retrospect
JP6840062B2 (en) Table-related analysis support device and table-related analysis support method
CN103942299A (en) Data linkage display device and method
KR100457375B1 (en) Method for fast searching and displaying of patent genealogical status from a patent database
CN104268275B (en) It is a kind of that data are done with the method that business is abstracted and path searching is analyzed
CN106030570A (en) Surfacing relationships between datasets
CN115545577B (en) Method and equipment for processing scheduling data
CN105224663A (en) A kind of data-accessing tasks management method based on multiple data source and device
US6920364B2 (en) Work assistance apparatus and memory medium for use therein
CN115346607B (en) DNA sample duplication checking method and device
WO2017103996A1 (en) Production plan scheduling device and production plan scheduling method
JP6924168B2 (en) KPI tree creation support system and KPI tree creation support method
JP2019101829A (en) Software component management system, computor, and method
JP6775740B1 (en) Design support device, design support method and design support program
CN110059328A (en) Structural Analysis method, information processing equipment and computer readable storage medium
KR100515347B1 (en) Method and system of preprocessing information data of proteome
JP6761151B1 (en) Data display program, programmable display and programmable display reproduction simulator
CN102063434B (en) Candidate key capture device and candidate key capture method
JP4540386B2 (en) Design work support system
RU152893U1 (en) DEVICE FORMING DATABASES ON THE HISTORY OF MEDICINE
JP6553461B2 (en) Existing system processing specification extraction device
CN102117346A (en) Key element input method
JPH07281882A (en) Data base normalization support device
CN116680457A (en) Method for solving industrial product problem based on TRIZ physical contradiction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210216

R150 Certificate of patent or registration of utility model

Ref document number: 6840062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150