JP6244521B2 - Database processing program, database processing method, and database processing apparatus - Google Patents

Database processing program, database processing method, and database processing apparatus Download PDF

Info

Publication number
JP6244521B2
JP6244521B2 JP2015212905A JP2015212905A JP6244521B2 JP 6244521 B2 JP6244521 B2 JP 6244521B2 JP 2015212905 A JP2015212905 A JP 2015212905A JP 2015212905 A JP2015212905 A JP 2015212905A JP 6244521 B2 JP6244521 B2 JP 6244521B2
Authority
JP
Japan
Prior art keywords
database
attribute
attributes
relations
relation
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
JP2015212905A
Other languages
Japanese (ja)
Other versions
JP2017084162A (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.)
DBE., INC.
Original Assignee
DBE., INC.
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 DBE., INC. filed Critical DBE., INC.
Priority to JP2015212905A priority Critical patent/JP6244521B2/en
Priority to PCT/JP2016/082018 priority patent/WO2017073714A1/en
Publication of JP2017084162A publication Critical patent/JP2017084162A/en
Application granted granted Critical
Publication of JP6244521B2 publication Critical patent/JP6244521B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Description

本発明は、データベース内のスキーマの可視化及び設計・構築の簡易化を実現するデータベース処理プログラム、データベース処理方法及びデータベース処理装置に関する。   The present invention relates to a database processing program, a database processing method, and a database processing apparatus that realize visualization of a schema in a database and simplification of design and construction.

データベース(以下、DBという)の型としては、扱い易さの利点からリレーショナルDBが主流となっている。しかも長年に亘ってデータを追加して肥大化したDBでは、新たなスキーマの定義、変更は非常に困難な場合が多い。複数のDB夫々の設計者によって同意の属性であっても異なる属性名を定義することが多く、異なる設計者によって構築された複数のDBを統合する必要がある場合、非常に膨大な労力が必要となる。   As a type of database (hereinafter referred to as DB), relational DB has become the mainstream because of its ease of handling. Moreover, in a DB that has been enlarged by adding data over many years, it is often very difficult to define and change a new schema. Even if it is an attribute agreed by the designers of multiple DBs, different attribute names are often defined, and when it is necessary to integrate multiple DBs constructed by different designers, a tremendous amount of labor is required. It becomes.

属性(データ,値)同士の関係性はリレーショナルスキーマのみの記述では適切ではないことは勿論である。階層型DBでは属性同士の親子(枝葉)関係を明確にすることができるが、子同士でも従属(枝葉)関係が存在する等、複雑な関係性を記述するには冗長である。ネットワーク型DBでは、上述した子同士のデータであっても従属関係が存在するなど複雑な関係を明確にすることができるが、新たなスキーマの追加、変更に対しては変更が困難である。   It goes without saying that the relationship between attributes (data, values) is not appropriate if only the relational schema is described. In the hierarchical DB, the parent-child (branch and leaf) relationship between attributes can be clarified, but it is redundant to describe a complicated relationship such as a subordinate (branch and leaf) relationship between children. In the network type DB, even if it is the data between the above-mentioned children, a complicated relationship such as the existence of a dependency relationship can be clarified, but it is difficult to change when a new schema is added or changed.

また、DBの可視化については種々の工夫が従来されているが(特許文献1等)、依然としてER(entity-relationship )図が多用されている。ER図では属性個々の重要性及び属性間の関係性の分かりやすさが不足しており、技術者以外では直感的に把握することが難しい。   Various ideas have been conventionally used for DB visualization (Patent Document 1, etc.), but ER (entity-relationship) diagrams are still frequently used. In the ER diagram, the importance of each attribute and the relationship between the attributes are not easy to understand, and it is difficult for a non-technical person to grasp intuitively.

特開2014−029597号公報JP 2014-029597 A

DBの設計及び構築はデータベースの専門知識を有する技術者であっても、膨大なデータを含むDBにおけるスキーマの最適化は非常に困難である。ましてや専門知識を有さないユーザにとっては、DBの設計、構築は到底困難であるとして敬遠されてきた。   Even if an engineer who has database expertise is involved in designing and constructing a DB, it is very difficult to optimize a schema in a DB including a large amount of data. For users who do not have specialized knowledge, the design and construction of DBs are far from difficult.

本発明は斯かる事情に鑑みてなされたものであり、DB自体及びDBを扱うための技術に対する専門知識を有さないユーザであっても、DBのスキーマを直感的に把握すること
可能とするデータベース処理プログラム、データベース処理方法及びデータベース処理装置を提供することを目的とする。
The present invention has been made in view of such circumstances, and enables a user who does not have expertise in the DB itself and the technology for handling the DB to intuitively grasp the DB schema. It is an object to provide a database processing program, a database processing method, and a database processing apparatus.

本発明に係るデータベース処理プログラムは、データベースと通信するコンピュータが、前記データベースに対する処理を実行させるデータベース処理プログラムにおいて、前記コンピュータに、データベースのリレーションを解析する解析ステップ、解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付けるステップ、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画する描画ステップを実行させることを特徴とする。   The database processing program according to the present invention is a database processing program in which a computer that communicates with a database executes processing on the database. The computer includes an analysis step that analyzes the relation of the database, and a plurality of relations included in the analyzed relation. A step of associating an object with each attribute, and a drawing step of arranging and drawing the associated object so as to follow an outer shape of a predetermined shape are executed.

本発明に係るデータベース処理プログラムは、描画された前記オブジェクトに対する選択及び配置操作を受け付け、前記コンピュータに、操作に応じた前記オブジェクトの配置を受け付けるステップ、受け付けた配置に応じて、前記データベースのリレーションを変更するステップを更に実行させることを特徴とする。   The database processing program according to the present invention receives a selection and placement operation for the drawn object, and accepts the placement of the object according to the operation in the computer, and performs relations of the database according to the accepted placement. The step of changing is further executed.

本発明に係るデータベース処理プログラムは、前記描画ステップは、前記解析によりデータベースが複数のリレーションに分割されていると解析された場合、リレーションの分割数分の所定の形状を隣接させ、隣接箇所にリレーション間で共通する属性に対応するオブジェクトを配置させ、前記複数のリレーション毎に所属する属性のオブジェクトを前記隣接箇所以外の外形上に配置させて描画することを特徴とする。   In the database processing program according to the present invention, when the drawing step is analyzed that the database is divided into a plurality of relations by the analysis, predetermined shapes corresponding to the number of divisions of the relations are adjacent to each other, and the relations are adjacent to adjacent parts. An object corresponding to an attribute common to the plurality of relations is arranged, and an object having an attribute belonging to each of the plurality of relations is arranged on an outline other than the adjacent portion and is drawn.

本発明に係るデータベース処理プログラムは、前記解析ステップは、前記複数のリレーション間の階層関係を特定するステップを含み、前記描画ステップは、上位のリレーションを画面内の中央に配置するように描画することを特徴とする。   In the database processing program according to the present invention, the analysis step includes a step of specifying a hierarchical relationship between the plurality of relations, and the drawing step draws the upper relation so as to be arranged in the center of the screen. It is characterized by.

本発明に係るデータベース処理プログラムは、前記複数のリレーション夫々に所属する属性に対応するオブジェクトが配置される前記所定の形状が描画される大きさは、前記リレーションに所属する属性の属性値の前記データベース内でのバラつきの大小を示すことを特徴とする。   In the database processing program according to the present invention, the size at which the predetermined shape in which an object corresponding to an attribute belonging to each of the plurality of relations is arranged is drawn is the database of attribute values of attributes belonging to the relation It is characterized by showing the magnitude of the variation in the inside.

本発明に係るデータベース処理プログラムは、前記解析ステップは、データベースを属性毎に分解するステップ、属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、算出された大小に基づき前記属性に順位を付与するステップ、付与された順位に基づき候補キーを抽出するステップ、候補キーを基準に、分解された属性間の関数従属性を特定するステップ、関係従属性に基づき属性間の決定木を作成するステップ、作成された決定木に基づき、複数のリレーションに分割するステップ、及び前記決定木に基づき階層化ネットワークを作成するステップを含むことを特徴とする。   In the database processing program according to the present invention, the analysis step includes a step of decomposing the database for each attribute, a step for calculating the size of variation in the attribute value of the attribute for each attribute, and the calculated size A step of assigning ranks to the attributes based on the steps, a step of extracting candidate keys based on the assigned ranks, a step of identifying functional dependencies between decomposed attributes based on the candidate keys, and attributes based on relational dependencies The method includes a step of creating a decision tree in between, a step of dividing into a plurality of relations based on the created decision tree, and a step of creating a hierarchical network based on the decision tree.

本発明に係るデータベース処理プログラムは、前記解析ステップは、前記階層化ネットワーク内で直接的に親子関係でない属性間をリンクさせた複雑ネットワークを生成するステップを更に含むことを特徴とする。   In the database processing program according to the present invention, the analyzing step further includes a step of generating a complex network in which attributes that are not directly in a parent-child relationship are linked in the hierarchical network.

本発明に係るデータベース処理方法は、データベースに対する処理を実行するコンピュータによるデータベース処理方法において、前記コンピュータが、データベースのリレーションを解析し、解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成することを特徴とする。   The database processing method according to the present invention is a database processing method by a computer that executes processing on a database. The computer analyzes a relation of the database and associates objects with a plurality of attributes included in the analyzed relation. The screen information is created by arranging and drawing the associated objects so as to follow the outer shape of a predetermined shape.

本発明に係るデータベース処理方法は、前記コンピュータは、データベースを属性毎に分解するステップ、属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、算出された大小に基づき前記属性に順位を付与するステップ、付与された順位に基づき候補キーを抽出するステップ、候補キーを基準に、分解された属性間の関数従属性を特定するステップ、関係従属性に基づき属性間の決定木を作成するステップ、作成された決定木に基づき、複数のリレーションに分割するステップ、及び前記決定木に基づき階層化ネットワークを作成するステップを実行して前記データベースを解析することを特徴とする。   In the database processing method according to the present invention, the computer decomposes the database for each attribute, calculates for each attribute, the step of calculating the degree of variation in the attribute value of the attribute in the database, A step of assigning ranks to the attributes based on the steps, a step of extracting candidate keys based on the given ranks, a step of identifying functional dependencies between decomposed attributes based on the candidate keys, and between attributes based on relational dependencies Analyzing the database by executing a step of creating a decision tree, a step of dividing into a plurality of relations based on the created decision tree, and a step of creating a hierarchical network based on the decision tree To do.

本発明に係るデータベース処理装置は、データベース及び外部装置夫々と通信する手段を備え、前記データベースにおける処理の結果を外部装置へ送信するデータベース処理装置において、データベースのリレーションを解析する解析手段と、解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成する手段とを備えることを特徴とする。   The database processing apparatus according to the present invention includes means for communicating with each of the database and the external apparatus, and the database processing apparatus for transmitting the processing result in the database to the external apparatus is analyzed with the analyzing means for analyzing the relation of the database. Means for associating objects with a plurality of attributes included in the relation, and creating screen information in which the associated objects are arranged and drawn along a contour of a predetermined shape. To do.

