(57)【要約】      （修正有）【課題】結合キーとして選択された属性の値が完全に一致していなくてもデータベーステーブル同士を結合できるようにすること。【解決手段】データベース管理装置のジョインモジュールは、マスターテーブルと第１の結合キーとスレーブテーブルと第２の結合キーとが操作者によって指定されたときに（ステップＳ１０１、Ｓ１０２）、スレーブテーブル内の全てのレコードのそれぞれについて、そのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、マスターテーブルの中から検索するとともに、マスターテーブルからレコードが検出できた場合にそれらレコードを結合する。【選択図】図４
2008204194.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
複数のデータベーステーブルの中からマスターテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第１の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第１の受付手段、
複数のデータベーステーブルの中からスレーブテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第２の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第２の受付手段、
前記第２の受付手段が受け付けた情報により特定されるスレーブテーブル内の全てのレコードのそれぞれについて、そのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する検索手段、及び、
前記検索手段により前記スレーブテーブルのレコードのうち、前記マスターテーブルからレコードが検出できたレコードのそれぞれについて、そのレコードを検出レコードに結合して記憶装置内のテーブルに記録する結合手段
として機能させる
ことを特徴とするデータベーステーブル結合プログラム。
【請求項２】
前記検索手段は、前記スレーブテーブルのレコードの第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする請求項１記載のデータベーステーブル結合プログラム。
【請求項３】
前記検索手段は、前記スレーブテーブルのレコードの第２の結合キーの値に対して部分一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする請求項１記載のデータベーステーブル結合プログラム。
【請求項４】
前記検索手段は、前記スレーブテーブルのレコードの第２の結合キーの値に対して後方一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする請求項１記載のデータベーステーブル結合プログラム。
【請求項５】
前記コンピュータを、更に、
前記スレーブテーブルのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルを検索する場合に、第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して部分一致となる値を第２の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して後方一致となる値を第１の結合キーに持つレコードを検出すべきかの指定を、入力装置を通じて操作者から受け付ける第３の受付手段
として機能させ、
前記検索手段は、前記第３の受付手段が受け付けた指定により特定される検索方法に従って、前記マスターテーブルを検索する
ことを特徴とする請求項１記載のデータベーステーブル結合プログラム。
【請求項６】
前記結合手段は、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする請求項１記載のデータベーステーブル結合プログラム。
【請求項７】
前記コンピュータを、更に、
前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限するか、前記スレーブテーブルの複数のレコードが結合されるよう許可するかを指定する情報を、入力装置を通じて操作者から受け付ける第４の受付手段
として機能させ、
前記結合手段は、前記第４の受付手段が受け付けた情報により、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限された場合に、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする請求項１記載のデータベーステーブル結合プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベーステーブルを結合するためのプログラムに、関する。
【背景技術】
【０００２】
周知のように、データベース管理ソフトウエアの多くは、二つのデータベーステーブルを結合して一つのデータベーステーブルを生成するためのジョイン機能を、有している（例えば、非特許文献１及び２、並びに、特許文献１参照）。このジョイン機能は、二つのデータベーステーブルの各レコードが共通の属性を有している場合に、その共通の属性の値が一致するレコード同士を結合して一つのレコードに纏めるというものである。
【０００３】
【非特許文献１】“ＳＱＬ講座「表の結合」”、[online]、有限会社パース、［平成１９年２月２日検索］、インターネット＜ＵＲＬ：http://www.pursue.ne.jp/jouhousyo/SQLDoc/select10.html＞
【非特許文献２】“ＸＭＬ勉強室「ＲＤＢのデータモデル」”、[online]、株式会社メディアフュージョン、［平成１９年２月２日検索］、インターネット＜ＵＲＬ：http://www.mediafusion.co.jp/xml_lesson/use/rdb.html＞
【特許文献１】特開平０６−１１９２１４号公報（段落０００３）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述したジョイン機能によると、互いに異なるデータベーステーブルに所属するレコード同士は、その共通の属性の値が完全に一致していないと、結合されない。しかし、現実問題として、属性値が完全一致していないレコード同士を結合したい場合がある。
【０００５】
例えば、通信販売を運営するウェブサイトでの販売履歴が記録された販売ログテーブルと、当該ウェブサイトの販売商品に関する情報が記録された商品マスターテーブルとがある場合において、その販売ログテーブル内の各レコードに含まれるＵＲＬ［Uniform Resource Locator］と、商品マスターテーブル内の各レコードに含まれるＵＲＬとを、双方のテーブルを結合するための結合キーとすることが考えられる。この場合に、販売ログテーブル内の各レコードに含まれるＵＲＬは、商品の色や材質や形状などの複数の商品関連情報を含むものとなっていることが多いが、商品マスタテーブル内の各レコードに含まれるＵＲＬは、そのような商品関連情報を含まないものとなっていることが多い。そうすると、ＵＲＬを共通の属性とした場合に、販売ログテーブル内のレコードを商品マスターテーブルのレコードに結合しようにも、ＵＲＬ同士の完全一致が期待できないので、従来のジョイン機能では、その結合が不可能となっていた。
【０００６】
また、商品マスターテーブルが、同一商品について、その色や材質や形状の違いに応じて互いに商品関連情報が異なるＵＲＬごとに、複数のレコードを有していれば、販売ログテーブルと商品マスターテーブルの結合に際し、ＵＲＬ同士の完全一致が期待できる。しかしそうすると、商品マスターテーブルのデータ量が膨大となるという問題が新たに発生する。
【０００７】
本発明は、前述した従来技術が有する問題点に鑑みてなされたものであり、その課題は、結合キーとして選択された属性の値が完全に一致していなくてもデータベーステーブル同士を結合できるようにすることにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために案出されたデータベーステーブル結合プログラムは、コンピュータを、複数のデータベーステーブルの中からマスターテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第１の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第１の受付手段、複数のデータベーステーブルの中からスレーブテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第２の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第２の受付手段、前記第２の受付手段が受け付けた情報により特定されるスレーブテーブル内の全てのレコードのそれぞれについて、そのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する検索手段、及び、前記検索手段により前記スレーブテーブルのレコードのうち、前記マスターテーブルからレコードが検出できたレコードのそれぞれについて、そのレコードを検出レコードに結合して記憶装置内のテーブルに記録する結合手段として機能させることを、特徴としている。
【０００９】
このように構成されると、コンピュータは、マスターテーブルと第１の結合キーとスレーブテーブルと第２の結合キーとが操作者によって指定されたときに、スレーブテーブル内の全てのレコードのそれぞれについて、そのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、マスターテーブルの中から検索するとともに、マスターテーブルからレコードが検出できた場合にそれらレコードを結合するよう、動作する。このように、第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードが検索されるので、結合キーとして選択された属性の値が完全に一致してなくても、データベーステーブル同士が結合されることとなる。
【発明の効果】
【００１０】
従って、本発明によれば、結合キーとして選択された属性の値が完全に一致していなくてもデータベーステーブル同士を結合できるようになる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明を実施するための最良の形態について、添付図面を参照しながら、詳細に説明する。
【００１２】
図１は、本実施形態のデータベース管理装置１０の構成図である。
【００１３】
本実施形態のデータベース管理装置１０は、データベースを管理するための機能が付加された一般的なパーソナルコンピュータである。従って、このデータベース管理装置１０は、液晶ディスプレイ等の表示装置１０ａ、キーボードやマウス等の入力装置１０ｂ、及び、これら装置１０ａ、１０ｂに接続された本体とからなる。その本体は、ストレージユニット１０ｃ、ＣＰＵ［Central Processing Unit］１０ｄ、及び、メモリユニット１０ｅ等の周知なハードウエアを、内蔵している。ストレージユニット１０ｃは、各種のプログラムや各種のデータが記録される記憶装置である。ＣＰＵ１０ｄは、ストレージユニット１０ｃ内のプログラムに従って処理を実行する処理装置である。メモリユニット１０ｅは、ＣＰＵ１０ｄが実行するプログラムがキャッシュされたり作業領域が展開されたりする記憶装置である。
【００１４】
そして、このデータベース管理装置１０のストレージユニット１０ｃには、データベース管理機能をパーソナルコンピュータに付加するためのデータベース管理ソフトウエア１１が、導入されている。このデータベース管理ソフトウエア１１は、少なくとも、操作者に指定された二つのデータベーステーブルを結合して一つのデータベーステーブルを生成するためのジョイン機能を実現するためのジョインモジュールプログラム１１ａを、含んでいる。そのジョインモジュールプログラム１１ａに従ってＣＰＵ１０ｄが実行する処理の内容については、図４を用いて後述する。なお、図１には、このジョインモジュールプログラム１１ａの結合対象の一例として、一対のデータベーステーブル１２、１３が、示されている。これらデータベーステーブル１２、１３は、図１では、ストレージユニット１０ｃに記録されたものとなっているが、必ずしもストレージユニット１０ｃに記録されていなくても良い。例えば、これらデータベーステーブル１２、１３は、データベース管理装置１０に対してネットワークを介して接続されている図示せぬデータベース装置に記録されたデータベーステーブルであってもよい。
【００１５】
図２は、本実施形態の結合対象として例示された第１のデータベーステーブル１２のデータ構造図である。また、図３は、本実施形態の結合対象として例示された第２のデータベーステーブル１３のデータ構造図である。
【００１６】
図２及び図３に示すように、第１及び第２のデータベーステーブル１２、１３は、何れも、複数のフィールドを有するレコードが蓄積された一般的なテーブルである。双方のデータベーステーブル１２、１３のレコードは、何れも、先頭レコードからの順番が記録される「番号」フィールドを、有している。また、双方のデータベーステーブル１２、１３のレコードは、互いに共通の属性の値が記録される「イ」及び「甲」フィールドを、有している。なお、互いに共通の属性の値が記録されていない「イ」及び「甲」以外のフィールドは、図２及び図３では空欄で示されているが、実際には、何らかの値を格納している。
【００１７】
図４は、ジョインモジュールプログラム１１ａによる処理の流れを示す図である。
【００１８】
ＣＰＵ１０ｄは、ジョインモジュールプログラム１１ａの実行指示を入力装置１０ｂを通じて受け付けると、ストレージユニット１０ｃからジョインモジュールプログラム１１ａを読み出し、ジョイン処理を実行するようになっている。
【００１９】
そのジョイン処理の開始後、最初のステップＳ１０１では、ＣＰＵ１０ｄは、結合対象として操作者が指定する一つのデータベーステーブルを特定する情報と、そのデータベーステーブルのレコードが有するフィールドの中から操作者が第１の結合キーとして指定する一つのフィールドを特定する情報とを、入力装置１０ｂを通じて操作者から受け付ける。具体的には、ＣＰＵ１０ｄは、データベーステーブルのＵＲＬ［Uniform Resource Locator］やディレクトリやパス等の情報を入力するための入力欄と、フィールド名を入力するための入力欄とを含む入力画面を、表示装置１０ａに表示して、それら入力欄を通じて、任意のデータベーステーブルを特定する情報と任意のフィールドを特定する情報とを取得する。以下、このステップＳ１０１で受け付けられた情報により特定されるデータベーステーブルを、マスターテーブルと表記する。
【００２０】
なお、このステップＳ１０１を実行するＣＰＵ１０ｄは、前述した第１の受付手段に相当する。
【００２１】
次のステップＳ１０２では、ＣＰＵ１０ｄは、結合対象として操作者が指定する一つのデータベーステーブルを特定する情報と、そのデータベーステーブルのレコードが有するフィールドの中から操作者が第２の結合キーとして指定する一つのフィールドを特定する情報とを、入力装置１０ｂを通じて操作者から受け付ける。ここでも、ＣＰＵ１０ｄは、ステップＳ１０１と同様に、入力画面内の各入力欄を通じて、任意のデータベーステーブルを特定する情報と任意のフィールドを特定する情報とを取得する。以下、このステップＳ１０２で受け付けられた情報により特定されるデータベーステーブルを、スレーブテーブルと表記する。
【００２２】
なお、このステップＳ１０２を実行するＣＰＵ１０ｄは、前述した第２の受付手段に相当する。
【００２３】
次のステップＳ１０３では、ＣＰＵ１０ｄは、ステップＳ１０２で受け付けた第２の結合キーの値を含む値を第１の結合キーに持つレコードを、マスターテーブルから検索するときの検索方法として、完全一致、前方一致、部分一致、及び、後方一致の中から選択された一つの検索方法を特定する情報を、入力装置１０ｂを通じて操作者から受け付ける。具体的には、ＣＰＵ１０ｄは、三種類の検索方法が列挙されたドロップダウンリストボックスを含む入力画面を表示装置１０ａに表示して、そのドロップダウンリストボックスを通じて、任意の検索方法の種類を特定する情報を取得する。
【００２４】
なお、このステップＳ１０３を実行するＣＰＵ１０ｄは、第３の受付手段に相当する。
【００２５】
次のステップＳ１０４では、ＣＰＵ１０ｄは、スレーブテーブル内の一つのレコードをマスターテーブル内の複数レコードのそれぞれに結合することを許可するか否かを指定する情報を、入力装置１０ｂを通じて操作者から受け付ける。具体的には、ＣＰＵ１０ｄは、許可又は不許可を示す一対のラジオボタンを含む入力画面を表示装置１０ａに表示して、それらラジオボタンを通じて、複数結合の許可又は不許可を指定する情報を取得する。
【００２６】
なお、このステップＳ１０４を実行するＣＰＵ１０ｄは、第４の受付手段に相当する。
【００２７】
次のステップＳ１０５では、ＣＰＵ１０ｄは、次に行う第１の処理ループＬ１で使用するワークテーブルをメモリ１０ユニットｅ上に新規作成する。
【００２８】
図５は、ワークテーブル２１のデータ構造の一例を示す図である。
【００２９】
図５に示すように、ワークテーブル２１の各レコードは、「マスター」及び「スレーブ」の各フィールドを、有している。「マスター」フィールドは、マスターテーブルのレコードの番号が記録されるフィールドである。「スレーブ」フィールドは、スレーブテーブルのレコードの番号が記録されるフィールドである。
【００３０】
なお、このステップＳ１０５で生成されるワークテーブル２１には、レコードが一つも格納されていない。
【００３１】
ＣＰＵ１０ｄは、このステップＳ１０５で図５に示すようなワークテーブル２１を新規生成した後、第１の処理ループＬ１を実行する。第１の処理ループＬ１では、ＣＰＵ１０ｄは、スレーブテーブル内の全てのレコードのそれぞれについて、ステップＳ１０６乃至Ｓ１１０の処理を、順に実行する。
【００３２】
ステップＳ１０６では、ＣＰＵ１０ｄは、ステップＳ１０４で受け付けた情報が、スレーブテーブル内の一つのレコードをマスターテーブル内の複数のレコードのそれぞれに結合することを許可することを指定するものであるか否かを、判別する。そして、ＣＰＵ１０ｄは、ステップＳ１０４で受け付けた情報が複数レコードへの結合の許可を指定するものであった場合、ステップＳ１０８へ処理を進める。一方、ＣＰＵ１０ｄは、ステップＳ１０４で受け付けた情報が複数レコードへの結合の許可を指定するものでなかった場合、ステップＳ１０６からステップＳ１０７へ処理を分岐させる。
【００３３】
ステップＳ１０７では、ＣＰＵ１０ｄは、処理対象レコードの「番号」フィールドの値が図５のワークテーブル２１に登録済みであるか否かを、判別する。そして、ＣＰＵ１０ｄは、処理対象レコードの「番号」フィールドの値が図５のワークテーブル２１に登録済みであった場合、ステップＳ１０７から処理を分岐させ、第１の処理ループＬ１におけるこの処理対象レコードに対する処理を終了する。一方、ＣＰＵ１０ｄは、処理対象レコードの「番号」フィールドの値が図５のワークテーブル２１に登録済みでなかった場合、ステップＳ１０８へ処理を進める。
【００３４】
ステップＳ１０８では、ＣＰＵ１０ｄは、処理対象レコードにおけるステップＳ１０２で受け付けた第２の結合キーの値を検索条件として、マスターテーブルを検索する。ここで、ＣＰＵ１０ｄは、ステップＳ１０３で受け付けた情報によって特定される検索方法に従って、検索を行う。すなわち、ＣＰＵ１０は、ステップＳ１０３で受け付けた検索方法が前方一致であれば、マスターテーブルのレコードの中から、処理対象レコードの第２の結合キーの値を前方に含む値を第１の結合キーに持つレコードを、検索する。また、ＣＰＵ１０ｄは、ステップＳ１０３で受け付けた検索方法が部分一致であれば、マスターテーブルのレコードの中から、処理対象レコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、検索する。また、ＣＰＵ１０ｄは、ステップＳ１０３で受け付けた検索方法が完全一致であれば、マスターテーブルのレコードの中から、処理対象レコードの第２の結合キーの値に一致する値を第１の結合キーに持つレコードを、検索する。さらに、ＣＰＵ１０ｄは、ステップＳ１０３で受け付けた検索方法が後方一致であれば、マスターテーブルのレコードの中から、処理対象レコードの第２の結合キーの値を後方に含む値を第１の結合キーに持つレコードを、検索する。
【００３５】
なお、このステップＳ１０８を実行するＣＰＵ１０ｄは、前述した検索手段に相当する。
【００３６】
次のステップＳ１０９では、ＣＰＵ１０ｄは、ステップＳ１０８の検索の結果、マスターテーブルからレコードが検出できたか否かを、判別する。そして、マスターテーブルからレコードが検出できなかった場合、ＣＰＵ１０ｄは、ステップＳ１０９から処理を分岐させ、第１の処理ループＬ１におけるこの処理対象レコードに対する処理を終了する。一方、マスターテーブルからレコードが検出できた場合、ＣＰＵ１０ｄは、ステップＳ１１０へ処理を進める。
【００３７】
ステップＳ１１０では、ＣＰＵ１０ｄは、処理対象レコードの「番号」フィールドの値と、ステップＳ１０９で検出したレコードの「番号」フィールドの値とを、対応付けて、ワークテーブル２１に記録する。
【００３８】
ＣＰＵ１０ｄは、スレーブテーブル内の全てのレコードについて、ステップＳ１０６乃至Ｓ１１０の処理を実行し終えると、第１の処理ループＬ１から離脱し、ステップＳ１１１へ処理を進める。
【００３９】
なお、この第１の処理ループＬ１におけるステップＳ１０６、Ｓ１０７、Ｓ１０９、Ｓ１１０を実行するＣＰＵ１０ｄは、前述した結合手段に相当する。
【００４０】
ステップＳ１１１では、ＣＰＵ１０ｄは、マスターテーブルとスレーブテーブルのレコードのうち、図５のワークテーブル２１において対応付けられているレコードについて、その対応付けに応じて両者を結合して、結合したレコードからなる一つの結合テーブル（後述）を生成する。
【００４１】
次のステップＳ１１２では、ＣＰＵ１０ｄは、マスターテーブルとスレーブテーブルのレコードのうち、図５のワークテーブル２１において対応付けられていないレコードを、後述の結合テーブルに登録する。
【００４２】
ＣＰＵ１０ｄは、後述の結合テーブルを生成した後、図４に係るジョイン処理を終了する。
【００４３】
図６は、第１及び第２のデータベーステーブル１２、１３がマスターテーブル及びスレーブテーブルとして選択された場合の結合テーブル３１のデータ構造の一例を示す図である。
【００４４】
図６に示すように、結合テーブル３１の各レコードは、マスターテーブルのレコードとスレーブテーブルのレコードとが有するフィールドを、全て有している。ここで、結合テーブル３１のレコードは、三段に区分することができる。上段には、マスターテーブルのレコードが有するフィールドと同一のフィールドに値を持たず、スレーブテーブルのレコードが有するフィールドと同一のフィールドに値を持ったレコードが、蓄積されている。すなわち、この上段のレコードは、スレーブテーブルのレコードのうち、図５のワークテーブル２１内の情報によってマスターテーブルのレコードに対応付けられていないレコードと、実質的に同じものである。また、下段には、スレーブテーブルのレコードが有するフィールドと同一のフィールドに値を持たず、マスターテーブルのレコードが有するフィールドと同一のフィールドに値を持ったレコードが、蓄積されている。すなわち、この下段のレコードは、マスターテーブルのレコードのうち、図５のワークテーブル２１内の情報によってスレーブテーブルのレコードに対応付けられていないレコードと、実質的に同じものである。そして、中段には、図５のワークテーブル２１内の情報に基づいて結合されて一つに纏められたレコードが、蓄積されている。
【００４５】
本実施形態によれば、図５のワークテーブル２１によって対応付けられていないマスターテーブルのレコードが、結合テーブル３１の下段に登録されるとともに、図５のワークテーブル２１によって対応付けられていないスレーブテーブルのレコードが、結合テーブル３１の上段に登録される。従って、例えば、マスターテーブルのレコードが有するフィールドと同じフィールドに値を持つレコードのみを、結合テーブル３１から簡単に抽出できるようになる。
【００４６】
また、本実施形態によれば、操作者が、一対のデータベーステーブルを結合させる際（ステップＳ１０１、Ｓ１０２）、完全一致でなく、前方一致、部分一致又は後方一致を選択しておけば（ステップＳ１０３）、スレーブテーブルのレコードの第２の結合キーの値に対して前方一致、部分一致又は後方一致となる値を第１の結合キーに持つレコードが、マスターテーブルから検出されて（ステップＳ１０８、Ｓ１０９）、それらレコードが互いに結合される（ステップＳ１１０）。従って、操作者は、マスターテーブルの第１の結合キーの値に完全一致しない属性値を記録したレコードからなるデータベーステーブルであっても、スレーブテーブルに指定することができる。
【００４７】
さらに、本実施形態によれば、操作者は、一対のデータベーステーブルを結合させる際、一度、マスターテーブルのレコードに結合されたスレーブテーブルのレコードを、別のレコードにも結合させるかどうかを、選択することができる（ステップＳ１０４）。
【００４８】
（付記１）
コンピュータを、
複数のデータベーステーブルの中からマスターテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第１の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第１の受付手段、
複数のデータベーステーブルの中からスレーブテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第２の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第２の受付手段、
前記第２の受付手段が受け付けた情報により特定されるスレーブテーブル内の全てのレコードのそれぞれについて、そのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する検索手段、及び、
前記検索手段により前記スレーブテーブルのレコードのうち、前記マスターテーブルからレコードが検出できたレコードのそれぞれについて、そのレコードを検出レコードに結合して記憶装置内のテーブルに記録する結合手段
として機能させる
ことを特徴とするデータベーステーブル結合プログラム。
【００４９】
（付記２）
前記検索手段は、前記スレーブテーブルのレコードの第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記１記載のデータベーステーブル結合プログラム。
【００５０】
（付記３）
前記検索手段は、前記スレーブテーブルのレコードの第２の結合キーの値に対して部分一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記１記載のデータベーステーブル結合プログラム。
【００５１】
（付記４）
前記検索手段は、前記スレーブテーブルのレコードの第２の結合キーの値に対して後方一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記１記載のデータベーステーブル結合プログラム。
【００５２】
（付記５）
前記コンピュータを、更に、
前記スレーブテーブルのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルを検索する場合に、第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して部分一致となる値を第２の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して後方一致となる値を第１の結合キーに持つレコードを検出すべきかの指定を、入力装置を通じて操作者から受け付ける第３の受付手段
として機能させ、
前記検索手段は、前記第３の受付手段が受け付けた指定により特定される検索方法に従って、前記マスターテーブルを検索する
ことを特徴とする付記１記載のデータベーステーブル結合プログラム。
【００５３】
（付記６）
前記結合手段は、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする付記１記載のデータベーステーブル結合プログラム。
【００５４】
（付記７）
前記コンピュータを、更に、
前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限するか、前記スレーブテーブルの複数のレコードが結合されるよう許可するかを指定する情報を、入力装置を通じて操作者から受け付ける第４の受付手段
として機能させ、
前記結合手段は、前記第４の受付手段が受け付けた情報により、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限された場合に、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする付記１記載のデータベーステーブル結合プログラム。
【００５５】
（付記８）
コンピュータが、
複数のデータベーステーブルの中からマスターテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第１の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第１の受付手順、
複数のデータベーステーブルの中からスレーブテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第２の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第２の受付手順、
前記第２の受付手順で受け付けた情報により特定されるスレーブテーブル内の全てのレコードのそれぞれについて、そのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する検索手順、及び、
前記検索手順において前記スレーブテーブルのレコードのうち、前記マスターテーブルからレコードが検出できたレコードのそれぞれについて、そのレコードを検出レコードに結合して記憶装置内のテーブルに記録する結合手順
を実行する
ことを特徴とするデータベーステーブル結合方法。
【００５６】
（付記９）
前記コンピュータが、
前記検索手順において、前記スレーブテーブルのレコードの第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記８記載のデータベーステーブル結合方法。
【００５７】
（付記１０）
前記コンピュータが、
前記検索手順において、前記スレーブテーブルのレコードの第２の結合キーの値に対して部分一致となる値を第１の結合キーを持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記８記載のデータベーステーブル結合方法。
【００５８】
（付記１１）
前記コンピュータが、
前記検索手順において、前記スレーブテーブルのレコードの第２の結合キーの値に対して後方一致となる値を第１の結合キーを持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記８記載のデータベーステーブル結合方法。
【００５９】
（付記１２）
前記コンピュータが、更に、
前記スレーブテーブルのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルを検索する場合に、第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して部分一致となる値を第２の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して後方一致となる値を第１の結合キーに持つレコードを検出すべきかの指定を、入力装置を通じて操作者から受け付ける第３の受付手順
を実行し、
前記検索手順においては、前記第３の受付手順で受け付けた指定により特定される検索方法に従って、前記マスターテーブルを検索する
ことを特徴とする付記８記載のデータベーステーブル結合方法。
【００６０】
（付記１３）
前記コンピュータが、
前記結合手順において、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする付記８記載のデータベーステーブル結合方法。
【００６１】
（付記１４）
前記コンピュータが、更に、
前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限するか、前記スレーブテーブルの複数のレコードが結合されるよう許可するかを指定する情報を、入力装置を通じて操作者から受け付ける第４の受付手順
を実行し、
前記結合手順においては、前記第４の受付手順で受け付けた情報により、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限された場合に、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする付記８記載のデータベーステーブル結合方法。
【００６２】
（付記１５）
複数のデータベーステーブルの中からマスターテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第１の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第１の受付部、
複数のデータベーステーブルの中からスレーブテーブルとして選択された一つのデータベーステーブルを特定する情報と、そのデータベーステーブル内のレコードが有するフィールドのうち第２の結合キーとして選択されたフィールドを特定する情報とを、入力装置を通じて操作者から受け付ける第２の受付部、
前記第２の受付部が受け付けた情報により特定されるスレーブテーブル内の全てのレコードのそれぞれについて、そのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する検索部、及び、
前記検索部により前記スレーブテーブルのレコードのうち、前記マスターテーブルからレコードが検出できたレコードのそれぞれについて、そのレコードを検出レコードに結合して記憶装置内のテーブルに記録する結合部
を備えることを特徴とするデータベーステーブル結合装置。
【００６３】
（付記１６）
前記検索部は、前記スレーブテーブルのレコードの第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記１５記載のデータベーステーブル結合装置。
【００６４】
（付記１７）
前記検索部は、前記スレーブテーブルのレコードの第２の結合キーの値に対して部分一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記１５記載のデータベーステーブル結合装置。
【００６５】
（付記１８）
前記検索部は、前記スレーブテーブルのレコードの第２の結合キーの値に対して後方一致となる値を第１の結合キーに持つレコードを、前記マスターテーブルの中から検索する
ことを特徴とする付記１５記載のデータベーステーブル結合装置。
【００６６】
（付記１９）
前記スレーブテーブルのレコードの第２の結合キーの値を一部に含む値を第１の結合キーに持つレコードを、前記マスターテーブルを検索する場合に、第２の結合キーの値に対して前方一致となる値を第１の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して部分一致となる値を第２の結合キーに持つレコードを検出すべきか、第２の結合キーの値に対して後方一致となる値を第１の結合キーに持つレコードを検出すべきかの指定を、入力装置を通じて操作者から受け付ける第３の受付部を、更に備え、
前記検索部は、前記第３の受付部が受け付けた指定により特定される検索方法に従って、前記マスターテーブルを検索する
ことを特徴とする付記１５記載のデータベーステーブル結合装置。
【００６７】
（付記２０）
前記結合部は、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする付記１５記載のデータベーステーブル結合装置。
【００６８】
（付記２１）
前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限するか、前記スレーブテーブルの複数のレコードが結合されるよう許可するかを指定する情報を、入力装置を通じて操作者から受け付ける第４の受付部を、更に備え、
前記結合部は、前記第４の受付部が受け付けた情報により、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみ結合されるよう制限された場合に、前記マスターテーブルの一つのレコードに対し、前記スレーブテーブルの一つのレコードのみを結合する
ことを特徴とする付記１５記載のデータベーステーブル結合装置。
【図面の簡単な説明】
【００６９】
【図１】本実施形態のデータベース管理装置の構成図
【図２】本実施形態の結合対象として例示された第１のデータベーステーブルのデータ構造図
【図３】本実施形態の結合対象として例示された第２のデータベーステーブルのデータ構造図
【図４】ジョインモジュールプログラムによる処理の流れを示す図
【図５】ワークテーブルのデータ構造の一例を示す図
【図６】第１及び第２のデータベーステーブルがマスターテーブル及びスレーブテーブルとして選択された場合の結合テーブルのデータ構造の一例を示す図
【符号の説明】
【００７０】
１０    データベース管理装置
１０ａ  表示装置
１０ｂ  入力装置
１０ｃ  ストレージユニット
１０ｄ  ＣＰＵ
１０ｅ  メモリユニット
１１    データベース管理ソフトウエア
１１ａ  ジョインモジュールプログラム
１２    データベーステーブル
２１    ワークテーブル
３１    結合テーブル
【図１】
2008204194.tif 000003
【図２】
2008204194.tif 000004
【図３】
2008204194.tif 000005
【図４】
2008204194.tif 000006
【図５】
2008204194.tif 000007
【図６】
2008204194.tif 000008