(57)【要約】【課題】ＤＢへのアクセスに関する知識を有さないユーザであっても自動的に生成されたＤＢのスキーマを直感的に把握することを可能とするデータベース処理プログラム、データベース処理方法及びデータベース処理装置を提供する。【解決手段】データベースと通信するコンピュータが、前記データベースに対する処理を実行させるデータベース処理プログラムにおいて、前記コンピュータに、データベースのリレーションを解析する解析ステップ、解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付けるステップ、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画する描画ステップを実行させる。【選択図】図１１
2017084162.tif 000002
【特許請求の範囲】
【請求項１】
データベースと通信するコンピュータが、前記データベースに対する処理を実行させるデータベース処理プログラムにおいて、
前記コンピュータに、
データベースのリレーションを解析する解析ステップ、
解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付けるステップ、
対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画する描画ステップ
を実行させることを特徴とするデータベース処理プログラム。
【請求項２】
描画された前記オブジェクトに対する選択及び配置操作を受け付け、
前記コンピュータに、
操作に応じた前記オブジェクトの配置を受け付けるステップ、
受け付けた配置に応じて、前記データベースのリレーションを変更するステップ
を更に実行させることを特徴とする請求項１に記載のデータベース処理プログラム。
【請求項３】
前記描画ステップは、
前記解析によりデータベースが複数のリレーションに分割されていると解析された場合、リレーションの分割数分の所定の形状を隣接させ、隣接箇所にリレーション間で共通する属性に対応するオブジェクトを配置させ、前記複数のリレーション毎に所属する属性のオブジェクトを前記隣接箇所以外の外形上に配置させて描画する
ことを特徴とする請求項１又は２に記載のデータベース処理プログラム。
【請求項４】
前記解析ステップは、前記複数のリレーション間の階層関係を特定するステップを含み、
前記描画ステップは、上位のリレーションを画面内の中央に配置するように描画する
ことを特徴とする請求項３に記載のデータベース処理プログラム。
【請求項５】
前記複数のリレーション夫々に所属する属性に対応するオブジェクトが配置される前記所定の形状が描画される大きさは、前記リレーションに所属する属性の属性値の前記データベース内でのバラつきの大小を示す
ことを特徴とする請求項１から４のいずれか１つに記載のデータベース処理プログラム。
【請求項６】
前記解析ステップは、
データベースを属性毎に分解するステップ、
属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、
算出された大小に基づき前記属性に順位を付与するステップ、
付与された順位に基づき候補キーを抽出するステップ、
候補キーを基準に、分解された属性間の関数従属性を特定するステップ、
関係従属性に基づき属性間の決定木を作成するステップ、
作成された決定木に基づき、複数のリレーションに分割するステップ、及び
前記決定木に基づき階層化ネットワークを作成するステップ
を含むことを特徴とする請求項１乃至５のいずれか１つに記載のデータベース処理プログラム。
【請求項７】
前記解析ステップは、
前記階層化ネットワーク内で直接的に親子関係でない属性間をリンクさせた複雑ネットワークを生成するステップ
を更に含むことを特徴とする請求項６に記載のデータベース処理プログラム。
【請求項８】
データベースに対する処理を実行するコンピュータによるデータベース処理方法において、
前記コンピュータが、
データベースのリレーションを解析し、
解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、
対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成する
ことを特徴とするデータベース処理方法。
【請求項９】
前記コンピュータは、
データベースを属性毎に分解するステップ、
属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、
算出された大小に基づき前記属性に順位を付与するステップ、
付与された順位に基づき候補キーを抽出するステップ、
候補キーを基準に、分解された属性間の関数従属性を特定するステップ、
関係従属性に基づき属性間の決定木を作成するステップ、
作成された決定木に基づき、複数のリレーションに分割するステップ、及び
前記決定木に基づき階層化ネットワークを作成するステップ
を実行して前記データベースを解析する
ことを特徴とする請求項８に記載のデータベース処理方法。
【請求項１０】
データベース及び外部装置夫々と通信する手段を備え、前記データベースにおける処理の結果を外部装置へ送信するデータベース処理装置において、
データベースのリレーションを解析する解析手段と、
解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成する手段と
を備えることを特徴とするデータベース処理装置。
【請求項１１】
前記解析手段は、
データベースを属性毎に分解する手段、
属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出する手段、
算出された大小に基づき前記属性に順位を付与する手段、
付与された順位に基づき候補キーを抽出する手段、
候補キーを基準に、分解された属性間の関数従属性を特定する手段、
関係従属性に基づき属性間の決定木を作成する手段、
作成された決定木に基づき、複数のリレーションに分割する手段、及び
前記決定木に基づき階層化ネットワークを作成する手段
を有することを特徴とする請求項１０に記載のデータベース処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース内のスキーマの可視化及び設計・構築の簡易化を実現するデータベース処理プログラム、データベース処理方法及びデータベース処理装置に関する。
【背景技術】
【０００２】
データベース（以下、ＤＢという）の型としては、扱い易さの利点からリレーショナルＤＢが主流となっている。しかも長年に亘ってデータを追加して肥大化したＤＢでは、新たなスキーマの定義、変更は非常に困難な場合が多い。複数のＤＢ夫々の設計者によって同意の属性であっても異なる属性名を定義することが多く、異なる設計者によって構築された複数のＤＢを統合する必要がある場合、非常に膨大な労力が必要となる。
【０００３】
属性（データ，値）同士の関係性はリレーショナルスキーマのみの記述では適切ではないことは勿論である。階層型ＤＢでは属性同士の親子（枝葉）関係を明確にすることができるが、子同士でも従属（枝葉）関係が存在する等、複雑な関係性を記述するには冗長である。ネットワーク型ＤＢでは、上述した子同士のデータであっても従属関係が存在するなど複雑な関係を明確にすることができるが、新たなスキーマの追加、変更に対しては変更が困難である。
【０００４】
また、ＤＢの可視化については種々の工夫が従来されているが（特許文献１等）、依然としてＥＲ（entity-relationship ）図が多用されている。ＥＲ図では属性個々の重要性及び属性間の関係性の分かりやすさが不足しており、技術者以外では直感的に把握することが難しい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−０２９５９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＤＢの設計及び構築はデータベースの専門知識を有する技術者であっても、膨大なデータを含むＤＢにおけるスキーマの最適化は非常に困難である。ましてや専門知識を有さないユーザにとっては、ＤＢの設計、構築は到底困難であるとして敬遠されてきた。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、ＤＢ自体及びＤＢを扱うための技術に対する専門知識を有さないユーザであっても、ＤＢのスキーマを直感的に把握すること
可能とするデータベース処理プログラム、データベース処理方法及びデータベース処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るデータベース処理プログラムは、データベースと通信するコンピュータが、前記データベースに対する処理を実行させるデータベース処理プログラムにおいて、前記コンピュータに、データベースのリレーションを解析する解析ステップ、解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付けるステップ、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画する描画ステップを実行させることを特徴とする。
【０００９】
本発明に係るデータベース処理プログラムは、描画された前記オブジェクトに対する選択及び配置操作を受け付け、前記コンピュータに、操作に応じた前記オブジェクトの配置を受け付けるステップ、受け付けた配置に応じて、前記データベースのリレーションを変更するステップを更に実行させることを特徴とする。
【００１０】
本発明に係るデータベース処理プログラムは、前記描画ステップは、前記解析によりデータベースが複数のリレーションに分割されていると解析された場合、リレーションの分割数分の所定の形状を隣接させ、隣接箇所にリレーション間で共通する属性に対応するオブジェクトを配置させ、前記複数のリレーション毎に所属する属性のオブジェクトを前記隣接箇所以外の外形上に配置させて描画することを特徴とする。
【００１１】
本発明に係るデータベース処理プログラムは、前記解析ステップは、前記複数のリレーション間の階層関係を特定するステップを含み、前記描画ステップは、上位のリレーションを画面内の中央に配置するように描画することを特徴とする。
【００１２】
本発明に係るデータベース処理プログラムは、前記複数のリレーション夫々に所属する属性に対応するオブジェクトが配置される前記所定の形状が描画される大きさは、前記リレーションに所属する属性の属性値の前記データベース内でのバラつきの大小を示すことを特徴とする。
【００１３】
本発明に係るデータベース処理プログラムは、前記解析ステップは、データベースを属性毎に分解するステップ、属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、算出された大小に基づき前記属性に順位を付与するステップ、付与された順位に基づき候補キーを抽出するステップ、候補キーを基準に、分解された属性間の関数従属性を特定するステップ、関係従属性に基づき属性間の決定木を作成するステップ、作成された決定木に基づき、複数のリレーションに分割するステップ、及び前記決定木に基づき階層化ネットワークを作成するステップを含むことを特徴とする。
【００１４】
本発明に係るデータベース処理プログラムは、前記解析ステップは、前記階層化ネットワーク内で直接的に親子関係でない属性間をリンクさせた複雑ネットワークを生成するステップを更に含むことを特徴とする。
【００１５】
本発明に係るデータベース処理方法は、データベースに対する処理を実行するコンピュータによるデータベース処理方法において、前記コンピュータが、データベースのリレーションを解析し、解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成することを特徴とする。
【００１６】
本発明に係るデータベース処理方法は、前記コンピュータは、データベースを属性毎に分解するステップ、属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出するステップ、算出された大小に基づき前記属性に順位を付与するステップ、付与された順位に基づき候補キーを抽出するステップ、候補キーを基準に、分解された属性間の関数従属性を特定するステップ、関係従属性に基づき属性間の決定木を作成するステップ、作成された決定木に基づき、複数のリレーションに分割するステップ、及び前記決定木に基づき階層化ネットワークを作成するステップを実行して前記データベースを解析することを特徴とする。
【００１７】
本発明に係るデータベース処理装置は、データベース及び外部装置夫々と通信する手段を備え、前記データベースにおける処理の結果を外部装置へ送信するデータベース処理装置において、データベースのリレーションを解析する解析手段と、解析されたリレーションに含まれる複数の属性に、オブジェクトを夫々対応付け、対応付けられたオブジェクトを所定の形状の外形に沿うようにして配置して描画した画面情報を作成する手段とを備えることを特徴とする。
【００１８】
本発明に係るデータベース処理装置は、前記解析手段は、データベースを属性毎に分解する手段、属性毎に、該属性の属性値の前記データベース内でのバラつきの大小を算出する手段、算出された大小に基づき前記属性に順位を付与する手段、付与された順位に基づき候補キーを抽出する手段、候補キーを基準に、分解された属性間の関数従属性を特定する手段、関係従属性に基づき属性間の決定木を作成する手段、作成された決定木に基づき、複数のリレーションに分割する手段、及び前記決定木に基づき階層化ネットワークを作成する手段を有することを特徴とする。
【００１９】
本発明では、ＤＢにおける複数の属性に夫々対応するオブジェクトが、該属性の所属するリレーション（テーブル）毎に、所定の図形の外形に沿って配置されるようにしてスキーマが描画される。
【００２０】
本発明では、描画された各オブジェクトの画面上での配置を変更する操作を受け付けることが可能に構成されており、操作後のオブジェクトの配置情報に応じて実際のデータベースのリレーションが変更される。
【００２１】
本発明では、データベースが複数のリレーションに分割される場合、複数のリレーションで重複する属性に対応するオブジェクトが接点に配置されるようにして、複数のリレーション毎に所定の図形に沿うようにして配置されてスキーマが描画される。
【００２２】
本発明では、複数のリレーションに分割される場合、階層関係が特定され、より上位のリレーションに対応するオブジェクトが中央に配置されて描画される。
【００２３】
本発明では、複数のリレーションに分割される場合、リレーション毎に属性に対応するオブジェクトが配置される外形の大小の差異が、各リレーション内における属性の属性値のバラつきの大小の差異に基づき示される。リレーションに候補キーが多く含まれ、外側に更に他のリレーションに繋がる可能性が高い程、大きい形状で配置されて描画される。
【００２４】
本発明では、ＤＢの元となるデータに対するリレーショナルスキーマが、属性間の関数従属性に基づく決定木を元に作成される階層化ネットワークから自動的に最適化されて構築される。これにより第３正規化が完備されたスキーマが構築される。
【００２５】
本発明では、階層化ネットワークから更に複雑ネットワークが生成され、複雑ネットワークに基づいてスキーマが構築される。
【発明の効果】
【００２６】
本発明による場合、ＤＢの元となるリレーションデータに対するリレーションスキーマについて解析がされ、各属性に対応するオブジェクトが、該属性の所属するテーブル毎に所定の図形の外形に沿って配置されるようにして可視化される。これにより、ＤＢへのアクセスに関する知識を有さないユーザであっても解析されたＤＢのスキーマを直感的に把握することができる。
【００２７】
更に、オブジェクトの配置を変更する操作を受け付けるようにしてあることで、ユーザはオブジェクトを画面上で動かすという直感的な操作でデータベース内のスキーマを変更することも可能になる。これにより、ＤＢ及びＤＢを扱うための技術に対する専門知識を有さないユーザであっても簡単にＤＢの設計・構築が可能になる。
【００２８】
また本発明による場合、リレーションスキーマの解析は、適切に機械的に自動的に生成され、正規化、更に非正規化により最適化されて構築される。
【図面の簡単な説明】
【００２９】
【図１】実施の形態１における情報処理システムの構成を示すブロック図である。
【図２】実施の形態１におけるＤＢ処理装置、端末装置及びＤＢＩＦ提供装置の内部構成を示すブロック図である。
【図３】実施の形態１の端末装置のブラウザ画面に表示されるインタフェースの例を示す説明図である。
【図４】ＤＢ処理装置にて実行される処理手順の一例を示すフローチャートである。
【図５】端末装置から送信されるデータ（テーブル）の内容例を示す説明図である。
【図６】テーブル定義受付画面の内容例を示す説明図である。
【図７】決定木の内容例を示す説明図である。
【図８】階層化ネットワーク構造の内容例を示す説明図である。
【図９】複雑ネットワーク生成の概要を示す説明図である。
【図１０】複雑ネットワーク構造の内容例を示す説明図である。
【図１１】スキーマ描画例を示す説明図である。
【図１２】スキーマの変更後の描画例を示す説明図である。
【図１３】構築されたＤＢを示す説明図である
【図１４】実施の形態２における情報処理システムの構成を示すブロック図である。
【図１５】実施の形態２におけるＤＢ処理装置にて実行される処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、本発明をその実施形態を示す図面に基づいて具体的に説明する。なお、以下に示す実施の形態は例示であって、本発明は以下の構成に限られないことは勿論である。
【００３１】
（実施の形態１）
図１は、実施の形態１における情報処理システムの構成を示すブロック図である。実施の形態１における情報処理システムは、ＤＢ処理装置１、複数の端末装置２、ＤＢインタフェース提供装置（以下、ＤＢＩＦ提供装置という）３及びＤＢ群４を含む。ＤＢ処理装置１はＤＢ群４及びＤＢＩＦ提供装置３に直接的、又はインターネットを含むネットワークＮを介して接続されている。ＤＢＩＦ提供装置３はネットワークＮに接続されており、同様にネットワークＮに接続されている複数の端末装置２と通信が可能である。
【００３２】
ＤＢ群４はＤＢ化された各種データを記憶している。ＤＢ群４はネットワークを介して接続されている複数のＤＢから構成されてもよく、各ＤＢ間及びＤＢ内のテーブル同士の関係を示す情報を記録した管理ＤＢを含む。
【００３３】
ＤＢ処理装置１は、ＤＢ群４におけるデータ定義の解析及びモデリングを自動的に行ない、データスキーマを最適化する装置である。
【００３４】
ＤＢＩＦ提供装置３は、端末装置２向けにＤＢ群４へのインタフェースをＷｅｂベースで提供するサーバ装置である。ＤＢＩＦ提供装置３は端末装置２からのＤＢ群４に対する操作指示を受け付けてＤＢ処理装置１へ送信し、ＤＢ処理装置１における処理の結果を示す画面を端末装置２へ送信する。
【００３５】
端末装置２は、ユーザが使用するパーソナルコンピュータ（ＰＣ：Personal Computer ）である。端末装置２は、Ｗｅｂブラウザプログラムを実行可能な装置であれば、デスクトップ型ＰＣ、ノートＰＣ（ラップトップ型ＰＣ）、タブレット端末、又はスマートフォン等の種々の情報端末を用いてよい。
【００３６】
図２は、実施の形態１におけるＤＢ処理装置１、端末装置２及びＤＢＩＦ提供装置３の内部構成を示すブロック図である。ＤＢ処理装置１は、制御部１０、記憶部１１、一時記憶部１２及び通信部１３を備える。
【００３７】
制御部１０は、ＣＰＵ（Central Processing Unit ）を用いる。制御部１０は記憶部１１に記憶されているＤＢモデリングプログラム１Ｐを読み出して実行することにより、ＤＢ群４に対するモデリング処理機能を発揮する。一時記憶部１２は、ＤＲＡＭ（Dynamic Random Access Memory）等のＲＡＭを用いる。一時記憶部１２は、制御部１０の処理によって生成される情報を一時的に記憶する。
【００３８】
記憶部１１は、ハードディスク等の不揮発性の記憶媒体を用いる。記憶部１１には上述したＤＢモデリングプログラム１Ｐが記憶されている。
【００３９】
通信部１３は、ＤＢＩＦ提供装置３及びＤＢ群４夫々と通信することが可能に接続されている。
【００４０】
端末装置２は、制御部２０、記憶部２１、一時記憶部２２、表示部２３、操作部２４及び通信部２５を備える。
【００４１】
制御部２０は、ＣＰＵを用いる。制御部２０は、記憶部２１に記憶されている各種プログラムを読み出して実行することにより、端末装置２に多様な機能を発揮させる。一時記憶部２２は、ＤＲＡＭ等のＲＡＭを用いる。一時記憶部２２は、制御部２０の処理によって生成される情報を一時的に記憶する。
【００４２】
記憶部２１は、ハードディスク又はフラッシュメモリ等の不揮発性の記憶媒体を用いる。記憶部２１には、ブラウザプログラム２１１が記憶されている。ブラウザプログラム２１１は、ＤＢＩＦ提供装置３から送信されるＨＴＭＬベースのＷｅｂページを受信し、Ｗｅｂページに含まれる文字、画像、又は動画像を表示部２３へ表示させるＷｅｂブラウザ機能を制御部２０に発揮させる。
【００４３】
表示部２３は、例えば液晶ディスプレイを用いる。勿論他の種類のディスプレイを用いてもよい。制御部２０は、表示部２３へ文字又は画像を含む各種画面を表示させる。操作部２４は、キーボード及びポインティングデバイス等の入力インタフェースを用いる。制御部２０は、入力インタフェースによって入力した操作情報に基づいて各構成部を制御する。なお表示部２３及び操作部２４は、タッチパネル内蔵型ディスプレイとして一体的に構成されてもよい。
【００４４】
通信部２５は、インターネットを含むネットワークＮに接続されており、ネットワークＮを介した他装置との間での情報の送受信を実現する。制御部２０は通信部２５によって、ＤＢＩＦ提供装置３から送信される操作画面、及び処理結果を示す画面を含むＷｅｂページ等を送受信する。
【００４５】
ＤＢＩＦ提供装置３は、制御部３０、記憶部３１、一時記憶部３２、及び通信部３３を備える。
【００４６】
制御部３０は、ＣＰＵを用い、記憶部３１に記憶されているＷｅｂサーバプログラム及びＤＢＩＦ提供プログラムを読み出して実行することにより、Ｗｅｂサーバ機能、及びＤＢ群４に対するアクセスインタフェース機能を発揮する。具体的には制御部３０はネットワークＮを介して複数の端末装置２にＤＢ群４へのアクセスインタフェース機能を発揮するためのＷｅｂページを提供する。一時記憶部３２は、ＤＲＡＭ等のＲＡＭを用い、制御部３０の処理によって生成される情報を一時的に記憶する。
【００４７】
記憶部３１は、ハードディスク等の不揮発性の記憶媒体を用いる。記憶部３１には上述したＤＢＩＦ提供プログラムが記憶されている。また記憶部３１は、端末装置２へ提供するアクセスインタフェースを構成するリソース（ＨＴＭＬを始めとする各種言語にて各ページを記述したソース、静止画像等）が記憶されている。
【００４８】
通信部３３は、ネットワークＮに接続されており、ネットワークＮを介した端末装置２との間での情報の送受信を実現する。また通信部３３は、ＤＢ処理装置１と通信することが可能に接続されている。
【００４９】
このように構成される情報処理システムでは、ＤＢＩＦ提供装置３から提供されるアクセスインタフェース機能を発揮するためのＷｅｂページが、端末装置２のブラウザ機能により表示される。端末装置２で表示されるブラウザ画面上での操作内容により、ＤＢＩＦ提供装置３にてＤＢ群４へのアクセスが受け付けられ、ＤＢ処理装置１においてアクセスに応じた処理が実行され、処理結果を示す画面がＤＢＩＦ提供装置３から端末装置２へ送信される。
【００５０】
まずＤＢＩＦ提供装置１から送信されるインタフェース情報について、該インタフェース情報により表示されるブラウザ上の画面例を参照して具体的に説明する。図３は、実施の形態１の端末装置２のブラウザ画面に表示されるインタフェース２３１の例を示す説明図である。ユーザが端末装置２を用いてＤＢＩＦ提供装置３を管理する事業者から提供されるＷｅｂサービスにログインした場合のトップページには、ログインしたアカウント（ユーザ）がアクセス権限を有しているＤＢ及びアカウント用のローカルデータの一覧が選択可能に表示される。
【００５１】
図３に示すように、インタフェース２３１は、新たなローカルデータの新規作成、コピー、削除、及びＤＢ群４へのアップロードの各操作に対応するボタンを含む。図３の例では、業務管理に係るデータに関し、２０１５年９月度の売上データ（テーブル）がローカルデータとして選択可能に表示されている。ユーザが２０１５年９月度の売上データをアップロードする操作を行なった場合、端末装置２からローカルデータがＤＢＩＦ提供装置１経由で、ＤＢ群４中のユーザ用のＤＢへの追加を指示する情報（ＳＱＬ文）と共にＤＢ処理装置１へ送信される。このときにＤＢ処理装置１において実行される処理についてフローチャート及び説明図を参照して説明する。
【００５２】
図４は、ＤＢ処理装置１にて実行される処理手順の一例を示すフローチャートである。ＤＢ処理装置１の制御部１０は、記憶部１１に記憶されているＤＢ処理プログラム１Ｐに基づき、以下に示す処理を実行する。
【００５３】
ＤＢ処理装置１の制御部１０は、通信部１３によりＤＢ群４へ新たに追加するリレーション（テーブル）を入力する（ステップＳ１０１）。制御部１０は、入力したテーブルの属性（行）毎に分解する（ステップＳ１０２）。
【００５４】
制御部１０は、分解した属性毎に属性値（数値又は文字列等）のバラつきをエントロピーとして算出する（ステップＳ１０３）。バラつきとは属性（行）内での重複回数の少なさに対応する。
【００５５】
制御部１０は、分解した属性夫々のエントロピーの大きさ順に順位を付与し（ステップＳ１０４）、エントロピーが最も大きい（最もバラつきが多い）属性を抽出する（ステップＳ１０５）。
【００５６】
制御部１０は、ステップＳ１０５で抽出した属性の内、キーとしての制約に反していないものを、候補キーとして更に抽出する（ステップＳ１０６）。なお制約とはＮＵＬＬでない、フィールド長（値）等である。
【００５７】
制御部１０は、分解した属性間の関数従属性（functional dependency ）の計算を行なう（ステップＳ１０７）。ステップＳ１０７にて具体的には、制御部１０は、ステップＳ１０６で抽出した候補キーと、候補キー（複数可）により一意に決まる他の属性（非キー属性）との関係を候補キー及び他の属性の組毎に特定する。またこのとき制御部１０は、バラつきが多い属性（候補キーである可能性が高い）とバラつきが少ない属性（非キー属性である可能性が高い）との間で優先的に関数従属性を特定する。
【００５８】
制御部１０は、ステップＳ１０７で得られた関数従属性に基づいて、ステップＳ１０１で入力したテーブル内の属性間の決定木（decision tree ）を作成する（ステップＳ１０８）。これにより、主キー及び属性間の階層が決定される。
【００５９】
制御部１０は、作成された決定木により複数のテーブルに分割する（ステップＳ１０９）。ステップＳ１０９において詳細には、制御部１０はステップ１０８で作成された決定木に基づき、各関係性を２部グラフ（ｎ部グラフ）として抽出し、抽出した２部グラフ毎に最大マッチングを求め、最大マッチングを使用してトポロジカルソートを行なって複数のテーブルに分割する（ダルメージ・メンデルゾーン分解（Dulmage-Mendelsohn decomposition ））。なおステップＳ１０９により、入力したテーブルのリレーショナルＤＢとしての第３正規化までが行なわれることになる。
【００６０】
制御部１０は、ステップＳ１０９で分割されたテーブルから階層化ネットワーク構造を作成する（ステップＳ１１０）。更に制御部１０は、階層化ネットワークから複雑ネットワークを生成する（ステップＳ１１１）。
【００６１】
ステップＳ１１１において制御部１０は、階層化ネットワークにおいて各属性を頂点とした場合の平均頂点間距離を算出する。そして階層化ネットワーク（全リレーション）全体における平均頂点間距離が小さくなるように、頂点（属性）間にリンクを生成する。ただしこのとき、階層化ネットワークにおいて隣り合う階層（１階層スキップしない）間でリンクさせることとし、しかも出リンクが多い頂点（ハブ）、即ち、外部キーとなっている属性間は接続しないという制約条件下でリンクの生成を行なう。つまり制御部１０は、ある頂点から、該頂点からの距離が算出された平均頂点間距離以上であり、しかもハブに従属している他の属性（ハブでない属性）との間でリンクを生成する。具体的には制御部１０は、接続されていない属性間であって制約条件を満たす属性間のリストを抽出し、リスト毎に接続した場合の平均頂点間距離、及び出リンクの合計を算出する。制御部１０は、リストの内、平均頂点間距離が最も小さくなり、且つ出リンクの合計が大きくならない属性ペアを特定してこれらを接続する。ステップＳ１１１により、ステップＳ１０９により完備された正規化を一部崩し、スモールワールド性が高く、且つスケールフリー性は低いＤＢを自動的に作成することが可能になる。スモールワールド性が高くスケールフリー性が低いことでテーブル間の結合演算を減らして処理性能の低下を回避することができ、且つ、ＤＢの更新時に異常を来たさない優れたＤＢとなる。
【００６２】
制御部１０は、ステップＳ１１１で生成した複雑ネットワークに基づいて、入力したテーブルのスキーマを描画する（ステップＳ１１２）。制御部１０は、描画して得られた情報をＤＢＩＦ提供装置３経由で端末装置２へ送信する（ステップＳ１１３）。
【００６３】
ステップＳ１１２において制御部１０は、上述の階層化ネットワーク構造における主キー（最上流）の属性に対応するオブジェクトを描画範囲内の中央に配置し、該属性に対応するオブジェクトと同一階層における他の属性に対応させたオブジェクトを円形状に配置して描画する。このときテーブルに含まれる属性のエントロピー（バラつきの多さ）の総和を基準にして円形の半径とする。制御部１０は、描画範囲の外側に向けて下位の階層の属性に対応するオブジェクトを同様にして、分解されたテーブル毎に、該テーブルに属する属性に対応するオブジェクトを円形状に配置する。ステップＳ１１１において計算した平均頂点間距離を表示するようにしてもよい。なおオブジェクトはいずれもカード型とし、端末装置２の表示部２３にてJavascript（登録商標）に基づき選択して移動することが可能に描画されるように、制御部１０は上述のスキーマを示す画面情報を作成する。
【００６４】
またオブジェクトの配置は円形状に限定されず、楕円形は勿論、大小によってエントロピーの総和を表現できればよい。配置される形状（例えば円）が大きいほど、そのテーブルには候補キーが多く含まれ、外側に更に他のテーブルに対応する円形が繋がる可能性があることを示す。
【００６５】
更に制御部１０は、端末装置２の表示部２３上に描画されたスキーマを示す画面上で操作を受け付け、受け付けた操作内容を示す情報をＤＢＩＦ提供装置３経由で受信する（ステップＳ１１４）。制御部１０は、受け付けられた操作に応じて、ステップＳ１０７〜Ｓ１１０の処理により得られた、関数従属性、複雑ネットワーク構造等に基づいてステップＳ１０１で入力したテーブルによりＤＢ群４内にＤＢを構築し（ステップＳ１１５）、処理を終了する。
【００６６】
図４のフローチャートに示した処理手順を、具体例を挙げて説明する。図５は、端末装置２から送信されるデータ（テーブル）の内容例を示す説明図である。図５に示す例は、図３に示した売上データであり、売上内容（レコード）の注文日、顧客番号、顧客の氏名、都道府県、住所、顧客種別、商品番号、カテゴリ名、商品名、販売担当の従業員名等の実際の値を表形式にしたものである。売上データには図５では省略した単価、個数、金額も含まれる。更に、売上データはユーザがアクセス権限を有しているＤＢの内、業務データに追加されるものである。業務データは更に、従業員について、従業員名、身長、体重、誕生日、電子メール、入社年度、給与情報、所属部署情報を属性として含むリレーション（テーブル）を有している。
【００６７】
図５に示したテーブルのアップロード操作が端末装置２で行なわれた場合、ＤＢ処理装置１の制御部１０は、テーブルを入力し（Ｓ１０１）、追加先の業務データと合わせて属性（行）毎に分解する（Ｓ１０２）。このとき制御部１０は、新たに入力するテーブルのテーブル定義をユーザから受け付ける画面の画面情報を端末装置２へＤＢＩＦ提供装置３経由で送信する。図６は、テーブル定義受付画面の内容例を示す説明図である。図６に示すように、制御部１０はアップロードされたテーブルの各行の先頭の文字列を属性名として識別して分解した属性の属性値の種別（数値／文字列）、長さ、空（ＮＵＬＬ）を許可するか否か等の選択が可能である。
【００６８】
図６に示したテーブル定義受付画面にて受け付けられる情報以外に、その他アップロードされたテーブルの属性の関係性を特定するための参考情報を受け付けるようにしてもよい。例えば、複数のテーブルをアップロードした場合には、ＤＢ処理装置１はＤＢ提供装置３経由で端末装置２にてテーブル間の関係性の有無の選択を受け付けてもよい。また図６に示したように分解された複数の属性の内、主キーの指定を受け付けるようにしてもよいし、属性に対応するＩＤ属性の意図的な追加の指示を受け付けるようにしてもよい。
【００６９】
ＤＢ処理装置１の制御部１０は、複数の属性から候補キーの属性を抽出する（Ｓ１０６）。このとき制御部１０は、エントロピーが高い属性について、ＩＤ属性が必要な属性（レコードをユニークにするために必要な場合）について自動的にＩＤ属性を追加する。例えば、入力した売上データの属性が注文日、顧客番号、氏名、都道府県、住所、顧客種別、商品番号、カテゴリ名、商品名、単価、個数、金額、従業員名である場合、複数の商品番号を含むレコードを第１正規化して売上ＩＤ属性を追加する。売上ＩＤ属性は最もバラつきの大きい属性となる。同様にして顧客ＩＤ、商品ＩＤ、従業員ＩＤを自動的に又はユーザからの指示により追加する。制御部１０は、ＩＤ属性を追加した上で関数従属性を計算し（Ｓ１０７）、決定木を作成する（Ｓ１０８）。関数従属性の計算では制御部１０は、エントロピーが高い１つの属性について、該１つの属性値における属性値により、他の属性における属性値が一意に決まるか否かを判断し、決まる場合には関数従属すると特定される。つまり、前記１つの属性における属性値が同一である場合には、他の属性における属性値が同一の属性値となる関係を特定する。
【００７０】
図７は、決定木の内容例を示す説明図である。最もバラつきの大きい属性である売上属性を最上流として、関数従属性に基づき図７に示すようなツリー構造が特定される。
【００７１】
次に制御部１０は、図７に示した決定木からステップＳ１０９によりテーブルを分割し、階層化ネットワーク構造を作成する。図８は、階層化ネットワーク構造の内容例を示す説明図である。図８に示すように、決定木に基づいて最上流の売上ＩＤを含み個数、顧客ＩＤ、注文日、商品ＩＤ及び従業員ＩＤを含む同一階層の属性が１つのテーブルとして分割されている。同様にして上述のテーブルにも属している顧客ＩＤを含み、住所、都道府県ＩＤ、顧客種別ＩＤ、（顧客の）氏名、及び顧客番号を含む同一階層の属性が１つのテーブルとして分割されている。また、売上ＩＤを含むテーブルにも属している商品ＩＤを含み、商品名、商品番号、商品カテゴリＩＤ及び単価を含む同一階層の属性が１つのテーブルとして分割されている。更に、売上ＩＤを含むテーブルにも属している従業員ＩＤを含み、従業員名、身長、体重、電子メール、入社年度、誕生日、血液型、所属ＩＤ、及び給与ＩＤを含む同一階層の属性が既存のテーブルとして存在している。同一のテーブルは破線で示すようにグループ化される。このように関連するテーブルは共に処理（更新）される。
【００７２】
更に制御部１０は、階層化ネットワークから複雑ネットワークを生成する（Ｓ１１１）。図９は、複雑ネットワーク生成の概要を示す説明図である。図９に示すような階層化されたネットワーク構造が存在する場合、まず平均頂点間距離を算出する。平均頂点間距離は図９の例であれば、主キーであるＡから同一テーブル内の各頂点Ｂ，Ｃ，Ｄまでの頂点間距離は各１、非キー属性であるＢ，Ｃ，Ｄ間、Ｅ，Ｆ，Ｇ間は、ＨＩＪいずれもキー経由で２であり、頂点Ａから頂点Ｋまでの頂点間距離は３である。これらを全頂点間で算出してその平均を求めたものが平均頂点間距離である。制御部１０は、頂点間の組み合わせの内で未接続の組み合わせを抽出し、同一階層に含まれず、且つ２階層以上離れていない組み合わせを抽出する。例えば頂点Ｂと頂点Ｃとの組み合わせは同一階層（テーブル）に含まれ、頂点Ｅと頂点Ｉとの組み合わせは階層が２つ離れているからいずれも抽出されない。そして、頂点間距離が平均頂点間距離より大きく、且つ、ハブでない頂点（頂点Ｃ，Ｇ以外）を結ぶ組み合わせが抽出される。図９の例であれば例えば、頂点Ｂ，Ｃ，Ｅのいずれかと頂点Ｆ又は頂点Ｈとの組み合わせ等が抽出される。抽出された組み合わせの内、所定の基準を満たす組み合わせの頂点間を従属関係（リンク）で接続する。所定の基準とは頂点間距離、より上位の階層又はより下位の階層、又は頂点（属性）における属性値の種別（文字列、数値）が同一である等である。例えば、抽出された組み合わせの内、より上位の階層に含まれる頂点をペアに含み、且つ頂点に対応する属性の属性値が数値である場合には、頻度が高い演算に使用する可能性が高いなどとして従属関係（リンク）を結ぶ。これにより図９に示すような新たなリンクが接続される。
【００７３】
図１０は、複雑ネットワーク構造の内容例を示す説明図である。図１０に示す複雑ネットワーク構造の内容例は、図８の階層化ネットワークから生成される。図１０に示すように、未接続の組み合わせの内、隣り合う階層の非ハブである頂点（属性）であって、いずれも数値である属性として「単価」が優先的に接続される。これにより、単価と個数とが同一のテーブルに含まれ、テーブルの結合演算による処理負荷が軽減されることが期待される。
【００７４】
そして図１０に示したように生成された複雑化ネットワークに基づいてリレーションのスキーマが描画される（Ｓ１１２）。図１１は、スキーマ描画例を示す説明図である。図３に示したインタフェース２３１にてローカルデータをアップロードした場合、図１１に示すように「モデリングデッキ」の機能によりアップロードしたデータの統合先ＤＢのスキーマを描画した画面を見ることができる。なおこれらのスキーマの描画情報はＤＢ処理装置１の制御部１０が作成し、ＤＢＩＦ提供装置３経由で端末装置２へ送信する。図１１に示すように、本実施の形態におけるスキーマ描画例では、図１０に示した複雑ネットワーク構造における分割されたテーブル毎に、該テーブルに含まれる属性が、対応するカード（オブジェクト）２３２として円形状に配置されている。各テーブルに対応する円２３３の大きさは所属する属性夫々のエントロピー（バラつきの多さ）の総和に対応している。
【００７５】
図１１に示すスキーマの描画においてはまず、テーブルが円２３３で表示され、属性はカード２３２で円２３３の円周上に配置される。図１１に示す例では図８（１０）の階層化ネットワーク構造から分かるように主キーは「売上ＩＤ」であるが、該主キーに直接従属している属性（顧客ＩＤ、注文日、商品ＩＤ、個数、授業員ＩＤ）は第１次元のリレーション（テーブル）として「モデリングデッキ」のできるだけ中央部に描画される。更に第１次元のテーブルに対応する円２３３の外側に隣接する円２３３に対応するテーブルが第２次元である。第２次元のテーブルの円２３３に更に外側に向けて隣接する円２３３に対応するテーブルが第３次元であり、更に外側に隣接する円２３３に対応するテーブルが第４次元である。図１１の例では顧客テーブル、商品テーブル、従業員テーブルが第２次元、都道府県テーブル、顧客種別テーブル、カテゴリテーブル、所属テーブル、給与テーブルが第３次元、所属テーブルの外側に位置する部署テーブルが第４次元である。
【００７６】
図１１に示すように、第１次元のテーブルと第２次元のテーブル、第２次元のテーブルと第３次元のテーブル、第３次元のテーブルと第４次元のテーブルは夫々、外部キーとなる属性を接点として共有することで隣接する。
【００７７】
なお図１１における各属性に対応するカード２３３は操作部２４により選択が可能であり、ユーザが操作部２４によりカード２３２上をクリックした場合には、属性の情報が表示される。つまりＤＢ処理装置１の制御部１０は、各属性の情報も対応付けてスキーマの描画情報と共に端末装置２へ送信している。更に各テーブルに対応する円２３３も選択が可能である。円２３３についてユーザが操作部２４により円２３３をクリックした場合には、対応するテーブルの情報が表示される。なお各テーブルの名称は、属性名に共通する単語を用いてＤＢ処理装置１の制御部１０が自動的に決定してもよいし、ユーザが各テーブルの名称を図１１に示す「モデリングデッキ」上で円２３３を選択し、その際に表示されるテーブルの情報を編集する形式で指定することも可能である。
【００７８】
図１１に示す「モデリングデッキ」上における各カード２３２は、表示部２３の画面上で選択を受け付けることが可能に構成されている。ユーザは操作部２４によってカード２３２をドラッグし、テーブル内の位置（階層）を移動させることが可能である。ユーザは操作部２４によって円２３３をつかんで移動させ、他の円２３３へ統合させることも可能である。
【００７９】
図１２は、スキーマの変更後の描画例を示す説明図である。図１２は、図１１における「都道府県名」の属性に対応するカード２３２が「顧客」テーブルに対応する円２３３内へ移動された場合の表示例を示している。この操作によって「都道府県名」の属性は「顧客」テーブル内にも追加され、これによりユーザの操作によってテーブルが逆正規化される。また、図９に示す「モデリングデッキ」では、円形アイコン２３４のドラッグアンドドロップで新しいテーブルの配置（追加）を受け付けることが可能である。このように受け付けられた操作の内容はＪＳＯＮ等の言語により端末装置２からＤＢＩＦ提供装置３経由でＤＢ処理装置１へ送信され、受け付けられる（Ｓ１１４）。
【００８０】
更に、図１１，１２に示す「モデリングデッキ」には「ＯＫ」ボタン２３５が表示されている。「ＯＫ」ボタンにより、入力されたテーブルに対し、「モデリングデッキ」上に描画されているスキーマでのＤＢの構築が行なわれる（Ｓ１１５）。
【００８１】
図１３は、構築されたＤＢを示す説明図である。図１３に示すように、リレーショナルＤＢが構築される。図１３に示されるように、第３正規化が実行された上で、更に複雑ネットワーク化により、また図１２に示したユーザの操作に基づいて一部が非正規化（太線に示す）されたＤＢが構築される。
【００８２】
このように、ユーザは自身が作成した表形式のリレーション（テーブル）をＤＢＩＦ提供装置３経由でＤＢ処理装置１へアップロードする操作を行なう程度で、リレーショナルスキーマが機械的に自動的に生成される。これにより、ＤＢ及びＤＢを扱うための技術に対する専門知識を有さないユーザであっても簡単にＤＢの更新が可能になる。
【００８３】
更に、従来のＥＲ図とは異なる方法で図１１に示すようにスキーマが視覚化されて描画される。これにより、自身がアップロードしたリレーションのＤＢのスキーマを直感的に把握することができる。これにより、ＤＢへのアクセスに関する知識を有さないユーザであっても自動的に生成されたＤＢのスキーマを直感的に把握することができる。
【００８４】
また、可視化されたスキーマにおける各属性及びテーブルがオブジェクトされており、選択及び移動の操作を受け付けるようにしてあることで、図１２に示すように、ユーザはオブジェクトを画面上で動かすという直感的な操作でデータベース内の構造を調整することも可能になる。これにより、ＤＢ及びＤＢを扱うための技術に対する専門知識を有さないユーザであっても簡単にＤＢの更新が可能になる。
【００８５】
実施の形態１では、ユーザがローカルデータのアップロード操作を行なった場合に、アップロード対象のリレーションに対して解析が行なわれた。しかしながら解析の対象はアップロード対象のみならず、既にＤＢ群４に記憶されている既存のＤＢであってもよい。これにより、既存のＤＢのスキーマを可視化し、更に既存のＤＢのスキーマ変更が直感的に可能になる。
【００８６】
（実施の形態２）
図１４は、実施の形態２における情報処理システムの構成を示すブロック図である。実施の形態２における情報処理システムの構成は、ＤＢ処理装置１においてＤＢ群４に対する学習データを参照した処理を行なうこと以外は実施の形態１における構成と同様である。したがって実施の形態１における構成と共通する構成については同一の符号を付して詳細な説明を省略する。実施の形態２におけるＤＢ群４は、ＤＢ化された各種データ（実データ）、各ＤＢ間及びＤＢ内のテーブル同士の関係を示す情報を記録した管理ＤＢの他に、学習データ４１を含む。
【００８７】
学習データ４１は、類語辞書、共起辞書等を含み予めＤＢの属性名用に辞書データと、属性名及び属性名のリレーション（テーブル）を含むコーパスとを有する。辞書データにおける類語辞書は例えば、「売上」、「売り上げ」、「注文」、「セールス」、「Sales 」は類語であることが記述する。共起辞書は例えば、「住所」、「都道府県」、「電話番号」は同一テーブルに存在する属性名であることを記述している。コーパスは過去に、設計者により又はＳＱＬの学習に基づいて作成されたテーブルを文章に見立てて主キー及び非キー属性の組み合わせとしたものの集合である。例えば、「注文日／商品名／個数／都道府県名」、「注文日時／商品番号／個数／単価／金額」、及び「注文番号／商品番号／個数／金額／住所」等を含む第１コーパス、「顧客名／顧客番号／顧客種別」、「顧客番号／顧客名／顧客種別／住所」、及び「顧客名／顧客種別／都道府県／年齢」等を含む第２コーパスと分類される複数種類のコーパス群を含む。
【００８８】
なお学習データ４１のコーパス群は予め作成された初期データに基づき、各ユーザからのＤＢの追加に応じて逐次集約され、学習されるものであってもよい。なお学習データ４１は、ユーザアカウント又はアカウントグループ個別に作成され、各ユーザの思考の傾向に合わせて学習されるものであってもよい。
【００８９】
図１５は、実施の形態２におけるＤＢ処理装置１にて実行される処理手順の一例を示すフローチャートである。図１５に示す処理手順の内、実施の形態１の図４のフローチャートに示した処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。
【００９０】
ＤＢ処理装置１の制御部１０は、Ｓ１１１で複雑ネットワークを生成する前に、Ｓ１０９でテーブルを分割して正規化されたリレーションにおける属性に近似する種別のコーパスを、学習データ４１のコーパス群から抽出する（ステップＳ１１０１）。ステップＳ１１０１において制御部１０はまず、リレーションにおける出現頻度及び逆文書頻度（ＴＦＩＤＦ：Term Frequency、Inverse Document Frequency）、並びにコーパス毎のＴＦＩＤＦを夫々計算する。そして制御部１０は、リレーションにおける属性名、及び各コーパスにおける属性名を、類語辞書データを参照して同意の属性名を合致させる（揃える）。その上でコサイン距離（コサイン類似度関数）を用いて、コーパス群の内のいずれのコーパスに近似するか否かを判断し、近似するコーパスを特定する。
【００９１】
ステップＳ１１０１は例えば、ユーザのリレーションから分割されて得られたリレーションの１つが「売上ＩＤ／注文日／商品ＩＤ／個数／顧客ＩＤ／従業員ＩＤ」である場合、制御部１０は上述した第１コーパスを近似コーパスとして抽出することができる。
【００９２】
制御部１０は、抽出された近似コーパスから、Ｓ１０９で分割して得られたリレーションに含まれる属性名と共起ペアとなる属性名を抽出する（ステップＳ１１０２）。このとき共起ペアとなる属性は、非キー属性であって、未接続の属性且つ階層（テーブル）内に存在しない属性（異なる階層で重複していない単語）となるように抽出する。更に、近似コーパスにおける全共起率の平均を算出し、算出された平均との差異（距離）に応じてフィルターを掛けるとよい。つまり制御部１０は、平均と略同値の共起率の属性名のみを抽出するか、また後述する選択操作によって選択実績がある属性名の共起率を参照して類似する属性名を抽出するようにしてもよい。
【００９３】
ステップＳ１１０２は例えば、抽出された第１コーパスにおいて「都道府県名」が高頻度に出現する場合、制御部１０は「都道府県名」を共起ペアとして抽出する。過去に作成されたリレーションにおいては経験的に「都道府県名」の属性を注文日、商品ＩＤ、個数等を含むテーブルに追加しておくことで、後に地域毎に売り上げを分類するなどする場合の結合演算処理を省略していた場合がある。上述のコーパスからの共起ペアの抽出により、結合演算処理の省略を実現するＤＢを作成することができる。
【００９４】
制御部１０は、抽出した属性名をリスト化して端末装置２へ送信し、いずれの属性名を選択するかを表示部２３にて受け付ける（ステップＳ１１０３）。そして制御部１０は、ステップＳ１１１にて複雑ネットワークを生成するに際し、ステップＳ１１０３で選択された属性名を用いて非正規化する。具体的には１対多の従属関係のリレーションにおいて、選択された属性（非キー属性）を子側（高次元側）に吸収するか、１対多の従属関係のリレーションにおいて選択された属性（非キー属性）を親側（低次元側）に吸収するか、又は、１対１の従属関係（例えば図１０における「都道府県ＩＤ」と「都道府県名」、「顧客種別ＩＤ」と「顧客種別名」等）を統合する等がある。
【００９５】
なおステップＳ１１０３においては、ユーザからの選択を受け付けることなく、制御部１０がリストに優先順位を付与し、上位数個の属性について共起ペアで接続するようにしてもよい。上述の例であれば「都道府県名」は、売上ＩＤを含む第１次元のリレーション内に吸収される。
【００９６】
制御部１０は、Ｓ１１４で受け付けた操作に基づき変更されたリレーションを、学習データ４１内に別途、ユーザアカウントと対応付けて記憶し（ステップＳ１１４１）、ＤＢを構築する（Ｓ１１５）。
【００９７】
このように、ユーザは自身が作成した表形式のリレーション（テーブル）をＤＢＩＦ提供装置３経由でＤＢ処理装置１へアップロードする操作を行なう程度で、正規化されて更新時に異常を来たさず、且つ演算処理等の負荷を考慮した非正規化をも完備したリレーショナルスキーマを得ることができる。つまり、ＤＢ及びＤＢを扱うための技術に対する専門知識を有さないユーザであっても簡単にＤＢの更新が可能になる。
【００９８】
なお制御部１０は、ステップＳ１０７における属性間の関数従属性の計算時にも学習データを参照してもよい。これにより過去に作成されたＤＢにおける属性間の関係性を集合知として用いて経験的に適切と考えられるＤＢを構築することも可能となる。
【００９９】
なお学習データ４１に含まれる類語辞書、共起辞書、コーパスを参照することによって、異なる設計者によって入力され、構築されたＤＢを総合的に解析することも可能になる。同意に定義された属性も異なる属性名として定義されている場合、また同一名で定義された属性も、ＤＢ内における論理的意味が異なる場合がある。本実施の形態２に係るＤＢ処理装置１の学習データに基づく処理により、異なるＤＢを統合することが可能となり、ビッグデータの解析が可能となる。更に、統合されたＤＢは、次に追加されるリレーション（テーブル）に対して集合知として機能する。
【０１００】
更に、従来のＥＲ図とは異なる方法で図１１，１２に示すようにスキーマが視覚化されて描画される。これにより、自身がアップロードしたリレーションのＤＢのスキーマを直感的に把握することができる。これにより、ＤＢへのアクセスに関する知識を有さないユーザであっても自動的に生成されたＤＢのスキーマを直感的に把握することができる。
【０１０１】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０２】
１  ＤＢ処理装置（中央装置）
１０  制御部
１１  記憶部
１３  通信部
１Ｐ  ＤＢ処理プログラム
２  端末装置（外部装置）
２０  制御部
２３  表示部
２３１  インタフェース
３  ＤＢＩＦ提供装置
【図１】
2017084162.tif 000003
【図２】
2017084162.tif 000004
【図３】
2017084162.tif 000005
【図４】
2017084162.tif 000006
【図５】
2017084162.tif 000007
【図６】
2017084162.tif 000008
【図７】
2017084162.tif 000009
【図８】
2017084162.tif 000010
【図９】
2017084162.tif 000011
【図１０】
2017084162.tif 000012
【図１１】
2017084162.tif 000013
【図１２】
2017084162.tif 000014
【図１３】
2017084162.tif 000015
【図１４】
2017084162.tif 000016
【図１５】
2017084162.tif 000017