本発明に係るデータベース処理装置は、前記解析手段は、データベースを属性毎に分解する手段、属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出する手段、算出された大小に基づき前記属性に順位を付与する手段、付与された順位に基づき候補キーを抽出する手段、候補キーを基準に、分解された属性間の関数従属性を特定する手段、関係従属性に基づき属性間の決定木を作成する手段、作成された決定木に基づき、複数のリレーションに分割する手段、及び前記決定木に基づき階層化ネットワークを作成する手段を有することを特徴とする。   In the database processing apparatus according to the present invention, the analyzing means is a means for decomposing the database for each attribute, a means for calculating the degree of variation in the attribute value of the attribute for each attribute, and the calculated magnitude A means for assigning a rank to the attribute based on the above, a means for extracting a candidate key based on the assigned rank, a means for specifying a functional dependency between the decomposed attributes based on the candidate key, and an attribute based on the relation dependency It is characterized by having means for creating a decision tree in between, means for dividing into a plurality of relations based on the created decision tree, and means for creating a hierarchical network based on the decision tree.

本発明では、DBにおける複数の属性に夫々対応するオブジェクトが、該属性の所属するリレーション(テーブル)毎に、所定の図形の外形に沿って配置されるようにしてスキーマが描画される。   In the present invention, the schema is drawn so that objects corresponding to a plurality of attributes in the DB are arranged along the outline of a predetermined figure for each relation (table) to which the attribute belongs.

本発明では、描画された各オブジェクトの画面上での配置を変更する操作を受け付けることが可能に構成されており、操作後のオブジェクトの配置情報に応じて実際のデータベースのリレーションが変更される。   In the present invention, an operation for changing the arrangement of each drawn object on the screen can be received, and the actual database relation is changed according to the arrangement information of the object after the operation.

本発明では、データベースが複数のリレーションに分割される場合、複数のリレーションで重複する属性に対応するオブジェクトが接点に配置されるようにして、複数のリレーション毎に所定の図形に沿うようにして配置されてスキーマが描画される。   In the present invention, when the database is divided into a plurality of relations, an object corresponding to an attribute overlapping in the plurality of relations is arranged at the contact point, and arranged so as to follow a predetermined figure for each of the plurality of relations. And the schema is drawn.

本発明では、複数のリレーションに分割される場合、階層関係が特定され、より上位のリレーションに対応するオブジェクトが中央に配置されて描画される。   In the present invention, when the relation is divided into a plurality of relations, the hierarchical relationship is specified, and the object corresponding to the higher relation is arranged at the center and drawn.

本発明では、複数のリレーションに分割される場合、リレーション毎に属性に対応するオブジェクトが配置される外形の大小の差異が、各リレーション内における属性の属性値のバラつきの大小の差異に基づき示される。リレーションに候補キーが多く含まれ、外側に更に他のリレーションに繋がる可能性が高い程、大きい形状で配置されて描画される。   In the present invention, when divided into a plurality of relations, the difference in size of the outline in which the object corresponding to the attribute is arranged for each relation is indicated based on the difference in the attribute value of the attribute in each relation. . A relation includes a large number of candidate keys, and the possibility of being connected to another relation on the outside is higher, so that the relation is drawn in a larger shape.

本発明では、DBの元となるデータに対するリレーショナルスキーマが、属性間の関数従属性に基づく決定木を元に作成される階層化ネットワークから自動的に最適化されて構築される。これにより第3正規化が完備されたスキーマが構築される。   In the present invention, a relational schema for data that is the basis of a DB is automatically optimized and constructed from a hierarchical network created based on a decision tree based on functional dependencies between attributes. As a result, a schema complete with the third normalization is constructed.

本発明では、階層化ネットワークから更に複雑ネットワークが生成され、複雑ネットワークに基づいてスキーマが構築される。   In the present invention, a more complex network is generated from the hierarchical network, and a schema is constructed based on the complex network.

本発明による場合、DBの元となるリレーションデータに対するリレーションスキーマについて解析がされ、各属性に対応するオブジェクトが、該属性の所属するテーブル毎に所定の図形の外形に沿って配置されるようにして可視化される。これにより、DBへのアクセスに関する知識を有さないユーザであっても解析されたDBのスキーマを直感的に把握することができる。   According to the present invention, the relation schema for the relation data that is the source of the DB is analyzed, and an object corresponding to each attribute is arranged along the outline of a predetermined figure for each table to which the attribute belongs. Visualized. Thereby, even the user who does not have knowledge about access to the DB can intuitively grasp the analyzed DB schema.

更に、オブジェクトの配置を変更する操作を受け付けるようにしてあることで、ユーザはオブジェクトを画面上で動かすという直感的な操作でデータベース内のスキーマを変更することも可能になる。これにより、DB及びDBを扱うための技術に対する専門知識を有さないユーザであっても簡単にDBの設計・構築が可能になる。   Furthermore, by accepting an operation for changing the arrangement of objects, the user can also change the schema in the database by an intuitive operation of moving the object on the screen. Thereby, even a user who does not have expertise in DB and the technology for handling the DB can easily design and construct the DB.

また本発明による場合、リレーションスキーマの解析は、適切に機械的に自動的に生成され、正規化、更に非正規化により最適化されて構築される。   Further, according to the present invention, the analysis of the relation schema is automatically automatically generated appropriately and optimized and constructed by normalization and further denormalization.

実施の形態1における情報処理システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of an information processing system in a first embodiment. 実施の形態1におけるDB処理装置、端末装置及びDBIF提供装置の内部構成を示すブロック図である。3 is a block diagram illustrating an internal configuration of a DB processing device, a terminal device, and a DBIF providing device according to Embodiment 1. FIG. 実施の形態1の端末装置のブラウザ画面に表示されるインタフェースの例を示す説明図である。6 is an explanatory diagram illustrating an example of an interface displayed on a browser screen of the terminal device according to the first embodiment. FIG. DB処理装置にて実行される処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence performed with DB processing apparatus. 端末装置から送信されるデータ(テーブル)の内容例を示す説明図である。It is explanatory drawing which shows the example of the content of the data (table) transmitted from a terminal device. テーブル定義受付画面の内容例を示す説明図である。It is explanatory drawing which shows the example of the content of a table definition reception screen. 決定木の内容例を示す説明図である。It is explanatory drawing which shows the example of the content of a decision tree. 階層化ネットワーク構造の内容例を示す説明図である。It is explanatory drawing which shows the example of the content of a hierarchical network structure. 複雑ネットワーク生成の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of complex network production | generation. 複雑ネットワーク構造の内容例を示す説明図である。It is explanatory drawing which shows the example of the content of a complex network structure. スキーマ描画例を示す説明図である。It is explanatory drawing which shows the example of a schema drawing. スキーマの変更後の描画例を示す説明図である。It is explanatory drawing which shows the example of a drawing after the change of a schema. 構築されたDBを示す説明図であるIt is explanatory drawing which shows DB constructed | assembled 実施の形態2における情報処理システムの構成を示すブロック図である。3 is a block diagram illustrating a configuration of an information processing system in Embodiment 2. FIG. 実施の形態2におけるDB処理装置にて実行される処理手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a processing procedure executed by the DB processing apparatus according to the second embodiment.

以下、本発明をその実施形態を示す図面に基づいて具体的に説明する。なお、以下に示す実施の形態は例示であって、本発明は以下の構成に限られないことは勿論である。   Hereinafter, the present invention will be specifically described with reference to the drawings illustrating embodiments thereof. In addition, the embodiment shown below is an illustration, and of course, the present invention is not limited to the following configuration.

(実施の形態1)
図1は、実施の形態1における情報処理システムの構成を示すブロック図である。実施の形態1における情報処理システムは、DB処理装置1、複数の端末装置2、DBインタフェース提供装置(以下、DBIF提供装置という)3及びDB群4を含む。DB処理装置1はDB群4及びDBIF提供装置3に直接的、又はインターネットを含むネットワークNを介して接続されている。DBIF提供装置3はネットワークNに接続されており、同様にネットワークNに接続されている複数の端末装置2と通信が可能である。
(Embodiment 1)
FIG. 1 is a block diagram illustrating a configuration of an information processing system according to the first embodiment. The information processing system in the first embodiment includes a DB processing device 1, a plurality of terminal devices 2, a DB interface providing device (hereinafter referred to as a DBIF providing device) 3, and a DB group 4. The DB processing device 1 is connected to the DB group 4 and the DBIF providing device 3 directly or via a network N including the Internet. The DBIF providing device 3 is connected to the network N and can communicate with a plurality of terminal devices 2 connected to the network N as well.

DB群4はDB化された各種データを記憶している。DB群4はネットワークを介して接続されている複数のDBから構成されてもよく、各DB間及びDB内のテーブル同士の関係を示す情報を記録した管理DBを含む。   The DB group 4 stores various data converted into a DB. The DB group 4 may be composed of a plurality of DBs connected via a network, and includes a management DB in which information indicating the relationship between the DBs and between the tables in the DBs is recorded.

DB処理装置1は、DB群4におけるデータ定義の解析及びモデリングを自動的に行ない、データスキーマを最適化する装置である。   The DB processing apparatus 1 is an apparatus that automatically analyzes and models the data definition in the DB group 4 and optimizes the data schema.

DBIF提供装置3は、端末装置2向けにDB群4へのインタフェースをWebベースで提供するサーバ装置である。DBIF提供装置3は端末装置2からのDB群4に対する操作指示を受け付けてDB処理装置1へ送信し、DB処理装置1における処理の結果を示す画面を端末装置2へ送信する。   The DBIF providing device 3 is a server device that provides the terminal device 2 with an interface to the DB group 4 on a Web basis. The DBIF providing device 3 receives an operation instruction for the DB group 4 from the terminal device 2 and transmits it to the DB processing device 1, and transmits a screen showing the processing result in the DB processing device 1 to the terminal device 2.

端末装置2は、ユーザが使用するパーソナルコンピュータ(PC:Personal Computer )である。端末装置2は、Webブラウザプログラムを実行可能な装置であれば、デスクトップ型PC、ノートPC(ラップトップ型PC)、タブレット端末、又はスマートフォン等の種々の情報端末を用いてよい。   The terminal device 2 is a personal computer (PC) used by a user. As long as the terminal device 2 can execute a Web browser program, various information terminals such as a desktop PC, a notebook PC (laptop PC), a tablet terminal, or a smartphone may be used.

図2は、実施の形態1におけるDB処理装置1、端末装置2及びDBIF提供装置3の内部構成を示すブロック図である。DB処理装置1は、制御部10、記憶部11、一時記憶部12及び通信部13を備える。   FIG. 2 is a block diagram showing an internal configuration of the DB processing device 1, the terminal device 2, and the DBIF providing device 3 according to the first embodiment. The DB processing apparatus 1 includes a control unit 10, a storage unit 11, a temporary storage unit 12, and a communication unit 13.

制御部10は、CPU(Central Processing Unit )を用いる。制御部10は記憶部11に記憶されているDBモデリングプログラム1Pを読み出して実行することにより、DB群4に対するモデリング処理機能を発揮する。一時記憶部12は、DRAM(Dynamic Random Access Memory)等のRAMを用いる。一時記憶部12は、制御部10の処理によって生成される情報を一時的に記憶する。   The control unit 10 uses a CPU (Central Processing Unit). The control unit 10 reads out and executes the DB modeling program 1P stored in the storage unit 11, thereby exhibiting a modeling processing function for the DB group 4. The temporary storage unit 12 uses a RAM such as a DRAM (Dynamic Random Access Memory). The temporary storage unit 12 temporarily stores information generated by the processing of the control unit 10.

