(57)【特許請求の範囲】
【請求項１】
関係型データベース表を検索する方法であって、
複数の行及び列を有し、前記複数の列の各々が該各々の列内のデータを説明する列名を
有する関係型データベース表を準備することと、
前記関係型データベース表へのアクセスを管理するための関係型データベース管理シス
テム（ＲＤＢＭＳ）を準備することと、
前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ
・タグを提供することと、
少なくとも１つのメタデータ・タグを選択すること、及び、検索文字列を選択すること
に応答して、ＲＤＢＭＳの検索・結合関数により、前記関係型データベース表内の前記少
なくとも１つのメタデータ・タグに対応する前記複数の列の少なくとも幾つかの列を検索
して、前記少なくとも１つのメタデータ・タグに対応する前記複数の列の少なくとも幾つ
かの列内で前記検索文字列と一致するデータを見つけることと、
を含み、
前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ
・タグを提供することは、前記複数の列の少なくとも幾つかの列について、前記少なくとも１つのメタデータ・タグと前記列名が、同じ関係型データベース表内の同じ列に共に存在することを含む、
少なくとも１つのコンピューティング・デバイス上に実装される、方法。
【請求項２】
前記列を検索することは、一致が見つかるまで、又は前記列のリストが消尽するまで、
逐次的に実行される、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのメタデータ・タグを提供することは、前記関係型データベース表
が作成されるときに行われる、請求項１に記載の方法。
【請求項４】
前記少なくとも１つのメタデータ・タグを提供することは、前記関係型データベース表
が作成された後で行われる、請求項１に記載の方法。
【請求項５】
前記少なくとも１つのメタデータ・タグを提供することは、前記複数の列の各列に対し
て少なくとも１つのメタデータ・タグを提供することを含む、請求項１に記載の方法。
【請求項６】
前記少なくとも１つのメタデータ・タグを提供することは、前記複数の列の少なくとも
幾つかの列に対して複数のメタデータ・タグを提供することを含む、請求項１に記載の方
法。
【請求項７】
前記検索することは、前記少なくとも１つのメタデータ・タグに対応する前記複数の列
の少なくとも幾つかの列の各々において、同じ検索文字列を検索することである、請求項
１に記載の方法。
【請求項８】
関係型データベース表を検索する方法であって、
複数の行及び列を有し、前記複数の列の各々が該各々の列内のデータを説明する列名を
有する関係型データベース表を準備することと、
前記関係型データベース表へのアクセスを管理するための関係型データベース管理シス
テム（ＲＤＢＭＳ）を準備することと、
前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ
・タグが提供されたことを検出することと、
前記複数の列の少なくとも幾つかの列に対して少なくとも１つのメタデータ・タグが提
供された場合、前記複数の列の少なくとも幾つかの列に対応するメタデータ・タグのリス
トをフェッチすることと、
少なくとも１つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、ＲＤＢＭＳの検索・結合関数により、前記関係型データベース表内の前記少
なくとも１つのメタデータ・タグに対応する前記複数の列の少なくとも幾つかの列を検索
して、前記少なくとも１つのメタデータ・タグに対応する前記複数の列の少なくとも幾つ
かの列内で前記検索文字列と一致するデータを見つけることと、
を含み、
前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ
・タグが提供されたことを検出することは、前記複数の列の少なくとも幾つかの列について、前記少なくとも１つのメタデータ・タグと前記列名が、同じ関係型データベース表内の同じ列に共に存在することを含む、
少なくとも１つのコンピューティング・デバイス上に実装される、方法。
【請求項９】
前記列を前記検索することは、一致が見つかるまで、又は前記列のリストが消尽するま
で、逐次的に実行される、請求項８に記載の方法。
【請求項１０】
前記少なくとも１つのメタデータ・タグを提供することは、前記関係型データベース表
が作成されるときに行われる、請求項８に記載の方法。
【請求項１１】
前記少なくとも１つのメタデータ・タグを提供することは、前記関係型データベース表
が作成された後で行われる、請求項８に記載の方法。
【請求項１２】
前記少なくとも１つのメタデータ・タグを提供することは、前記複数の列の各列に対し
て少なくとも１つのメタデータ・タグを提供することを含む、請求項８に記載の方法。
【請求項１３】
前記少なくとも１つのメタデータ・タグを提供することは、前記複数の列の少なくとも
幾つかの列に対して複数のメタデータ・タグを提供することを含む、請求項８に記載の方
法。
【請求項１４】
前記検索することは、前記少なくとも１つのメタデータ・タグに対応する前記複数の列
の少なくとも幾つかの列の各々において、同じ検索文字列を検索することである、請求項
８に記載の方法。
【請求項１５】
関係型データベース表を検索するためのコンピュータ・プログラムであって、
複数の行及び列を有し、前記複数の列の各々が該各々の列内のデータを説明する列名を
有する関係型データベース表を準備するように構成されたコンピュータ可読プログラム・
コードと、
前記関係型データベース表へのアクセスを管理するための関係型データベース管理シス
テム（ＲＤＢＭＳ）を準備するように構成されたコンピュータ可読プログラム・コードと
、
前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ
・タグを提供するように構成されたコンピュータ可読プログラム・コードと、
少なくとも１つのメタデータ・タグを選択すること、及び、検索文字列を選択すること
に応答して、ＲＤＢＭＳの検索・結合関数により、前記関係型データベース表内の前記少
なくとも１つのメタデータ・タグに対応する前記複数の列の少なくとも幾つかの列を検索
して、前記検索文字列と一致するデータを見つけるように構成されたコンピュータ可読プ
ログラム・コードと、
を含み、
前記複数の列の少なくとも幾つかの列に対して、前記複数の列の少なくとも幾つかの列
に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ
・タグを提供するように構成されたコンピュータ可読プログラム・コードは、前記複数の列の少なくとも幾つかの列について、前記少なくとも１つのメタデータ・タグと前記列名が、同じ関係型データベース表内の同じ列に共に存在するように構成されたコンピュータ可読プログラム・コードを含む、
コンピュータ・プログラム。
【請求項１６】
前記列を前記検索するように構成された前記コンピュータ可読プログラム・コードは、
一致が見つかるまで、又は前記列のリストが消尽するまで、逐次的に実行される、請求項
１５に記載のコンピュータ・プログラム。
【請求項１７】
前記少なくとも１つのメタデータ・タグを提供するように構成された前記コンピュータ
可読プログラム・コードは、前記関係型データベース表が作成されるときに行われる、請求項１５に記載のコンピュータ・プログラム。
【請求項１８】
前記少なくとも１つのメタデータ・タグを提供するように構成された前記コンピュータ
可読プログラム・コードは、前記関係型データベース表が作成された後で行われる、請求
項１５に記載のコンピュータ・プログラム。
【請求項１９】
前記少なくとも１つのメタデータ・タグを提供するように構成された前記コンピュータ
可読プログラム・コードは、前記複数の列の各列に対して少なくとも１つのメタデータ・
タグを提供するように構成されたコンピュータ可読プログラム・コードを含む、請求項１
５に記載のコンピュータ・プログラム。
【請求項２０】
前記少なくとも１つのメタデータ・タグを提供するように構成された前記コンピュータ
可読プログラム・コードは、前記複数の列の少なくとも幾つかの列に対して複数のメタデ
ータ・タグを提供するように構成されたコンピュータ可読プログラム・コードを含む、請
求項１５に記載のコンピュータ・プログラム。
【請求項２１】
請求項１乃至１４のいずれかに記載の方法に含まれる各ステップをコンピュータに実行
させる、プログラム。
【請求項２２】
請求項１乃至１４のいずれかに記載の方法に含まれる各ステップを実行する手段を備え
る、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
例示的な本実施形態は、関係型データベース管理システムにおける検索に関し、より具体的には、複数の列を同時に検索することができる、関係型データベース管理システムにおける検索の方法に関する。
【背景技術】
【０００２】
関係型データベースは、関連する列と行との２次元の表に編成された、関連するデータの集合であり、表に対して、結合、ソート、マージなどの集合演算を行って、情報を導き出すことができる。
【０００３】
より詳細には、各データベースは、関連する表の集まりである。各表は、列及び行から成る表形式で表された、エンティティ又はオブジェクトの物理表現である。列は、レコードのフィールド又はエンティティの属性である。行は、値又はデータ・インスタンスを収容し、これらはレコード又はタプルとも呼ばれる。
【０００４】
関係は、表内の列の間、及び表同士の間の両方に存在する。これらの関係は、１対１、１対多、又は多対多、の３つの論理形態を取る。ほとんどの関係型データベースは、セル（列と行との交差部）毎に値が１つの値のみが存在するように設計されており、この設計パターンにおいて、表内には１対１関係のみが存在する。各々の表は、人又は住所など、それが収容するデータに従って名称付けられる。
【０００５】
実際のデータベースとシステムのユーザとの間には、関係型データベース管理システム（ＲＤＢＭＳ）として知られるソフトウェア層が存在する。ＲＤＢＭＳは、データベースへの全てのアクセス要求の処理を担当し、任意の具体的なハードウェア実装の詳細からユーザを遮蔽する。ＲＤＢＭＳは、制御システムであり、データの格納、データの取出し、及びデータの更新を含むがこれらに限定されないデータベースの特徴をサポートする。
【０００６】
関係型データベース内に格納されたデータは、典型的には、構造化問合わせ言語（ＳＱＬ）のような問合せ言語で構築されるユーザ定義されたクエリによってアクセスされる。ＳＱＬクエリは、クエリの目的又は所望の結果をユーザにとって意味のある言語で指定する。しかし、クエリを達成するために実行すべきステップ又はステップの順序を定義するわけではないという点で非手続き型である。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、複数の列を同時に検索することができる、関係型データベース管理システムにおける検索の方法を提供することである。
【課題を解決するための手段】
【０００８】
上記及び以下で説明される例示的な実施形態の種々の利点及び目的は、例示的な実施形態の第１の態様により、関係型データベース表を検索する方法を提供することによって達成される。方法は、複数の行及び列を有し、複数の列の各々が該各々の列内のデータを説明する列名を有する関係型データベース表を準備することと、関係型データベース表へのアクセスを管理するための関係型データベース管理システム（ＲＤＢＭＳ）を準備することと、複数の列の少なくとも幾つかの列に対して、複数の列の少なくとも幾つかの列に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ・タグを提供することと、少なくとも１つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、ＲＤＢＭＳの検索・結合関数により、関係型データベース表内の少なくとも１つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列を検索して、少なくとも１つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列内で検索文字列と一致するデータを見つけることと、を含む。この方法は、少なくとも１つのコンピューティング・デバイス上に実装される。
【０００９】
例示的な実施形態の第２の態様により、関係型データベース表を検索する方法が提供される。方法は、複数の行及び列を有し、複数の列の各々が該各々の列内のデータを説明する関係型データベース表を準備することと、関係型データベース表へのアクセスを管理するための関係型データベース管理システム（ＲＤＢＭＳ）を準備することと、複数の列の少なくとも幾つかの列に対して、複数の列の少なくとも幾つかの列に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ・タグが提供されたことを検出することと、複数の列の少なくとも幾つかの列に対して少なくとも１つのメタデータ・タグが提供された場合、複数の列の少なくとも幾つかの列に対応するメタデータ・タグのリストをフェッチすることと、少なくとも１つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、ＲＤＢＭＳの検索・結合関数により、関係型データベース表内の少なくとも１つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列を検索して、少なくとも１つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列内で検索文字列と一致するデータを見つけることと、を含む。この方法は、少なくとも１つのコンピューティング・デバイス上に実装される。
【００１０】
例示的な実施形態の第３の態様により、関係型データベース表を検索するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、具体化されたコンピュータ可読プログラム・コードを有するコンピュータ可読ストレージ媒体を含む。コンピュータ可読プログラム・コードは、複数の行及び列を有し、複数の列の各々が該各々の列内のデータを説明する列名を有する関係型データベース表を準備するように構成されたコンピュータ可読プログラム・コードと、関係型データベース表へのアクセスを管理するための関係型データベース管理システム（ＲＤＢＭＳ）を準備するように構成されたコンピュータ可読プログラム・コードと、複数の列の少なくとも幾つかの列に対して、複数の列の少なくとも幾つかの列に割り当てられる非階層的なキーワード又はタームである、少なくとも１つのメタデータ・タグを提供するように構成されたコンピュータ可読プログラム・コードと、少なくとも１つのメタデータ・タグを選択すること、及び、検索文字列を選択することに応答して、ＲＤＢＭＳの検索・結合関数により、関係型データベース表内の少なくとも１つのメタデータ・タグに対応する複数の列の少なくとも幾つかの列を検索して、検索文字列と一致するデータを見つけるように構成されたコンピュータ可読プログラム・コードと、を含む。
【００１１】
新規であると信ずる例示的な実施形態の特性、及び例示的な実施形態の特徴的な要素は、添付の特許請求の範囲において具体的に示される。図面は例証のみを目的としたものであり、縮尺通りに描かれてはいない。例示的な実施形態は、その編成及び動作方法の両方に関して、以下の詳細な説明を添付の図面と併せて参照することにより、最も良好に理解することができる。
【図面の簡単な説明】
【００１２】
【図１】従来の関係型データベース表である。
【図２】図１のテーブル１に関する従来の列毎のクエリである。
【図３】各列に対するメタデータ・タグを有する関係型データベース表である。
【図４】図３のテーブル１のメタデータ・タグを用いたクエリである。
【図５】例示的な実施形態を実装するためのコンピューティング・デバイスのブロック図である。
【発明を実施するための形態】
【００１３】
図面をより詳細に参照し、特に図１を参照すると、名目的にテーブル１（顧客＿フィードバック）と表示された従来の関係型データベース表１０の例が示されている。関係型データベース表１０は、複数の行１２ａ、１２ｂ、１２ｃ、複数の列１４ａ、１４ｂ、１４ｃ、１４ｄ、及び複数の列名１６ａ、１６ｂ、１６ｃ、１６ｄを含む。図１の関係型データベース表において、各列に対して１つの列名が存在する。よって、列名「ＲＥＣＯＲＤ  ＮＯ．（レコード番号）」１６ａは列１４ａに対応し、列名「ＣＵＳＴＯＭＥＲ（顧客）」１６ｂは列１４ｂに対応し、列名「ＤＥＳＣＲＩＰＴＩＯＮ（説明）」１６ｃは列１４ｃに対応し、列名「ＣＯＭＭＥＮＴＳ（コメント）」１６ｄは列１４ｄに対応する。
【００１４】
関係型データベース表１０へのアクセスは、ＲＤＢＭＳにより処理することができる。ＲＤＢＭＳは、ＳＱＬクエリを通じてデータにアクセスするためのクエリプロセッサを含むことができる。
【００１５】
図１の関係型データベース表１０に関して、ユーザは、同じテキスト又はテキスト・パターンを有するレコードを、関係型データベース表内で性質が類似したものであり得る異なる列を横断して探索することを望むことができる。関係型データベース表１０内に複数名の顧客が存在し得ると仮定すると、例えば、列名「説明」を有する列１４ｃ及び列名「コメント」を有する列１４ｄは、いずれもテキスト「ｅｘｃｅｌｌｅｎｔ（非常に良い）」を含んでいる可能性があるので、テキスト「ｅｘｃｅｌｌｅｎｔ（非常に良い）」を有するレコード又は顧客は、これらの列内で検索することが望ましい場合がある。
【００１６】
関係型データベース表１０の２つの列を従来の方法で検索するには、各列を別々に検索するために２つのクエリを書かなければならないことになる。ここで図２を参照すると、列１４ｃ、１４ｄを検索するために必要なクエリが示される。クエリ１は、列１４ｃ内の説明を、テキスト「ｅｘｃｅｌｌｅｎｔ（非常に良い）」について検索することになる。クエリ１は、以下のように定式化することができる。
【数１】
0006670097.tif 000002
【００１７】
クエリ２は、列１４ｄ内のコメントを、テキスト「ｅｘｃｅｌｌｅｎｔ（非常に良い）」について検索することになる。クエリ２は、以下のように定式化することができる。
【数２】
0006670097.tif 000003
【００１８】
説明の列及びコメントの列の両方をテキスト「ｅｘｃｅｌｌｅｎｔ（非常に良い）」について検索するために、クエリは、以下及び図２に示されるように互いに結合される。
【数３】
0006670097.tif 000004
【００１９】
厳密な構文はＳＱＬベンダの間で異なることがあるが、この単純な検索は、関係型データベース表１０のような関係型データベース表を検索する従来の方法に関する課題、すなわち、検索される各列がそれ自体の検索クエリを必要とし、それらが後で結合されるということを例証する。
【００２０】
現在のＲＤＢＭＳは、関係型データベース表の列を横断する効率的で簡単なコンテンツ検索方法を可能にするものではない。この問題点は、表が以下の特性のうちの１つ又は複数を有する場合に、より顕著になる。
ａ．関係型データベース表が、列を横断して情報を格納するように設計されている場合。例えば、２つ又はそれ以上の列にわたって格納されている製品／サービスの説明。有効な分類は、両方の列の分析を必要とする。
ｂ．関係型データベース表が、異なるタイプのユーザ入力を異なる列内に格納するように設計されている場合。例えば、発行の説明の列、診断の列、解決の列、フィードバックの列を有するサービス・チケット・レコード。効率的な分析は、全ての列内のテキストを考慮しなければならない。
【００２１】
アプリケーション開発者及びデータベース管理者は、この課題に対して、列を別々に検索する複雑なクエリを作成し、次いでその結果集合を結合することにより、対処することができる。
【００２２】
関係型データベース表の複数の列を１つの検索・結合演算で検索することができる解決策を提案する。
【００２３】
例示的な実施形態によれば、関係型データベース表の列の少なくとも幾つか、好ましくは全ての列に対してタグを付加することが提案される。タグは、関係型データベース表の列名に割り当てられる非階層的なキーワード又はタームである。
【００２４】
図１のテーブル１を修正して、各々の列内の各々の列名にメタデータ・タグ（以後、単に「タグ」とする）を付加した。ここで図３のテーブル１（顧客＿フィードバック）２０を参照すると、タグ２２ａ「ＲＥＣＯＲＤ（レコード）」が列１４ａ内の列名「レコード番号」１６ａに付加され、タグ２２ｂ「ＮＡＭＥ（名前）」が列１４ｂ内の列名「ＣＵＳＴＯＭＥＲ（顧客）」１６ｂに付加され、タグ２２ｃ「ＤＥＳＣＲＩＰＴＩＯＮ，ＳＥＮＴＩＭＥＮＴ（説明、所感）」が列１４ｃ内の列名「ＤＥＳＣＲＩＰＴＩＯＮ（説明）」１６ｃに付加され、タグ２２ｄ「ＣＯＭＭＥＮＴＳ，ＳＥＮＴＩＭＥＮＴ（コメント、所感）」が列１４ｄ内の列名「ＣＯＭＭＥＮＴ（コメント）」１６ｄに付加された。
【００２５】
列２２ｃ、２２ｄの場合のように、各列に対して１つより多くのタグが存在し得ることに留意されたい。列毎に１つより多くのタグを有することで、より融通が利く検索が可能になる。
【００２６】
図３の関係型データベース表２０に関してもまた、ユーザは、テキスト「ｅｘｃｅｌｅｎｔ（非常に良い）」を含むレコードを探索することを望むことができる。再び、関係型データベース表２０内に複数名の顧客が存在し得ると仮定すると、例えば、列名「ＤＥＳＣＲＩＰＴＩＯＮ（説明）」を有する列１４ｃ及び列名「ＣＯＭＭＥＮＴＳ（コメント）」を有する列１４ｄは、いずれもテキスト「ｅｘｃｅｌｌｅｎｔ（非常に良い）」を収容している可能性があるので、テキスト「ｅｘｃｅｌｌｅｎｔ（非常に良い）」を有するレコード又は顧客は、これらの列内で検索することが望ましい場合がある。
【００２７】
例示的な実施形態によれば、関係型データベース表２０の２つの列を検索するには、単一の検索・結合演算をタグ「ＳＥＮＴＩＭＥＮＴ（所感）」を用いて行うための１つのクエリを書くだけでよい場合がある。ここで図４を参照すると、列１４ｃ、１４ｄを検索するために必要なクエリが示される。クエリは、以下のように定式化することができる。
【数４】
0006670097.tif 000005
【００２８】
従って、「ＳＥＮＴＩＭＥＮＴ（所感）」タグに対して検索することで、１つの検索・結合演算のみで両方の列を検索することが可能になる。検索は２つの列のみに限定される必要はない。タグを用いて、任意の数の列を組み合わせて検索することができる。
【００２９】
例示的な実施形態によれば、表のレコードは、図３に示される列タグ２２ａ−２２ｄのような列タグに基づいて検索することができる。ＲＤＢＭＳは、クエリがタグベース検索を表しているかどうかを検出する。タグベース検索に関して、ＲＤＢＭＳは、表のメタデータを参照し、１つ又は複数のタグによって表される列名のリストをフェッチする。実際の検索に関して、各々の関連するレコードに対して、ＲＤＢＭＳは、一致が見つかるまで又は一致がないまま列のリストが消尽するまで、全ての列を逐次的に（列の順序に基づいて）検索することができる。
【００３０】
関係型データベース表を作成するときに、以下の（又は類似の）構文を用いてタグを付加することができる。
【数５】
0006670097.tif 000006
【００３１】
現行の既存の関係型データベース表を修正するときには、以下の（又は類似の）構文を用いてタグを付加することができる。
【数６】
0006670097.tif 000007
【００３２】
タグ（ＴＡＧ）は論理的なグループ化なので、制約条件（ＣＯＮＳＴＲＡＩＮＴＳ）は適用可能にはならない。
【００３３】
実際のＳＱＬ構文の設計及びデータ管理アルゴリズムはＲＤＢＭＳベンダの領分であるが、上記のことは、関係型データベース表にタグを付加する一般的な表現である。
【００３４】
タグは、以下のようにしてＲＤＢＭＳに実装することができる。
【００３５】
第１に、列の制約条件と同様に、ＲＤＢＭＳは、１つ又は複数のタグを列レベルで定義し、格納し、及び管理するためのＤＤＬ（データ定義言語）構造及びプロセスを提供する必要がある。ＤＤＬは、データベース内に置かれる。
【００３６】
第２に、ＲＤＢＭＳは、検索・結合機能を、列タグまで拡張する必要がある。タグに対する検索・結合演算は、タグ付けされた全ての列をカバーするようにすべきである。例えば、あるクエリが、あるタグに対してテキストを検索するものである場合、関係型データベースは、それをタグ付けされた全ての列と内部的に比較して、１つ又は複数のタグ付けされた列がその検索文字列に一致した全てのレコードを戻すようにすべきである。
【００３７】
第３に、ＲＤＢＭＳは、索引及びパーティション能力をタグまで拡張する必要がある。あるタグに関して作成された索引は、そのタグを有する全ての列を索引付けするものでなければならない。
【００３８】
第４に、タグ付けは、検索／フィルタリングのみに限定することができる。タグ付けは、ＣＲＵＤ（作成（ｃｒｅａｔｅ）、読み出し（ｒｅａｄ）、更新（ｕｐｄａｔｅ）、及び削除（ｄｅｌｅｔｅ））、集約又は集約関数にまで拡張しないようにすることもできる。
【００３９】
例示的な実施形態を実装するコンピューティング・デバイスは、汎用コンピュータ、又は手持ち式コンピュータのような専用デバイスとすることができる。図５は、コンピューティング・デバイスの１つの例示的なハードウェア環境を示すブロック図である。例示的な実施形態は、マイクロプロセッサ手段、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）及び他のコンポーネントから構成されるコンピュータ５１０を用いて実装することができる。コンピュータ５１０は、パーソナル・コンピュータ、サーバ、メインフレーム・コンピュータ、手持ち式デバイス又は他のコンピューティング・デバイスとすることができる。何らかの型式のストレージ・デバイス５１４が、コンピュータ５１０内に常駐するか又は周辺に存在することができる。
【００４０】
一般的に言って、例示的な実施形態のソフトウェア実装である図５のプログラム５１２は、上述のストレージ・デバイス５１４のようなコンピュータ可読ストレージ媒体内に有形に具体化することができる。プログラム５１２は、コンピュータ５１０のマイクロプロセッサによって読み出されて実行されたときに例示的な実施形態のステップ又は要素を実行するのに必要なステップをコンピュータ５１０に行わせる命令を含むことができる。
【００４１】
本発明は、システム、方法、及び／又はコンピュータ・プログラム製品とすることができる。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する１つ又は複数のコンピュータ可読ストレージ媒体を含むことができる。
【００４２】
コンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持し、格納することができる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のものの任意の適切な組合せとすることが出来るがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、ポータブル・コンパクトディスク読み出し専用メモリ（ＤＣ−ＲＯＭ）、デジタル多目的ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカード若しくは記録された命令を有する溝内に隆起した構造のような機械式コード化デバイス、及び上記のものの任意の適切な組合せを含む。コンピュータ可読ストレージ媒体は、本明細書で用いられる場合、無線波若しくは他の自由に伝搬する電磁波、導波路若しくは他の伝送媒体を通って伝搬する電磁波（例えば光ファイバケーブルを通る光パルス）、又は電線を通って伝送される電気信号のような、それ自体が一時的な信号と解釈されるべきではない。
【００４３】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング／処理デバイスにダウンロードすることも、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク及び／又は無線ネットワークを経由して、外部コンピュータ若しくは外部ストレージ・デバイスにダウンロードすることもできる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び／又はエッジサーバを含むことができる。各コンピューティング／処理デバイス内のネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令をそれぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体にストレージのために転送する。
【００４４】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ（ＩＳＡ）命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ（ｓｔａｔｅ−ｓｅｔｔｉｎｇ  ｄａｔａ）、又は、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語及び「Ｃ」プログラミング言語若しくは類似のプログラミング言語のような従来の手続き型プログラミング言語を含む１つ若しくは複数のプログラミング言語の任意の組合せで記述されたソースコード若しくはオブジェクトコードのいずれか、とすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域ネットワーク（ＷＡＮ）を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続が為される場合もある（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて）。幾つかの実施形態において、例えばプログラム可能論理回路、列プログラム可能ゲートアレイ（ＦＰＧＡ）、又はプログラム可能論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することにより、コンピュータ可読プログラム命令を実行することができる。
【００４５】
本発明の態様は、本明細書において、本発明の態様による方法、装置（システム）、及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図のブロックの組合せは、コンピュータ可読プログラム命令によって実装することができることが理解されよう。
【００４６】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロック内で指定された機能／動作を実装するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、プログラム可能データ処理装置、及び／又は他のデバイスを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、その中に格納された命令を有するコンピュータ可読媒体が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作の態様を実装する命令を含む製品を含むようにすることもできる。
【００４７】
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ、他のプログラム可能装置又は他のデバイス上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実装するようにすることもできる。
【００４８】
図面内のフローチャート及びブロック図は、本開示の種々の実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図中に記された順序とは異なる順序で行われることがある。例えば、連続して示された２つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、及びブロック図及び／又はフローチャート図中のブロックの組合せは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステムによって実装することもでき、又は専用のハードウェアとコンピュータ命令との組合せを実行することができることにも留意されたい。
【００４９】
本開示を考慮した当業者には、本発明の趣旨から逸脱しない、本明細書で具体的に説明された例示的な実施形態を超えたそれら実施形態のその他の修正が明らかとなるであろう。従って、そのような修正は、添付の特許請求の範囲によってのみ制限される本発明の範囲内とみなされる。
【符号の説明】
【００５０】
１０、２０：関係型データベース表
【図１】
0006670097.tif 000008
【図２】
0006670097.tif 000009
【図３】
0006670097.tif 000010
【図４】
0006670097.tif 000011
【図５】
0006670097.tif 000012