(57)【特許請求の範囲】
【請求項１】
所定の条件範囲に属するデータの集まりである集合と、複数の集合をグループ化した集合グループとを作成するとともに、作成した集合及び集合グループを所定の記憶装置に階層的に保存する集合管理手段と、
前記記憶装置に保存されている集合及び集合グループの階層構造を所定の表示装置上に表示させる処理手段とを有し、
前記集合管理手段は、相対的に上位層となる集合グループをその下位層に属するすべての集合又は集合グループの論理演算結果として作成するものであり、
前記処理手段は、同一階層の複数の集合又は集合グループについては各々の要素数に応じた面積の図形を独立に描画可能とし、異なる階層の複数の集合又は集合グループについては相対的に上位層となる集合グループについての前記図形内にその下位層に属するすべての集合又は集合グループの要素数に応じた面積比の分割図形を描画可能とする図形パレット領域を、前記表示装置に表示させ、前記図形パレット領域に複数の集合グループについての図形が描画されている状態において、ある図形内の集合の描画域と他の図形における集合の描画域とが外部より指定されたときに、両集合の論理積を演算し、これにより得られた積集合の大きさがその長さで表現されたサブ集合図形を、前記指定された二つの描画域の各々に重畳描画することを特徴とする、
集合表示システム。
【請求項２】
所定の条件範囲に属するデータの集まりである集合と、複数の集合をグループ化した集合グループとを作成するとともに、作成した集合及び集合グループを所定の記憶装置に階層的に保存する集合管理手段と、
前記記憶装置に保存されている集合及び集合グループの階層構造を所定の表示装置上に表示させる処理手段とを有し、
前記集合管理手段は、相対的に上位層となる集合グループをその下位層に属するすべての集合又は集合グループの論理演算結果として作成するものであり、
前記処理手段は、同一階層の複数の集合又は集合グループについては各々の要素数に応じた面積の図形を独立に描画可能とし、異なる階層の複数の集合又は集合グループについては相対的に上位層となる集合グループについての前記図形内にその下位層に属するすべての集合又は集合グループの要素数に応じた面積比の分割図形を描画可能とする図形パレット領域を、前記表示装置に表示させ、前記図形パレット領域に複数の集合グループについての図形が描画されている状態において、ある図形における集合の描画域と他の図形の全体とが外部より指定されたときに、前記集合と前記他の図形が表すすべての集合及び集合グループとの論理積を演算し、これにより得られた積集合の大きさがその長さで表現されたサブ集合図形を、前記描画域と前記他の図形内の集合及び集合グループの各々の描画域に重畳描画することを特徴とする、
集合表示システム。
【請求項３】
所定の条件範囲に属するデータの集まりである集合と、複数の集合をグループ化した集合グループとを作成するとともに、作成した集合及び集合グループを所定の記憶装置に階層的に保存する集合管理手段と、
前記記憶装置に保存されている集合及び集合グループの階層構造を所定の表示装置上に表示させる処理手段とを有し、
前記集合管理手段は、相対的に上位層となる集合グループをその下位層に属するすべての集合又は集合グループの論理演算結果として作成するものであり、
前記処理手段は、同一階層の複数の集合又は集合グループについては各々の要素数に応じた面積の図形を独立に描画可能とし、異なる階層の複数の集合又は集合グループについては相対的に上位層となる集合グループについての前記図形内にその下位層に属するすべての集合又は集合グループの要素数に応じた面積比の分割図形を描画可能とする図形パレット領域を、前記表示装置に表示させ、前記図形パレット領域に複数の集合グループについての図形が描画されている状態において、ある図形の全体と他の図形の全体とが外部より指定されたときに、各々の図形が表すすべての集合又は集合グループ同士の論理積を演算し、これにより得られた積集合の大きさが長さで表現されたサブ集合図形を、両図形内の集合又は集合グループの各々の描画域に重畳描画することを特徴とする、
集合表示システム。
【請求項４】
前記処理手段は、前記図形パレット領域に既に描画されている集合グループとは異なる他の集合グループが外部より指定されたときに当該他の集合グループの下位層に属するすべての集合及び集合グループの要素数を論理演算し、その要素数の相対比率を面積比で表す分割図形を同一の前記図形パレット領域に追加描画することを特徴とする、
請求項１、２又は３記載の集合表示システム。
【請求項５】
前記図形の全体の指定が当該集合グループの名称の指示により行われることを特徴とする、
請求項２又は３記載の集合表示システム。
【請求項６】
前記外部による指定が操作者のドラッグ＆ドロップ操作により行われることを特徴とする、
請求項１ないし５のいずれかの項記載の集合表示システム。
【請求項７】
前記処理手段は、異なる図形に重畳描画される一対のサブ集合図形同士を結ぶ補助線を描画することを特徴とする、
請求項１、２又は３記載の集合表示システム。
【請求項８】
前記処理手段は、前記補助線が描画されている特定の集合又は集合グループの描画域が指定されたときに当該描画域に描画されているすべての補助線を強調表示させることを特徴とする、
請求項７記載の集合表示システム。
【請求項９】
前記処理手段は、前記図形、前記分割図形又は前記サブ集合図形が指定されたときに当該指定された図形、分割図形又はサブ図形に対応して前記記憶装置に保存されているデータを表示させるための領域を前記表示装置に表示させることを特徴とする、
請求項１、２又は３記載の集合表示システム。
【請求項１０】
記憶装置及び表示装置が接続されているコンピュータシステムに読み取られて実行されたときに、該コンピュータシステムを請求項１ないし９のいずれかに記載された集合表示システムとして動作させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ管理システムに係り、特に、データベースに格納されるデータの検索結果を集合の概念で格納して置き、集合と集合を組み合わせて分析するＧＵＩ（Graphical User Interface） 技術に関する。
【０００２】
【従来の技術】
データベース管理システム（ＤＢＭＳ：Data Base Management System）において、データベースの中から所定の検索条件に該当するデータを検索する際には、操作者がＤＢＭＳに検索条件を入力し、ＤＢＭＳが、入力された検索条件に適合するデータを抽出するのが一般的である。
しかし、同一の検索条件で検索を繰り返すような場合には、データの検索結果を集合として格納しておくようにすれば、同一の検索条件を繰り返さないで済み、同一の結果を得るためのレスポンスが向上するという知見がある。また、このように集合として保存した検索結果同士を、更に、集合演算するようにすれば、ＤＢＭＳに対する多条件検索と同等の処理を高速に行える知見もある。
このようなデータベース管理システムを構築した場合の、集合を組み合わせた演算の指示は、一般的には、論理式の形で行われる。
【０００３】
また、より視覚的に集合演算を行うための手法として、集合間の関係を視覚的に表現するベン図の表現を用いる方法も提案されている（特開平６−８９３０９号公報、「集合の図式化によるデータベース検索処理方法」）。
この方法は、データベース検索の集合の量と、集合と集合の間にある論理的な関係（和、差、積等）を図式によって提示し、図式上の矩形の領域を指示して集合を演算操作するとともに、利用者が、図式上の矩形の領域を指示して該当するデータを容易に抽出することを可能にする方法である。この方法によれば、集合と集合の積、和、差、などの各部分を一目で理解することができ、また、その各集合部分の要素数が面積比で表現することができるので、操作者が、操作結果を直感的に理解できるようになるという利点が生じる。
【０００４】
【発明が解決しようとする課題】
しかしながら、ベン図を用いて検索結果等を表現する方法では、平面上に集合間の関係を図示するため、同一平面上に同時に３個までの関係しか表現することができないという制約がある。これは、３個の集合の関係は、論理的に８つの組み合わせで良いが、４個の集合の関係になると、論理的には１６個の組み合わせがあり、これらを同時に平面で表現することができないことが、その原因となっている。しかし、現実に集合を組み合わせて分析処理を行う際に、３個を上回る数の集合を扱いたいケースが多々ある。例えば、以下のような集合を想定する。
【０００５】
集合Ａ１：商品Ａを購入した顧客の集合
集合Ａ２：商品Ｂを購入した顧客の集合
集合Ａ３：商品Ｃを購入した顧客の集合
集合Ｂ１：業種が製造業の顧客の集合
集合Ｂ２：業種が流通業の顧客の集合
集合Ｂ３：業種がサービス業の顧客の集合
集合Ｃ１：住所が東京の顧客集合
集合Ｃ２：住所が神奈川の顧客集合
集合Ｃ３：住所が千葉の顧客集合
集合Ｄ１：従業員数が４人以下の顧客集合
集合Ｄ２：従業員数が５人以上９人以下の顧客集合
【０００６】
このような集合に対して、商品Ａを購入し、製造業で、東京の顧客で、従業員数が４人以下の顧客をベン図で表現しようとした場合、集合Ａ１、集合Ｂ１、集合Ｃ１の積集合部分を求め、その部分を１個の集合としたものと、集合Ｄ１を重ねたベン図から積集合部分を求める必要がある。
また、商品Ａを購入した顧客は、東京、神奈川、千葉のどの都道府県が多いのかとの問いに対して、集合Ａ１と集合Ｃ１、集合Ａ１と集合Ｃ２、集合Ａ１と集合Ｃ３のそれぞれの組み合わせ操作を３回繰り返して初めて結果が得られる。
このように、集合を用いた分析や演算も、単にベン図を用いたツールだけでは、操作が煩雑になってしまうケースが多く存在する。
【０００７】
本発明の課題は、集合操作指示とその指示の演算結果とを直接的に操作者に判読できるようにするための手法を提供するることにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本発明は、所定の条件範囲に属するデータの集まりである集合をグループ化して集合グループを作成するとともに、作成済みの複数の集合間、集合と集合グループ間又は複数の集合グループ間の相対関係を導出する集合管理手段と、個々の集合又は集合グループを他の集合又は集合グループとの間の相対関係が維持された状態で所定の表示装置に定量表示させる処理手段とを有する、集合表示システムを提供する。
【０００９】
前記処理手段は、同一内容の集合又は集合グループを互いに異なる複数の表現形態で定量化するための複数パレット領域を前記表示装置に表示させるように構成する。
【００１０】
前記処理手段は、前記複数のパレット領域の各々が、他のパレット領域において定量化されている集合又は集合グループがドラッグ＆ドロップ操作によって自領域に取り込まれたときにその集合又は集合グループを実時間で自領域の表現形態で定量化するよう構成する。
【００１１】
本発明は、また、所定の条件範囲に属するデータの集まりである集合と、複数の集合をグループ化した集合グループとを作成するとともに、作成した集合及び集合グループを所定の記憶装置に階層的に保存する集合管理手段と、前記記憶装置に保存されている集合及び集合グループの階層構造を所定の表示装置上に表示させる処理手段とを有し、前記集合管理手段は、相対的に上位層となる集合グループをその下位層に属するすべての集合又は集合グループの論理演算結果として作成するものであり、前記処理手段は、同一階層の複数の集合又は集合グループについては各々の要素数に応じた面積の図形を独立に描画可能とし、異なる階層の複数の集合又は集合グループについては相対的に上位層となる集合グループについての前記図形内にその下位層に属するすべての集合又は集合グループの要素数に応じた面積比の分割図形を描画可能とする図形パレット領域を、前記表示装置に表示する集合表示システムを提供する。
【００１２】
各集合の要素数比較を容易にする観点からは、前記処理手段は、前記図形パレット領域に代えて、又は前記図形パレット領域と共に、ある集合又は集合グループを他の集合又は集合グループとの相対関係を維持した状態で同時に描画可能にする１又は複数の他のパレット領域を前記表示装置に表示させるようにする。
前記図形パレット領域に複数の図形を描画しようとする場合は、その図形パレット領域のサイズをどのようにすればよいかが問題となる。この場合、前記制御手段は、図形の描画スケールを共通スケールに統一しておき、先に描画されている図形と追加描画しようとする図形のうちサイズの大きい方の図形に基づいて、前記図形パレット領域の表示サイズを決定させるようにする。
【００１３】
好ましい実施の形態では、前記処理手段は、前記表示装置に前記図形パレット領域が表示されているときに当該図形パレット領域と前記１又は複数の他のパレット領域との間で行われる、各々の領域に描画されている集合又は集合グループの実質データ内容の相互受け渡しを許容するように構成する。
【００１４】
表示装置を見ながら操作する操作者の操作上の便宜を図る観点からは、前記処理手段が、以下のような機能を備えるように構成することもできる。
（１）前記図形パレット領域に既に描画されている集合グループとは異なる他の集合グループが外部より指定されたときに当該他の集合グループの下位層に属するすべての集合及び集合グループの要素数を論理演算し、その要素数の相対比率を面積比で表す分割図形を同一の前記図形パレット領域に追加描画する。
（２）前記図形パレット領域に複数の集合グループについての図形が描画されている状態において、ある図形内の集合の描画域と他の図形における集合の描画域とが外部より指定されたときに、両集合の論理積を演算し、これにより得られた積集合の大きさがその長さで表現されたサブ集合図形を、前記指定された二つの描画域の各々に重畳描画する。
（３）前記図形パレット領域に複数の集合グループについての図形が描画されている状態において、ある図形における集合の描画域と他の図形の全体とが外部より指定されたときに、前記集合と前記他の図形が表すすべての集合及び集合グループとの論理積を演算し、これにより得られた積集合の大きさがその長さで表現されたサブ集合図形を、前記描画域と前記他の図形内の集合及び集合グループの各々の描画域に重畳描画する。
（４）前記図形の全体の指定を、当該集合グループの名称の指示により行われるようにする。
（５）前記外部による指定が操作者のドラッグ＆ドロップ操作により行われるようにする。
（６）異なる図形に重畳描画される一対のサブ集合図形同士を結ぶ補助線を描画し、要素数の相対比較を容易にする。この場合、好ましくは、前記補助線が描画されている特定の集合又は集合グループの描画域が指定されたときに当該描画域に描画されているすべての補助線を強調表示するようにする。
（７）前記図形、前記分割図形又は前記サブ集合図形が指定されたときに当該指定された図形、分割図形又はサブ図形に対応して前記記憶装置に保存されているデータを表示させるための領域を前記表示装置に表示させる。
【００１５】
前記処理手段は、前記他のパレット領域の少なくとも一つを、ベン図を描画するためのベン図パレットとする処理を行うことができる。すなわち、制御手段は、指定された集合グループ又は集合についての論理演算結果を、各々の要素数の大きさに対応する面積のｎ角形ベン図に変換し、変換された各々のｎ角形ベン図を他のｎ角形ベン図との相対関係を維持した状態で同一画面上に描画するためのベン図パレット領域を、前記他のパレット領域として前記表示装置に表示させるようにする。ｎの値は、それを大きくするほど個々のベン図の形状のフレキシビリティ性が高まるため、他のベン図との間の相対関係を正確に表現しやすくなるが、演算量もそれにつれて大きくなるので、集合の数及び個々の集合の大きさとの関係で適切な値を設定する。通常は、６〜１２程度の値となる。
ｎ角形画像の表示位置によって検索条件間の関係を視覚的に把握できるようにする場合は、各集合を、各々の集合要素数の大きさに対応する面積と検索条件に基づく相対的な位置関係とをもつｎ角形画像に変換する。検索条件の論理積によるデータ検索結果については、各々の検索条件の集合から変換されたｎ角形画像の重なりで表す。ｎ角形画像のもとになるｎ角形の形状及びその面積は、演算によって特定することができる。例えば、所定の制限条件下における描画のための収束計算を繰り返すことで導出する。この場合、収束計算は、凸角形になる制限条件下で始まり、一定回数繰り返しても凸角形として収束しない場合にその制限条件を凹角形になる制限条件に替えるようにする。
なお、ｎの値は、事後的に変更することができる。すなわち、複数の集合のうち、いくつかの集合の大きさが他の集合の大きさに対して極端に異なる場合には、ベン図間の相対関係を適切に同時に表示できなくなる場合があり、この場合はｎの値を変更させることにより、見やすい表示形態になるように、事後的に調整することができる。
【００１６】
本発明は、また、コンピュータプログラムを提供する。このコンピュータプログラムは、記憶装置及び表示装置が接続されているコンピュータシステムに読み取られて実行されたときに、該コンピュータシステムを、上述した本発明の集合表示システムとして動作させるためのコンピュータプログラムである。
【００１７】
【発明の実施の形態】
以下、本発明の集合表示システムを、複数のデータベース機構からの検索結果を集合として管理するデータ管理システムに適用した場合の実施の形態を説明する。図１は、本実施形態によるデータ管理システム１の構成図である。
このデータ管理システム１は、ハードディスク等の外部記憶装置、表示装置ＤＰ及び入力装置ＩＮが接続されたコンピュータ本体と、このコンピュータ本体に読み取られて実行される本発明のコンピュータプログラムとによって実現される。コンピュータ本体は、複数のデータベース機構Ａ，Ｂ，Ｃとの間でネットワークＮを介して双方向の通信を行う機能及び図示しない構内ネットワークに接続されている構内他システムＣＳとの間で双方向の通信を行う機能を備えたものである。
【００１８】
データベース機構Ａ，Ｂ，Ｃは、集合の基になるデータを蓄えた外部サーバ、データウエアハウスその他のデータ格納手段であり、データ管理システム１からの要求に応じてデータ検索を行い、その検索結果をデータ管理システム１宛に出力する機構を有するものである。
なお、図１では、説明の便宜上、３種類のデータベース機構Ａ，Ｂ，Ｃを例示しているが、データベース機構は１種類であってもよく、４種類以上であってもよい。
【００１９】
本実施形態では、コンピュータ本体がコンピュータプログラムを実行することにより、コンピュータ本体に、主制御部１０、検索処理部１１、集合管理部１２、画像処理部１３及びインタフェース処理部１４の機能ブロックを形成するとともに、外部記憶装置を、集合記憶装置２０として使用させる。
【００２０】
［システムの機能構成］
主制御部１０は、データ管理システム１の中心となる部分であり、他の機能ブロック１１〜１４の動作開始、終了、連携を統括的に制御する。また、入力された検索条件の内容を解析して検索指示を出したり、検索要求元宛に検索結果を出力させたりする。
主制御部１０は、ＲＡＭ等からなる一時記憶域１０Ｒを有し、一時的に発生する情報を、それが最終的に消滅あるいは保存されるまでこの一時記憶域１０Ｒに格納する。
【００２１】
検索処理部１１は、主制御部１０より指示された検索条件に基づくデータベース機構Ａ，Ｂ，Ｃへのデータ検索を行うとともに、検索結果を、リスト化されたファイルの形でまとめて入手する。リスト化されていない検索結果については、検索処理部１１でリスト化するようにしてもよい。リストは、集合の要素を特定するためのコード（顧客データを対象とするのであれば、顧客コード等）が含まれていればよい。
【００２２】
集合管理部１２は、検索処理部１１により得られたリストを集合化するとともに、各集合を集合論の概念に基づいて階層管理する。
集合化に際しては、同一又は似たような意味あいを持つ集合をグループ化してフォルダにまとめるようにする。このフォルダを集合フォルダと称する。意味あいが似ているかどうかは、例えば同一及び類似の意味あいに予め共通のコードを付しておき、入力された集合がその共通コードと合致するかどうかによって実現することができる。用途に応じて予め構築した階層構造の集合フォルダに、操作者が適宜判断して集合を挿入していくことによって分類することもできる。
【００２３】
ここで「集合論の概念に基づく階層管理」とは、上位層の集合フォルダは下位層の集合フォルダ又は集合の論理演算の結果、例えば論理和をとった結果として表され、しかも集合フォルダが集合と同等として扱うことができることをいう。例を挙げれば、集合フォルダ「従業員１〜４人」は、その下位層の集合「従業員１人」、「従業員２人」、「従業員３人」、「従業員４人」の論理和をとったものとなる。集合フォルダ「従業員１〜９人」は、その下位層の集合フォルダ「従業員１〜４人」と集合フォルダ「従業員５〜９人」の論理和で表すことができる。下位の階層が集合フォルダの場合には、さらにその下の階層の論理和を求める操作を繰り返す。最下位層は集合フォルダではなく、集合となる。
【００２４】
このような階層構造のもとでは、集合記憶装置２０で真に保存すべき集合は、「従業員１人」、「従業員２人」のように、最下層のシンプルなものとなり、「従業員１〜４人」のような集合は、上位概念の集合フォルダとして定義することが可能になる。このような機能を集合管理部１２に持たせることにより、従来のように意味の似た集合を重複して持つ弊害を回避することができるようになる。
【００２５】
画像処理部１３は、コンピュータ本体に接続されている表示装置に、集合の階層構造を階層イメージとして表示させたり、個々の集合フォルダ、集合、データの内容を詳細に表示させたりするための画像処理を行う。
【００２６】
インタフェース処理部１４は、データベース機構Ａ，Ｂ，Ｃとの間の双方向通信制御、コンピュータ本体に接続されている入力装置ＩＮを通じて操作者が入力した様々な指示あるいは構内他システムＣＳやコンピュータプログラムからの指示を受け付けるための制御、画像処理部１３による画像処理結果を表示装置ＤＰに表示させるための制御、検索結果を検索要求元宛に出力するための制御等を行う。
【００２７】
なお、データベース機構Ａ，Ｂ，Ｃから得られる検索結果は、検索条件を満たす個々のデータのリストから構成されるが、これらのデータベース機構Ａ，Ｂ，Ｃとデータ管理システム１間で異なるコード体系でデータのＩＤを管理している場合があり得る。この点に鑑み、データ管理システム１では、データのＩＤに関するコード体系を共通にして一元管理するための仕組みを備えている。
【００２８】
具体的には、システムで管理するデータの項目の内容、例えば顧客、従業員等をオブジェクトとして捉え、個々のオブジェクトをオブジェクトＩＤという共通ＩＤによって識別するようにする。そして、データベース機構毎のコード体系下で管理されているオブジェクトを識別するためのオブジェクトコードと上記のオブジェクトＩＤとの対応関係を定義したオブジェクトＩＤテーブル２１（後述する）を集合記憶装置２０に格納しておく。
検索結果が入力された場合には、そのすべてにオブジェクトＩＤを付すことによってシステム内で一元管理できるようにする。これにより、データベース機構間で異なるコード体系で管理されているデータを共通形式のデータの集まりとして扱うことができ、これらの論理演算を行うことが容易になる。
【００２９】
データ管理システム１では、また、データベース機構Ａ，Ｂ，Ｃより取得したリストを集合とし、集合の意味あいを定義してその集合を保存する集合定義機構と、新たな集合作成の基礎となるデータのリストを取り込むリスト取込機構とを備え、集合定義機構とリスト取込機構とを独立且つ並行に起動させるようにする。集合定義機構は、各データベース機構Ａ，Ｂ，Ｃと検索処理部１１とを連携させ、集合化が終われば、切り離し可能にする。
リスト取込機構は、データベース機構Ａ，Ｂ，Ｃと切り離した状態で、集合を組み合わせた結果（これも集合となっている）からリストを入手するために、本実施形態では、集合要素を特定する個々のオブジェクトＩＤとオブジェクト（例えば、顧客名、住所、電話番号等）とを対応付けた最小限のテーブルを持たせる。このテーブルを利用することにより、オブジェクトＩＤが何であるかが、操作者に容易に理解させることができる。しかも、顧客名等のオブジェクトを持つデータベース機構Ａ，Ｂ，Ｃに別途アクセスする必要がないので、切り離されていてもよいのである。当然のことながら、データベース機構Ａ，Ｂ，Ｃが本システムに接続されていれば、より詳細なオブジェクトを検索することができる。
このような手法であれば、データ管理システム１が、データベース機構Ａ，Ｂ，Ｃと直接に結合されたシステム構成である必要がない。
【００３０】
［集合記憶装置］
集合記憶装置２０には、オブジェクトＩＤテーブル２１と、集合保存領域２２と、階層定義領域２３とが設けられる。
オブジェクトＩＤテーブル２１は、上述したように、検索結果を本システムで扱うオブジェクトとして一元管理するための変換テーブルであり、オブジェクトＩＤと集合作成の基になったデータを識別するためのオブジェクトコードとの対応表である。このオブジェクトＩＤの例を図２に示す。
【００３１】
図２において、第１コード体系をもつデータベース機構Ａを検索して得られた顧客コード「０００２」がオブジェクトＩＤ「２」に対応し、第２コード体系をもつデータベース機構Bを検索して得られた顧客コード「A０００２」も同様にオブジェクトＩＤ「２」である。この例は、データベース機構Ａの顧客コード「００００２」とデータベース機構Bの顧客コード「Ａ０００２」とが同一の顧客であることを示している。
オブジェクトＩＤ「３」については、データベース機構Ａ及びデータベース機構Ｃには対応する顧客コードが存在するが、第２コード体系をもつデータベース機構Ｂには、対応する顧客コードが存在しないことを示している。
【００３２】
オブジェクトＩＤテーブル２１には、オブジェクトＩＤに対応した、そのオブジェクトのいくつかの管理項目、例えば、顧客名、住所、電話番号等が対応付けられて設定されている。これらの管理項目は、操作者が検索要求を行うときに、目的の要求内容を特定しやすくする目的で設定される。
【００３３】
集合保存領域２２は、検索結果をオブジェクトに集約し、これを集合として保存しておくときの保存領域である。この集合保存領域２２には、集合の内容を表す集合定義が保存される。この集合保存領域２２の例を図３に示す。
図３において、「集合ＩＤ」は、集合保存領域２２内の当該集合（その内容は「集合名」により特定される）を一意に識別する為のＩＤである。「オブジェクトＩＤリスト」は当該集合に含まれるオブジェクトのオブジェクトＩＤを集めたものであり、「オブジェクト数」は「オブジェクトＩＤリスト」に含まれるオブジェクトＩＤの数である。
【００３４】
階層定義領域２３は、複数の集合の階層構造を定義した定義情報を保存する領域である。集合の階層構造を表現する形式としては特に制限はないが、現時点ではＸＭＬ形式で表現することが便利である。このＸＭＬ形式で表現した階層構造の定義例を図５及び図６に示す。
図５及び図６は、複数の集合フォルダ内の集合の階層構造の一部を定義したものである。最上位の定義情報は集合フォルダ「従業員１〜９人」についてのものであり、その下位の階層へのリンクが２つ存在する。２つのリンクは集合フォルダ「従業員１〜４人」と集合フォルダ「従業員５〜９人」である。
集合フォルダ「従業員１〜４人」にはさらに下位の階層へのリンクが４つ存在する。４つの階層のリンクは集合「従業員１人」、集合「従業員２人」、集合「従業員３人」、集合「従業員４人」である。これらの下位にはリンクがないので、それが集合フォルダではなく、集合であることを示している。
同様に、集合フォルダ「従業員５〜９人」についても、その下位に、集合「従業員５人」、集合「従業員６人」、集合「従業員７人」、集合「従業員８人」、集合「従業員９人」の５つのリンクが存在する。
【００３５】
［動作手順］
次に、上記のように構成される本実施形態によるデータ管理システム１の動作手順を、主制御部１０による処理内容を中心に説明する。なお、主制御部１０は、集合の管理に関しては集合管理部１２と協働し、集合検索に関しては検索処理部１１と協働し、表示装置ＤＰへの表示に関しては画像処理部１３と協働するが、ここでは、便宜上、主制御部１０のみを挙げて説明する。
【００３６】
データ管理システム１では、集合に上位／下位の概念を持たせることで集合の無用な重複や欠落等を防ぐと共に、目的の集合を、容易に探すことを可能にするグラフィック・ユーザ・インタフェース（以下、「ＧＵＩ」と称する）を操作者に提供し、このＧＵＩに基づく操作者による操作内容を受け付け、その操作内容に基づく種々の処理を行う。
ＧＵＩは、具体的には、表示装置ＤＰに表示される、操作者による操作が可能な複数のパレット領域である。複数のパレット領域の一つは、集合階層構造を表示するパレット領域である。以下、このようなパレット領域を「階層構造パレット」と呼ぶ。
階層構造パレットは、表示装置ＤＰに表示される主画面（図示省略）の所定のアイコンを操作者がクリックすることによって表示装置ＤＰの画面上に表示される。表示する位置及びサイズ等は、システムが自動的に定める場合と、操作者が指定する場合とがある。
操作者は、階層構造パレットに表示されている集合階層から、分析を行いたい対象の集合グループをポインタ等によって選択する。これにより、階層構造パレットと共に、個々の集合グループ及び集合の内容をグラフ表示するためのパレット領域が同時に表示される。このグラフ表示するためのパレット領域を、以下、「グラフパレット」と呼ぶ。
操作者は、階層構造パレットの中から注目したい集合グループ又は集合を選択し、これをグラフパレットに表示させる旨を指示する。このときの選択と指示の一連の操作を行う一般的な手法としては、よく知られた「ドラッグ＆ドロップ」がある。この実施形態においても、ドラッグ＆ドロップ操作を用いることを前提として説明するが、このドラッグ＆ドロップ操作に限定する趣旨ではない。
【００３７】
操作者が、階層構造パレットからグラフパレットに集合グループ「従業員」をドラッグ＆ドロップ操作したときの状態を図７に示す。図中、符号５１が階層構造パレット、符号５３がグラフパレットである。符号５２は階層構造パレット５１の内容を詳細に示すための詳細表示領域である。
主制御部１０は、集合グループ「従業員」がグラフパレット５３にドラッグ＆ドロップ操作されたことを検知すると、集合グループ「従業員」の下位層の集合または集合グループの要素数の集合和を論理演算する。図７の例では、集合グループ「〜４」、「５〜９」、「１０〜１９」、「２０〜２９」、「３０〜４０」、「５０〜９９」、「１００〜」のそれぞれの要素数を論理演算する。
次に、これらの要素数の和を１００％としたときの、帯状グラフの表示をグラフパレット５３に表示させるための演算を行い、グラフパレット５３上に帯状グラフの描画を行う。ここで、重要なことは、帯状グラフを各集合／集合グループの要素数に応じてそれぞれの集合の大きさを表すように描画するということである。
【００３８】
操作者は、このグラフ描画された表示を見ることで、各集合の要素数の大小を一目で把握することができ、どの集合（この例であれば、どの従業員規模の顧客）が多いか少ないかを直ちに判読することができるようになる。
この状態で、操作者が、階層構造パレット５１から、さらに他の集合グループ「業種」を選択してグラフパレット５３にドラッグ＆ドロップ操作すると、主制御部１０は、このドラッグ＆ドロップ操作を検知し、集合グループ「業種」の下位の集合または集合グループの要素数を論理演算する（集合定義または更に下位の階層からの集合和を求める）。そして、図８のように、帯状グラフの追加描画を行う。
【００３９】
図８の例では、「一般板金」、「建築板金」、「精密板金」、「その他」のそれぞれの要素数の和を１００％とした帯状グラフがグラフパレット５３に描画される。この時点で、先に描画されている集合グループ「従業員」の要素数の総和と、今回の「業種」での要素数の総和の大きい方を用いて、グラフ描画域のサイズを決める。すなわち、複数の集合グループを帯状グラフに描画する場合、グラフパレット５３のグラフの描画スケールを統一すれば、異なるカテゴリーの要素数同士を大きさで直感的に比較することができる。
図８の例では、従業員規模で分類した場合と業種で分類した場合とで、顧客数がどのようになっているかを、同時に比較することができる。
【００４０】
本システムでは、グラフパレット５３に複数の帯状グラフが描画されている状態において、２つの異なるカテゴリーの集合間の積演算を画面を通じて指示することができる。
このことを図９を参照して説明する。
【００４１】
図９は、グラフパレット５３の上段に表示されている集合グループ「従業員」に属する「５〜９」の集合部分（分割図形）から、下段に表示されている集合グループ「業種」に属する「一般板金」の集合部分（分割図形）に、操作者がドラッグ＆ドロップ操作した結果を示した図である。
主制御部１０は、操作者によるドラッグ＆ドロップ操作を検知すると、集合グループ「従業員」に属する集合「５〜９」と、集合グループ「業種」に属する集合「一般板金」との論理積を演算する。これは、従業員数が５〜９人で、業種が一般板金である顧客の数を求めることを意味する。
主制御部１０は、これにより求めた積集合の大きさを、元の集合「５〜９」及び「一般板金」の各集合部分（分割図形）に、長さで表現した形のサブ集合（サブ集合図形）として、重畳して描画する。
【００４２】
これにより、２つの集合「５〜９」と「一般板金」との論理積部分が、それぞれ、元の集合部分のサブ集合として帯状グラフ上に重畳描画される。
サブ集合が同時に２ヶ所に表現されるので、本実施形態では、これらが同一内容のものであることを強調するために、サブ集合間を補助線で結んでいる。このような補助線は、２つの集合の積部分が補助線同士を辿ることで容易に判ること、その論理積がどの集合とどの集合との論理積であるかが一目で判ること、更にその論理積の部分が元の集合に占める比率も直感的に把握できることが、その利点となる。
上記のような操作内容及びそれによる描画内容は、他の集合同士の積についても、同様の要領で求めていくことができる。
【００４３】
図１０は、操作者が、集合グループ「従業員」に属する集合「３０〜４９」から、集合グループ「業種」に属する集合「建築板金」へドラッグ＆ドロップ操作した状態を示している。
このように、集合とそれを表現するグラフとの間で、興味を持った集合同士をドラッグ＆ドロップ操作によって結びつけることで、直ちにそれらの間の論理積の結果を表示させることができる。そのため、本システムは、操作者の思考を強力に支援することができるツールとなり得る。
【００４４】
複数の帯状グラフによって表現された集合グループが表示されている状態において、２つの異なるカテゴリーの集合グループと集合との積演算を指示することができる。ある集合と、もう一方は集合グループ内の全集合に対して行う操作である。この操作は、前述した集合間の論理積演算を個別に実施する手順を簡素化し、一度に実施する手法ということもできる。
【００４５】
図１１は、集合グループ「従業員」に属する「５〜９」の集合部分から、集合グループ「業種」全体（描画上の集合グループ名部分をポイントして）にドラッグ＆ドロップ操作を行った結果を示した図である。
主制御部１０は、このドラッグ＆ドロップ操作を検知すると、集合グループ「従業員」に属する一つの集合「５〜９」と集合グループ「業種」の下位層の集合のすべてに対する論理積を演算する。そして、求めた積集合の大きさを、各集合に対して前述の集合間の方法と同様の要領でグラフ描画する。
このような機能の実現により、ある集合は、別の集合グループのどの集合との相関が一番強いか弱いか（積部分の大小）等を、操作者は、一回の操作で見ることができるようになる。上記の例でいえば、従業員規模が５〜９人の顧客は、どの業種に多いか少ないかを知る為の操作が、一回のドラッグ＆ドロップで実現できるようになる。
【００４６】
上記の操作及び表示は、他の集合との関係も、同様の要領で求めることが可能である。図１２は、集合グループに属する集合「３０〜４９」から集合グループ「業種」の名称へドラッグ＆ドロップした状態を示している。
【００４７】
複数のグラフ化された集合グループが表示された状態において、２つの異なるカテゴリーの集合グループ同士の積演算を指示することができる。ある集合グループの全集合と、別の集合グループの全集合に対して行う操作である。前述した集合間の論理積演算を個別に実施する手順を更に簡素化し、集合グループ同士の演算を一度に実施する手法といえる。
【００４８】
図１３は、集合グループ「従業員」から、集合グループ「業種」にドラッグ＆ドロップした状態を示している。
主制御部１０は、操作者によるこのような操作内容を検知すると、集合グループ「従業員」の下位集合のすべてと集合グループ「業種」の下位集合のすべての組み合わせに対して論理積を演算する。そして、これにより求めた積集合の大きさを、各集合に対して前述の集合間の手法と同様の要領でグラフ描画する。
【００４９】
この機能の実現により、ある集合グループの各集合と、別の集合グループの各集合との相関を一度に求める操作ができる。上記の例でいえば、各従業員規模と、各業種との相関を一回のドラッグ＆ドロップの操作によって実現できる。
上記の例のように、集合グループ同士の積演算を行った結果は、各集合に対するサブ集合図形が、もう一方の対応する集合のサブ集合図形との対応を示す補助線が多数表れる。注意深く補助線を辿れば、対応関係を見ることは可能であるが、図１３のように、あまりに線が複雑に入り組んできた場合には、その作業が容易ではなくなってくる。このような場合に、特定の集合を指定して、その集合に関する補助線を強調した強調線に変える。
【００５０】
図１４は、操作者が、集合「５〜９」を指定してダブルクリック操作した状態を示した図である。
主制御部１０は、ある集合に対してダブルクリックが発生したことを検知し、その集合に関して既に求めているサブ集合との補助線を強調した表示処理を行う。この処理により、操作者は、多くの補助線の中から強調線を捉えることで、注目したい部分を容易に特定することが可能になる。
なお、ここでは補助線を強調する処理の指示方法として、ダブルクリックを用いた方法を述べたが、ダブルクリックに限定する趣旨ではなく、他の指示手法も可能である。
【００５１】
図１５は、同様の操作を集合「３０〜４９」に対して行った結果である。図１５に示されるように、集合「３０〜４９」が集合グループ「業種」に属する複数の集合と関連している場合は、関連するすべての他の集合グループの集合に対して補助線を強調した表示処理を行う。
【００５２】
図１６は、集合グループ「従業員」と他の集合グループである「業種」との相関を求めたものに対して、さらに、集合グループ「顧客住所」を新たに追加描画し、そのグループ下の「東日本」と集合グループ「業種」との相関を求めて、さらに集合「東日本」との相対関係を強調した場合の例を示している。
【００５３】
データ管理システム１は、また、複数のパレット領域の一つとして、集合の内容（顧客を集合要素とした場合であれば、顧客名、住所、電話番号等、この顧客の属性情報）を表すデータの内容を表示するためのパレット領域を有する。図形を描画するものではなく、データの内容を表示するだけなので、以下、このパレット領域を「集合ビュアー」と称する。集合ビュアーは、表示装置ＤＰの画面上に形成されている所定のアイコンの操作によって起動される。集合ビュアーもまた、操作者者による操作によって集合等を他のパレット領域からドラッグ＆ドロップ操作によって複写することができる。
【００５４】
図１７は、集合「一般板金」と「東日本」との積集合部分（サブ集合となっている）を、集合ビュアー５４にドラッグ＆ドロップ操作された状態を示している。
操作者は、階層構造パレット５１あるいはグラフパレット５３の該当集合部分あるいはサブ集合図形から、集合ビュアー領域５４に、ドラッグ＆ドロップ操作を行う。主制御部１０は、集合ビュアー５４へのドラッグ＆ドロップであることを検知すると、集合の表示が指示されたことを認識する。そして、ドラッグの起点となった集合を求めて、その集合要素の表示すべき内容を、オブジェクトＩＤテーブル２１から取り出し、これを集合ビュアー５４内に表示する。場合によっては、オブジェクトＩＤテーブル２１ではなく、検索処理部１１を通してデータベース機構Ａ，Ｂ，Ｃに問い合わせ、その内容を取り出すことも可能である。
【００５５】
操作者は、シンプルに、所望の集合を指定して、集合ビュアー５４上にドラッグ＆ドロップするだけの操作で、その集合の内容を確認することができる。この指示は、ドラッグ＆ドロップで説明したが、他の指示手法であっても良い。
なお、階層構造パレット５１から、直接、集合を集合ビュアー５４にドラッグ＆ドロップすることも可能である。集合ビュアー５４は、表示されている内容を、何らかの方法（ファイル等を経由するのが一般的であるが）で、他のシステム等に渡すことも可能である。
【００５６】
階層構造パレット５１、グラフパレット５３、集合ビュアー５４の各区画を用いた、集合の分析や演算、内容表示をドラッグ＆ドロップ操作やダブルクリック等の操作で容易に行えるシステムの実現手法について説明したが、集合の演算では、ベン図を用いた表現も組み合わせることにより、集合に関するより完成度の高いシステム構築が可能である。ベン図を表示させるパレット領域を、以下、「ベン図パレット」と呼ぶ。
【００５７】
主制御部１０は、操作者からの所定のアイコン操作等を受け付けると、画像処理部１３を制御して、指定された集合グループ又は集合についての論理演算結果を、各々の要素数の大きさに対応する面積のｎ角形ベン図に変換し、変換された各々のｎ角形ベン図を他のｎ角形ベン図との相対関係を維持した状態で同一画面上に描画するためのベン図パレットを表示装置ＤＰに表示させることができる。このベン図パレットの例を図１８に示す。
【００５８】
図１８の例では、ベン図パレット５５のほかに、階層構造パレット５１及びグラフパレット５３が同時に起動されている。この状態で、階層構造パレット５１又はグラフパレット５３の任意の集合或いはサブ集合を、ドラッグ＆ドロップ操作によってベン図パレット５５を指定するだけで、その集合或いはサブ集合を、それらの相対関係を維持した状態で描画することができる。ベン図パレット５５内の、任意の集合部分を、グラフパレット５３にドラッグ＆ドロップ操作で描画させることもできる。このように、相互互換性がある。
【００５９】
グラフパレット５３及びベン図パレット５５は、それぞれ同じものを複数同時に起動することが可能であり、各パレット間で、任意の集合あるいはサブ集合、ベン図パレット５５上の任意の集合部分をドラッグ＆ドロップ操作によって指定することができる。このような機能を利用することにより、実に多様な集合分析と演算をＧＵＩ操作だけで実施していくことができるようになる。
【００６０】
このように、本実施形態のデータ管理システム１では、異なる集合グループの各集合の要素数に応じた面積比のグラフ描画をグラフパレット５３に並べて描画することができるので、例えば上記の例でいえば、従業員規模による顧客数の比較だけでなく、業種で分類した場合の顧客数の比較も同時に可能になり、従業員と業種での顧客数の比較が同時に行えるようになる。
また、並べて描画した集合又は集合グループ間の相関関係が図形によって表現されるので、複数の集合又は集合グループの比較やそれらを組み合わせた論理演算が非常に容易になる。
【００６１】
本実施形態のデータ管理システム１は、階層化管理された集合を、単に管理するためだけの機構ではなく、縦横の各階層下の集合又は集合グループを定量的に比較する手法として優れている。また、複数の集合又は集合グループとの相対関係を操作者が一度の操作で直感的に把握できるようになるので、操作性に優れたインタフェースを提供できるようになる。
さらに、互いに異なる表現形態で集合等を表現する複数のパレット領域を組み合わせて表示することができるＧＵＩ環境を提供することができるので、非常に高度な分析／操作であっても、単純操作だけでその実現が可能になる。
【００６２】
なお、本実施形態では、階層化管理された集合グループをベースに、データ管理システム１を構築した場合の例を示したが、集合の階層化は好ましい実施の形態であって、必須なものではない。幾つかの集合がグループ管理されている、より単純な構成によっても本発明は実施が可能である。
グラフパレット５３、集合ビュアー５４、ベン図パレット５５の配置を予め定めておき、起動処理を簡素化することも可能である。またその配置を利用者ごとに記憶させておくようにしてもよい。さらに、階層構造パレット５１、グラフパレット５３、集合ビュアー５４、ベン図パレット５５等に対して、操作者が行った手順を記憶し、再度同じことを再現することができる。このようにすれば、操作者が手順を再確認することが容易になる。また、データの内容が変わっている状況で、記憶させた手順を再実行（再現とは異なる）させるようにしてもよい。この機能は、記憶させた手順による処理の自動化を意味する。再実行には、画面上に処理を表示することも、画面上には再現せず、最終結果だけを出力することも可能である。
【００６３】
本実施形態では、グラフ化する集合等のサイズは、集合を構成する要素の数で説明しているが、その要素のある属性値（例えば、売り上げ金額とか個数とか）の合計値であっても本発明の実施が可能である。
また、グラフ化した各領域は、集合の要素で説明しているが、集合ではなく、直接にデータベース等に検索して得られるデータのヒット件数や、ヒットしたデータのある項目の合計値等であっても本発明の実施が可能である。
【００６４】
【発明の効果】
以上の説明から明らかなように、本発明によれば、集合操作指示とその指示の演算結果とを直接的に操作者に理解することができるインタフェースを提供することができる。
【図面の簡単な説明】
【図１】  本発明の実施形態によるデータ管理システムの構成図。
【図２】オブジェクトＩＤテーブルの内容例を示した図。
【図３】集合保存領域の内容例を示した図。
【図４】（ａ）はデータベース機構Ｂの「従業員が２人の企業」のデータの検索結果の例、（ｂ）はこの検索結果をオブジェクトＩＤのリストへ変換した状態を示した図。
【図５】集合フォルダ内の集合の階層構造の一部を定義した説明図。
【図６】集合フォルダ内の集合の階層構造の一部を定義した説明図（図５の続き）。
【図７】画面１  集合エクスプローラから集合パレットにドラッグ＆ドロップした状態を示した図。
【図８】  集合パレットに、さらに他の集合をドラッグ＆ドロップした状態を示した図。
【図９】集合パレットの特徴部分を示した図で、集合「５〜９」を集合「一般板金」の領域にドラッグ＆ドロップした状態を示した図（積集合）。
【図１０】その状態で、集合「３０〜４９」を集合「建築板金」の領域にドラッグ＆ドロップした状態を示した図（積集合）。
【図１１】  集合から集合グループ名にドラッグ＆ドロップした状態を示した図。
【図１２】その状態で別の集合から集合グループ名にドラッグ＆ドロップした状態を示した図。
【図１３】その状態で、集合名間でドラッグ＆ドロップした状態を示した図。
【図１４】ある集合をダブルクリックすることにより、その集合に含まれるすべてのサブ集合の強調表示線が描画されることを示した図。
【図１５】他の集合をダブルクリックすることにより、その集合に含まれるすべてのサブ集合の強調表示線が描画されることを示した図。
【図１６】他の集合を集合パレットにドラッグ＆ドロップし、且つサブ集合をドラッグ＆ドロップした状態を示した図。
【図１７】サブ集合を集合ビュアーにドラッグ＆ドロップした状態を示した図。
【図１８】ベン図パレットを併せて表示した状態を示した図。
【符号の説明】
１  データ管理システム
１０  主制御部
１１  検索処理部
１２  集合管理部
１３  画像処理部
１４  インタフェース処理部
２０  集合記憶装置
２１  オブジェクトＩＤテーブル
２２  集合保存領域
２３  階層定義領域
Ａ，Ｂ，Ｃ  データベース機構
ＤＰ  表示装置
ＩＮ  入力装置
ＣＳ  構内他システム
Ｎ  ネットワーク
５１  階層構造パレット
５２  詳細表示領域
５３  グラフパレット
５３１〜５３３  帯グラフ
５４  集合ビュアー
５５  ベン図パレット
【図１】
0004098986.tif 000002
【図２】
0004098986.tif 000003
【図３】
0004098986.tif 000004
【図４】
0004098986.tif 000005
【図５】
0004098986.tif 000006
【図６】
0004098986.tif 000007
【図７】
0004098986.tif 000008
【図８】
0004098986.tif 000009
【図９】
0004098986.tif 000010
【図１０】
0004098986.tif 000011
【図１１】
0004098986.tif 000012
【図１２】
0004098986.tif 000013
【図１３】
0004098986.tif 000014
【図１４】
0004098986.tif 000015
【図１５】
0004098986.tif 000016
【図１６】
0004098986.tif 000017
【図１７】
0004098986.tif 000018
【図１８】
0004098986.tif 000019