記憶部11は、ハードディスク等の不揮発性の記憶媒体を用いる。記憶部11には上述したDBモデリングプログラム1Pが記憶されている。   The storage unit 11 uses a nonvolatile storage medium such as a hard disk. The storage unit 11 stores the above-described DB modeling program 1P.

通信部13は、DBIF提供装置3及びDB群4夫々と通信することが可能に接続されている。   The communication unit 13 is connected to be able to communicate with the DBIF providing device 3 and the DB group 4.

端末装置2は、制御部20、記憶部21、一時記憶部22、表示部23、操作部24及び通信部25を備える。   The terminal device 2 includes a control unit 20, a storage unit 21, a temporary storage unit 22, a display unit 23, an operation unit 24, and a communication unit 25.

制御部20は、CPUを用いる。制御部20は、記憶部21に記憶されている各種プログラムを読み出して実行することにより、端末装置2に多様な機能を発揮させる。一時記憶部22は、DRAM等のRAMを用いる。一時記憶部22は、制御部20の処理によって生成される情報を一時的に記憶する。   The control unit 20 uses a CPU. The control unit 20 causes the terminal device 2 to exhibit various functions by reading and executing various programs stored in the storage unit 21. The temporary storage unit 22 uses a RAM such as a DRAM. The temporary storage unit 22 temporarily stores information generated by the processing of the control unit 20.

記憶部21は、ハードディスク又はフラッシュメモリ等の不揮発性の記憶媒体を用いる。記憶部21には、ブラウザプログラム211が記憶されている。ブラウザプログラム211は、DBIF提供装置3から送信されるHTMLベースのWebページを受信し、Webページに含まれる文字、画像、又は動画像を表示部23へ表示させるWebブラウザ機能を制御部20に発揮させる。   The storage unit 21 uses a nonvolatile storage medium such as a hard disk or a flash memory. The storage unit 21 stores a browser program 211. The browser program 211 receives the HTML-based Web page transmitted from the DBIF providing apparatus 3 and displays on the control unit 20 a Web browser function that causes the display unit 23 to display characters, images, or moving images included in the Web page. Let

表示部23は、例えば液晶ディスプレイを用いる。勿論他の種類のディスプレイを用いてもよい。制御部20は、表示部23へ文字又は画像を含む各種画面を表示させる。操作部24は、キーボード及びポインティングデバイス等の入力インタフェースを用いる。制御部20は、入力インタフェースによって入力した操作情報に基づいて各構成部を制御する。なお表示部23及び操作部24は、タッチパネル内蔵型ディスプレイとして一体的に構成されてもよい。   As the display unit 23, for example, a liquid crystal display is used. Of course, other types of displays may be used. The control unit 20 causes the display unit 23 to display various screens including characters or images. The operation unit 24 uses an input interface such as a keyboard and a pointing device. The control unit 20 controls each component based on operation information input through the input interface. The display unit 23 and the operation unit 24 may be integrally configured as a touch panel built-in display.

通信部25は、インターネットを含むネットワークNに接続されており、ネットワークNを介した他装置との間での情報の送受信を実現する。制御部20は通信部25によって、DBIF提供装置3から送信される操作画面、及び処理結果を示す画面を含むWebページ等を送受信する。   The communication unit 25 is connected to a network N including the Internet, and realizes transmission and reception of information with other devices via the network N. The control unit 20 transmits / receives an operation screen transmitted from the DBIF providing apparatus 3 and a Web page including a screen showing a processing result through the communication unit 25.

DBIF提供装置3は、制御部30、記憶部31、一時記憶部32、及び通信部33を備える。   The DBIF providing apparatus 3 includes a control unit 30, a storage unit 31, a temporary storage unit 32, and a communication unit 33.

制御部30は、CPUを用い、記憶部31に記憶されているWebサーバプログラム及びDBIF提供プログラムを読み出して実行することにより、Webサーバ機能、及びDB群4に対するアクセスインタフェース機能を発揮する。具体的には制御部30はネットワークNを介して複数の端末装置2にDB群4へのアクセスインタフェース機能を発揮するためのWebページを提供する。一時記憶部32は、DRAM等のRAMを用い、制御部30の処理によって生成される情報を一時的に記憶する。   The control unit 30 reads out and executes the Web server program and the DBIF providing program stored in the storage unit 31 using the CPU, thereby exhibiting the Web server function and the access interface function for the DB group 4. Specifically, the control unit 30 provides a Web page for exhibiting an access interface function to the DB group 4 to the plurality of terminal devices 2 via the network N. The temporary storage unit 32 uses a RAM such as a DRAM and temporarily stores information generated by the processing of the control unit 30.

記憶部31は、ハードディスク等の不揮発性の記憶媒体を用いる。記憶部31には上述したDBIF提供プログラムが記憶されている。また記憶部31は、端末装置2へ提供するアクセスインタフェースを構成するリソース(HTMLを始めとする各種言語にて各ページを記述したソース、静止画像等)が記憶されている。   The storage unit 31 uses a non-volatile storage medium such as a hard disk. The storage unit 31 stores the DBIF providing program described above. The storage unit 31 stores resources (sources describing still pages in various languages such as HTML, still images, etc.) that constitute an access interface provided to the terminal device 2.

通信部33は、ネットワークNに接続されており、ネットワークNを介した端末装置2との間での情報の送受信を実現する。また通信部33は、DB処理装置1と通信することが可能に接続されている。   The communication unit 33 is connected to the network N, and realizes information transmission / reception with the terminal device 2 via the network N. The communication unit 33 is connected to be able to communicate with the DB processing apparatus 1.

このように構成される情報処理システムでは、DBIF提供装置3から提供されるアクセスインタフェース機能を発揮するためのWebページが、端末装置2のブラウザ機能により表示される。端末装置2で表示されるブラウザ画面上での操作内容により、DBIF提供装置3にてDB群4へのアクセスが受け付けられ、DB処理装置1においてアクセスに応じた処理が実行され、処理結果を示す画面がDBIF提供装置3から端末装置2へ送信される。   In the information processing system configured as described above, a Web page for performing the access interface function provided from the DBIF providing device 3 is displayed by the browser function of the terminal device 2. Depending on the operation contents on the browser screen displayed on the terminal device 2, the DBIF providing device 3 receives access to the DB group 4, and the DB processing device 1 executes processing according to the access, and shows the processing result. The screen is transmitted from the DBIF providing device 3 to the terminal device 2.

まずDBIF提供装置1から送信されるインタフェース情報について、該インタフェース情報により表示されるブラウザ上の画面例を参照して具体的に説明する。図3は、実施の形態1の端末装置2のブラウザ画面に表示されるインタフェース231の例を示す説明図である。ユーザが端末装置2を用いてDBIF提供装置3を管理する事業者から提供されるWebサービスにログインした場合のトップページには、ログインしたアカウント(ユーザ)がアクセス権限を有しているDB及びアカウント用のローカルデータの一覧が選択可能に表示される。   First, the interface information transmitted from the DBIF providing apparatus 1 will be specifically described with reference to a screen example on the browser displayed by the interface information. FIG. 3 is an explanatory diagram illustrating an example of the interface 231 displayed on the browser screen of the terminal device 2 according to the first embodiment. The top page when the user logs in to the Web service provided by the business entity that manages the DBIF providing device 3 using the terminal device 2 is the DB and account to which the logged in account (user) has access authority. A list of local data is displayed for selection.

