(57)【要約】      （修正有）【課題】データベースにおける実体間の多対多のリレーションシップを、ひとつの画面上で単純に表示し、かつ制御する。【解決手段】多対多のリレーションシップを持つ２つの実体に属するインスタンス、および前記２つの実体間のリレーションシップを表すチェックボックス等を表示装置に表示し、インスタンスまたはチェックボックスを入力装置で選択することで、リレーションシップの表示または入力をおこなう。【選択図】図１２
2008310800.tif 000002
【特許請求の範囲】
【請求項１】
第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、
前記複数の第１のインスタンスの中から一または複数の前記第１のインスタンスが選択されると、前記データベースを検索し、前記複数の第２のインスタンスの各々について、選択された前記一または複数の前記第１のインスタンスとの間に存在する第１のリレーションシップを求め、前記複数の第２のインスタンスから一または複数の前記第２のインスタンスが選択されると、前記データベースを検索し、前記複数の第１のインスタンスの各々について、選択された前記一または複数の前記第２のインスタンスとの間に存在する第２のリレーションシップを求めるマイクロプロセッサと、
第１のペインと第２のペインを表示する表示装置であって、前記複数の第１のインスタンスを含む第１のリストを前記第１のペイン中に表示し、前記複数の第２のインスタンスを含む第２のリストを前記第２のペイン中に表示し、前記第１のリレーションシップまたは前記第２のリレーションシップを前記第１のペイン及び前記第２のペインに表示する表示装置と、
を有することを特徴とするデータベースシステム。
【請求項２】
前記表示装置は、前記第１のリレーションシップまたは前記第２のリレーションシップを表示する際に、前記第１のリレーションシップまたは前記第２のリレーションシップが存在する前記第１のインスタンスまたは／および前記第２のインスタンスの強調表示を行うことを特徴とする請求項１に記載のデータベースシステム。
【請求項３】
前記表示装置は、前記選択された前記一または複数の前記第１のインスタンスとの間に前記第１のリレーションシップが存在する前記第２のインスタンスを強調表示し、前記選択された前記一または複数の前記第２のインスタンスとの間に前記第２のリレーションシップが存在する前記第１のインスタンスを強調表示することを特徴とする請求項２に記載のデータベースシステム。
【請求項４】
前記表示装置は、前記第１のインスタンスまたは前記第２のインスタンスの前記強調表示を行う場合、前記第１のインスタンスまたは前記第２のインスタンスとともに、内部にマークを表示可能な表示領域を表示し、前記第１のインスタンスまたは前記第２のインスタンスの強調表示は、前記表示領域内にマークを表示することにより行うことを特徴とする請求項３に記載のデータベースシステム。
【請求項５】
前記表示領域内に表示される前記マークは、前記強調表示が行われる前記第１のインスタンスとの間に前記第２のリレーションシップが存在する前記第２のインスタンスまたは前記強調表示が行われる前記第２のインスタンスとの間に前記第１のリレーションシップが存在する前記第１のインスタンスの数に応じて変化することを特徴とする請求項４に記載のデータベースシステム。
【請求項６】
前記表示領域がチェックボックスであることを特徴とする請求項４に記載のデータベースシステム。
【請求項７】
前記強調表示は、前記第１のインスタンスまたは／および前記第２のインスタンスを文字列により表示する際のフォントの変更により行われることを特徴とする請求項２に記載のデータベースシステム。
【請求項８】
前記マイクロプロセッサは、前記第１のペインに表示された前記複数の第１のインスタンスから一または複数の前記第１のインスタンスが選択され、かつ前記第２のペインに表示された前記複数の第２のインスタンスから一または複数の前記第２のインスタンスが選択されると、選択された前記一または複数の前記第１のインスタンスの各々と選択された前記一または複数の前記第２のインスタンスの各々との間に存在する前記リレーションシップを前記データベースより削除することを特徴とする請求項１に記載のデータベースシステム。
【請求項９】
前記マイクロプロセッサは、前記複数の第１のインスタンスから一または複数の前記第１のインスタンスが選択された状態において、前記第２のペインに表示された前記複数の第２のインスタンスから一または複数の前記第２のインスタンスが選択されると、選択された前記一または複数の前記第１のインスタンスの各々と選択された前記一または複数の前記第２のインスタンスの各々との間に前記リレーションシップを前記データベースに格納することを特徴とする請求項１に記載のデータベースシステム。
【請求項１０】
前記マイクロプロセッサは、選択された前記一または複数の前記第１のインスタンスの各々と選択された前記一または複数の前記第２のインスタンスの各々とのうち、前記データベースにリレーションシップが格納されていない場合に、前記第１のインスタンスと前記第２のインスタンスとの組み合わせを前記データベースに格納することを特徴とする請求項９に記載のデータベースシステム。
【請求項１１】
前記第１の実体に属する複数の第１のインスタンスは階層構造を成しており、前記第１のインスタンスと前記第２のインスタンスとの間にリレーションシップが存在すれば、前記階層構造において前記第１のインスタンスの上位の第１のインスタンスと前記第２のインスタンスとの間にもリレーションシップが存在することを特徴とする請求項１に記載のデータベースシステム。
【請求項１２】
第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、
前記複数の第１のインスタンスから第３のインスタンス及び第４のインスタンスが選択されると、前記複数の第２のインスタンスのうち、前記第３のインスタンスと前記第４のインスタンスに第１の所定の条件で第１のリレーションシップが存在する一または複数の第５のインスタンスを前記データベースより検索し、前記複数の第２のインスタンスのうち、前記第３のインスタンスと前記第４のインスタンスに第２の所定の条件で第２のリレーションシップが存在する一または複数の第６のインスタンスを前記データベースより検索するマイクロプロセッサと、
第１のペインと第２のペインを表示する表示装置であって、前記複数の第１のインスタンスを含む第１のリストを前記第１のペイン中に表示し、前記複数の第２のインスタンスを含む第２のリストを前記第２のペイン中に表示し、前記第３のインスタンスおよび前記第４のインスタンスと前記第５のインスタンスとの間に存在する前記第１のリレーションシップを第１の形態で表示し、前記第３のインスタンスおよび前記第４のインスタンスと前記第６のインスタンスとのに存在する前記第２のリレーションシップを第２の形態で表示する表示装置と、
を有するデータベースシステム。
【請求項１３】
前記マイクロプロセッサは、前記複数の第２のインスタンスから前記一または複数の第５のインスタンスとして、前記第３のインスタンスと前記第４のインスタンスとの両方の間に前記リレーションシップが存在するインスタンスを検索し、前記複数の第２のインスタンスから前記一または複数の第６のインスタンスとして、前記第３のインスタンスと前記第４のインスタンスとのどちらか一方の間に前記リレーションシップが存在するインスタンスを検索する請求項１２に記載のデータベースシステム。
【請求項１４】
第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、
第１のペインと第２のペインを表示し、前記第１のペイン中に前記複数の第１のインスタンスを含む第１のリストを表示し、前記第２のペイン中に前記複数の第２のインスタンスを含む第２のリストを表示する表示装置とを有する情報端末の表示方法において、
前記複数の第１のインスタンスから一または複数の第１のインスタンスが選択されると、前記データベースを検索し、前記複数の第２のインスタンスの各々について、選択された前記一または複数の前記第１のインスタンスとの間に存在する第１のリレーションシップを求め、前記第１のリレーションシップを前記表示装置に表示し、
前記複数の第２のインスタンスから一または複数の第２のインスタンスが選択されると、前記データベースを検索し、前記複数の第１のインスタンスの各々について、選択された前記一または複数の前記第２のインスタンスとの間に存在する第２のリレーションシップを求め、前記第２のリレーションシップを前記表示装置に表示することを特徴とする情報端末の表示方法。
【請求項１５】
前記第１のリレーションシップまたは前記第２のリレーションシップの表示は、前記第１のリレーションシップまたは前記第２のリレーションシップが存在する前記第１のインスタンスまたは／および前記第２のインスタンスを強調して表示することを特徴とする請求項１４に記載の、情報端末の表示方法。
【請求項１６】
前記第１のリレーションシップまたは前記第２のリレーションシップの表示は、前記選択された前記一または複数の前記第１のインスタンスとの間に前記第１のリレーションシップが存在する前記第２のインスタンスを強調表示し、前記選択された前記一または複数の前記第２のインスタンスとの間に前記第２のリレーションシップが存在する前記第１のインスタンスを強調表示することを特徴とする請求項１５に記載の、情報端末の表示方法。
【請求項１７】
前記第１のインスタンスまたは前記第２のインスタンスの強調表示を行う場合、前記第１のインスタンスまたは前記第２のインスタンスとともに、内部にマークを表示可能な表示領域を表示し、前記第１のインスタンスまたは前記第２のインスタンスの強調表示は、前記表示領域内にマークを表示することにより行うことを特徴とする請求項１６に記載の、情報端末の表示方法。
【請求項１８】
前記表示領域内に表示される前記マークを、前記強調表示が行われる前記第１のインスタンスとの間に前記第２のリレーションシップが存在する前記第２のインスタンスまたは前記強調表示が行われる前記第２のインスタンスとの間に前記第１のリレーションシップが存在する前記第１のインスタンスの数に応じて変化させることを特徴とする請求項１７に記載の、情報端末の表示方法。
【請求項１９】
前記表示領域がチェックボックスである請求項１７に記載の、情報端末の表示方法。
【請求項２０】
前記第１のインスタンスまたは／および前記第２のインスタンスを強調して表示することは、前記第１のインスタンスまたは／および前記第２のインスタンスを文字列に表示する際のフォントの変更により行われることを特徴とする請求項１５に記載の、情報端末の表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、データベースおよび情報端末の表示方法に関し、より詳細には、データベースシステム、データモデル、リレーションシップ、リレーショナルデータベース、情報端末、表示装置、オペレーティングシステム、アプリケーションソフトウェア、通信機器に関する。
【背景技術】
【０００２】
実世界の事象をデータベース上で表現し、これを管理運営する際、一般的には先ず、事象を論理的に表現した論理データモデルを作成し、これをデータベースシステムの要件に従って構造化する。
【０００３】
論理データモデルの基本となるのは、データベースとして表現する対象物である実体と、実体間の相互関係を表すリレーションシップである。複数の実体同士のリレーションシップを論理的に表現する手段としては、実体相関図（ＥＲ（Ｅｎｔｉｔｙ−Ｒｅｌａｔｉｏｎｓｈｉｐ）図）などが用いられる。
【０００４】
実体間に存在するリレーションシップが表す写像対応は、１対１の場合、１対多の場合、または多対多の場合がある。論理データモデルの構造化においては、正規化により、一般に多対多のリレーションシップに対応して、新たな実体を定義して、１対多または１対１のリレーションシップに変換する。具体的には、多対多のリレーションシップを持つ双方の実体の二つの主キーを組み合わせた複合キーを主キーとする新たな実体を定義し、この新たな実体に対して１対１または１対多のリレーションシップを定義することで、実体の間に存在していた多対多のリレーションシップを除去する。
【０００５】
このように、正規化により、論理データモデルから多対多のリレーションシップを排除して、同種の属性を二つ以上持つ非正規形の実体をデータモデルから除き、冗長性を排除したデータモデルに構造化する（特許文献１）。
【特許文献１】特開平９−３１９６２９
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、一般に多対多のリレーションシップを排除するために、新たに定義した実体に属するインスタンスの数は、正規化以前の多対多のリレーションシップを構成していた二つの実体よりも増える。たとえば、インスタンス数ｎの実体Ａと、インスタンス数ｍの実体Ｂとの間にｎ：ｍのリレーションシップがあり、これを正規化のために新たな実体Ｃを定義した時、実体Ｃに属するインスタンスの数は最大でｎ×ｍとなる。また実体Ｃをマルチセットとすると、実体Ｃに属するインスタンスの数はｎ×ｍを越える場合もある。
【０００７】
もし、データベースシステムの利用者が、実体Ａに属する特定のインスタンスとリレーションシップを持つ、実体Ｂに属するインスタンスを検索して表示したい場合には、データベースマネジメントシステム（ＤＢＭＳ）は、前記実体Ｃに属するインスタンスの中から、検索要求を受けた実体Ａの主キーを、複合キーの一方として持つ実体Ｃに属するインスタンスを検索して表示する。
【０００８】
逆にデータベースシステムの利用者が、実体Ｂに属する特定のインスタンスとリレーションシップを持つ、実体Ａのインスタンスのみを検索して表示したい場合には、ＤＢＭＳは、前記実体Ｃに属するインスタンスの中から、検索要求を受けた実体Ｂの主キーを、複合キーの他方として持つ実体Ｃに属するインスタンスを検索して表示する。
【０００９】
たとえば、図１に示す一例では、「名前」という実体と、「科目」という実体の間に、図１ａに示すような履修についての多対多のリレーションシップが存在するとする。「Ｂｒｏｗｎ」、「Ｆｌｅｍｉｎｇ」、「Ｃｈｅｎ」、および「Ｓｍｉｔｈ」の４つが実体「名前」に属するインスタンスであり、「数学」、「英語」、「理科」、「歴史」、および「社会」の５つが実体「科目」に属するインスタンスである。したがって、このリレーションシップの基数は４対５である。ただし、図１ａでは、後に示すフローチャートの簡略化のために、ｎを整数として「名前」に属する各々のインスタンスをＮ（ｎ）、「科目」に属する各々のインスタンスをＳ（ｎ）と表している。これを表すＥＲ図は図１ｂのようになる。このリレーションシップはこれを正規化する過程では、「履修」という新たな実体を定義することで、「名前」および「科目」から「履修」への２つの一対多のリレーションシップに変換する。この「履修」という実体を表すＥＲ図は図２のように、また表は図３のようになる。この操作によって、冗長性は排除されたが、新たに定義された実体「履修」に属するインスタンス数は、「名前」および「科目」に属するインスタンス数よりも増えている。
【００１０】
従って、たとえばＳＱＬ言語で「ＳＥＬＥＣＴ  ＊  ＦＲＯＭ  履修；」というコマンドを入力することによって、「履修」という実体を表現しようとすると、図３に示すとおりに複雑となるため、「履修」という実体に属するすべてのインスタンスを一覧表示することはあまり行われない。
【００１１】
通常、このような状態で、このデータベースの利用者が名前「Ｃｈｅｎ」の履修した科目の一覧を表示させる場合には、「Ｃｈｅｎ」を検索キーとして「履修」という実体を検索し、これを図４のような表で表示する。また、「数学」と「歴史」を履修した人の一覧を表示するには、「数学」および「歴史」を検索キーとして「履修」という実体を検索し、これを図５のような表で表示する。さらに、「名前」と「科目」の間の多対多のリレーションシップを入力、変更する場合にも、一度図４または図５のような一対多のリレーションシップで表示した上で入力、変更する。しかし、従来のこの方法によれば、「名前」から「科目」、または「科目」から「名前」のどちらかの一対多のリレーションシップしか画面上に表示できず、このためデータベースの利用者にとっては、表示および入力のための手間がかかり、かつ図１のような多対多のリレーションシップの全体像の表示が難しいという問題があった。
【００１２】
すなわち、多対多のリレーションシップの直感的な表示および制御や操作は、一般にＤＢＭＳで使われる一対多のリレーションシップによる表示方法では実現が難しかった。
【００１３】
本願発明は、このような事情に鑑みてなされたものであり、データベースおける実体間の多対多のリレーションシップを、ひとつの画面上で単純に表示し、かつ制御することができるような表示および制御のための装置の方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本願発明の一実施形態によると、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示手段と、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップ表示する第２の表示手段と、前記第２のインスタンス群から１または複数の第３の特定インスタンスが選択されると、前記データベース中を検索し、前記第１のインスタンス群の各々について、前記第３の特定インスタンスとのリレーションシップを表示する第３の表示手段と、を有するシステムが提供される。
【００１５】
本願発明の一実施形態によると、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する前記第２のインスタンス群からなる第２のリストを表示する第１表示手段とからなる情報端末の表示方法において、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップを表示し、前記第２のインスタンス群から１または複数の第３の特定インスタンスが選択されると、前記データベース中を検索し、前記第１のインスタンス群の各々について、前記第３の特定インスタンスとのリレーションシップを表示することを特徴とする情報端末の表示方法が提供される。
【００１６】
本願発明の一実施形態によると、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示手段と、前記第１のインスタンス群から第１の特定インスタンス及び第２の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群に含まれる、前記第１の特定インスタンスと前記第２の特定インスタンスに第１の所定の条件で第１のリレーションシップを持つ第３の特定インスタンスについて、前記第１の特定インスタンスおよび前記第２の特定インスタンスとの前記第１のリレーションシップを第１の形態で表示するとともに、前記第１の特定インスタンスと前記第２の特定インスタンスに第２の所定の条件で第２のリレーションシップを持つ第４の特定インスタンスについて、前記第１の特定インスタンスおよび前記第２の特定インスタンスとの前記第２のリレーションシップを第２の形態で表示する第２の表示手段と、を有するシステムが提供される。
【００１７】
本願発明の一実施形態によると、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示手段と、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップを表示する第２の表示手段とからなり、前記第１のインスタンス群から１または複数の前記第１の特定インスタンスが選択され、かつ前記第２の表示手段によって表示された、前記第１の特定インスタンスと前記第２のインスタンス群の各々とのリレーションシップのうちの１または複数の任意のリレーションシップを選択すると、前記任意のリレーションシップが前記データベースより削除されることを特徴とするシステムが提供される。
【００１８】
本願発明の一実施形態によると、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示手段と、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップを表示する第２の表示手段とからなり、前記第２のインスタンス群のなかで前記第１の特定インスタンスとのリレーションシップが前記データベースに存在しない第３の特定インスタンスを選択すると、前記第１の特定インスタンスと前記第３の特定インスタンスとのリレーションシップが前記データベースに追加されることを特徴とするシステムが提供される。
【００１９】
別の観点からすれば、本願発明の一実施形態によると、第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、前記複数の第１のインスタンスの中から一または複数の前記第１のインスタンスが選択されると、前記データベースを検索し、前記複数の第２のインスタンスの各々について、選択された前記一または複数の前記第１のインスタンスとの間に存在する第１のリレーションシップを求め、前記複数の第２のインスタンスから一または複数の前記第２のインスタンスが選択されると、前記データベースを検索し、前記複数の第１のインスタンスの各々について、選択された前記一または複数の前記第２のインスタンスとの間に存在する第２のリレーションシップを求めるマイクロプロセッサと、第１のペインと第２のペインを表示する表示装置であって、前記複数の第１のインスタンスを含む第１のリストを前記第１のペイン中に表示し、前記複数の第２のインスタンスを含む第２のリストを前記第２のペイン中に表示し、前記第１のリレーションシップまたは前記第２のリレーションシップを前記第１のペイン及び前記第２のペインに表示する表示装置と、を有することを特徴とするデータベースシステムが提供される。
【００２０】
また、本願発明の一実施形態によると、第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、前記複数の第１のインスタンスから第３のインスタンス及び第４のインスタンスが選択されると、前記複数の第２のインスタンスのうち、前記第３のインスタンスと前記第４のインスタンスに第１の所定の条件で第１のリレーションシップが存在する一または複数の第５のインスタンスを前記データベースより検索し、前記複数の第２のインスタンスのうち、前記第３のインスタンスと前記第４のインスタンスに第２の所定の条件で第２のリレーションシップが存在する一または複数の第６のインスタンスを前記データベースより検索するマイクロプロセッサと、第１のペインと第２のペインを表示する表示装置であって、前記複数の第１のインスタンスを含む第１のリストを前記第１のペイン中に表示し、前記複数の第２のインスタンスを含む第２のリストを前記第２のペイン中に表示し、前記第３のインスタンスおよび前記第４のインスタンスと前記第５のインスタンスとの間に存在する前記第１のリレーションシップを第１の形態で表示し、前記第３のインスタンスおよび前記第４のインスタンスと前記第６のインスタンスとのに存在する前記第２のリレーションシップを第２の形態で表示する表示装置と、を有するデータベースシステムが提供される。
【００２１】
また、本願発明の一実施形態によると、第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示し、前記第１のペイン中に前記複数の第１のインスタンスを含む第１のリストを表示し、前記第２のペイン中に前記複数の第２のインスタンスを含む第２のリストを表示する表示装置とを有する情報端末の表示方法において、前記複数の第１のインスタンスから一または複数の第１のインスタンスが選択されると、前記データベースを検索し、前記複数の第２のインスタンスの各々について、選択された前記一または複数の前記第１のインスタンスとの間に存在する第１のリレーションシップを求め、前記第１のリレーションシップを前記表示装置に表示し、前記複数の第２のインスタンスから一または複数の第２のインスタンスが選択されると、前記データベースを検索し、前記複数の第１のインスタンスの各々について、選択された前記一または複数の前記第２のインスタンスとの間に存在する第２のリレーションシップを求め、前記第２のリレーションシップを前記表示装置に表示することを特徴とする情報端末の表示方法が提供される。
【発明の効果】
【００２２】
本願発明の表示および制御のための情報端末には、データベースにおける実体間の多対多のリレーションシップを一画面上で単純に表示し、かつ多対多のリレーションシップを容易に制御、操作することができる。
【発明を実施するための最良の形態】
【００２３】
以下に本願発明を実施するための現在考えられる最善の形態について説明する。本願発明の範囲は、添付特許請求の範囲によって明確に定義されているため、この説明は限定的な意味に解釈すべきではなく、単に発明の一般原理を例示する目的で行う。
【００２４】
本願発明は、様々な情報端末または通信端末で利用可能である。ここで使われる情報端末または通信端末は、パーソナル・コンピュータ、サーバ、携帯型情報端末、有線電話機、携帯電話機、ゲーム機、テレビ、ビデオレコーダ、カメラ、ビデオカメラ、携帯型音楽プレーヤーなど何でもよく、さらにここで例として示す機器に限定されず、グラフィカル・ユーザ・インタフェイス（以下ＧＵＩと称する）が利用可能な表示装置、およびそのＧＵＩ上のオブジェクトを制御可能なボタン、キーボード、マウス、タッチ・センサ、グラフィック・タブレット、トラックボール、ジョイスティックなどの入力装置を具える機器であれば何でもよい。
【００２５】
本願発明の一実施形態によると、前記ハードウェアを構成する各要素と、データベースにおける多対多のリレーションシップの表示および制御や操作のためのソフトウェア（以下、多対多ＲＭＳと称する）とが協調することで、その効果を得ることができる。図６に、本願発明の実施形態の一例として、情報端末の構成要素をブロック図で示す。なお、図６に示す情報端末の構成は典型的なものであるが、これを限定的に解釈すべきではなく、特定の実施形態にあわせて変更することができる。たとえば、これらの他に、光ディスク記憶媒体、オーディオ入出力装置、プリンタ、および類似の装置など、他の周辺機器が接続されていてもよい。またこの情報端末の主たる機能も、情報の記憶、処理、他端末やサーバとの通信、ネットワークにおける情報の中継など、何であってもよい。
（実施形態１）
【００２６】
まず、はじめに前記図６のブロック図、および図７に示すフローチャートを用いて、本願発明による、多対多のリレーションシップの表示および入力装置の概要を説明する。その後、図７中の各ステップで実行される方法が、図６に一例として示すハードウェア資源とどのように協調して実現されるかを図１３、図１４、図１５、図１６、図１７、および図１８のフローチャートを用いて詳しく説明する。
【００２７】
本願発明による実施形態の一例では、この情報端末はマイクロプロセッサ６０１を有し、以下に述べるすべての処理は、主記憶装置６０４にロードされたアプリケーションソフトウェアが、同じく主記憶装置６０４にロードされたオペレーティングシステム６０５に手続きを伝え、これがバス６０３を通じてマイクロプロセッサに命令することによって実行される。
【００２８】
まず前記オペレーティングシステム６０５が主記憶装置６０４にロードされた状態で、さらに外部記憶装置に記憶された多対多ＲＭＳ６０６が主記憶装置６０４にロードされる。ここで、この情報端末の利用者が、キーボード６０８、またはマウス６０９などの入力装置を通じて、外部記憶装置６０２に記憶された履修科目データベース６１４の中から、表示または制御したい情報を指定すると、前記多対多ＲＭＳは、指示された情報の含まれる実体やリレーションシップに関する情報の一部または全部を主記憶装置６０４にロードする。図６に示す一例では、ここでロードした情報を、履修テーブル６１０と呼ぶ。この状態で、前記多対多ＲＭＳ６０６は、表示装置６１２に表示されたグラフィカル・ユーザ・インタフェイス（以下ＧＵＩ称する）６１３上の多対多ＲＭＳウィンドウ６１５に、前記図１に一例として示した実体「名前」および実体「科目」に属する各インスタンスを、たとえば図８のように表示する（ステップＳ７０１）。
【００２９】
すなわち、多対多ＲＭＳウィンドウ６１５の内部に、「学年」、「名前」、そして「科目」という見出しを有する３つの領域が設けられる。「学年」という見出しを有する領域には、学年という実体に属するインスタンスである「１」、「２」、「３」、そして「４」を含むリストが表示されている。「名前」という見出しを有する領域には、名前という実体に属するインスタンスである「Ｂｒｏｗｎ」、「Ｆｌｅｍｉｎｇ」、「Ｃｈｅｎ」、そして「Ｓｍｉｔｈ」を含むリストが表示されている。「科目」という見出しを有する領域には、科目という実体に属するインスタンスである「数学」、「英語」、「理科」、「歴史」、そして「社会」を含むリストが表示されている。このように、実体に属するインスタンスが表示される領域を「ペイン（ｐａｎｅ）」と呼ぶ。ペインは一つのウィンドウ境界線などにより区切って得られる領域である。境界線は明示的に表示されないこともある。ペインには見出しが表示されない場合もある。また、見出しが表示される場合でも、見出しはインスタンスの上に表示されず、横に表示されたり、下に表示されたりする場合もある。ペインはウィンドウの中のサブウィンドウとして実現される。あるいは、一つのペインが一つのウィンドウによって実現される場合もある。
【００３０】
なお、以下の説明では、ペインとそこにインスタンスが表示されている実体とを同一視する場合がある。例えば、「実体Ｅに属するインスタンスが表示されているペイン」を「実体Ｅ」と簡略化して表現する場合がある。
【００３１】
続いて、この情報端末の利用者は、表示されたインスタンスの中から、「名前」または「科目」に属する一つ以上の任意のインスタンスを選択する（ステップＳ７０２）。例えば、「名前」に属する一または複数のインスタンスの表示に対してマウスのクリック操作を行う。すると、選択されたインスタンスが属する「名前」という実体でない他方の実体である「科目」に属する各々のインスタンスに、マークを表示することができる領域が表示される。例えば、チェックボックスが表示される（ステップＳ７０４またはＳ７０８）。そして、多対多ＲＭＳを実現するプログラムなどはマイクロプロセッサを動作させて、前記選択された「名前」に属するインスタンスとの間にリレーションシップが存在する「科目」に属するインスタンスを、前記履修テーブルを検索することで求める（ステップＳ７０５またはＳ７２１）。
【００３２】
ここに、「名前」のインスタンスとの間にリレーションシップが存在する「科目」のインスタンスとは、「名前」に属するインスタンスと「科目」のインスタンスとの組み合わせ（タプル（ｔｕｐｌｅ）あるいはレコード）が、履修テーブル６１０に存在することをいう。また、履修テーブル６１０に存在する「名前」に属するインスタンスと「科目」のインスタンスとの組み合わせ各々のことを、「名前」に属するそのインスタンスと「科目」のそのインスタンスとの間に存在するリレーションシップという。したがって、ステップＳ７０５またはＳ７２１において、マイクロプロセッサは、選択された「名前」のインスタンスの各々について、履修テーブルに存在する組み合わせのうち「名前」の列にそのインスタンスが存在する組み合わせを検索し、検索された組み合わせから「科目」の列の値を読出す。なお、「実体に属するインスタンス」のことを「実体のインスタンス」と表現する場合がある。
【００３３】
例えば、図６において、“Ｂｒｏｗｎ：Ｎ（０）”と“数学：Ｓ（０）”とのｔｕｐｌｅが履修テーブル６１０の第1行に存在している。したがって、“Ｂｒｏｗｎ”と“数学”との間にはリレーションシップが存在する。あるいは、“Ｂｒｏｗｎ”との間にリレーションシップが存在する科目のインスタンスとしては、“数学”がある、ともいえる。また、“Ｂｒｏｗｎ”に対して“数学”が関連付けられているという表現を用いることもできる。逆に、“数学”に対して“Ｂｒｏｗｎ”が関連付けられているという表現を用いることも可能である。
【００３４】
その結果、選択された名前のインスタンスとリレーションシップが存在する科目のインスタンスに対応して表示されたチェックマークの内部にマークが表示される（ステップＳ７０６またはＳ７２２）。たとえば図９ａに示す一例では、実体「名前」の中のインスタンス「Ｃｈｅｎ」が選択されており、その結果、実体「科目」のインスタンスの中で「英語」、「歴史」および「社会」に強調の表示などとして、チェックマーク「レ」が「履修」のリレーションシップを表示するためのサブペイン８４に表示される。これは、前記図１および図６の履修テーブル６１０で示したとおり、「Ｃｈｅｎ」が「英語」、「歴史」、および「社会」を履修していることを表している。また、「数学」および「理科」の左側のチェックボックスは空であり、これによって「数学」および「理科」は「Ｃｈｅｎ」によって履修されていないことを表している。サブペイン８４は、ペイン８３の内部を境界線でさらに区切って得られる領域である。ただし、「履修」のリレーションシップはサブペインに表示されることに限定されず、例えば、Ｃｈｅｎが履修する英語、歴史、そして社会の科目名の表示を例えばフォントを変えて表示するなど、任意の方法で強調するようにしてもよい。
【００３５】
また、インスタンスは複数選択してもよい。たとえば図９ｂに示す一例では、実体「名前」の中から「Ｃｈｅｎ」に加えて「Ｂｒｏｗｎ」の、二つのインスタンスが選択されている。この場合でも前記と同様のステップによって、この二つのインスタンスについて、「科目」のインスタンスとの間のリレーションシップの存在が表示されている。図９ｂに示す一例では、「歴史」の左側に付けられたチェックマーク「レ」９６によって、選択された「名前」のインスタンスのすべて、ここでは「Ｂｒｏｗｎ」と「Ｃｈｅｎ」の両方によって、「歴史」が履修されていることを表している。また、たとえば「数学」の左側に付けられたチェックマーク「−」９８によって、選択された「名前」のインスタンスの一部、ここでは「Ｂｒｏｗｎ」のみによって「数学」が履修されていることを表している。以上のステップの詳細は後に図１３および図１４を使って詳しく説明する。
【００３６】
またさらに、たとえば図９ａの状態から、この情報端末の利用者はいつでも、マウス６０９などを使って、カーソル６１８を移動させることにより、多対多ＲＭＳウィンドウ６１５に表示された他の一つ以上の任意のインスタンスを選択することによって、逆方向を含む、他のインスタンスとの間に存在するリレーションシップを表示することもできる。たとえば図９ａや図９ｂに示す状態から、図１０に示す一例のように、多対多ＲＭＳウィンドウ６１５に表示された実体「科目」のインスタンスが表示されているペイン８３の中から、「数学」１０３および「歴史」１０２を選択することができる。すると、前記実体「名前」に属するインスタンスに対してリレーションが存在する、実体「科目」に属するインスタンスを強調などして表示した場合と同様に（ステップＳ７０８、Ｓ７０９、およびＳ７１０）、今度は実体「科目」に属するインスタンスに対してリレーションシップが存在する、実体「名前」に属するインスタンスが表示される。これにより、逆方向の多対多のリレーションシップを表示することができる。図１０に示す一例では、「Ｂｒｏｗｎ」の左側に表示されたチェックマーク「レ」１０４によって、「数学」と「英語」の両方が「Ｂｒｏｗｎ」によって履修されていることが表示されている。またたとえば、「Ｆｌｅｍｉｎｇ」の左側に表示されたチェックマーク「−」１０５によって、Ｆｌｅｍｉｎｇは、選択された実体「科目」の中の一部、すなわちこの場合は「数学」か「歴史」のどちらかを履修していることを示している。以上のステップの詳細は、後に図１３および図１５を使って詳しく説明する。
【００３７】
以上のように、本願発明による情報端末では、この情報端末の利用者が表示装置６１２上のＧＵＩ６１３のカーソル６１８を、マウス６０９などを使って移動させ、一度選択するのみで、二つの実体の間にある多対多のリレーションシップを、双方向で容易に表示させることができる。
【００３８】
さらに、本願発明によれば、二つの実体間の多対多のリレーションシップを双方向で表示させるのみではなく、そのリレーションシップに変更を加えるための入力を、前記ＧＵＩ６１３を通じて簡単に行うこともできる。たとえば、図９ｂに示す状態を出発点にして以下で説明する。図９ｂの状態で、この情報端末の利用者が、理科の左側にあるチェックボックス９９の表示までマウス６０９によってカーソル移動させた上で、ここでボタンを下押しすることでクリックする（ステップＳ７０８）。ここでクリック前はこのチェックボックスは空だったので（ステップＳ７０９）、このチェックボックスに「レ」を表示させ（ステップＳ７１０）、その結果、多対多ＲＭＳウィンドウは図１１に示す状態となる。さらに、ステップＳ７０１で選択されている実体「名前」の二つのインスタンス「Ｂｒｏｗｎ」および「Ｃｈｅｎ」との組み合わせ、すなわち、｛Ｂｒｏｗｎ」、「理科」｝および｛「Ｃｈｅｎ」、「理科」｝を、前記履修テーブル６１０に追加する（ステップＳ７１１）。以上のステップの詳細は、後に図１６および図１７を使って詳しく説明する。
【００３９】
さらに、この状態で、この情報端末の利用者は、続けて表示されたリレーションシップの入力（追加）あるいは変更を行うか、もしくは別のリレーションシップの表示を行うかを選択できる（ステップＳ７１３）。たとえば続けてリレーションシップの入力を行う場合には、前記図１１の状態で、この情報端末の利用者が、「歴史」の左側にあるチェックボックス９６の表示までマウス６０９によってカーソル移動させた上で、ここでボタンを下押しすることでクリックする（ステップＳ７０８）。ここでクリック前はこのチェックボックスは「レ」が表示されていたので（ステップＳ７０９）、このチェックボックスにあった「レ」を削除（ステップＳ７１４）し、その結果、多対多ＲＭＳウィンドウは図１２に示す状態となる。次に別のリレーションシップの表示をおこなう場合には、図７の前記ステップＳ７１３より、ステップＳ７０２に戻る。この入力または表示の選択は、多対多ＲＭＳウィンドウＧＵＩ上の、チェックボックスをクリックするか、または任意のインスタンスを選択するか、のどちらかの一つの操作をおこなうことによって、簡単に選択できる。以上のステップの詳細は、後に図１６および図１８を使って詳しく説明する。
【００４０】
なお、本実施形態においてチェックマーク「レ」や「−」は、実体間のリレーションシップをあわす記号として例示したに過ぎず、前記チェックボックスに表示されるチェックマークは、このほかの記号、アイコン、画像データ、文字、数字など何であってもよい。たとえば、前記図１０において、「レ」および「−」のチェックマークの代わりに実体「名前」のインスタンスの各々の左側のチェックボックスに、各々の名前が履修している科目の数を、数字で表示するような方法によっても、同様に、二つの実体間の多対多のリレーションシップを双方向で容易に表示させることができる。また、実体間の多対多のリレーションシップの表示および制御に使われる前記および後記チェックボックスは、所謂チェックボックスである必要はなく、選択または何らかの入力ができる窓、アイコン、図形など何であってもよい。
【００４１】
また、これまでの図６を参照した説明では、多対多ＲＭＳプログラム、および履修テーブルともに、この情報端末の主記憶装置上に存在している一例を利用して、本願発明の基本原理を説明したが、これは通信装置６２０を経由して、ネットワークの他端に接続されたサーバ内の任意の記憶装置に存在してもよい。この場合には、この情報端末の利用者が、キーボード６０８やマウス６０９を操作することによって、多対多ＲＭＳウィンドウ６１３に表示されたインスタンスやチェックボックスを選択またはクリックする動作をおこなうと、それをウェブブラウザがコマンドに変換して、通信装置６２０を経由してサーバに送る。これを受け取ったサーバは、その記憶装置上にある履修テーブルに対して、前記各ステップと同様の手順で検索、追加、削除または変更の処理を行い、および表示する多対多ＲＭＳウィンドウを、再びネットワークを通じてこの情報端末に送る。これを通信装置６２０で受け取ったこの情報端末が、ウェブブラウザ６２１によって表示装置のＧＵＩ６１３上に前記のような多対多ＲＭＳウィンドウを表示する。
【００４２】
次に、前記図７に示した各々のステップで実行される方法が、図６に一例として示すハードウェア資源とどのように協調して実現されるかを図１３、図１４、図１５、図１６、図１７、および図１８のフローチャートを用いて詳しく説明する。
【００４３】
まず、図１３を参照して、任意のインスタンスを選択するまでのステップを説明する。前記オペレーティングシステム６０５が主記憶装置６０４にロードされた状態で、さらに外部記憶装置に記憶された多対多ＲＭＳ６０６が主記憶装置６０４にロードされる。ここで、この情報端末の利用者が、キーボード６０８、またはマウス６０９などの入力装置を通じて、外部記憶装置６０２に記憶された履修科目データベース６１４の中から、表示または制御したい情報を指定すると、前記多対多ＲＭＳは、指示された情報の含まれる実体やリレーションシップに関する情報の一部または全部を主記憶装置６０４にロードする。図６に示す一例では、まずこの情報端末の利用者が、多対多ＲＭＳ６０６の指示に従い、表示制御装置６１１が表示装置６１２上に表示したグラフィカル・ユーザ・インタフェイス（以下ＧＵＩと称する）６１３内に表示された、履修のリレーションシップを表示するための多対多ＲＭＳウィンドウ６１５の中にある学年選択用ウィンドウ６１６の中から、第４学年を表す項目６１７を、マウス６０９で選択する操作を行う（ステップＳ１３０１）。すると多対多ＲＭＳ６０６は、第４学年の名前、および第４学年の学生が履修している科目を、外部記憶装置６０２に記憶されている履修科目データベース６１４から検索し、これらを主記憶装置６０４にロードした上、履修テーブル６１０として記憶する（ステップＳ１３０２）。次にこの主記憶装置６０４上の履修テーブル６１０で表される実体「名前」のインスタンスと実体「科目」のインスタンスをＧＵＩ６１４の中の多対多ＲＭＳウィンドウ６１５中に表示する（ステップＳ１３０３）。ここで、実体「名前」および「科目」のすべてのインスタンスが表示されてもよく、またはさらに何らかの選択ウィンドウを表示させ、これに対する操作をマウスやキーボードで行うことで履修テーブル６１０のレコードから絞り込んだ上で、各々の実体のインスタンスの任意の一部を表示させてもよい。この状態では、これら２つの実体間にある多対多のリレーションシップは、多対多ＲＭＳウィンドウ６１５には表示されていない。ここで、以下の処理の繰り返し処理に利用する整数の変数ｉ、ｋ、およびｒをそれぞれ宣言する（ステップＳ１３０４）。これらは各々、名前Ｎ（ｉ）、科目Ｓ（ｋ）、および履修テーブル６１０におけるレコード番号に使われる変数である。また、後の処理でＧＵＩ表示につかうための整数配列、ＦＳ（ｋ）（ただし図６の一例ではｋ＝０、１、２、３、４）、およびＦＮ（ｉ）（ただし図６の一例ではｉ＝０、１、２、３）も合わせて宣言する。ＦＳ（ｋ）は科目の各インスタンスに関連づけられたフラグであり、たとえば図６の一例ではＦＳ（３）は科目の「歴史」というインスタンスに関連づけられたフラグである。同様にＦＮ（ｉ）は名前の各インスタンスに関連づけられたフラグであり、たとえば図６の一例ではＦＮ（２）は「Ｃｈｅｎ」という名前のインスタンスに関連づけられたフラグである。
【００４４】
次に、この端末の利用者は、前記多対多ＲＭＳウィンドウ６１５に表示された実体「名前」のインスタンスのうちの任意のｎ個、または実体「科目」のインスタンスのうちの任意のｎ個のどちらかを、マウス６０９を操作して、ＧＵＩ６１３上のカーソル６１８を、ＧＵＩ上で移動させることによって選択する（ステップＳ１３０５）。すると、選択した実体ではない、もう一方の実体の各インスタンスに関連づけられたチェックボックスが表示される（ステップＳ１３０６、Ｓ１３０７）。図９ａに示す一例では、この情報端末の利用者が、マウス６０９を操作して、ＧＵＩ６１３上のカーソル６１８を、ＧＵＩ上で移動させ、実体「名前」に属するインスタンスが表示されているペイン８１に表示された４つのインスタンスの中から「Ｃｈｅｎ」９２を選択する（ステップＳ１３０５）。前記のように多対多ＲＭＳウィンドウ６１５では、実体「名前」に属するインスタンスが表示されているペイン８１から任意の数のインスタンスを選択できるが、この図９ａに示すのは、その中の一例を示しているにすぎず、図９ａの一例ではｎ＝１である。この図９ａの一例では選択したのは「名前」のインスタンスであるので、「科目」の各々のインスタンス、すなわち「数学」、「英語」、「理科」、「国語」、および「社会」の各々の左側に対応するチェックボックスが表示されている（ステップＳ１３０６）。この図９ａの一例では、選択されたのは実体「名前」のインスタンスであるので、次の処理は図１４へと移る。
【００４５】
次に、図１４に示す一例を用いて、前記ステップで実体「科目」の左側に表示されたチェックボックスにチェックマークを表示して、実体「名前」と実体「科目」との間のリレーションシップを表示するためのステップについて説明する。まずは繰り返し処理のための変数、ｉ、ｋ、ｒ、および、すべてのｋについてＦＳ（ｋ）を０に初期化する(ステップＳ１４０２)。前記のように、図９ａに示す一例では、「Ｃｈｅｎ」が選択されているが、ここで履修テーブル６１０によれば「Ｃｈｅｎ」はＮ（２）である。したがって、ｉ＝０から始まるｉに関する分岐（ステップＳ１４０９）とインクリメント処理（Ｓ１４０４）による繰り返し処理において、第一の分岐(ステップＳ１４０３)が真となるのは「Ｃｈｅｎ」を表すｉ＝２の場合のみである。したがってこの場合のみ、第二の分岐（ステップＳ１４０５）、ｒに関するインクリメント処理（ステップＳ１４０７）、および第三の分岐（ステップＳ１４０８）から成る、ｒについての繰り返し処理によって、「Ｃｈｅｎ」であるＮ（２）が、主記憶装置６０４上の履修テーブル６１０の中から検索される。履修テーブル６１０の名前のインスタンスＴ１（ｒ）の中で、ＣｈｅｎであるＮ（２）と一致するレコードｒが発見されると、第二の分岐（ステップＳ１４０５）が真となり、そのレコードにある科目Ｔ２（ｒ）に関連づけられた前記ＦＳ（ｋ）の値に対して１のインクリメントされる（ステップＳ１４０６）。すなわち、Ｓ（ｋ）＝Ｔ２（ｒ）となるｋの値を求め、Ｆ（ｋ）の値に１を加算してＦ（ｋ）の次の値とする。図９ａに示す一例では、「Ｃｈｅｎ」であるＮ（２）は、図６を参照すると、第４学年履修テーブル中のｒ＝３、４、および５で一致が発見される。このため、発見された各々のレコードにある科目「英語」Ｓ（１）、「歴史」Ｓ（３）、および「社会」Ｓ（４）の各々に関連づけられたフラグＦＳ（１）、ＦＳ（３）、およびＦＳ（４）が各々１インクリメントされる。この結果、図９ａに示す一例では、以上の処理の結果、「科目」の各々のインスタンスに関連づけられたフラグは、ＦＳ（０）＝ＦＳ（２）＝０となり、ＦＳ（１）＝ＦＳ（３）＝ＦＳ（４）＝１となる。以上が、選択されたインスタンスである「Ｃｈｅｎ」の、実体「科目」への写像対応を主記憶装置６０４上にある履修テーブル６１０から検索する処理（ステップＳ７０５）である。
【００４６】
次に、検索された写像対応を表示装置上のＧＵＩ中にある、多対多ＲＭＳウィンドウ６１５の中に表示する処理に移る。ｋに関するインクリメント処理（ステップＳ１４１５）および第六の分岐（ステップＳ１４１６）による、ｋ＝０から始まる繰り返し処理によって、実体「科目」のすべてについて、以下の処理を行うことで、選択されたインスタンス「Ｃｈｅｎ」が属する実体「名前」に対する実体「科目」のインスタンスとの間に存在するリレーションシップを表示する。まず、第四の分岐（ステップＳ１４１０）において、条件式ＦＳ（ｋ）＝０が真である場合には、多対多ＲＭＳウィンドウ６１５中の「科目」のインスタンスＳ（ｋ）の左にあるチェックボックスにはいずれのチェックも付けない。もし何らかのチェックが付いている場合には、これを消去する（ステップＳ１４１２）。これは、前記ステップＳ１３０５で選択した実体「名前」のインスタンスで表される名前が、このＳ（ｋ）という科目を履修していないことを表現している。条件式ＦＳ（ｋ）＝０が偽である場合には、第五の分岐（ステップＳ１４１１）でＦＳ（ｋ）＝ｎであるかどうかを調べる。ｎは前記ステップＳ１３０５で選択した名前の数であるから、もしこの第五の分岐の条件式が真であるならば、多対多ＲＭＳウィンドウ６１５中の「科目」のインスタンスＳ（ｋ）のチェックボックスにチェックマーク「レ」を表示する（ステップＳ１４１３）。これは、ステップＳ１３０５で選択した人の全てが、Ｓ（ｋ）という科目を履修していることを表現している。また第五の分岐の条件式が偽である場合には、多対多ＲＭＳウィンドウ６１５中の「科目」のインスタンスＳ（ｋ）のチェックボックスＳ（ｋ）の左のチェックボックスには、チェックマーク「−」を表示する（ステップＳ１４１４）。これは、ステップＳ７０２で選択した人の一部が、Ｓ（ｋ）という科目を履修していることを表現している。図９ａに示す一例では、選択した人の数は「Ｃｈｅｎ」のみでｎ＝１であり、前記のようにＦＳ（０）＝ＦＳ（２）＝０、かつＦＳ（１）＝ＦＳ（３）＝ＦＳ（４）＝１であるから、図９ａの「英語」、「歴史」、および「社会」の左に各々表示されるチェックボックス９５、９６、および９７には、チェックマーク「レ」が表示されており、また「数学」および「理科」の左に各々表示されているチェックボックス９８および９９には何も表示されていない。このようにして、図９ａに示されたような、多対多ＲＭＳウィンドウにおけるリレーションシップの表示が行われる。なお、検索およびチェックマーク表示のためのアルゴリズムは、この図１４のフローチャートで示したものに限定されず、結果として図９ａに示す表示がなされるアルゴリズムであれば何でもよい。
【００４７】
例えば、ＦＳやＦＮの配列を用いるのではなく、関係データベースシステムにより実現される集合演算により、検索を行い、チェックマークなどの表示を行うアルゴリズムを用いることもできる。図９ｂにおいて、選択されたＢｒｏｗｎが履修している科目の集合を求め、選択されたＣｈｅｎが履修している科目の集合を求め、それらの集合の積集合に含まれる歴史に「レ」のマークを付け、それらの集合の和集合から積集合を引いた集合に含まれる数学、英語、社会に「−」のマークを付けるようにしてもよい。
【００４８】
また、本願発明によれば、以上の処理によって「Ｃｈｅｎ」の履修している科目が図９ａのようにチェックマークによって表示されている状態で、他のインスタンスについてのリレーションシップを明示的な検索処理のための操作をおこなうことなく容易に表示できる。図１４における第七の分岐（ステップＳ１４１７）で「続ける」を選択し、さらに、第八の分岐で新たな表示を選択（ステップＳ１４１８）した場合には、図７における選択操作（ステップＳ７０２またはＳ１３０５）にジャンプする。なおこれらステップＳ１４１７およびステップＳ１４０８は、この情報端末の利用者が明示的な操作をおこなう必要はなく、単に多対多ＲＭＳウィンドウに表示された、任意のインスタンスを選択する操作をおこなえば、表示、すなわち図１３へのジャンプとなり、任意のチェックボックスをクリックすれば入力、すなわち図１６へのジャンプとなる。
【００４９】
本願発明では、複数のインスタンスを選択してその写像対応を表示装置上のＧＵＩに表示させることができる。図９ｂに示す一例では、前記図９ａに示す状態から、さらに前記図１３における選択操作（ステップＳ１３０５で）に移行し、マウス６０９を操作し、表示装置６１２に表示したＧＵＩ６１３上にあるカーソル６１８を移動させ、「Ｃｈｅｎ」に加えて「Ｂｒｏｗｎ」を選択している。このようにＧＵＩ上で利用者を複数選択するための方法としては、キーボードのいずれかのキーを押しながら、マウスで「Ｂｒｏｗｎ」をクリックする方法や、ＧＵＩ６１３上に「名前」のインスタンス選択用の別ウィンドウを生成して、それに対してマウスまたはキーボードで入力する方法などがあるが、これらに限らずどのような方法でもよい。
【００５０】
再び図１４を参照すると、この図９ｂに示す一例においては、「Ｂｒｏｗｎ」および「Ｃｈｅｎ」を表すＮ（０）およびＮ（２）の二つが選択されており、ｎ＝２である。この一例でも、前記処理と全く同様にステップＳ１４０２からＳ１４０９までの検索処理Ｓ７０５によって、選択されたインスタンスである「Ｃｈｅｎ」および「Ｂｒｏｗｎ」の実体「科目」への写像対応を主記憶装置６０４上にある履修テーブル６１０から検索した結果として、以下が得られる。実体「科目」の各々のインスタンスに関連づけられたフラグは「数学」がＦＳ（０）＝１、「英語」がＦＳ（１）＝１、「理科」がＦＳ（２）＝０、「歴史」がＦＳ（３）＝２、そして「社会」がＦＳ（４）＝１となる。
【００５１】
さらにこれらの検索結果をもとに、図１４に示す表示処理Ｓ７０６の各ステップによって、図９ｂのような画面が、表示装置６１２上のＧＵＩ６１３に表示された多対多ＲＭＳウィンドウ６１５に表示される。ここでは実体「科目」のインスタンスを表す項目のうちで、「歴史」の左のチェックボックス９６にはチェックマーク「レ」が表示される。これは、「Ｂｒｏｗｎ」と「Ｃｈｅｎ」の両方が「歴史」を履修していることを表している。また、「理科」を左のチェックボックス９９には、チェックマークが表示されておらず、これは「Ｂｒｏｗｎ」も「Ｃｈｅｎ」も「理科」を履修していないことを表している。一方、「数学」、「英語」、および「社会」の左の各々のチェックボックス８８、８５、および８７には、チェックマーク「−」が表示されており、これは「Ｂｒｏｗｎ」および「Ｃｈｅｎ」のどちらか一方がこれらの科目を履修していることを表している。
【００５２】
これまで図９で示したように、この情報端末の利用者は、実体「名前」の一つまたは複数のインスタンスを選択することによって、各々のインスタンスの実体「科目」の各インスタンスへのリレーションシップ、すなわち図９の一例では、各々の名前が履修している科目を、ＧＵＩ上にある、多対多ＲＭＳウィンドウ６１５に、簡単に表示することができる。
【００５３】
この状態でいつでも、この情報端末の利用者は、マウス６０９などを操作し、カーソル６１８を移動させることによって、実体「科目」の一つ以上の任意のインスタンスを選択することができる。たとえば、図１０に示すＧＵＩの一例では、この情報端末の利用者が、実体「科目」のインスタンスのなかから、「数学」および「歴史」の二つを、マウスを操作して選択している（ステップＳ１３０５）。再び図１３を参照すると、ここで選択したのは、「科目」のインスタンスであるので、実体「名前」の各々のインスタンスの左側に各々に対応するチェックボックス１０４、１０５、１０６、および１０７がペイン１０１に表示される（ステップＳ１３０７）。
【００５４】
以降の処理について、図１５に示すフローチャートを使って説明する。ただし、処理の詳細なステップについては、前記図１４を使って説明した、実体「名前」の任意のインスタンスを選択し、実体「科目」への写像対応を表示させた場合のステップとほぼ同じであるため、適宜省略して説明する。図１０に示す一例では、多対多ＲＭＳウィンドウ６１５上で、「数学」と「歴史」が選択されている。したがって、図１５の第一の分岐（ステップＳ１５０１）では、ｋ＝０およびｋ＝３のときのみが真となり、第二の分岐以降の主記憶装置６０４上にある履修テーブル内の検索が行われ（ステップＳ１５０２）、一致したレコードの名前に関連づけられたフラグがインクリメントされる（ステップＳ１５０３）。一連の検索処理（ステップＳ７０５）の結果、図１０に示す一例では、実体「名前」の各々のインスタンスに関連づけられたフラグは、「Ｂｒｏｗｎ」がＦＮ（０）＝２、「Ｆｌｅｍｉｎｇ」がＮＦ（１）＝１、「Ｃｈｅｎ」がＮＦ（２）＝１、そして「Ｓｍｉｔｈ」がＮＦ（３）＝０となる。
【００５５】
さらにこれらの検索結果をもとに、図１５に示す表示処理（ステップＳ７０６）の各ステップによって、表示装置６１２上のＧＵＩ６１３に表示された多対多ＲＭＳウィンドウ６１５の、実体「名前」のインスタンスを表す項目のうちで、「Ｂｒｏｗｎ」の左のチェックボックス１０４にはチェックマーク「レ」が表示される。これは、「Ｂｒｏｗｎ」は「数学」と「歴史」の両方を履修していることを表している。また、「Ｆｌｅｍｉｎｇ」および「Ｃｈｅｎ」の左のチェックボックスには１０５および１０６には、チェックマーク「−」が表示される。これは、「Ｆｌｅｍｉｎｇ」および「Ｃｈｅｎ」が「数学」と「歴史」のうちのどちらか一方を履修していることを表している。さらに「Ｓｍｉｔｈ」の左のチェックボックス１０７にはなにもチェックマークが表示されていない。これは、「Ｓｍｉｔｈ」が「数学」と「歴史」のどちらも履修していなことを表している。
【００５６】
さらに、この図１０に示す状態で、この情報端末の利用者は、いつでも実体「名前」の一つ以上の任意のインスタンス、または実体「科目」の一つ以上の任意のインスタンスを、マウス６０９などを操作し、ＧＵＩ６１３上のカーソル６１８を移動させることによって選択することができる。これは、図１５に示すステップ第八の分岐（ステップＳ１５１８）から、図１３に示すステップＳ１３０５にいつでも遷移できることを示している。
【００５７】
以上で、本実施形態における、主記憶装置上にあるデータベースのテーブルにおける、多対多のリレーションシップを柔軟に表示する方法を説明した。これによれば、多対多のリレーションシップを持つ二つの実体間の、任意のインスタンス間に存在する一または複数のリレーションシップを柔軟に、かつ単純に表示することができる。次に、本願発明による方法を用いて、前記の各ステップで表示された多対多のリレーションシップを表示するだけでなく、変更し、あるいは表示された実体間の新たなリレーションシップを、キーボードやマウスなどを使って入力し、主記憶装置上のテーブルに変更を加える方法について説明する。
【００５８】
たとえば、図１４または図１５に各々示す一例においては、既に述べたように、この情報端末の利用者がマウス６０９などを用いて、実体「名前」、または実体「科目」の他のインスタンスを多対多ＲＭＳウィンドウ６１５上で選択すると、図１４または図１５における第七の分岐（ステップＳ１４１８またはＳ１５１８）で表示が選択され、図１３のステップＳ１３０５にジャンプし、実体「名前」の任意のインスタンスから実体「科目」のインスタンスへの、またはその逆の写像対応を表示することができる。
【００５９】
しかし、一方で図１４または図１５に各々の示す一例においては、この情報端末の利用者がマウス６０９などを用いて、各々の「名前」や「科目」のインスタンスではなくチェックボックスをクリックすることによって、表示されている実体間のリレーションシップを変更したり、新たなリレーションシップを入力したりできる。
【００６０】
ここで再び図９ｂを参照すると、いま、表示装置上で、実体「名前」のインスタンスのうちで「Ｂｒｏｗｎ」および「Ｃｈｅｎ」が選択された結果、主記憶装置上の履修テーブルのデータをもとに、「歴史」にチェックマーク「レ」が、また「数学」、「英語」、および「社会」にチェックマーク「−」が、「理科」には何もチェックマークが表示されていない。これは、たとえば前記選択された「Ｂｒｏｗｎ」および「Ｃｈｅｎ」は、「理科」を履修していないことを表している。
【００６１】
この状態で、この情報端末の利用者が「Ｂｒｏｗｎ」と「Ｃｈｅｎ」の両方が「理科」を履修するという、新たなリレーションシップを追加入力したいとすると、マウス６０９を操作し、ＧＵＩ６１３上のカーソル６１８を「理科」の左にあるチェックボックス９９上に移動させ、ここでマウスのボタンを下押しすることでクリックする（ステップＳ１６０１）。図９ｂの状態では、このチェックボックスには何も表示されていないので、図１６における第一および第二の分岐を経て、前記で選択したチェックボックスにチェックマーク「レ」を表示し（ステップＳ１３０２）、図１１に示す状態となる。この操作によって、ＧＵＩ６１３上の多対多ＲＭＳウィンドウ６１５において、「Ｂｒｏｎｗ」および「Ｃｈｅｎ」が「理科」を履修しているというリレーションシップが新たに入力および表示されたが、主記憶装置上にある履修テーブルには、この時点ではこれらのリレーションシップは追加されていない。
【００６２】
次に図１７を参照して、前記リレーションシップの変更が主記憶装置上にある履修テーブルに追加される方法を説明する。まず、「名前」のインスタンス、および履修テーブルの各レコード、の各々についての繰り返し用変数ｉ、およびｒをすべて０に初期化する（ステップＳ１７０１）。次に第一の分岐（ステップＳ１７０２）、第六の分岐（ステップＳ１７１２）、およびｉに関するインクリメント処理（ステップＳ１７０３）による繰り返し処理で、Ｓ１３０５において選択された名前Ｎ（ｉ）のみに、以下のレコード追加処理をおこなう。図１１に示す一例では、「Ｂｒｏｗｎ」および「Ｃｈｅｎ」が選択されているので、この二つのインスタンスのみについて、以下の処理をおこなう。
【００６３】
次に、現在の履修テーブル６１０に、検索対象のリレーションシップを表すレコードが存在するかどうかを判定するためのフラグＦｌｇを０に初期化する（ステップＳ１７０４）。そして第二の分岐（ステップＳ１７０５）、第四の分岐（ステップＳ１７０９）、およびｒに関するインクリメント処理（ステップＳ１７０８）による繰り返し処理によって、「名前」が前記ステップＳ１３０５において選択されたインスタンスであり、かつその履修している「科目」が前記ステップＳ１６０１で選択されたインスタンスＳ（ａ）であるようなレコードｒを、履修テーブルから検索する（ステップＳ１７０５およびＳ１７０６）。このようなレコードが見つかった場合には、前記フラグＦｌｇに１を代入する（ステップＳ１７０７）。前記ｒに関する繰り返し処理の度に、多対多ＲＭＳは、Ｆｌｇの値を検証し（ステップＳ１７１０）、このようなレコードが見つからなかった場合には、履修テーブルにレコード｛Ｎ（ｉ）、Ｓ（ａ）｝を追加する（ステップＳ１７１１）。図１１に示す一例では、図６における履修テーブル６１０で、前記ステップＳ１６０２でチェックマーク「レ」が追加された実体「科目」のインスタンス「理科」について、｛Ｎ（ｉ）＝「Ｂｒｏｗｎ」、Ｓ（ａ）＝「理科」｝および｛Ｎ（ｉ）＝「Ｃｈｅｎ」、Ｓ（ａ）＝「理科」｝の二つのレコードはいずれも検索されないため、この二つのレコードが、主記憶装置６０４に記憶された履修テーブル６１０に追加される。
【００６４】
以上が、本願発明において、チェックマークの付いていない「科目」のインスタンスをマウスでクリックすることで、チェックマークを付け、またその写像対応を主記憶装置上の履修テーブルに追加するための方法である。また、同様の方法で、チェックマーク「−」の付いている場合、複数選択された「名前」のインスタンスの一部と写像対応がある「科目」のインスタンスの、チェックボックスをマウスでクリックすることで、チェックマークを付け、その写像対応を主記憶装置上の履修テーブルで修正することもできる。
【００６５】
たとえば、図１１に示す一例においては、実体「名前」のインスタンス「Ｂｒｏｗｎ」および「Ｃｈｅｎ」が選択されている状態で、数学の左のチェックボックスにはチェックマーク「−」が表示されている。これは、「Ｂｒｏｗｎ」および「Ｃｈｅｎ」のどちらか一方が、「数学」を履修しているというリレーションシップを表している。実体「履修」に対応するリレーションシップをこの情報端末の利用者が、「Ｂｒｏｗｎ」および「Ｃｈｅｎ」の両方が「数学」を履修しているというリレーションシップに変更したいとする。この情報端末の利用者は、マウス６０９を操作し、ＧＵＩ６１３上のカーソル６１８を「数学」の左にあるチェックボックス上に移動させ、ここでマウスのボタンを一度下押しすることでクリックする（ステップＳ１６０１）。この場合にも、図１６に示す二つの分岐処理の結果、「数学」の左にチェックボックスには「レ」が表示される。
【００６６】
次に、再び図１７を参照すると、前記「Ｂｒｏｗｎ」および「Ｃｈｅｎ」のリレーションシップを追加したステップ同様に、名前および履修テーブルのレコードに関する繰り返し処理を行い、図６に示す主記憶装置６０４上にある履修テーブル６１０中にない、｛Ｎ（ｉ）＝「Ｃｈｅｎ」、Ｓ（ａ）＝「数学」｝のレコードを追加する。この場合、｛Ｎ（ｉ）＝「Ｂｒｏｗｎ」、Ｓ（ａ）＝「数学」｝のレコードはｒ＝０として履修テーブル６１０に存在するので、ステップＳ１７０７においてＦｌｇに１が代入される結果、履修テーブル６１０に追加する処理（ステップＳ１７１１）は実行されない。
【００６７】
また同様に、図１１に示す一例においては、実体「名前」のインスタンス「Ｂｒｏｗｎ」および「Ｃｈｅｎ」が選択されている状態で、「歴史」の左のチェックボックスにはチェックマーク「レ」が表示されている。これは、「Ｂｒｏｗｎ」および「Ｃｈｅｎ」の両方が「歴史」を履修しているというリレーションシップを表している。この情報端末の利用者が、このリレーションシップを削除し、この両名とも「歴史」を履修していない状態に変更したいとする。この情報端末の利用者は、マウス６０９を操作し、ＧＵＩ６１３上のカーソル６１８を「歴史」の左にあるチェックボックス上に移動させ、ここでマウスのボタンを一度下押しすることでクリックする（ステップＳ１６０１）。すると、多対多ＲＭＳ６０６が図１６に示す分岐処理の結果「歴史」の左のチェックボックスを空にする（ステップＳ１６０３）。
【００６８】
次に図１８を参照して、前記リレーションシップの変更が主記憶装置上にある履修テーブルに反映される方法を説明する。まず、「名前」のインスタンス、および履修テーブルの各レコード、の各々についての繰り返し用変数ｉ、およびｒをすべて０に初期化する（ステップＳ１８０１）。次に第一の分岐（ステップＳ１８０２）、第五の分岐（ステップＳ１８０９）、およびｉに関するインクリメント処理（ステップＳ１８０３）による、Ｎ（ｉ）に関する繰り返し処理で、前記ステップＳ７０２または前記ステップＳ１３０５において選択された名前Ｎ（ｉ）のみに、以下のレコード追加処理をおこなう。図１１に示す一例では、「Ｂｒｏｗｎ」および「Ｃｈｅｎ」が選択されているので、この二つのインスタンスのみについて、以下の処理をおこなう。
【００６９】
次に、現在の履修テーブル６１０に、前記ステップＳ７０２またはステップＳ１３０５で選択した実体「名前」のインスタンスと、前記ステップＳ７０８またはステップＳ１６０１で選択した実体「科目」のインスタンスＳ（ａ）の間のリレーションシップを表すレコードが存在するかどうかを、第二の分岐（ステップＳ１８０４）、第四の分岐（ステップＳ１８０８）、およびインクリメント処理（ステップＳ１０７）による、ｒに関する繰り返し処理によって検索する。図１１に示す一例では、前記ステップＳ１６０１で「歴史」のチェックボックスをクリックした結果、ｒ＝１である｛Ｎ（ｉ）＝「Ｂｒｏｗｎ」、Ｓ（ａ）＝「歴史」｝、およびｒ＝４である｛Ｎ（ｉ）＝「Ｃｈｅｎ」、Ｓ（ａ）＝「歴史」｝の二つが、第三の分岐（ステップＳ１８０５）の分岐によって検索され、これらが主記憶装置６０４に記憶された履修テーブル６１０から削除される（ステップＳ１８０６）。
【００７０】
なお、前記概略図である図７のステップＳ７０８において、「科目」のインスタンスの中で、任意の一つのチェックボックスをクリックした場合について、図１６、図１７、および図１８を使って詳細を説明した。一方、図７のステップＳ７２４において、「名前」のインスタンスの中で、任意の一つのチェックボックスをクリックした場合については、これと同様であるので、説明を省略している。
【００７１】
本願発明によれば、従来の方法と比べて以下に示す二つの効果が得られる。
【００７２】
第一の効果は、二つの実体間の多対多のリレーションシップを、一回のマウスボタンクリックなど、単純な操作で、かつ双方向で表示できる点である。いま、「名前」と「科目」の二つの実体の間のリレーションシップを考える。たとえば前記図１に示す一例では、従来の方法によれば、「名前」から「科目」へのリレーションシップを表示するには、「Ｃｈｅｎ」を検索キーとして、主記憶装置６０４上の第４学年履修テーブル６１０を検索することで、図４のような結果を表示装置上に表示す必要があった。ここで表示されている内容は、本願発明による図９ａと等価である。従来の方法と比べた本願発明の効果は、この状態から、次に「科目」から「名前」への逆方向の写像対応を表示させる際に、情報端末の利用者による操作が簡単になり、なおかつ単純な表示が可能となる点である。
【００７３】
たとえば、従来の方法によれば、図４に示す状態から、次に「数学」および「歴史」を履修している人のリストを得たい場合には、この情報端末の利用者は、「数学」および「英語」を検索キーとして前記第４学年履修テーブル６１０を検索する操作を明示的に、キーボード６０８やマウス６０９を利用して行う必要があった。たとえば、従来の方法によれば、図４の状態から問い合わせ画面を呼び出した後、たとえばＳＱＬ言語で「ＳＥＬＥＣＴ  名前  ＦＲＯＭ  第４学年履修テーブル  ＷＨＥＲＥ  科目＝‘数学’ＯＲ‘歴史’；」という入力をおこない、図５に示すようなテーブルを表示させる必要があった。しかし、本願発明によれば、図４に相当する図９ａの状態から、同様に「数学」および「歴史」を履修している人のリストを得たい場合には、何ら新しい検索依頼のための画面を呼び出すことなく、そのままＧＵＩ６１３上の多対多ＲＭＳウィンドウ６１５で「数学」および「歴史」を、マウス６０９で選択するだけで図９ｂに示すような実体「科目」から実体「名前」への図９ａとは逆方向のリレーションシップが表示される。図５と図９ｂで表示されている内容は等価である。つまり、多対多のリレーションシップを持つ二つの実体において、片方の実体から他方の実体へのリレーションシップを表示した状態から、１回のクリックで逆方向のリレーションシップを表示できる。この結果、従来の方法に比べてこの情報端末の利用者は、双方向のリレーションシップを行き来しながら、二つの実体間の複雑なリレーションシップを理解できるという効果がある。
【００７４】
第二の効果は、二つの実体間の多対多のリレーションシップの、追加、削除、または変更が、二回のマウスボタンクリックなど、単純な操作で、かつ双方向でおこなえる点である。従来の方法によれば、たとえばまず「Ｃｈｅｎ」を検索して図４を表示した後、さらにリレーションシップの追加、削除、または変更用の新たなウィンドウを表示させ、その中のオブジェクトに対して入力するなどすることで、リレーションシップの変更をおこなう必要があった。本願発明による方法では、図７の状態からまず、「Ｃｈｅｎ」をマウスでクリックするなどして選択し、次に科目のインスタンスの各々に表示されるチェックボックスをやはりマウスでクリックする、という２つの操作のみで、実体「名前」から実体「科目」への、またはその逆の任意のリレーションシップを追加、削除、または変更できるようになる。
【００７５】
以上、「名前」および「科目」という二つの実体の間の、「履修」に関する多対多のリレーションシップを一例として、本願発明の基本原理を説明したが、本願発明は表示装置におけるどのような実体間のリレーションシップの表示、または入力装置を用いたデータベースへの入力にも利用できる。ここで扱う情報は、あらゆる文字情報、画像情報、数値など何であってもよい。図１９ａの一例では、実体「写真」１９０１と実体「開示先」１９０３の間の多対多のリレーションシップを、本願発明による方法で、表示装置上に表示している。この情報端末の利用者が、マウスなどを操作して表示装置上のカーソル１９０９を動かし、実体「写真」のインスタンスの一つである、「湖」１９０８を選択した結果、実体「開示先」に表示されている二つのインスタンスのうち、「太田智久」の左に表示されたチェックボックス１９０７に、チェックマーク「レ」が表示されている。これは、この情報端末の利用者が、「湖」の写真を「太田智久」に開示していることを表している。
【００７６】
この状態でいつでも、この情報端末の利用者は、マウスなどを操作することで、カーソルを移動させ、「開示先」の任意のインスタンスを選択できる。たとえば、図１９ｂに示す一例では、この情報端末の利用者が実体「開示先」のインスタンスである「ベティートーマス」１９１０および「太田智久」１９１１を選択した結果、実体「写真」の各々のインスタンスの左にチェックボックスが表示され、さらにチェックマークによって、リレーションシップが表示されている。図１９ｂに示す一例では、チェックボックス１９１２にはチェックマークが表示されていないことから、実体「写真」のインスタンスである「博物館」はこの両名には開示されておらず、チェックボックス１９１３にはチェックマーク「−」が表示されていることから、「湖」はこの両名の一部に開示されており、さらにチェックボックス１９１４にはチェックマーク「レ」が表示されていることから、この両名ともに開示されていることを表している。
【００７７】
このように本願発明を「写真」と「開示先」という二つの実体に適用することで、「特定の人物に開示している写真はどれか」というリレーションシップと、それとは逆方向となる「特定の写真を開示している人物は誰か」という双方向のリレーションシップを、１回のマウスクリックによって自由に表示できる。このため、本願発明の情報端末の利用者は、開示対象と開示者という複雑な多対多のリレーションシップの全体像を容易に把握し、また同様にリレーションシップの追加、変更、削除などを簡単に行える。
【００７８】
さらに、多対多ＲＭＳウィンドウの各々の実体には、各々独立したインスタンス絞り込み用ウィンドウを具えていてもよい。図１９に示す一例では、実体「写真」を、各々のインスタンスに関連づけられたキーワードを使って絞り込むための絞り込みウィンドウ１９０２を具え、これを操作することによって、実体「写真」のインスタンス用ウィンドウ１９０１に表示させる写真を絞り込むことができる。同様に、実体「開示先」についても、各々のインスタンスに関連づけられたキーワードを使って絞り込むためのウィンドウ１９０４を具え、これによって実体「開示先」のインスタンス表示用１９０３に表示させる名前を絞り込むことができる。各々の実体の絞り込み操作は独立しているが、表示された各々のインスタンス間のリレーションシップの表示および入力方法は、既に述べた各ステップ従って、本願発明による情報端末によって実行される。
【００７９】
（実施形態２）
本願発明の他の実施形態の一例によると、数多くの情報の中から、簡単な操作で情報端末の利用者が必要とする情報だけを絞り込んだ上で、表示装置に表示させることができる。以下では、本願発明の実施形態の一例として、電話帳または住所録などにおける、連絡先名前の絞り込み処理方法について説明する。
【００８０】
現在の方法によれば、データベース上に存在する数多くの情報（以下インスタンスと称する）から、情報端末の利用者の必要な情報を絞り込むための方法としては、以下の二つが広く使われている。
【００８１】
第一の従来方法は、各々のインスタンスを、ツリー構造を持った分類先（以下フォルダと称する）に分類して管理し、情報端末の利用者が必要な情報を絞り込む際には、そのツリー構造を上位から下位へと辿ることで、表示装置に表示するインスタンスの数を減らしてゆく方法である。たとえば、図２０に示す一例におけるツリー構造を有するデータベースにおいて、営業部に属する「Ｊｏｈｎｓｏｎ」２００１を探すためには、図２１に例示するようなツリー構造を表すＧＵＩを用い、分類先２１０１に表示される個々のリストを、上の階層から順番に、マウスなどを操作し、カーソル２１０２を移動、選択することによって、「営業部」を選択すると、「名前」の欄２１０４に「営業部」に属する「Ｂｒｏｗｎ」および「Ｊｏｈｎｓｏｎ」が表示される。
【００８２】
この第一の従来の方法は、上位である大分類から下位である小分類を順に選択して行くという、検索性の高い優れた方法である。しかし現実のデータベースでは、たとえば図２０に示す「Ｆｒａｎｋ」２００２のように、一つのインスタンスが複数の分類先に属している場合に、絞り込み、および分類操作が困難であるという問題があった。たとえば、ツリー構造のデータベースにおいては、図２０に示す３つの「Ｆｒａｎｋ」２００２が同一のインスタンスであることを認識できない。
【００８３】
この問題を解決するために使われる従来の第二の方法が、タグ付けと呼ばれるものである。これは、名前の各々のインスタンスに、１つ以上のタグを付けた状態でデータベースに保存し、それを検索する方法である。このタグ付けでは、図２０の情報を、たとえば図２２に示す形態で、データベースに保存する。たとえば、この情報端末の利用者が、数多くのインスタンスである名前のなかから、高校時代の友人を検索したい場合には、「高校」というタグを検索キーとして図２２に示したテーブルの「タグ」の列２２０１を検索して、「Ｍｉｌｌｅｒ」２２０２、「Ｆｏｘ」２２０３、および「Ｊｏｎｓｅ」２２０４の３つのインスタンスを得る。このような方法では、１つのインスタンスが複数のタグを持つことができるため、前述のツリー構造フォルダの方法における問題は解決する。しかし、このタグ付けの方法によれば、特にタグの数が多い場合には、タグを階層化して管理することが難しいために、タグの検索が困難であるという問題があった。また、ツリー構造を持つ分類先による検索では可能である、同じ名前を持つ複数のタグが使えないという問題もある。たとえば図２０に示す一例では、「会社」というフォルダは「仕事」の下位にある「会社２００３、および「友人」の二階層下位の「会社」２００４の二つがある。ツリー構造を持たないタグ付けでは、この二つの会社を区別する方法がない。したがって、図２０では、たとえば「Ｂｒｏｗｎ」は会社に属するが、図２２の表記では「Ｂｒｏｗｎ」は「会社」に属しているとは認識できない。
【００８４】
すなわち、従来の第一の方法、および従来の第二の方法のどちらを利用するかは、本質的には、一つのインスタンスを複数の分類先に分類することが困難であるという問題と、階層化したツリー構造によるインスタンスの管理が困難であるという、二つの問題の二者択一の問題に帰するものであった。
【００８５】
しかし、本願発明によれば、前記二つの、従来の方法における問題をともに解決することができる。たとえば、図２０および図２１に例示した、ツリー構造のフォルダへの分類、およびタグ付けされたテーブルは共に、タグまたはフォルダという実体と、名前という実体の間の多対多のリレーションシップであるととらえることができる。このため、前記実施形態１において詳細に説明した、多対多のリレーションシップの表示および入力に関する方法およびその情報端末が適用できる。
【００８６】
すなわち、第１の実体に属する複数の第１のインスタンスがツリー構造などの階層構造を成すノードであり、第２の実体に属する複数の第２のインスタンスがそれらのノードに関連づけられているとする。例えば、第１のインスタンスが「営業部」、「開発部」などの部署であり、第２のインスタンスが部署に属する人であるような場合である。この場合、ある第１のインスタンスに、ある第２のインスタンスが関連付けられているならば、その第１のインスタンスの上位の階層の第１のインスタンスにもその第２のインスタンスが関連付けられているとする。例えば、「営業部」に「Ｂｒｏｗｎ」が属していれば、「営業部」の上位の階層の「会社」、「仕事」にも「Ｂｒｏｗｎ」が属するとする。このようなデータ構造を有する第１の実体と第２の実体との間には、一般的には多対多のリレーションシップが存在することになる。このような場合のリレーションシップの表示、操作や制御にも本願発明は適用可能である。
【００８７】
また、ツリー構造などの階層構造は、例えばツリーのルートノードを最上位のノードとし、ノードの上位と下位の関係を表すテーブルを用いて、表すことができる。
【００８８】
なお、以下では本願発明におけるタグまたはフォルダと等価な用語として従来の方法と区別するために「カテゴリー」という用語を用いる。また、下記の説明において、実体「カテゴリー」と実体「名前」の間の多対多のリレーションシップについて、表示装置上に表示されたチェックボックス、およびチェックマーク「レ」および「−」によって双方向に表示するものとする。なお、マウスなどを操作してチェックボックスを選択することで、双方向で入力するために、ソフトウェアとハードウェア資源と協調してこれを実現する方法については、前記実施形態１において説明した手段と同様であるため、ここでは省略し、その結果として表示装置に表示される効果を説明する。
【００８９】
図２０に一例として示した、ツリー構造のカテゴリーと名前との多対多のリレーションシップを表示および入力する、本願発明の方法による絞り込みのための方法を、図２３から図２５に示す。このウィンドウは、実体「カテゴリー」のインスタンス表示用のウィンドウ２３０２および、実体「名前」のインスタンス表示用のウィンドウ２３０３よりなる。まず、図２３ａを参照すると、この情報端末の利用者が、表示装置上のカーソル２３０４を移動させ、実体「カテゴリー」の階層化されたインスタンスのひとつである「友人」を選択する。その結果、実体「名前」用のウィンドウ２３０３には、図２０における友人の下層のカテゴリーに属する全ての人、「Ｄａｖｉｓ」、「Ｄｏｎｎｅｌｌｙ」、「Ｆｌｅｍｉｎｇ」、「Ｆｏｘ」、「Ｆｒａｎｋ」、「Ｊｏｎｅｓ」および「Ｍｉｌｌｅｒ」の７名が表示される。次に図２３ｂを参照すると、この情報端末の利用者が「友人」の下層にあたる「その他」２３０６を選択すると、前記の７名の中から「その他」の下の階層に属するすべての人「Ｄａｖｉｓ」、「Ｆｌｅｍｉｎｇ」、「Ｆｒａｎｋ」、および「Ｊｏｎｅｓ」に４名に絞り込まれる。さらに図２３ｃを参照すると、その下層のカテゴリーである「テニス」２３０７を選択することで、前記４名が「Ｄａｖｉｓ」、「Ｆｒａｎｋ」、および「Ｊｏｎｅｓ」の３名に絞り込まれている。ここまでは前記従来の第一の方法である、ツリー構造のフォルダによる絞り込みの表示および入力と同じ方法である。
【００９０】
次に図２４を参照すると、この端末の利用者が実体「カテゴリー」のインスタンスの中から「開発部」、および「テニス」の二つを選択した場合、実体「名前」のインスタンスを表すウィンドウには、「開発部」または「テニス」のカテゴリーに属する人の名前が、名前用ウィンドウ２３０３に表示される。従来の第一の方法、すなわちツリー構造のフォルダによれば、図２０に示す一例では「Ｆｒａｎｋ」２００２は、「開発部」のフォルダにも、「テニス」のフォルダにも存在するため、図２４のようにフォルダを複数選択すると、「名前」用のウィンドウ２３０３には、二つの「Ｆｒａｎｋ」が表示されてしまった。本願発明による方法では、実体「カテゴリー」のインスタンスである「開発部」および「テニス」は、実体「名前」のインスタンスである「Ｆｒａｎｋ」とは多対一のリレーションシップとして、前記実施形態１において詳しく説明した方法によって、データベースの情報をもとに表示される。すなわちデータベース上では実体「カテゴリー」のインスタンスである「開発部」、および「テニス」と関連づけられている「Ｆｒａｎｋ」は、実体「名前」の一つの「Ｆｒａｎｋ」とリレーションシップをもっていることが認識できる。したがって、本願発明による方法では、図２４に示すように、ツリー構造と同じ操作によって「名前」を絞り込んだ上で、「開発部」と「テニス」を共に選択しても、「名前」用ウィンドウ２３０３に「Ｆｒａｎｋ」が重複して表示されることがなく、「Ｄａｖｉｓ」、「Ｆｒａｎｋ」、および「Ｊｏｎｅｓ」の、「開発部」または「テニス」のどちらかに属している人の名前が表示される。
【００９１】
図２４の状態から、この情報端末の利用者は、いつでも実体「名前」に表示されている任意のインスタンスを、マウスなどを利用して、表示装置上のカーソル２３０４を移動させることで、選択できる。たとえば図２５ａに一例として示すように、「Ｊｏｎｅｓ」２５０１を選択すると、実体「カテゴリー」の各々のインスタンスに対応するチェックボックスが表示される。これは、「Ｊｏｎｅｓ」と、実体「カテゴリー」のリレーションシップを表しており、「Ｊｏｎｅｓ」は「テニス」２５０４に属しており、したがってその上位にある「その他」２５０３、およびさらにその上位にある「友人」２５０２にも属していることが、各々のチェックマーク「レ」によって表示されている。さらに、「Ｊｏｎｅｓ」は、「高校」２５０６のカテゴリーにも属しており、したがってその上位の「学校」２５０５にも属していることが同じく、各々のチェックマーク「レ」によって表示されている。
【００９２】
前記実施形態１で説明したように、この図２５ａに示す状態からはいつでも、他の実体「名前」のインスタンスを選択して、その「カテゴリー」に対するリレーションシップを表示したり、実体「カテゴリー」の任意のインスタンスを選択して、そのカテゴリーに属する名前をウィンドウ２３０３に表示させることができ、さらに、「カテゴリー」の各インスタンスに表示されたチェックボックスにカーソル２３０４を移動させ、マウスでクリックするなどの方法で、表示されたリレーションシップを更新、削除したり、新たなリレーションシップを追加することもできる。
【００９３】
さらに、実体「カテゴリー」および実体「名前」の各々のインスタンスは、複数選択して、それらのインスタンスのリレーションシップを表示または変更、削除、追加などの入力をおこなうことができる。図２５ｂに示す一例では、図２４の状態から、「Ｆｒａｎｋ」および「Ｊｏｎｓｅ」の二つのインスタンスが選択された結果として、「Ｆｒａｎｋ」および「Ｊｏｎｓｅ」の両方が属している「カテゴリー」のインスタンスにはチェックマーク「レ」が、どちらかが属している「カテゴリー」のインスタンスにはチェックマーク「−」が各々表示されている。
【００９４】
このように、本実施形態２によれば、実体「カテゴリー」のインスタンスが、前記従来の第一の方法と同様のツリー構造を持っているため、前記従来の第一の方法における絞り込みが容易であり、かつ前記実施形態１で説明した効果を得ることができ、そのため前記従来の第二の方法であるタグ付けの利点と同様の一つの「名前」のインスタンスが複数の「カテゴリー」のインスタンスと関連づけることの利点も享受できる。
【００９５】
なお、本実施形態２で扱うことのできる実体は何でもよい。たとえば名前だけでなく、住所、電子メールアドレス、電話番号などのあらゆる文字情報や、写真などのあらゆる画像データ、数値情報など何でもよく、これらの実体を効率よく検索および絞り込みが可能な情報端末を提供する。また前記実施形態１と同様に、本実施形態において、情報端末の各構成要素と協調して動作するプログラムや、データベースは、この情報端末の記憶装置にあってもよいし、またはネットワークの他端に存在するサーバ上にあってもよい。
【００９６】
前記実施形態１と、本実施形態２は、ともに二つの実体間の多対多のリレーションシップを、双方向で容易に表示、および変更、追加、および削除の入力を行える情報端末を提供している。一方実施形態１および２の違いは、実施形態１が二つ実体間の、双方向のインスタンスおよびリレーションシップの表示が対称であるのに対し、実施形態２は非対称な点である。具体的には、実施形態２において、実体「カテゴリー」のインスタンスを選択した場合、実体「名前」の各々のインスタンスには、実施形態１で表示されたリレーションシップを表示および入力するためのチェックボックスは表示されない。また、実施形態１の場合、片方の実体のインスタンスを選択しても、他方の実体の表示されるインスタンスは変化しないが、実施形態２の場合は、実体「カテゴリー」のインスタンスを選択した場合、これによって表示される実体「名前」のインスタンスが変化し、実体「カテゴリー」の階層が下位に移動する度に、実体「名前」のインスタンスが絞り込まれる。実施形態２では、このようにして、カテゴリーを使った容易な情報の分類、および検索が可能となる。
【００９７】
以上のまとめとして、第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、前記複数の第１のインスタンスの中から一または複数の前記第１のインスタンスが選択されると、前記データベースを検索し、前記複数の第２のインスタンスの各々について、選択された前記一または複数の前記第１のインスタンスとの間に存在する第１のリレーションシップを求め、前記複数の第２のインスタンスから一または複数の前記第２のインスタンスが選択されると、前記データベースを検索し、前記複数の第１のインスタンスの各々について、選択された前記一または複数の前記第２のインスタンスとの間に存在する第２のリレーションシップを求めるマイクロプロセッサと、第１のペインと第２のペインを表示する表示装置であって、前記複数の第１のインスタンスを含む第１のリストを前記第１のペイン中に表示し、前記複数の第２のインスタンスを含む第２のリストを前記第２のペイン中に表示し、前記第１のリレーションシップまたは前記第２のリレーションシップを前記第１のペイン及び前記第２のペインに表示する表示装置と、を有することを特徴とする第１のデータベースシステムが提供される。
【００９８】
また、第１のデータベースシステムにおいて、前記表示装置は、前記第１のリレーションシップまたは前記第２のリレーションシップを表示する際に、前記第１のリレーションシップまたは前記第２のリレーションシップが存在する前記第１のインスタンスまたは／および前記第２のインスタンスの強調表示を行うことを特徴とする第２のデータベースシステムが提供される。
【００９９】
また、第２のデータベースシステムにおいて、前記表示装置は、前記選択された前記一または複数の前記第１のインスタンスとの間に前記第１のリレーションシップが存在する前記第２のインスタンスを強調表示し、前記選択された前記一または複数の前記第２のインスタンスとの間に前記第２のリレーションシップが存在する前記第１のインスタンスを強調表示することを特徴とする第３のデータベースシステムが提供される。
【０１００】
また、第３のデータベースシステムにおいて、前記表示装置は、前記第１のインスタンスまたは前記第２のインスタンスの前記強調表示を行う場合、前記第１のインスタンスまたは前記第２のインスタンスとともに、内部にマークを表示可能な表示領域を表示し、前記第１のインスタンスまたは前記第２のインスタンスの強調表示は、前記表示領域内にマークを表示することにより行うことを特徴とする第４のデータベースシステムが提供される。
【０１０１】
また、第４のデータベースシステムにおいて、前記表示領域内に表示される前記マークは、前記強調表示が行われる前記第１のインスタンスとの間に前記第２のリレーションシップが存在する前記第２のインスタンスまたは前記強調表示が行われる前記第２のインスタンスとの間に前記第１のリレーションシップが存在する前記第１のインスタンスの数に応じて変化することを特徴とする第５のデータベースシステムが提供される。
【０１０２】
また、第４のデータベースシステムにおいて、前記表示領域がチェックボックスであることを特徴とする第６のデータベースシステムが提供される。
【０１０３】
また、第２のデータベースシステムにおいて、前記強調表示は、前記第１のインスタンスまたは／および前記第２のインスタンスを文字列により表示する際のフォントの変更により行われることを特徴とする第７のデータベースシステムが提供される。
【０１０４】
また、第１のデータベースにおいて、前記マイクロプロセッサは、前記第１のペインに表示された前記複数の第１のインスタンスから一または複数の前記第１のインスタンスが選択され、かつ前記第２のペインに表示された前記複数の第２のインスタンスから一または複数の前記第２のインスタンスが選択されると、選択された前記一または複数の前記第１のインスタンスの各々と選択された前記一または複数の前記第２のインスタンスの各々との間に存在する前記リレーションシップを前記データベースより削除することを特徴とする第８のデータベースシステムが提供される。
【０１０５】
また、第１のデータベースシステムにおいて、前記マイクロプロセッサは、前記複数の第１のインスタンスから一または複数の前記第１のインスタンスが選択された状態において、前記第２のペインに表示された前記複数の第２のインスタンスから一または複数の前記第２のインスタンスが選択されると、選択された前記一または複数の前記第１のインスタンスの各々と選択された前記一または複数の前記第２のインスタンスの各々との間に前記リレーションシップを前記データベースに格納することを特徴とする第９のデータベースシステムが提供される。
【０１０６】
また、第９のデータベースシステムにおいて、前記マイクロプロセッサは、選択された前記一または複数の前記第１のインスタンスの各々と選択された前記一または複数の前記第２のインスタンスの各々とのうち、前記データベースにリレーションシップが格納されていない場合に、前記第１のインスタンスと前記第２のインスタンスとの組み合わせを前記データベースに格納することを特徴とする第１０のデータベースシステムが提供される。
【０１０７】
また、第１のデータベースシステムにおいて、前記第１の実体に属する複数の第１のインスタンスは階層構造を成しており、前記第１のインスタンスと前記第２のインスタンスとの間にリレーションシップが存在すれば、前記階層構造において前記第１のインスタンスの上位の第１のインスタンスと前記第２のインスタンスとの間にもリレーションシップが存在することを特徴とする第１１のデータベースシステムが提供される。
【０１０８】
また、第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、前記複数の第１のインスタンスから第３のインスタンス及び第４のインスタンスが選択されると、前記複数の第２のインスタンスのうち、前記第３のインスタンスと前記第４のインスタンスに第１の所定の条件で第１のリレーションシップが存在する一または複数の第５のインスタンスを前記データベースより検索し、前記複数の第２のインスタンスのうち、前記第３のインスタンスと前記第４のインスタンスに第２の所定の条件で第２のリレーションシップが存在する一または複数の第６のインスタンスを前記データベースより検索するマイクロプロセッサと、第１のペインと第２のペインを表示する表示装置であって、前記複数の第１のインスタンスを含む第１のリストを前記第１のペイン中に表示し、前記複数の第２のインスタンスを含む第２のリストを前記第２のペイン中に表示し、前記第３のインスタンスおよび前記第４のインスタンスと前記第５のインスタンスとの間に存在する前記第１のリレーションシップを第１の形態で表示し、前記第３のインスタンスおよび前記第４のインスタンスと前記第６のインスタンスとのに存在する前記第２のリレーションシップを第２の形態で表示する表示装置と、を有する第１２のデータベースシステムが提供される。
【０１０９】
第１２のデータベースシステムにおいて、前記マイクロプロセッサは、前記複数の第２のインスタンスから前記一または複数の第５のインスタンスとして、前記第３のインスタンスと前記第４のインスタンスとの両方の間に前記リレーションシップが存在するインスタンスを検索し、前記複数の第２のインスタンスから前記一または複数の第６のインスタンスとして、前記第３のインスタンスと前記第４のインスタンスとのどちらか一方の間に前記リレーションシップが存在するインスタンスを検索する第１３のデータベースシステムが提供される。
【０１１０】
また、第１の実体に属する複数の第１のインスタンスと第２の実体に属する複数の第２のインスタンスとの間に存在する一または複数のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示し、前記第１のペイン中に前記複数の第１のインスタンスを含む第１のリストを表示し、前記第２のペイン中に前記複数の第２のインスタンスを含む第２のリストを表示する表示装置とを有する情報端末の表示方法において、前記複数の第１のインスタンスから一または複数の第１のインスタンスが選択されると、前記データベースを検索し、前記複数の第２のインスタンスの各々について、選択された前記一または複数の前記第１のインスタンスとの間に存在する第１のリレーションシップを求め、前記第１のリレーションシップを前記表示装置に表示し、前記複数の第２のインスタンスから一または複数の第２のインスタンスが選択されると、前記データベースを検索し、前記複数の第１のインスタンスの各々について、選択された前記一または複数の前記第２のインスタンスとの間に存在する第２のリレーションシップを求め、前記第２のリレーションシップを前記表示装置に表示することを特徴とする情報端末の第１の表示方法が提供される。
【０１１１】
また、第１の表示方法において、前記第１のリレーションシップまたは前記第２のリレーションシップの表示は、前記第１のリレーションシップまたは前記第２のリレーションシップが存在する前記第１のインスタンスまたは／および前記第２のインスタンスを強調して表示することを特徴とする、情報端末の第２の表示方法が提供される。
【０１１２】
また、第２の表示方法において、前記第１のリレーションシップまたは前記第２のリレーションシップの表示は、前記選択された前記一または複数の前記第１のインスタンスとの間に前記第１のリレーションシップが存在する前記第２のインスタンスを強調表示し、前記選択された前記一または複数の前記第２のインスタンスとの間に前記第２のリレーションシップが存在する前記第１のインスタンスを強調表示することを特徴とする、情報端末の第３の表示方法が提供される。
【０１１３】
また、第３の表示方法において、前記第１のインスタンスまたは前記第２のインスタンスの強調表示を行う場合、前記第１のインスタンスまたは前記第２のインスタンスとともに、内部にマークを表示可能な表示領域を表示し、前記第１のインスタンスまたは前記第２のインスタンスの強調表示は、前記表示領域内にマークを表示することにより行うことを特徴とする、情報端末の第４の表示方法が提供される。
【０１１４】
また、第４の表示方法において、前記表示領域内に表示される前記マークを、前記強調表示が行われる前記第１のインスタンスとの間に前記第２のリレーションシップが存在する前記第２のインスタンスまたは前記強調表示が行われる前記第２のインスタンスとの間に前記第１のリレーションシップが存在する前記第１のインスタンスの数に応じて変化させることを特徴とする、情報端末の第５の表示方法が提供される。
【０１１５】
また、第４の表示方法において、前記表示領域がチェックボックスである、情報端末の第６の表示方法が提供される。
【０１１６】
また、第２の表示方法において、前記第１のインスタンスまたは／および前記第２のインスタンスを強調して表示することは、前記第１のインスタンスまたは／および前記第２のインスタンスを文字列に表示する際のフォントの変更により行われることを特徴とする、情報端末の第７の表示方法が提供される。
【０１１７】
また、別の観点として、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示手段と、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップ表示する第２の表示手段と、前記第２のインスタンス群から１または複数の第３の特定インスタンスが選択されると、前記データベース中を検索し、前記第１のインスタンス群の各々について、前記第３の特定インスタンスとのリレーションシップを表示する第３の表示手段と、を有する第１４のデータベースシステムが提供される
【０１１８】
また、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、
第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体
に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には
前記第２の実体に属する前記第２のインスタンス群からなる第２のリストを表示する第１
表示手段とからなる情報端末の表示方法において、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップを表示し、前記第２のインスタンス群から１または複数の第３の特定インスタンスが選択されると、前記データベース中を検索し、前記第１のインスタンス群の各々について、前記第３の特定インスタンスとのリレーションシップを表示することを特徴とする情報端末の第８の表示方法が提供される。
【０１１９】
また、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、
第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体
に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には
前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示
手段と、前記第１のインスタンス群から第１の特定インスタンス及び第２の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群に含まれる、前記第１の特定インスタンスと前記第２の特定インスタンスに第１の所定の条件で第１のリレーションシップを持つ第３の特定インスタンスについて、前記第１の特定インスタンスおよび前記第２の特定インスタンスとの前記第１のリレーションシップを第１の形態で表示するとともに、前記第１の特定インスタンスと前記第２の特定インスタンスに第２の所定の条件で第２のリレーションシップを持つ第４の特定インスタンスについて、前記第１の特定インスタンスおよび前記第２の特定インスタンスとの前記第２のリレーションシップを第２の形態で表示する第２の表示手段と、を有する第１５のデータベースシステムが提供される。
【０１２０】
また、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示手段と、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップを表示する第２の表示手段とからなり、前記第１のインスタンス群から１または複数の前記第１の特定インスタンスが選択され、かつ前記第２の表示手段によって表示された、前記第１の特定インスタンスと前記第２のインスタンス群の各々とのリレーションシップのうちの１または複数の任意のリレーションシップを選択すると、前記任意のリレーションシップが前記データベースより削除されることを特徴とする第１６のデータベースシステムが提供される。
【０１２１】
また、第１の実体と第２の実体との間のリレーションシップを格納するデータベースと、第１のペインと第２のペインを表示するとともに、前記第１のペイン中に前記第１の実体に属する第１のインスタンス群からなる第１のリストを表示し、前記第２のペイン中には前記第２の実体に属する第２のインスタンス群からなる第２のリストを表示する第１表示手段と、前記第１のインスタンス群から１または複数の第１の特定インスタンスが選択されると、前記データベース中を検索し、前記第２のインスタンス群の各々について、前記第１の特定インスタンスとのリレーションシップを表示する第２の表示手段とからなり、前記第２のインスタンス群のなかで前記第１の特定インスタンスとのリレーションシップが前記データベースに存在しない第３の特定インスタンスを選択すると、前記第１の特定インスタンスと前記第３の特定インスタンスとのリレーションシップが前記データベースに追加されることを特徴とする第１７のデータベースシステムが提供される。
【図面の簡単な説明】
【０１２２】
【図１ａ】多対多のリレーションシップの一例を表す図である。
【図１ｂ】多対多のリレーションシップの一例を表す図である。
【図２】正規化後の一対多のリレーションシップの一例を表すＥＲ図である。
【図３】従来の方法による多対多のリレーションシップの表示画面の一例の説明図である。
【図４】従来の方法による一対多のリレーションシップの表示画面の一例の説明図である。
【図５】従来の方法による逆方向一対多のリレーションシップの一例を表す図である。
【図６】本願発明による情報端末の構成要素の説明図である。
【図７】本願発明の各ステップの概要を説明するフロー図である。
【図８】データベース選択画面の説明図である。
【図９ａ】本願発明による多対多のリレーションシップの表示画面の説明図である。
【図９ｂ】本願発明による多対多のリレーションシップの表示画面の説明図である。
【図１０】本願発明による逆方向多対多のリレーションシップの表示画面の説明図である。
【図１１】本願発明による多対多のリレーションシップの追加方法の説明図である。
【図１２】本願発明による多対多のリレーションシップの削除方法の説明図である。
【図１３】インスタンス選択の詳細ステップを説明するフロー図である。
【図１４】リレーションシップ表示の詳細ステップを説明するフロー図である。
【図１５】リレーションシップ表示の詳細ステップを説明するフロー図である。
【図１６】リレーションシップ変更表示の詳細ステップを説明するフロー図である。
【図１７】リレーションシップ追加の詳細ステップを説明するフロー図である。
【図１８】リレーションシップ削除の詳細ステップを説明するフロー図である。
【図１９ａ】本願発明の情報開示表示および制御への応用を説明する図である。
【図１９ｂ】本願発明の情報開示表示および制御への応用を説明する図である。
【図２０】ツリー構造の分類を説明する図である。
【図２１】ツリー構造の分類を使い検索対象を絞り込む方法の説明図である。
【図２２】タグ付けによる分類を説明する図である。
【図２３ａ】本願発明による検索対象絞り込みの説明図である。
【図２３ｂ】本願発明による検索対象絞り込みの説明図である。
【図２３ｃ】本願発明による検索対象絞り込みの説明図である。
【図２４】本願発明による検索対象絞り込みの説明図である。
【図２５ａ】本願発明による検索対象分類方法の説明図である。
【図２５ｂ】本願発明による検索対象分類方法の説明図である。
【符号の説明】
【０１２３】
６１５  多対多ＲＭＳウィンドウ
６１８  カーソル
８１  ペイン
８３  ペイン
８４  サブペイン
９６  チェックボックス
【図１ａ】
2008310800.tif 000003
【図１ｂ】
2008310800.tif 000004
【図２】
2008310800.tif 000005
【図３】
2008310800.tif 000006
【図４】
2008310800.tif 000007
【図５】
2008310800.tif 000008
【図６】
2008310800.tif 000009
【図７】
2008310800.tif 000010
【図８】
2008310800.tif 000011
【図１０】
2008310800.tif 000012
【図１１】
2008310800.tif 000013
【図１２】
2008310800.tif 000014
【図１３】
2008310800.tif 000015
【図１４】
2008310800.tif 000016
【図１５】
2008310800.tif 000017
【図１６】
2008310800.tif 000018
【図１７】
2008310800.tif 000019
【図１８】
2008310800.tif 000020
【図２０】
2008310800.tif 000021
【図２１】
2008310800.tif 000022
【図２２】
2008310800.tif 000023
【図９ａ】
2008310800.tif 000024
【図９ｂ】
2008310800.tif 000025
【図１９ａ】
2008310800.tif 000026
【図１９ｂ】
2008310800.tif 000027
【図２３ａ】
2008310800.tif 000028
【図２３ｂ】
2008310800.tif 000029
【図２３ｃ】
2008310800.tif 000030
【図２４】
2008310800.tif 000031
【図２５ａ】
2008310800.tif 000032
【図２５ｂ】
2008310800.tif 000033