図3に示すように、インタフェース231は、新たなローカルデータの新規作成、コピー、削除、及びDB群4へのアップロードの各操作に対応するボタンを含む。図3の例では、業務管理に係るデータに関し、2015年9月度の売上データ(テーブル)がローカルデータとして選択可能に表示されている。ユーザが2015年9月度の売上データをアップロードする操作を行なった場合、端末装置2からローカルデータがDBIF提供装置1経由で、DB群4中のユーザ用のDBへの追加を指示する情報(SQL文)と共にDB処理装置1へ送信される。このときにDB処理装置1において実行される処理についてフローチャート及び説明図を参照して説明する。   As shown in FIG. 3, the interface 231 includes buttons corresponding to new operations for creating new local data, copying, deleting, and uploading to the DB group 4. In the example of FIG. 3, sales data (table) for September 2015 is displayed so as to be selectable as local data regarding data related to business management. When the user performs an operation of uploading sales data for September 2015, the local data from the terminal device 2 via the DBIF providing device 1 is instructed to add to the user DB in the DB group 4 (SQL To the DB processing device 1. Processing executed in the DB processing apparatus 1 at this time will be described with reference to a flowchart and an explanatory diagram.

図4は、DB処理装置1にて実行される処理手順の一例を示すフローチャートである。DB処理装置1の制御部10は、記憶部11に記憶されているDB処理プログラム1Pに基づき、以下に示す処理を実行する。   FIG. 4 is a flowchart illustrating an example of a processing procedure executed by the DB processing apparatus 1. The control unit 10 of the DB processing apparatus 1 executes the following process based on the DB processing program 1P stored in the storage unit 11.

DB処理装置1の制御部10は、通信部13によりDB群4へ新たに追加するリレーション(テーブル)を入力する(ステップS101)。制御部10は、入力したテーブルの属性(行)毎に分解する(ステップS102)。   The control unit 10 of the DB processing apparatus 1 inputs a relation (table) to be newly added to the DB group 4 by the communication unit 13 (step S101). The control unit 10 decomposes each attribute (row) of the input table (step S102).

制御部10は、分解した属性毎に属性値(数値又は文字列等)のバラつきをエントロピーとして算出する(ステップS103)。バラつきとは属性(行)内での重複回数の少なさに対応する。   The control unit 10 calculates the variation of the attribute value (numerical value or character string or the like) as entropy for each decomposed attribute (step S103). The variation corresponds to the small number of times of duplication within the attribute (row).

制御部10は、分解した属性夫々のエントロピーの大きさ順に順位を付与し(ステップS104)、エントロピーが最も大きい(最もバラつきが多い)属性を抽出する(ステップS105)。   The control unit 10 assigns a rank in order of the entropy size of each decomposed attribute (step S104), and extracts the attribute having the largest entropy (most variation) (step S105).

制御部10は、ステップS105で抽出した属性の内、キーとしての制約に反していないものを、候補キーとして更に抽出する(ステップS106)。なお制約とはNULLでない、フィールド長(値)等である。   The control unit 10 further extracts, as candidate keys, the attributes extracted in step S105 that do not violate the restrictions as keys (step S106). Note that the constraint is a field length (value) or the like that is not NULL.

制御部10は、分解した属性間の関数従属性(functional dependency )の計算を行なう(ステップS107)。ステップS107にて具体的には、制御部10は、ステップS106で抽出した候補キーと、候補キー(複数可)により一意に決まる他の属性(非キー属性)との関係を候補キー及び他の属性の組毎に特定する。またこのとき制御部10は、バラつきが多い属性(候補キーである可能性が高い)とバラつきが少ない属性(非キー属性である可能性が高い)との間で優先的に関数従属性を特定する。   The control unit 10 calculates a functional dependency between the decomposed attributes (step S107). Specifically, in step S107, the control unit 10 determines the relationship between the candidate key extracted in step S106 and other attributes (non-key attributes) uniquely determined by the candidate key (s). Specify for each set of attributes. In addition, at this time, the control unit 10 preferentially specifies the functional dependency between an attribute with a large variation (highly likely to be a candidate key) and an attribute with a small variation (highly likely a non-key attribute). To do.

制御部10は、ステップS107で得られた関数従属性に基づいて、ステップS101で入力したテーブル内の属性間の決定木(decision tree )を作成する(ステップS108)。これにより、主キー及び属性間の階層が決定される。   The control unit 10 creates a decision tree between the attributes in the table input in step S101 based on the function dependency obtained in step S107 (step S108). Thereby, the hierarchy between the primary key and the attribute is determined.

制御部10は、作成された決定木により複数のテーブルに分割する(ステップS109)。ステップS109において詳細には、制御部10はステップ108で作成された決定木に基づき、各関係性を2部グラフ(n部グラフ)として抽出し、抽出した2部グラフ毎に最大マッチングを求め、最大マッチングを使用してトポロジカルソートを行なって複数のテーブルに分割する(ダルメージ・メンデルゾーン分解(Dulmage-Mendelsohn decomposition ))。なおステップS109により、入力したテーブルのリレーショナルDBとしての第3正規化までが行なわれることになる。   The control unit 10 divides the table into a plurality of tables based on the created decision tree (step S109). Specifically, in step S109, the control unit 10 extracts each relationship as a bipartite graph (n-part graph) based on the decision tree created in step 108, obtains a maximum matching for each extracted bipartite graph, Perform topological sorting using maximum matching to divide into multiple tables (Dulmage-Mendelsohn decomposition). In step S109, the input table is subjected to the third normalization as a relational DB.

制御部10は、ステップS109で分割されたテーブルから階層化ネットワーク構造を作成する(ステップS110)。更に制御部10は、階層化ネットワークから複雑ネットワークを生成する(ステップS111)。   The control unit 10 creates a hierarchical network structure from the table divided in step S109 (step S110). Further, the control unit 10 generates a complex network from the hierarchical network (step S111).

ステップS111において制御部10は、階層化ネットワークにおいて各属性を頂点とした場合の平均頂点間距離を算出する。そして階層化ネットワーク(全リレーション)全体における平均頂点間距離が小さくなるように、頂点(属性)間にリンクを生成する。ただしこのとき、階層化ネットワークにおいて隣り合う階層(1階層スキップしない)間でリンクさせることとし、しかも出リンクが多い頂点(ハブ)、即ち、外部キーとなっている属性間は接続しないという制約条件下でリンクの生成を行なう。つまり制御部10は、ある頂点から、該頂点からの距離が算出された平均頂点間距離以上であり、しかもハブに従属している他の属性(ハブでない属性)との間でリンクを生成する。具体的には制御部10は、接続されていない属性間であって制約条件を満たす属性間のリストを抽出し、リスト毎に接続した場合の平均頂点間距離、及び出リンクの合計を算出する。制御部10は、リストの内、平均頂点間距離が最も小さくなり、且つ出リンクの合計が大きくならない属性ペアを特定してこれらを接続する。ステップS111により、ステップS109により完備された正規化を一部崩し、スモールワールド性が高く、且つスケールフリー性は低いDBを自動的に作成することが可能になる。スモールワールド性が高くスケールフリー性が低いことでテーブル間の結合演算を減らして処理性能の低下を回避することができ、且つ、DBの更新時に異常を来たさない優れたDBとなる。   In step S111, the control unit 10 calculates an average inter-vertex distance when each attribute is a vertex in the hierarchical network. Then, links are generated between the vertices (attributes) so that the average distance between vertices in the entire hierarchical network (all relations) becomes small. However, at this time, in the hierarchical network, a link is made between adjacent hierarchies (not skipping one hierarchy), and a vertex (hub) with many outgoing links, that is, a constraint that attributes that are foreign keys are not connected. Create a link below. That is, the control unit 10 generates a link from a certain vertex to another attribute (non-hub attribute) whose distance from the vertex is equal to or greater than the calculated average inter-vertex distance and subordinate to the hub. . Specifically, the control unit 10 extracts a list between attributes that are not connected and satisfy the constraint condition, and calculates the average distance between the vertices and the sum of the outgoing links when connected for each list. . The control unit 10 identifies and connects attribute pairs whose average vertex distance is the smallest in the list and whose total number of outgoing links does not increase. In step S111, the normalization completed in step S109 is partly broken, and a DB having high small world characteristics and low scale-free characteristics can be automatically created. Since the small-world property is high and the scale-free property is low, it is possible to reduce the join operation between the tables and avoid the deterioration of the processing performance, and it is an excellent DB that does not cause any abnormality when updating the DB.

制御部10は、ステップS111で生成した複雑ネットワークに基づいて、入力したテーブルのスキーマを描画する(ステップS112)。制御部10は、描画して得られた情報をDBIF提供装置3経由で端末装置2へ送信する(ステップS113)。   The control unit 10 draws the schema of the input table based on the complex network generated in step S111 (step S112). The control unit 10 transmits the information obtained by drawing to the terminal device 2 via the DBIF providing device 3 (step S113).

ステップS112において制御部10は、上述の階層化ネットワーク構造における主キー(最上流)の属性に対応するオブジェクトを描画範囲内の中央に配置し、該属性に対応するオブジェクトと同一階層における他の属性に対応させたオブジェクトを円形状に配置して描画する。このときテーブルに含まれる属性のエントロピー(バラつきの多さ)の総和を基準にして円形の半径とする。制御部10は、描画範囲の外側に向けて下位の階層の属性に対応するオブジェクトを同様にして、分解されたテーブル毎に、該テーブルに属する属性に対応するオブジェクトを円形状に配置する。ステップS111において計算した平均頂点間距離を表示するようにしてもよい。なおオブジェクトはいずれもカード型とし、端末装置2の表示部23にてJavascript(登録商標)に基づき選択して移動することが可能に描画されるように、制御部10は上述のスキーマを示す画面情報を作成する。   In step S112, the control unit 10 arranges the object corresponding to the attribute of the primary key (the most upstream) in the above-described hierarchical network structure in the center of the drawing range, and other attributes in the same hierarchy as the object corresponding to the attribute. The object corresponding to is arranged in a circle and drawn. At this time, the radius of the circle is set based on the sum of entropy (variation) of attributes included in the table. The control unit 10 similarly arranges the objects corresponding to the attributes belonging to the table in a circular shape for each decomposed table in the same manner for the objects corresponding to the attributes of the lower hierarchy toward the outside of the drawing range. The average vertex distance calculated in step S111 may be displayed. The object is a card type, and the control unit 10 displays a screen showing the above-described schema so that the object can be selected and moved based on Javascript (registered trademark) on the display unit 23 of the terminal device 2. Create information.

またオブジェクトの配置は円形状に限定されず、楕円形は勿論、大小によってエントロピーの総和を表現できればよい。配置される形状(例えば円)が大きいほど、そのテーブルには候補キーが多く含まれ、外側に更に他のテーブルに対応する円形が繋がる可能性があることを示す。   Further, the arrangement of the objects is not limited to a circular shape, and it is sufficient that the total entropy can be expressed by the size of an ellipse as well as an ellipse. The larger the arranged shape (for example, a circle), the more candidate keys are included in the table, indicating that there is a possibility that a circle corresponding to another table may be connected to the outside.

更に制御部10は、端末装置2の表示部23上に描画されたスキーマを示す画面上で操作を受け付け、受け付けた操作内容を示す情報をDBIF提供装置3経由で受信する(ステップS114)。制御部10は、受け付けられた操作に応じて、ステップS107〜S110の処理により得られた、関数従属性、複雑ネットワーク構造等に基づいてステップS101で入力したテーブルによりDB群4内にDBを構築し(ステップS115)、処理を終了する。   Further, the control unit 10 receives an operation on the screen indicating the schema drawn on the display unit 23 of the terminal device 2, and receives information indicating the received operation content via the DBIF providing device 3 (step S114). The control unit 10 constructs a DB in the DB group 4 based on the table input in step S101 based on the functional dependency, complex network structure, etc. obtained by the processing in steps S107 to S110 according to the accepted operation. (Step S115), and the process ends.

図4のフローチャートに示した処理手順を、具体例を挙げて説明する。図5は、端末装置2から送信されるデータ(テーブル)の内容例を示す説明図である。図5に示す例は、図3に示した売上データであり、売上内容(レコード)の注文日、顧客番号、顧客の氏名、都道府県、住所、顧客種別、商品番号、カテゴリ名、商品名、販売担当の従業員名等の実際の値を表形式にしたものである。売上データには図5では省略した単価、個数、金額も含まれる。更に、売上データはユーザがアクセス権限を有しているDBの内、業務データに追加されるものである。業務データは更に、従業員について、従業員名、身長、体重、誕生日、電子メール、入社年度、給与情報、所属部署情報を属性として含むリレーション(テーブル)を有している。   The processing procedure shown in the flowchart of FIG. 4 will be described with a specific example. FIG. 5 is an explanatory diagram showing a content example of data (table) transmitted from the terminal device 2. The example shown in FIG. 5 is the sales data shown in FIG. 3. The sales data (record) order date, customer number, customer name, prefecture, address, customer type, product number, category name, product name, Actual values such as the names of employees in charge of sales are tabulated. The sales data includes the unit price, number, and amount omitted in FIG. Furthermore, the sales data is added to the business data in the DB to which the user has access authority. The business data further includes a relation (table) for the employee including an employee name, height, weight, date of birth, e-mail, year of employment, salary information, and department information as attributes.

図5に示したテーブルのアップロード操作が端末装置2で行なわれた場合、DB処理装置1の制御部10は、テーブルを入力し(S101)、追加先の業務データと合わせて属性(行)毎に分解する(S102)。このとき制御部10は、新たに入力するテーブルのテーブル定義をユーザから受け付ける画面の画面情報を端末装置2へDBIF提供装置3経由で送信する。図6は、テーブル定義受付画面の内容例を示す説明図である。図6に示すように、制御部10はアップロードされたテーブルの各行の先頭の文字列を属性名として識別して分解した属性の属性値の種別(数値/文字列)、長さ、空(NULL)を許可するか否か等の選択が可能である。   When the upload operation of the table shown in FIG. 5 is performed by the terminal device 2, the control unit 10 of the DB processing device 1 inputs the table (S101), and adds each attribute (row) together with the business data of the addition destination. (S102). At this time, the control unit 10 transmits screen information of a screen for receiving a table definition of a table to be newly input from the user to the terminal device 2 via the DBIF providing device 3. FIG. 6 is an explanatory diagram showing an example of the contents of the table definition acceptance screen. As shown in FIG. 6, the control unit 10 identifies the first character string of each row of the uploaded table as an attribute name, decomposes the attribute value type (numeric value / character string), length, and empty (NULL). ) Can be selected.

図6に示したテーブル定義受付画面にて受け付けられる情報以外に、その他アップロードされたテーブルの属性の関係性を特定するための参考情報を受け付けるようにしてもよい。例えば、複数のテーブルをアップロードした場合には、DB処理装置1はDB提供装置3経由で端末装置2にてテーブル間の関係性の有無の選択を受け付けてもよい。また図6に示したように分解された複数の属性の内、主キーの指定を受け付けるようにしてもよいし、属性に対応するID属性の意図的な追加の指示を受け付けるようにしてもよい。   In addition to the information received on the table definition reception screen shown in FIG. 6, other reference information for specifying the relationship of attributes of the uploaded table may be received. For example, when a plurality of tables are uploaded, the DB processing device 1 may accept selection of presence / absence of a relationship between the tables at the terminal device 2 via the DB providing device 3. Also, as shown in FIG. 6, the designation of the primary key may be received from among the plurality of decomposed attributes, or an instruction to intentionally add an ID attribute corresponding to the attribute may be accepted. .

DB処理装置1の制御部10は、複数の属性から候補キーの属性を抽出する(S106)。このとき制御部10は、エントロピーが高い属性について、ID属性が必要な属性(レコードをユニークにするために必要な場合)について自動的にID属性を追加する。例えば、入力した売上データの属性が注文日、顧客番号、氏名、都道府県、住所、顧客種別、商品番号、カテゴリ名、商品名、単価、個数、金額、従業員名である場合、複数の商品番号を含むレコードを第1正規化して売上ID属性を追加する。売上ID属性は最もバラつきの大きい属性となる。同様にして顧客ID、商品ID、従業員IDを自動的に又はユーザからの指示により追加する。制御部10は、ID属性を追加した上で関数従属性を計算し(S107)、決定木を作成する(S108)。関数従属性の計算では制御部10は、エントロピーが高い1つの属性について、該1つの属性値における属性値により、他の属性における属性値が一意に決まるか否かを判断し、決まる場合には関数従属すると特定される。つまり、前記1つの属性における属性値が同一である場合には、他の属性における属性値が同一の属性値となる関係を特定する。   The control unit 10 of the DB processing apparatus 1 extracts candidate key attributes from a plurality of attributes (S106). At this time, the control unit 10 automatically adds an ID attribute for an attribute that requires an ID attribute (when necessary to make a record unique) for an attribute with high entropy. For example, if the attributes of the input sales data are order date, customer number, name, prefecture, address, customer type, product number, category name, product name, unit price, quantity, amount, employee name, multiple products A record ID number is first normalized and a sales ID attribute is added. The sales ID attribute has the largest variation. Similarly, a customer ID, a product ID, and an employee ID are added automatically or by an instruction from the user. The control unit 10 calculates the functional dependency after adding the ID attribute (S107), and creates a decision tree (S108). In calculating the functional dependency, the control unit 10 determines whether or not an attribute value in another attribute is uniquely determined by the attribute value in the one attribute value for one attribute having high entropy. Identified as function dependent. That is, when the attribute values in the one attribute are the same, the relationship in which the attribute values in the other attributes are the same attribute value is specified.

図7は、決定木の内容例を示す説明図である。最もバラつきの大きい属性である売上属性を最上流として、関数従属性に基づき図7に示すようなツリー構造が特定される。   FIG. 7 is an explanatory diagram showing an example of the contents of a decision tree. Based on the functional dependency, the tree structure as shown in FIG. 7 is specified with the sales attribute being the attribute having the largest variation as the most upstream.

次に制御部10は、図7に示した決定木からステップS109によりテーブルを分割し、階層化ネットワーク構造を作成する。図8は、階層化ネットワーク構造の内容例を示す説明図である。図8に示すように、決定木に基づいて最上流の売上IDを含み個数、顧客ID、注文日、商品ID及び従業員IDを含む同一階層の属性が1つのテーブルとして分割されている。同様にして上述のテーブルにも属している顧客IDを含み、住所、都道府県ID、顧客種別ID、(顧客の)氏名、及び顧客番号を含む同一階層の属性が1つのテーブルとして分割されている。また、売上IDを含むテーブルにも属している商品IDを含み、商品名、商品番号、商品カテゴリID及び単価を含む同一階層の属性が1つのテーブルとして分割されている。更に、売上IDを含むテーブルにも属している従業員IDを含み、従業員名、身長、体重、電子メール、入社年度、誕生日、血液型、所属ID、及び給与IDを含む同一階層の属性が既存のテーブルとして存在している。同一のテーブルは破線で示すようにグループ化される。このように関連するテーブルは共に処理(更新)される。   Next, the control unit 10 divides the table from the decision tree shown in FIG. 7 in step S109 to create a hierarchical network structure. FIG. 8 is an explanatory diagram showing an example of the contents of a hierarchical network structure. As shown in FIG. 8, on the basis of the decision tree, attributes of the same hierarchy including the most upstream sales ID, including the number, customer ID, order date, product ID, and employee ID are divided as one table. Similarly, the attributes of the same hierarchy including the customer ID belonging to the above-mentioned table, including the address, prefecture ID, customer type ID, (customer) name, and customer number are divided as one table. . Further, the table including the sales ID includes the product ID belonging to the table, and the attributes of the same hierarchy including the product name, the product number, the product category ID, and the unit price are divided as one table. In addition, the employee IDs belonging to the table including the sales IDs are included, and the attributes in the same hierarchy including the employee name, height, weight, e-mail, year of employment, birthday, blood type, affiliation ID, and salary ID Exists as an existing table. The same table is grouped as shown by the broken line. Thus, the related tables are processed (updated) together.

更に制御部10は、階層化ネットワークから複雑ネットワークを生成する(S111)。図9は、複雑ネットワーク生成の概要を示す説明図である。図9に示すような階層化されたネットワーク構造が存在する場合、まず平均頂点間距離を算出する。平均頂点間距離は図9の例であれば、主キーであるAから同一テーブル内の各頂点B,C,Dまでの頂点間距離は各1、非キー属性であるB,C,D間、E,F,G間は、HIJいずれもキー経由で2であり、頂点Aから頂点Kまでの頂点間距離は3である。これらを全頂点間で算出してその平均を求めたものが平均頂点間距離である。制御部10は、頂点間の組み合わせの内で未接続の組み合わせを抽出し、同一階層に含まれず、且つ2階層以上離れていない組み合わせを抽出する。例えば頂点Bと頂点Cとの組み合わせは同一階層(テーブル)に含まれ、頂点Eと頂点Iとの組み合わせは階層が2つ離れているからいずれも抽出されない。そして、頂点間距離が平均頂点間距離より大きく、且つ、ハブでない頂点(頂点C,G以外)を結ぶ組み合わせが抽出される。図9の例であれば例えば、頂点B,C,Eのいずれかと頂点F又は頂点Hとの組み合わせ等が抽出される。抽出された組み合わせの内、所定の基準を満たす組み合わせの頂点間を従属関係(リンク)で接続する。所定の基準とは頂点間距離、より上位の階層又はより下位の階層、又は頂点(属性)における属性値の種別(文字列、数値)が同一である等である。例えば、抽出された組み合わせの内、より上位の階層に含まれる頂点をペアに含み、且つ頂点に対応する属性の属性値が数値である場合には、頻度が高い演算に使用する可能性が高いなどとして従属関係(リンク)を結ぶ。これにより図9に示すような新たなリンクが接続される。   Further, the control unit 10 generates a complex network from the hierarchical network (S111). FIG. 9 is an explanatory diagram showing an outline of complex network generation. When a hierarchical network structure as shown in FIG. 9 exists, first, an average vertex distance is calculated. In the example of FIG. 9, the average distance between vertices is 1 between the vertices B, C, and D from the primary key A to each of the vertices B, C, and D in the same table. , E, F, and G are all 2 through the keys, and the distance between the vertices A to K is 3. The average distance between vertices is obtained by calculating the average between these vertices and calculating the average. The control unit 10 extracts unconnected combinations among the combinations between the vertices, and extracts combinations that are not included in the same hierarchy and are not separated by two or more hierarchies. For example, the combination of vertex B and vertex C is included in the same hierarchy (table), and the combination of vertex E and vertex I is not extracted because the hierarchy is separated by two. Then, a combination that connects the vertices (other than the vertices C and G) that are larger than the average vertex distance and that are not hubs is extracted. In the example of FIG. 9, for example, a combination of one of the vertices B, C, and E with the vertex F or the vertex H is extracted. Among the extracted combinations, vertices of combinations that satisfy a predetermined criterion are connected by a dependency relationship (link). The predetermined standard is the distance between vertices, higher hierarchy or lower hierarchy, or the same attribute value type (character string, numerical value) at the vertex (attribute). For example, if the extracted combination includes vertices included in a higher hierarchy in a pair and the attribute value of the attribute corresponding to the vertex is a numerical value, it is likely to be used for a high-frequency operation. For example, a dependency relationship (link) is established. As a result, a new link as shown in FIG. 9 is connected.

図10は、複雑ネットワーク構造の内容例を示す説明図である。図10に示す複雑ネットワーク構造の内容例は、図8の階層化ネットワークから生成される。図10に示すように、未接続の組み合わせの内、隣り合う階層の非ハブである頂点(属性)であって、いずれも数値である属性として「単価」が優先的に接続される。これにより、単価と個数とが同一のテーブルに含まれ、テーブルの結合演算による処理負荷が軽減されることが期待される。   FIG. 10 is an explanatory diagram showing an example of the contents of a complex network structure. The content example of the complex network structure shown in FIG. 10 is generated from the hierarchical network of FIG. As shown in FIG. 10, “unit price” is preferentially connected as a non-hub vertex (attribute) that is a non-hub of an adjacent hierarchy from among unconnected combinations. As a result, the unit price and the number are included in the same table, and it is expected that the processing load due to the join operation of the tables is reduced.

そして図10に示したように生成された複雑化ネットワークに基づいてリレーションのスキーマが描画される(S112)。図11は、スキーマ描画例を示す説明図である。図3に示したインタフェース231にてローカルデータをアップロードした場合、図11に示すように「モデリングデッキ」の機能によりアップロードしたデータの統合先DBのスキーマを描画した画面を見ることができる。なおこれらのスキーマの描画情報はDB処理装置1の制御部10が作成し、DBIF提供装置3経由で端末装置2へ送信する。図11に示すように、本実施の形態におけるスキーマ描画例では、図10に示した複雑ネットワーク構造における分割されたテーブル毎に、該テーブルに含まれる属性が、対応するカード(オブジェクト)232として円形状に配置されている。各テーブルに対応する円233の大きさは所属する属性夫々のエントロピー(バラつきの多さ)の総和に対応している。   Then, a relation schema is drawn based on the complicated network generated as shown in FIG. 10 (S112). FIG. 11 is an explanatory diagram illustrating a schema drawing example. When local data is uploaded through the interface 231 shown in FIG. 3, as shown in FIG. 11, a screen on which the schema of the integration destination DB of the uploaded data is drawn can be viewed by the function of “modeling deck”. The drawing information of these schemas is created by the control unit 10 of the DB processing apparatus 1 and transmitted to the terminal apparatus 2 via the DBIF providing apparatus 3. As shown in FIG. 11, in the schema drawing example according to the present embodiment, for each divided table in the complex network structure shown in FIG. 10, the attributes included in the table are circles as corresponding cards (objects) 232. Arranged in shape. The size of the circle 233 corresponding to each table corresponds to the total sum of entropy (variation) of the attributes to which the table belongs.

図11に示すスキーマの描画においてはまず、テーブルが円233で表示され、属性はカード232で円233の円周上に配置される。図11に示す例では図8(10)の階層化ネットワーク構造から分かるように主キーは「売上ID」であるが、該主キーに直接従属している属性(顧客ID、注文日、商品ID、個数、授業員ID)は第1次元のリレーション(テーブル)として「モデリングデッキ」のできるだけ中央部に描画される。更に第1次元のテーブルに対応する円233の外側に隣接する円233に対応するテーブルが第2次元である。第2次元のテーブルの円233に更に外側に向けて隣接する円233に対応するテーブルが第3次元であり、更に外側に隣接する円233に対応するテーブルが第4次元である。図11の例では顧客テーブル、商品テーブル、従業員テーブルが第2次元、都道府県テーブル、顧客種別テーブル、カテゴリテーブル、所属テーブル、給与テーブルが第3次元、所属テーブルの外側に位置する部署テーブルが第4次元である。   In the schema drawing shown in FIG. 11, first, a table is displayed as a circle 233, and attributes are arranged on the circumference of the circle 233 by the card 232. In the example shown in FIG. 11, as can be seen from the hierarchical network structure of FIG. 8 (10), the primary key is “sales ID”, but the attributes (customer ID, order date, product ID) directly subordinate to the primary key. , Number, instructor ID) are drawn as centrally as possible on the “modeling deck” as a first dimension relation (table). Furthermore, the table corresponding to the circle 233 adjacent to the outside of the circle 233 corresponding to the first dimension table is the second dimension. The table corresponding to the circle 233 adjacent to the outer side of the circle 233 of the second dimension table is the third dimension, and the table corresponding to the circle 233 adjacent to the outer side is the fourth dimension. In the example of FIG. 11, the customer table, the product table, and the employee table are the second dimension, the prefecture table, the customer type table, the category table, the belonging table, and the salary table are the third dimension, and the department table that is located outside the belonging table is The fourth dimension.

図11に示すように、第1次元のテーブルと第2次元のテーブル、第2次元のテーブルと第3次元のテーブル、第3次元のテーブルと第4次元のテーブルは夫々、外部キーとなる属性を接点として共有することで隣接する。   As shown in FIG. 11, the first dimension table and the second dimension table, the second dimension table and the third dimension table, and the third dimension table and the fourth dimension table are attributes that are foreign keys, respectively. Adjacent by sharing as a contact.

なお図11における各属性に対応するカード233は操作部24により選択が可能であり、ユーザが操作部24によりカード232上をクリックした場合には、属性の情報が表示される。つまりDB処理装置1の制御部10は、各属性の情報も対応付けてスキーマの描画情報と共に端末装置2へ送信している。更に各テーブルに対応する円233も選択が可能である。円233についてユーザが操作部24により円233をクリックした場合には、対応するテーブルの情報が表示される。なお各テーブルの名称は、属性名に共通する単語を用いてDB処理装置1の制御部10が自動的に決定してもよいし、ユーザが各テーブルの名称を図11に示す「モデリングデッキ」上で円233を選択し、その際に表示されるテーブルの情報を編集する形式で指定することも可能である。   Note that the card 233 corresponding to each attribute in FIG. 11 can be selected by the operation unit 24. When the user clicks on the card 232 by the operation unit 24, attribute information is displayed. That is, the control unit 10 of the DB processing apparatus 1 also associates information of each attribute and transmits it to the terminal apparatus 2 together with schema drawing information. Further, a circle 233 corresponding to each table can also be selected. When the user clicks on the circle 233 using the operation unit 24 for the circle 233, information on the corresponding table is displayed. Note that the name of each table may be automatically determined by the control unit 10 of the DB processing apparatus 1 using a word common to the attribute name. It is also possible to select the circle 233 above and specify the table information displayed at that time in an edit format.

図11に示す「モデリングデッキ」上における各カード232は、表示部23の画面上で選択を受け付けることが可能に構成されている。ユーザは操作部24によってカード232をドラッグし、テーブル内の位置(階層)を移動させることが可能である。ユーザは操作部24によって円233をつかんで移動させ、他の円233へ統合させることも可能である。   Each card 232 on the “modeling deck” shown in FIG. 11 is configured to accept selection on the screen of the display unit 23. The user can drag the card 232 with the operation unit 24 to move the position (hierarchy) in the table. The user can also grab and move the circle 233 by the operation unit 24 and integrate it with another circle 233.

図12は、スキーマの変更後の描画例を示す説明図である。図12は、図11における「都道府県名」の属性に対応するカード232が「顧客」テーブルに対応する円233内へ移動された場合の表示例を示している。この操作によって「都道府県名」の属性は「顧客」テーブル内にも追加され、これによりユーザの操作によってテーブルが逆正規化される。また、図9に示す「モデリングデッキ」では、円形アイコン234のドラッグアンドドロップで新しいテーブルの配置(追加)を受け付けることが可能である。このように受け付けられた操作の内容はJSON等の言語により端末装置2からDBIF提供装置3経由でDB処理装置1へ送信され、受け付けられる(S114)。   FIG. 12 is an explanatory diagram of a drawing example after the schema is changed. FIG. 12 shows a display example when the card 232 corresponding to the attribute of “prefecture name” in FIG. 11 is moved into the circle 233 corresponding to the “customer” table. By this operation, the attribute of “prefecture name” is also added to the “customer” table, and the table is denormalized by the operation of the user. Further, in the “modeling deck” shown in FIG. 9, it is possible to accept the arrangement (addition) of a new table by dragging and dropping the circular icon 234. The contents of the accepted operation are transmitted from the terminal device 2 to the DB processing device 1 via the DBIF providing device 3 in a language such as JSON and accepted (S114).

更に、図11,12に示す「モデリングデッキ」には「OK」ボタン235が表示されている。「OK」ボタンにより、入力されたテーブルに対し、「モデリングデッキ」上に描画されているスキーマでのDBの構築が行なわれる(S115)。   Furthermore, an “OK” button 235 is displayed on the “modeling deck” shown in FIGS. With the “OK” button, a DB is constructed with the schema drawn on the “modeling deck” for the input table (S115).

図13は、構築されたDBを示す説明図である。図13に示すように、リレーショナルDBが構築される。図13に示されるように、第3正規化が実行された上で、更に複雑ネットワーク化により、また図12に示したユーザの操作に基づいて一部が非正規化(太線に示す)されたDBが構築される。   FIG. 13 is an explanatory diagram showing the constructed DB. As shown in FIG. 13, a relational DB is constructed. As shown in FIG. 13, after the third normalization was performed, a part of the network was further denormalized (shown in bold lines) due to the complicated networking and based on the user operation shown in FIG. 12. DB is constructed.

このように、ユーザは自身が作成した表形式のリレーション(テーブル)をDBIF提供装置3経由でDB処理装置1へアップロードする操作を行なう程度で、リレーショナルスキーマが機械的に自動的に生成される。これにより、DB及びDBを扱うための技術に対する専門知識を有さないユーザであっても簡単にDBの更新が可能になる。   In this way, the relational schema is automatically generated mechanically to the extent that the user performs an operation of uploading the table-format relation (table) created by the user to the DB processing apparatus 1 via the DBIF providing apparatus 3. Thereby, even if it is a user who does not have the technical knowledge with respect to DB and the technique for handling DB, it becomes possible to update DB easily.

更に、従来のER図とは異なる方法で図11に示すようにスキーマが視覚化されて描画される。これにより、自身がアップロードしたリレーションのDBのスキーマを直感的に把握することができる。これにより、DBへのアクセスに関する知識を有さないユーザであっても自動的に生成されたDBのスキーマを直感的に把握することができる。   Further, the schema is visualized and drawn as shown in FIG. 11 by a method different from the conventional ER diagram. Thereby, it is possible to intuitively grasp the schema of the relation DB uploaded by itself. Thereby, even the user who does not have knowledge about access to the DB can intuitively grasp the schema of the automatically generated DB.

また、可視化されたスキーマにおける各属性及びテーブルがオブジェクトされており、選択及び移動の操作を受け付けるようにしてあることで、図12に示すように、ユーザはオブジェクトを画面上で動かすという直感的な操作でデータベース内の構造を調整することも可能になる。これにより、DB及びDBを扱うための技術に対する専門知識を有さないユーザであっても簡単にDBの更新が可能になる。   In addition, since each attribute and table in the visualized schema is an object, and selection and movement operations are accepted, the user can intuitively move the object on the screen as shown in FIG. It is also possible to adjust the structure in the database by operation. Thereby, even if it is a user who does not have the technical knowledge with respect to DB and the technique for handling DB, it becomes possible to update DB easily.

実施の形態1では、ユーザがローカルデータのアップロード操作を行なった場合に、アップロード対象のリレーションに対して解析が行なわれた。しかしながら解析の対象はアップロード対象のみならず、既にDB群4に記憶されている既存のDBであってもよい。これにより、既存のDBのスキーマを可視化し、更に既存のDBのスキーマ変更が直感的に可能になる。   In the first embodiment, when a user performs an operation of uploading local data, the relation to be uploaded is analyzed. However, the analysis target is not limited to the upload target, but may be an existing DB already stored in the DB group 4. As a result, the schema of the existing DB is visualized, and the schema of the existing DB can be changed intuitively.

(実施の形態2)
図14は、実施の形態2における情報処理システムの構成を示すブロック図である。実施の形態2における情報処理システムの構成は、DB処理装置1においてDB群4に対する学習データを参照した処理を行なうこと以外は実施の形態1における構成と同様である。したがって実施の形態1における構成と共通する構成については同一の符号を付して詳細な説明を省略する。実施の形態2におけるDB群4は、DB化された各種データ(実データ)、各DB間及びDB内のテーブル同士の関係を示す情報を記録した管理DBの他に、学習データ41を含む。
(Embodiment 2)
FIG. 14 is a block diagram illustrating a configuration of the information processing system according to the second embodiment. The configuration of the information processing system in the second embodiment is the same as the configuration in the first embodiment except that the DB processing device 1 performs processing referring to learning data for the DB group 4. Therefore, the same reference numerals are assigned to configurations common to those in Embodiment 1, and detailed description thereof is omitted. The DB group 4 in the second embodiment includes learning data 41 in addition to a management DB in which various types of data (actual data) converted into DBs, information indicating relationships between tables in the DBs, and tables in the DBs are recorded.

学習データ41は、類語辞書、共起辞書等を含み予めDBの属性名用に辞書データと、属性名及び属性名のリレーション(テーブル)を含むコーパスとを有する。辞書データにおける類語辞書は例えば、「売上」、「売り上げ」、「注文」、「セールス」、「Sales 」は類語であることが記述する。共起辞書は例えば、「住所」、「都道府県」、「電話番号」は同一テーブルに存在する属性名であることを記述している。コーパスは過去に、設計者により又はSQLの学習に基づいて作成されたテーブルを文章に見立てて主キー及び非キー属性の組み合わせとしたものの集合である。例えば、「注文日/商品名/個数/都道府県名」、「注文日時/商品番号/個数/単価/金額」、及び「注文番号/商品番号/個数/金額/住所」等を含む第1コーパス、「顧客名/顧客番号/顧客種別」、「顧客番号/顧客名/顧客種別/住所」、及び「顧客名/顧客種別/都道府県/年齢」等を含む第2コーパスと分類される複数種類のコーパス群を含む。   The learning data 41 includes a synonym dictionary, a co-occurrence dictionary, and the like, and has dictionary data for DB attribute names in advance and a corpus including attribute names and attribute name relations (tables). For example, “sales”, “sales”, “order”, “sales”, and “Sales” are described as synonyms in the dictionary data. For example, the co-occurrence dictionary describes that “address”, “prefecture”, and “phone number” are attribute names existing in the same table. The corpus is a set of combinations of primary key and non-key attributes that are created in the past by using a table created by a designer or based on SQL learning as a sentence. For example, the first corpus including “order date / product name / quantity / prefecture name”, “order date / time / product number / quantity / unit price / amount”, “order number / product number / quantity / amount / address”, etc. , “Customer name / customer number / customer type”, “customer number / customer name / customer type / address”, “customer name / customer type / prefecture / age”, etc. Of corpus groups.

なお学習データ41のコーパス群は予め作成された初期データに基づき、各ユーザからのDBの追加に応じて逐次集約され、学習されるものであってもよい。なお学習データ41は、ユーザアカウント又はアカウントグループ個別に作成され、各ユーザの思考の傾向に合わせて学習されるものであってもよい。   Note that the corpus group of the learning data 41 may be sequentially aggregated and learned according to the addition of the DB from each user based on the initial data created in advance. The learning data 41 may be created for each user account or account group and learned in accordance with each user's thinking tendency.

図15は、実施の形態2におけるDB処理装置1にて実行される処理手順の一例を示すフローチャートである。図15に示す処理手順の内、実施の形態1の図4のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。   FIG. 15 is a flowchart illustrating an example of a processing procedure executed by the DB processing apparatus 1 according to the second embodiment. Of the processing procedures shown in FIG. 15, procedures common to the processing procedures shown in the flowchart of FIG. 4 of the first embodiment are denoted by the same step numbers, and detailed description thereof is omitted.

DB処理装置1の制御部10は、S111で複雑ネットワークを生成する前に、S109でテーブルを分割して正規化されたリレーションにおける属性に近似する種別のコーパスを、学習データ41のコーパス群から抽出する(ステップS1101)。ステップS1101において制御部10はまず、リレーションにおける出現頻度及び逆文書頻度(TFIDF:Term Frequency、Inverse Document Frequency)、並びにコーパス毎のTFIDFを夫々計算する。そして制御部10は、リレーションにおける属性名、及び各コーパスにおける属性名を、類語辞書データを参照して同意の属性名を合致させる(揃える)。その上でコサイン距離(コサイン類似度関数)を用いて、コーパス群の内のいずれのコーパスに近似するか否かを判断し、近似するコーパスを特定する。   The control unit 10 of the DB processing apparatus 1 extracts from the corpus group of learning data 41 a type of corpus that approximates the attribute in the normalized relation by dividing the table in S109 before generating a complex network in S111. (Step S1101). In step S1101, the control unit 10 first calculates the appearance frequency and inverse document frequency (TFIDF: Term Frequency, Inverse Document Frequency) in the relation, and the TFIDF for each corpus. Then, the control unit 10 matches (aligns) the attribute name in the relation and the attribute name in each corpus with the attribute name of consent by referring to the synonym dictionary data. Then, using a cosine distance (cosine similarity function), it is determined whether or not to approximate any corpus in the corpus group, and an approximate corpus is specified.

ステップS1101は例えば、ユーザのリレーションから分割されて得られたリレーションの1つが「売上ID/注文日/商品ID/個数/顧客ID/従業員ID」である場合、制御部10は上述した第1コーパスを近似コーパスとして抽出することができる。   In step S1101, for example, when one of the relations obtained by dividing from the user relation is “sales ID / order date / product ID / quantity / customer ID / employee ID”, the control unit 10 performs the above-described first operation. The corpus can be extracted as an approximate corpus.

制御部10は、抽出された近似コーパスから、S109で分割して得られたリレーションに含まれる属性名と共起ペアとなる属性名を抽出する(ステップS1102)。このとき共起ペアとなる属性は、非キー属性であって、未接続の属性且つ階層(テーブル)内に存在しない属性(異なる階層で重複していない単語)となるように抽出する。更に、近似コーパスにおける全共起率の平均を算出し、算出された平均との差異(距離)に応じてフィルターを掛けるとよい。つまり制御部10は、平均と略同値の共起率の属性名のみを抽出するか、また後述する選択操作によって選択実績がある属性名の共起率を参照して類似する属性名を抽出するようにしてもよい。   The control unit 10 extracts an attribute name that is a co-occurrence pair with the attribute name included in the relation obtained by dividing in S109 from the extracted approximate corpus (step S1102). At this time, the attribute that becomes the co-occurrence pair is a non-key attribute, and is extracted so as to be an unconnected attribute and an attribute that does not exist in the hierarchy (table) (words that are not duplicated in different hierarchies). Furthermore, the average of all co-occurrence rates in the approximate corpus may be calculated, and a filter may be applied according to the difference (distance) from the calculated average. That is, the control unit 10 extracts only attribute names having a co-occurrence rate that is substantially equivalent to the average, or extracts similar attribute names by referring to the co-occurrence rates of attribute names that have been selected by a selection operation described later. You may do it.

ステップS1102は例えば、抽出された第1コーパスにおいて「都道府県名」が高頻度に出現する場合、制御部10は「都道府県名」を共起ペアとして抽出する。過去に作成されたリレーションにおいては経験的に「都道府県名」の属性を注文日、商品ID、個数等を含むテーブルに追加しておくことで、後に地域毎に売り上げを分類するなどする場合の結合演算処理を省略していた場合がある。上述のコーパスからの共起ペアの抽出により、結合演算処理の省略を実現するDBを作成することができる。   In step S1102, for example, when “prefecture name” appears frequently in the extracted first corpus, the control unit 10 extracts “prefecture name” as a co-occurrence pair. In relations created in the past, the attribute of “prefecture name” is empirically added to a table containing the order date, product ID, quantity, etc., so that sales can be classified by region later. In some cases, the join operation process is omitted. By extracting the co-occurrence pair from the corpus described above, a DB that realizes the omission of the join operation processing can be created.

制御部10は、抽出した属性名をリスト化して端末装置2へ送信し、いずれの属性名を選択するかを表示部23にて受け付ける(ステップS1103)。そして制御部10は、ステップS111にて複雑ネットワークを生成するに際し、ステップS1103で選択された属性名を用いて非正規化する。具体的には1対多の従属関係のリレーションにおいて、選択された属性(非キー属性)を子側(高次元側)に吸収するか、1対多の従属関係のリレーションにおいて選択された属性(非キー属性)を親側(低次元側)に吸収するか、又は、1対1の従属関係(例えば図10における「都道府県ID」と「都道府県名」、「顧客種別ID」と「顧客種別名」等)を統合する等がある。   The control unit 10 lists the extracted attribute names and transmits them to the terminal device 2, and the display unit 23 receives which attribute name is selected (step S1103). Then, when generating the complex network in step S111, the control unit 10 performs denormalization using the attribute name selected in step S1103. Specifically, in a one-to-many dependency relationship, the selected attribute (non-key attribute) is absorbed on the child side (higher dimension side) or the attribute selected in the one-to-many dependency relationship ( Non-key attribute) is absorbed by the parent side (low-dimensional side) or one-to-one dependency relationship (for example, “prefecture ID” and “prefecture name”, “customer type ID” and “customer” in FIG. 10) Type name ”) and the like.

なおステップS1103においては、ユーザからの選択を受け付けることなく、制御部10がリストに優先順位を付与し、上位数個の属性について共起ペアで接続するようにしてもよい。上述の例であれば「都道府県名」は、売上IDを含む第1次元のリレーション内に吸収される。   In step S1103, the control unit 10 may give priority to the list without accepting a selection from the user, and connect the top few attributes in co-occurrence pairs. In the above example, “prefecture name” is absorbed in the first dimension relation including the sales ID.

制御部10は、S114で受け付けた操作に基づき変更されたリレーションを、学習データ41内に別途、ユーザアカウントと対応付けて記憶し(ステップS1141)、DBを構築する(S115)。   The control unit 10 separately stores the relation changed based on the operation received in S114 in association with the user account in the learning data 41 (step S1141), and constructs a DB (S115).

このように、ユーザは自身が作成した表形式のリレーション(テーブル)をDBIF提供装置3経由でDB処理装置1へアップロードする操作を行なう程度で、正規化されて更新時に異常を来たさず、且つ演算処理等の負荷を考慮した非正規化をも完備したリレーショナルスキーマを得ることができる。つまり、DB及びDBを扱うための技術に対する専門知識を有さないユーザであっても簡単にDBの更新が可能になる。   In this way, the user does not cause an abnormality at the time of updating by performing the operation of uploading the table-like relation (table) created by himself / herself to the DB processing apparatus 1 via the DBIF providing apparatus 3, In addition, it is possible to obtain a relational schema complete with denormalization in consideration of a load such as arithmetic processing. That is, even a user who does not have expertise in the DB and the technology for handling the DB can easily update the DB.

なお制御部10は、ステップS107における属性間の関数従属性の計算時にも学習データを参照してもよい。これにより過去に作成されたDBにおける属性間の関係性を集合知として用いて経験的に適切と考えられるDBを構築することも可能となる。   Note that the control unit 10 may also refer to the learning data when calculating the functional dependency between attributes in step S107. As a result, it is possible to construct a DB that is empirically considered appropriate using the relationship between attributes in the DB created in the past as collective intelligence.

なお学習データ41に含まれる類語辞書、共起辞書、コーパスを参照することによって、異なる設計者によって入力され、構築されたDBを総合的に解析することも可能になる。同意に定義された属性も異なる属性名として定義されている場合、また同一名で定義された属性も、DB内における論理的意味が異なる場合がある。本実施の形態2に係るDB処理装置1の学習データに基づく処理により、異なるDBを統合することが可能となり、ビッグデータの解析が可能となる。更に、統合されたDBは、次に追加されるリレーション(テーブル)に対して集合知として機能する。   By referring to the synonym dictionary, the co-occurrence dictionary, and the corpus included in the learning data 41, it is possible to comprehensively analyze the DB input and constructed by different designers. When the attributes defined in the consent are also defined as different attribute names, the attributes defined with the same name may also have different logical meanings in the DB. By the process based on the learning data of the DB processing apparatus 1 according to the second embodiment, different DBs can be integrated, and big data can be analyzed. Further, the integrated DB functions as a collective intelligence for the relation (table) to be added next.

更に、従来のER図とは異なる方法で図11,12に示すようにスキーマが視覚化されて描画される。これにより、自身がアップロードしたリレーションのDBのスキーマを直感的に把握することができる。これにより、DBへのアクセスに関する知識を有さないユーザであっても自動的に生成されたDBのスキーマを直感的に把握することができる。   Further, the schema is visualized and drawn as shown in FIGS. 11 and 12 by a method different from the conventional ER diagram. Thereby, it is possible to intuitively grasp the schema of the relation DB uploaded by itself. Thereby, even the user who does not have knowledge about access to the DB can intuitively grasp the schema of the automatically generated DB.

今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。   It should be thought that embodiment disclosed this time is an illustration and restrictive at no points. The scope of the present invention is defined by the terms of the claims, rather than the meanings described above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

1 DB処理装置(中央装置)
10 制御部
11 記憶部
13 通信部
1P DB処理プログラム
2 端末装置(外部装置)
20 制御部
23 表示部
231 インタフェース
3 DBIF提供装置
1 DB processing device (central device)
DESCRIPTION OF SYMBOLS 10 Control part 11 Memory | storage part 13 Communication part 1P DB processing program 2 Terminal device (external device)
20 control unit 23 display unit 231 interface 3 DBIF providing device

Claims (11)

データベースと通信するコンピュータが、前記データベースに対する処理を実行させるデータベース処理プログラムにおいて、
前記コンピュータに、
データベースのリレーションを解析する解析ステップ、
解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付けるステップ、
対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画する描画ステップ
を実行させることを特徴とするデータベース処理プログラム。
In a database processing program for causing a computer communicating with a database to execute processing on the database,
In the computer,
An analysis step to analyze database relations,
Associating objects with multiple attributes in the analyzed relation,
A database processing program that executes a drawing step of arranging and drawing an associated object along an outer shape of a predetermined shape.
描画された前記オブジェクトに対する選択及び配置操作を受け付け、
前記コンピュータに、
操作に応じた前記オブジェクトの配置を受け付けるステップ、
受け付けた配置に応じて、前記データベースのリレーションを変更するステップ
を更に実行させることを特徴とする請求項1に記載のデータベース処理プログラム。
Accepts selection and placement operations for the drawn object,
In the computer,
Receiving an arrangement of the object according to an operation;
The database processing program according to claim 1, further comprising executing a step of changing the relation of the database according to the accepted arrangement.
前記描画ステップは、
前記解析によりデータベースが複数のリレーションに分割されていると解析された場合、リレーションの分割数分の所定の形状を隣接させ、隣接箇所にリレーション間で共通する属性に対応するオブジェクトを配置させ、前記複数のリレーション毎に所属する属性のオブジェクトを前記隣接箇所以外の外形上に配置させて描画する
ことを特徴とする請求項1又は2に記載のデータベース処理プログラム。
The drawing step includes
When it is analyzed that the database is divided into a plurality of relations by the analysis, a predetermined shape corresponding to the number of divisions of the relation is adjacent, and an object corresponding to an attribute common between the relations is arranged in an adjacent place, The database processing program according to claim 1 or 2, wherein an object having an attribute belonging to each of a plurality of relations is drawn on an outer shape other than the adjacent portion.
前記解析ステップは、前記複数のリレーション間の階層関係を特定するステップを含み、
前記描画ステップは、上位のリレーションを画面内の中央に配置するように描画する
ことを特徴とする請求項3に記載のデータベース処理プログラム。
The analyzing step includes a step of identifying a hierarchical relationship between the plurality of relations;
The database processing program according to claim 3, wherein the drawing step draws the upper relation so as to be arranged in the center of the screen.
前記複数のリレーション夫々に所属する属性に対応するオブジェクトが配置される前記所定の形状が描画される大きさは、前記リレーションに所属する属性の属性値の前記データベース内でのバラつきの大小を示す
ことを特徴とする請求項に記載のデータベース処理プログラム。
The size at which the predetermined shape in which the object corresponding to the attribute belonging to each of the plurality of relations is arranged is drawn indicates the degree of variation in the database of the attribute value of the attribute belonging to the relation. The database processing program according to claim 3 .
前記解析ステップは、
データベースを属性毎に分解するステップ、
属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、
算出された大小に基づき前記属性に順位を付与するステップ、
付与された順位に基づき候補キーを抽出するステップ、
候補キーを基準に、分解された属性間の関数従属性を特定するステップ、
関係従属性に基づき属性間の決定木を作成するステップ、
作成された決定木に基づき、複数のリレーションに分割するステップ、及び
前記決定木に基づき階層化ネットワークを作成するステップ
を含むことを特徴とする請求項1乃至5のいずれか1つに記載のデータベース処理プログラム。
The analysis step includes
Decomposing the database by attribute,
Calculating, for each attribute, the size of variation in the database of the attribute value of the attribute;
Assigning a rank to the attribute based on the calculated magnitude;
Extracting candidate keys based on the given rank;
Identifying functional dependencies between decomposed attributes based on candidate keys;
Creating a decision tree between attributes based on relational dependencies;
The database according to any one of claims 1 to 5, further comprising: dividing a plurality of relations based on the created decision tree; and creating a hierarchical network based on the decision tree. Processing program.
前記解析ステップは、
前記階層化ネットワーク内で直接的に親子関係でない属性間をリンクさせた複雑ネットワークを生成するステップ
を更に含むことを特徴とする請求項6に記載のデータベース処理プログラム。
The analysis step includes
The database processing program according to claim 6, further comprising: generating a complex network in which attributes that are not directly parent-child relationships are linked in the hierarchical network.
データベースに対する処理を実行するコンピュータによるデータベース処理方法において、
前記コンピュータが、
データベースのリレーションを解析し、
解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、
対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成する
ことを特徴とするデータベース処理方法。
In a database processing method by a computer that executes processing on a database,
The computer is
Analyzing database relationships,
Associating objects with multiple attributes in the analyzed relation,
A database processing method, characterized in that screen information is created by arranging and drawing an associated object along an outer shape of a predetermined shape.
前記コンピュータは、
データベースを属性毎に分解するステップ、
属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、
算出された大小に基づき前記属性に順位を付与するステップ、
付与された順位に基づき候補キーを抽出するステップ、
候補キーを基準に、分解された属性間の関数従属性を特定するステップ、
関係従属性に基づき属性間の決定木を作成するステップ、
作成された決定木に基づき、複数のリレーションに分割するステップ、及び
前記決定木に基づき階層化ネットワークを作成するステップ
を実行して前記データベースを解析する
ことを特徴とする請求項8に記載のデータベース処理方法。
The computer
Decomposing the database by attribute,
Calculating, for each attribute, the size of variation in the database of the attribute value of the attribute;
Assigning a rank to the attribute based on the calculated magnitude;
Extracting candidate keys based on the given rank;
Identifying functional dependencies between decomposed attributes based on candidate keys;
Creating a decision tree between attributes based on relational dependencies;
The database according to claim 8, wherein the database is analyzed by executing a step of dividing into a plurality of relations based on the created decision tree, and a step of creating a hierarchical network based on the decision tree. Processing method.
データベース及び外部装置夫々と通信する手段を備え、前記データベースにおける処理の結果を外部装置へ送信するデータベース処理装置において、
データベースのリレーションを解析する解析手段と、
解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成する手段と
を備えることを特徴とするデータベース処理装置。
In the database processing apparatus comprising means for communicating with each of the database and the external apparatus, and transmitting the processing results in the database to the external apparatus,
An analysis means for analyzing database relations;
Means for associating an object with each of the plurality of attributes included in the analyzed relation, creating a screen information drawn by arranging the associated object along a contour of a predetermined shape, and A database processing apparatus.
前記解析手段は、
データベースを属性毎に分解する手段、
属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出する手段、
算出された大小に基づき前記属性に順位を付与する手段、
付与された順位に基づき候補キーを抽出する手段、
候補キーを基準に、分解された属性間の関数従属性を特定する手段、
関係従属性に基づき属性間の決定木を作成する手段、
作成された決定木に基づき、複数のリレーションに分割する手段、及び
前記決定木に基づき階層化ネットワークを作成する手段
を有することを特徴とする請求項10に記載のデータベース処理装置。
The analysis means includes
Means to decompose the database by attribute,
Means for calculating the size of variation in the database of the attribute value of the attribute for each attribute;
Means for assigning a rank to the attribute based on the calculated magnitude;
Means for extracting candidate keys based on the given rank;
Means for identifying functional dependencies between decomposed attributes based on candidate keys;
Means to create a decision tree between attributes based on relational dependencies;
The database processing apparatus according to claim 10, comprising: means for dividing a plurality of relations based on the created decision tree; and means for creating a hierarchical network based on the decision tree.
JP2015212905A 2015-10-29 2015-10-29 Database processing program, database processing method, and database processing apparatus Active JP6244521B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015212905A JP6244521B2 (en) 2015-10-29 2015-10-29 Database processing program, database processing method, and database processing apparatus
PCT/JP2016/082018 WO2017073714A1 (en) 2015-10-29 2016-10-28 Database processing program, database processing method, and database processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015212905A JP6244521B2 (en) 2015-10-29 2015-10-29 Database processing program, database processing method, and database processing apparatus

Publications (2)

Publication Number Publication Date
JP2017084162A JP2017084162A (en) 2017-05-18
JP6244521B2 true JP6244521B2 (en) 2017-12-13

Family

ID=58630289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015212905A Active JP6244521B2 (en) 2015-10-29 2015-10-29 Database processing program, database processing method, and database processing apparatus

Country Status (2)

Country Link
JP (1) JP6244521B2 (en)
WO (1) WO2017073714A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7119411B2 (en) * 2018-02-16 2022-08-17 日本電気株式会社 DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5353401A (en) * 1992-11-06 1994-10-04 Ricoh Company, Ltd. Automatic interface layout generator for database systems
JPH09319629A (en) * 1996-05-27 1997-12-12 Hitachi Ltd Database design supporting tool
JP2000200284A (en) * 1999-01-06 2000-07-18 Nippon Telegr & Teleph Corp <Ntt> Method and device for visualizing inclusion relation, and recording medium where inclusion relation visualizing program is recorded
CA2365222C (en) * 2000-12-21 2009-10-27 Xerox Corporation System and method for browsing hierarchically based node-link structures based on an estimated degree of interest
JP4121125B2 (en) * 2003-09-10 2008-07-23 インターナショナル・ビジネス・マシーンズ・コーポレーション Graphics image generation apparatus and method, data analysis apparatus and method, and program
JP4247135B2 (en) * 2004-02-10 2009-04-02 株式会社東芝 Structured document storage method, structured document storage device, structured document search method
JP2014029597A (en) * 2012-07-31 2014-02-13 Hitachi Systems Ltd Database hierarchical structure vision system and database hierarchical structure vision method

Also Published As

Publication number Publication date
JP2017084162A (en) 2017-05-18
WO2017073714A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
US20200301916A1 (en) Query Template Based Architecture For Processing Natural Language Queries For Data Analysis
US10657125B1 (en) Methods and system for providing real-time business intelligence using natural language queries
US11003645B1 (en) Column lineage for resource dependency system and graphical user interface
US11675781B2 (en) Dynamic dashboard with guided discovery
US9798829B1 (en) Data graph interface
US10885125B2 (en) Techniques for curating data for query processing
JP6652490B2 (en) Query construction for execution against multidimensional data structures
Mund Microsoft azure machine learning
WO2016080413A1 (en) Data retrieval apparatus, program and recording medium
US11853363B2 (en) Data preparation using semantic roles
US8515997B2 (en) Database data dictionary
JP2017514256A (en) Ontology liner method, semantic matching method and apparatus
US10324917B2 (en) Methods and systems for data management
JP2017514257A (en) Ontology browser and grouping method and apparatus
US20070282805A1 (en) Apparatus and method for comparing metadata structures
US20150058363A1 (en) Cloud-based enterprise content management system
JP6244521B2 (en) Database processing program, database processing method, and database processing apparatus
Chen Database Design and Implementation
Kozmina et al. Research Directions of OLAP Personalizaton
Lamba et al. Tools and techniques for text mining and visualization
Anoshin et al. Tableau 2019. x Cookbook: Over 115 recipes to build end-to-end analytical solutions using Tableau
Liang et al. MMKP: A mind mapping knowledgebase prototyping tool for precision medicine
Usman et al. Predictive Analysis on Large Data for Actionable Knowledge: Emerging Research and Opportunities: Emerging Research and Opportunities
Jain et al. Generating patterns from pizza ontology using protégé and weka tool
CN116415004A (en) Knowledge graph construction method and device, storage medium and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170316

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170316

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170803

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: 20170815

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170912

R150 Certificate of patent or registration of utility model

Ref document number: 6244521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250