JP7513086B2 - 統合装置、データテーブル統合方法、プログラム - Google Patents

統合装置、データテーブル統合方法、プログラム Download PDF

Info

Publication number
JP7513086B2
JP7513086B2 JP2022522413A JP2022522413A JP7513086B2 JP 7513086 B2 JP7513086 B2 JP 7513086B2 JP 2022522413 A JP2022522413 A JP 2022522413A JP 2022522413 A JP2022522413 A JP 2022522413A JP 7513086 B2 JP7513086 B2 JP 7513086B2
Authority
JP
Japan
Prior art keywords
data
row
data table
ascending
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022522413A
Other languages
English (en)
Other versions
JPWO2021229724A1 (ja
Inventor
晴道 横山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2021229724A1 publication Critical patent/JPWO2021229724A1/ja
Application granted granted Critical
Publication of JP7513086B2 publication Critical patent/JP7513086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/213Schema design and management with details for schema evolution support
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/08Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、統合装置、データテーブル統合方法、プログラムに関する。
少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルを統合して新たなデータテーブルを生成する技術が存在する。
関連する技術が特許文献1に開示されている。特許文献1には、アウタジョイン(外結合)処理を行って、新たな出力テーブルを生成する技術が開示されている。
特開平03-288967号公報
上述した統合データテーブルの生成において、処理量を軽減できる技術が求められていた。
そこでこの発明は、上述課題を解決する統合装置、データテーブル統合方法、プログラムを提供することを目的としている。
本発明の第1の態様によれば、統合装置は、少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定するユニーク判定手段と、前記第一データテーブルのデータ要素それぞれがユニークである場合には、前記2つのデータテーブルのうちの第二データテーブルの各行のデータ要素と前記第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、前記昇順ソートに適合するように前記第二データテーブルの行を前記昇順ソート後の前記第一データテーブルの最下行に加えることのできる下限位置を特定する位置特定手段と、前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記昇順ソート後の前記第一データテーブルにおける前記下限位置の前記昇順ソートにおける次の行のデータ要素とが一致する場合に、それらデータ要素を示す統合対象行を、前記第二データテーブルと前記第一データテーブルとにおいて特定し、少なくともそれら前記第二データテーブルと前記第一データテーブルとの前記統合対象行を統合した統合データテーブルを生成する統合手段と、を備える。
本発明の第2の態様によれば、データテーブル統合方法は、少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定し、前記第一データテーブルのデータ要素の配列において当該データ要素それぞれがユニークである場合には、前記2つのデータテーブルのうちの第二データテーブルの各行のデータ要素と前記第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、前記第二データテーブルの各行のデータ要素についての前記昇順ソート後の前記第一データテーブルの各行のデータ要素の配列における下限位置を特定し、前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記下限位置であって前記昇順ソート後の前記第一データテーブルの配列における前記下限位置を持つ行のデータ要素とが一致する統合対象行を、前記第二データテーブルと前記第一データテーブルとにおいて特定し、少なくともそれら前記第二データテーブルと前記第一データテーブルとの前記統合対象行を統合した統合データテーブルを生成する。
本発明の第3の態様によれば、プログラムは、統合装置のコンピュータを、少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定するユニーク判定手段、前記第一データテーブルのデータ要素の配列において当該データ要素それぞれがユニークである場合には、前記2つのデータテーブルのうちの第二データテーブルの各行のデータ要素と前記第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、前記第二データテーブルの各行のデータ要素についての前記昇順ソート後の前記第一データテーブルの各行のデータ要素の配列における下限位置を特定する位置特定手段、前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記下限位置であって前記昇順ソート後の前記第一データテーブルの配列における前記下限位置を持つ行のデータ要素とが一致する統合対象行を、前記第二データテーブルと前記第一データテーブルとにおいて特定し、少なくともそれら前記第二データテーブルと前記第一データテーブルとの前記統合対象行を統合した統合データテーブルを生成する統合手段、として機能させる。
本発明によれば、統合データテーブルの生成において、処理量を軽減することができる。
本実施形態による統合装置を備えた情報処理システムの構成を示す図である。 本実施形態による統合装置のハードウェア構成を示す図である。 本実施形態による統合装置の機能ブロック図である。 本実施形態による統合データテーブルの生成例を示す図である。 本実施形態による統合対象の2つのデータテーブルの例を示す第一の図である。 本実施形態による統合装置の処理フローを示す図である。 本実施形態による統合装置の処理概要を示す第一の図である。 本実施形態による統合対象の2つのデータテーブルの例を示す第二の図である。 本実施形態による統合装置の処理概要を示す第二の図である。 本実施形態による統合装置の最小構成を示す図である。 本実施形態による最小構成による統合装置の処理フローを示す図である。
以下、本発明の一実施形態による統合装置を図面を参照して説明する。
図1は同実施形態による統合装置を備えた情報処理システムの構成を示す図である。
図1が示すように、情報処理システム100は、統合装置1と端末2とを通信ネットワークにより接続して構成されてよい。統合装置1は、あらかじめ自装置などで記憶する少なくとも2つのデータテーブルを、1つのデータテーブルへと統合した統合データテーブルを生成する。端末2は統合装置1を操作するユーザが利用する。統合装置1と端末2とはそれぞれコンピュータである。
図2は統合装置のハードウェア構成を示す図である。
図2で示すように、統合装置1は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、データベース104、通信モジュール105等の各ハードウェアを備えたコンピュータである。なお、端末2も、同様のハードウェアを備えたコンピュータである。
図3は統合装置の機能ブロック図である。
統合装置1は、統合データテーブル生成プログラムを実行する。これにより統合装置1は、制御部11、ソート部12、ユニーク判定部13、位置特定部14、統合部15の各機能を発揮する。
制御部11は、統合装置1の各機能部を制御する。
ソート部12は、少なくとも大小比較のできるデータ要素を一つの行の情報として含むデータテーブルの各行を、当該行に含まれるデータ要素に基づいてソートする。
ユニーク判定部13は、少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定する。
位置特定部14は、第一データテーブルのデータ要素それぞれがユニークである場合には、2つのデータテーブルのうちの第二データテーブルの各行のデータ要素と第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行う。位置特定部14は、その大小比較を行って、昇順ソートに適合するように第二データテーブルの行を昇順ソート後の第一データテーブルの最下行に加えることのできる下限位置を特定する。
統合部15は、第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した昇順ソート後の第一データテーブルにおける下限位置の昇順ソートにおける次の行のデータ要素とが一致する場合に、それらデータ要素を示す統合対象行を、第二データテーブルと第一データテーブルとにおいて特定する。統合部15は、少なくともそれら第二データテーブルと第一データテーブルとの統合対象行を統合した統合データテーブルを生成する。
図4は統合データテーブルの生成例を示す図である。
図4で示す統合データテーブルの生成例では、購入履歴テーブル41と、購入者テーブル42の2つのデータテーブルを統合した統合データテーブル43を生成する例を示している。購入履歴テーブル41と、購入者テーブル42の2つのデータテーブルは、それぞれ大小比較のできるデータ要素として購入者IDを、各行のデータ要素として含んでいる。なお、購入履歴テーブル41は2つのデータテーブルのうちの第一データテーブル、購入者テーブル42を2つのデータテーブルのうちの第二データテーブルと見做すことができる。購入者テーブル42を2つのデータテーブルのうちの第一データテーブル、購入履歴テーブル41を2つのデータテーブルのうちの第二データテーブルと見做してもよい。
購入履歴テーブル41は、購入者ID、その購入者IDが示す購入者の購入した商品の名称(商品名)、商品の価格、購入日を示す日付、を紐づけたデータテーブルである。購入者テーブル42は、購入者ID、その購入者IDの購入者の名前、年齢、を紐づけたデータテーブルである。購入者IDに基づいて、それら二つのデータテーブルを統合することにより、購入者ID、商品名、価格、日付、名前、年齢を紐づけた、統合データテーブル43を生成することができる。ここで、統合データテーブル43には、購入者テーブル42に含まれる購入者ID;2、名前;ハナコ、年齢;45を含む行が統合されていない。これは、購入履歴テーブル41において、購入者ID;2、名前;ハナコ、年齢;45で示される人物の購入履歴がない為である。以下、このような統合データテーブルの生成について順を追って説明する。なお統合データテーブルには、購入者ID;2、名前;ハナコ、年齢;45で示される人物の情報を統合してもよい。この場合、当該人物の情報としての商品名、価格、日付の欄に情報が含まれない(NULL)状態となる場合がある。
図5は統合対象の2つのデータテーブルの例を示す第一の図である。
本実施形態による統合対象の2つのデータテーブルである、右テーブル51(第一データテーブル)と左テーブル52(第二データテーブル)とを図5に示す。右テーブル51と左テーブル52のそれぞれは、行IDとキーとを紐づけた行を複数行有している。本実施形態において、右テーブル51と、左テーブル52の2つのデータテーブルは、それぞれ大小比較のできるデータ要素となるキーを、各行のデータ要素として含んでいる。
図6は統合装置の処理フローを示す図である。
図7は統合装置の処理概要を示す第一の図である。
ユーザは端末2を操作して統合装置1にアクセスする。そしてユーザは端末2を操作して、統合装置1に統合対象となる2つのデータテーブルの指定と、それらデータテーブルにおいて大小比較のできるデータ要素の指定と、統合開始の指示を与える。これにより、統合装置1は2つのデータテーブルの統合処理を開始する(ステップS101)。2つのデータテーブルは、図5で示した右テーブル51(第一データテーブル)と、左テーブル52(第二データテーブル)であるとする。なお2つのデータテーブルにおいて大小比較のできるデータ要素の種類は同じであるとする。図6においてはキーが大小比較のできるデータ要素である。2つのデータテーブルにおけるキーの情報は、同じ種類の情報である。
統合装置1の制御部10は統合開始の指示を受け付けると、ソート部12に対して、大小比較のできるデータ要素の昇順ソートを指示する。ソート部12は、右テーブルと左テーブルのそれぞれの各行を、キーを用いて昇順にソートする(ステップS102)。これによりソート部12は、図7(1)で示すように、右テーブル51の各行のキーが、上から順に「1」、「2」、「3」、「6」となるよう右テーブル51の各行を昇順に並び替える。またソート部12は、図7(1)で示すように、左テーブル52の各行のキーが、上から順に「1」、「3」、「3」、「5」となるよう左テーブル52を並び替える。
ソートが完了すると制御部10は、ユニーク判定部13に処理を指示する。ユニーク判定部13は、右テーブル51の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークかを判定する(ステップS103)。ユニーク判定部13は、判定結果を制御部10へ出力する。制御部10は、右テーブル51の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークである場合、そのまま右テーブル51を第一データテーブル、左テーブル52を第二データテーブルと定義して、処理負荷軽減手法による以下のデータテーブルの統合処理を開始する。
ユニーク判定部13は、右テーブル51の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでない場合、次に左テーブル52の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークかを判定する(ステップS104)。ユニーク判定部13は、判定結果を制御部10へ出力する。制御部10は、右テーブル51の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークである場合、右テーブル51と左テーブル52の第一データテーブルと第二データテーブルの定義を逆に入れ替えて、左テーブル52を第一データテーブル、右テーブル51を第二データテーブルと定義し、処理負荷軽減手法による以下のデータテーブルの統合処理を開始する。今、左テーブル52の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでない。つまり、左テーブル52においてキー「3」を有する行が2行ある。従って、右テーブル51を第一データテーブル、左テーブル52を第二データテーブルと定義して、処理負荷軽減手法による以下のデータテーブルの統合処理を開始する場合の説明を続ける。
なお、ユニーク判定部13は、右テーブル51の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでなく、左テーブル52の各行の大小比較のできるデータ要素としてのキーもそれぞれユニークでない場合、その判定結果を制御部10へ出力する。制御部10は、いずれのデータテーブルも各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでない場合、処理負荷を軽減することができないデータテーブルの統合処理へ切り替えると判定する(ステップS105)。
なお上述の処理においては、ソート部12が、右テーブル51と左テーブル52の両方のデータテーブルにおいて、各行の大小比較のできるデータ要素としてのキーを昇順にソートしているが、少なくとも、大小比較のできるデータ要素としてのキーがそれぞれユニークとなるデータテーブルを、ソートすればよい。
制御部10は、処理負荷軽減手法によるデータテーブルの統合処理を開始した場合、その処理負荷軽減手法によるデータテーブルの統合処理を位置特定部14へ出力する。位置特定部14は、n=1と設定し、左テーブル52のn=1行目を特定する。左テーブル52の1(n=1)行目は行ID=L3の行である。位置特定部14は、L3行のキー「1」を取得する。位置特定部14は、左テーブル52のL3の行のデータ要素であるキー「1」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル52のL3行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置を特定する。ここで、図7の(1)で示すように、右テーブル51において各行の間をそれぞれ境界位置B0~B4と呼ぶこととする。左テーブル52のL3の行のデータ要素であるキー「1」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル52のL3行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置は、境界位置B0となる。つまりこの場合、下限位置はB0である。
同様に位置特定部14は、n=n+1によりn=2と設定し、左テーブル52のn=2行目を特定する。左テーブル52の2(n=2)行目は行ID=L0の行である。位置特定部14は、L0行のキー「3」を取得する。位置特定部14は、左テーブル52のL0の行のデータ要素であるキー「3」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル52のL0行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置を特定する。左テーブル52のL0の行のデータ要素であるキー「3」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル52のL0行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置は、境界位置B2となる。つまりこの場合、下限位置はB2である。
同様に位置特定部14は、n=n+1によりn=3と設定し、左テーブル52のn=3行目を特定する。左テーブル52の3(n=3)行目は行ID=L2の行である。位置特定部14は、L2行のキー「3」を取得する。位置特定部14は、左テーブル52のL2の行のデータ要素であるキー「3」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル52のL2行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置を特定する。左テーブル52のL2の行のデータ要素であるキー「3」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル52のL2行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置は、境界位置B2となる。つまりこの場合、下限位置はB2である。
同様に位置特定部14は、n=n+1によりn=4と設定し、左テーブル52のn=4行目を特定する。左テーブル52の4(n=4)行目は行ID=L1の行である。位置特定部14は、L1行のキー「5」を取得する。位置特定部14は、左テーブル52のL1の行のデータ要素であるキー「5」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル52のL1行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置を特定する。左テーブル52のL1の行のデータ要素であるキー「5」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル52のL1行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置は、境界位置B3となる。つまりこの場合、下限位置はB3である。
これにより位置特定部14は、左テーブル52のL3行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置をB0と特定する。また位置特定部14は、左テーブル52のL0行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置をB2と特定する。また位置特定部14は、左テーブル52のL2行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置をB2と特定する。また位置特定部14は、左テーブル52のL1行を昇順ソート後の右テーブル51の最下行に加えることのできる下限位置をB3と特定する。つまり、位置特定部14は、左テーブル52の全ての行についての、昇順ソート後の右テーブル51の最下行に加えることのできる下限位置を特定する(ステップS106)。そして位置特定部14は、左テーブル52の行IDと、その行IDについて特定した下限位置とを紐づけた位置特定テーブル53を生成する。そして、位置特定部14は、制御部10へ処理終了を出力する。
当該位置特定部14の処理は、第一データテーブル(右テーブル51)のデータ要素それぞれがユニークである場合に、2つのデータテーブルのうちの第二データテーブル(左テーブル52)の各行のデータ要素と第一データテーブル(右テーブル51)の各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、昇順ソートに適合するように第二データテーブル(左テーブル52)の行を昇順ソート後の第一データテーブル(右テーブル51)の最下行に加えることのできる下限位置を特定する処理の一態様である。なお上述の大小比較は、二分探索を用いて行う。または大小比較は他の探索手法を用いてもよい。例えば大小比較を、単純探索により行ってもよい。データ要素であるキーの昇順ソート後に大小比較を行うため、二分探索をすることで処理量、処理負荷を軽減することができる。
制御部10は次に、統合部15に2つのデータテーブルの統合を指示する。すると統合部15は、左テーブル52と、右テーブル51と、位置特定テーブル53とを参照し、n=1と設定し、左テーブルのn=1行目の行(行ID=L3)のデータ要素であるキー「1」と、当該行L3のデータ要素であるキー「1」を用いて特定した昇順ソート後の右テーブル51における下限位置B0の昇順ソートにおける次の行R1のデータ要素であるキー「1」とが一致するかを判定する。この場合キーはそれぞれ「1」であるため一致する。従って、統合部15は、それら行L3と行R1を統合対象行と特定し、それら行L3と行R1とを統合した、行ID「L3」、行ID「R1」、キー「1」を行に含む統合データテーブルを生成する。
統合部15は次に、n=n+1=2と設定し、左テーブルのn=2行目の行(行ID=L0)のデータ要素であるキー「3」と、当該行L0のデータ要素であるキー「3」を用いて特定した昇順ソート後の右テーブル51における下限位置B2の昇順ソートにおける次の行R2のデータ要素であるキー「3」とが一致するかを判定する。この場合キーはそれぞれ「3」であるため一致する。従って、統合部15は、それら行L0と行R2を統合対象行と特定し、それら行L0と行R2とを統合した、行ID「L0」、行ID「R2」、キー「3」を含む行を統合データテーブルにマージする。
統合部15は次に、n=n+1=3と設定し、左テーブルのn=3行目の行(行ID=L2)のデータ要素であるキー「3」と、当該行L2のデータ要素であるキー「3」を用いて特定した昇順ソート後の右テーブル51における下限位置B2の昇順ソートにおける次の行R2のデータ要素であるキー「3」とが一致するかを判定する。この場合キーはそれぞれ「3」であるため一致する。従って、統合部15は、それら行L2と行R2を統合対象行と特定し、それら行L2と行R2とを統合した、行ID「L2」、行ID「R2」、キー「3」を含む行を統合データテーブルにマージする。
統合部15は次に、n=n+1=4と設定し、左テーブルのn=4行目の行(行ID=L1)のデータ要素であるキー「5」と、当該行L1のデータ要素であるキー「5」を用いて特定した昇順ソート後の右テーブル51における下限位置B3の昇順ソートにおける次の行R3のデータ要素であるキー「6」とが一致するかを判定する。この場合キーはそれぞれ「5」と「6」であるため一致しない。従って、統合部15は、それら行L1と行R3を統合対象行と特定しない。なお、ある統合処理においては、行L1の情報のみを統合データテーブルにマージしてもよい。
そして統合部15は、左テーブル52の全ての行について同様の統合対象行とするかの特定を行って、統合対象行と特定した左テーブル52の行と、右テーブル51の行とを統合して統合データテーブルにマージする。これにより統合データテーブルを生成する(ステップS107)。
一方、制御部10は、ステップS105において処理負荷を軽減することができないデータテーブルの統合処理へ切り替えると判定した場合、そのデータテーブルの統合処理を位置特定部14へ出力する。
図8は統合対象の2つのデータテーブルの例を示す第二の図である。
右テーブル61(第一データテーブル)と左テーブル62(第二データテーブル)とを図6に示す。右テーブル61と左テーブル62のそれぞれは、行IDとキーとを紐づけた行を複数行有している。図8で示すように右テーブル61と左テーブル62の何れのデータテーブルも、データテーブル内の各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでない。例えば右テーブル61ではキー「1」となる行が2つ存在し、各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでない。また左テーブル62ではキー「3」となる行が2つ存在し、各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでない。このように、いずれのデータテーブルも各行の大小比較のできるデータ要素としてのキーがそれぞれユニークでない場合、以下のデータテーブルの統合処理が行われる。
図9は統合装置の処理概要を示す第二の図である。
すでにステップS102により昇順ソートが行われているとすると、図9(2)の右テーブル61で示すように、右テーブル61の各行のキーが、上から順に「1」、「1」「2」、「3」となるよう各行が昇順に並び替えられている。また図9(2)の左テーブル62で示すように、左テーブル62の各行のキーが、上から順に「1」、「3」、「3」、「5」となるよう各行が昇順に並び変えられている。
そして制御部10からの指示により、位置特定部14は、処理負荷軽減手法によるデータテーブルの統合処理における下限位置の特定と同様の処理を行う。つまり、位置特定部14は、n=1と設定し、左テーブル62のn=1行目を特定する。左テーブル62の1(n=1)行目は行ID=L3の行である。位置特定部14は、L3行のキー「1」を取得する。位置特定部14は、左テーブル62のL3の行のデータ要素であるキー「1」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル62のL3行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置を特定する。ここで、図9の(1)で示すように、右テーブル61において各行の間をそれぞれ位置B0~B4と呼ぶこととする。左テーブル62のL3の行のデータ要素であるキー「1」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL3行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置は、境界位置B0となる。つまりこの場合、下限位置はB0である。
同様に位置特定部14は、n=n+1によりn=2と設定し、左テーブル62のn=2行目を特定する。左テーブル62の2(n=2)行目は行ID=L0の行である。位置特定部14は、L0行のキー「3」を取得する。位置特定部14は、左テーブル62のL0の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル62のL0行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置を特定する。左テーブル62のL0の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL0行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置は、境界位置B3となる。つまりこの場合、下限位置はB3である。
同様に位置特定部14は、n=n+1によりn=3と設定し、左テーブル62のn=3行目を特定する。左テーブル62の3(n=3)行目は行ID=L2の行である。位置特定部14は、L2行のキー「3」を取得する。位置特定部14は、左テーブル62のL2の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル62のL2行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置を特定する。左テーブル62のL2の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL2行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置は、境界位置B3となる。つまりこの場合、下限位置はB3である。
同様に位置特定部14は、n=n+1によりn=4と設定し、左テーブル62のn=4行目を特定する。左テーブル62の4(n=4)行目は行ID=L1の行である。位置特定部14は、L1行のキー「5」を取得する。位置特定部14は、左テーブル62のL1の行のデータ要素であるキー「5」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル62のL1行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置を特定する。左テーブル62のL1の行のデータ要素であるキー「5」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL1行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置は、境界位置B4となる。つまりこの場合、下限位置はB4である。
これにより位置特定部14は、左テーブル62のL3行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置をB0と特定する。また位置特定部14は、左テーブル62のL0行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置をB3と特定する。また位置特定部14は、左テーブル62のL2行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置をB3と特定する。また位置特定部14は、左テーブル62のL1行を昇順ソート後の右テーブル61の最下行に加えることのできる下限位置をB4と特定する。つまり、位置特定部14は、左テーブル62の全ての行についての、昇順ソート後の右テーブル61の最下行に加えることのできる下限位置を特定する(ステップS201)。
当該位置特定部14のステップS201の処理は、第一データテーブル(右テーブル61)のデータ要素それぞれがユニークでない場合に、2つのデータテーブルのうちの第二データテーブル(左テーブル62)の各行のデータ要素と第一データテーブル(右テーブル61)の各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、昇順ソートに適合するように第二データテーブル(左テーブル62)の行を昇順ソート後の第一データテーブル(右テーブル61)の最下行に加えることのできる下限位置を特定する処理の一態様である。上述の大小比較は、二分探索を用いて行う。または大小比較は他の探索手法を用いてもよい。例えば大小比較を単純探索により行ってもよい。データ要素であるキーの昇順ソート後に大小比較を行うため、二分探索をすることで処理量、処理負荷を軽減することができる。
次に位置特定部14は、処理負荷軽減手法によるデータテーブルの統合処理において行わなかった上限位置の特定を行う。つまり、位置特定部14は、n=1と設定し、左テーブル52のn=1行目を特定する。左テーブル52の1(n=1)行目は行ID=L3の行である。位置特定部14は、L3行のキー「1」を取得する。位置特定部14は、左テーブル52のL3の行のデータ要素であるキー「1」と、右テーブル51の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル52のL3行を昇順ソート後の右テーブル51の最上行に加えることのできる上限位置を特定する。左テーブル62のL3の行のデータ要素であるキー「1」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL3行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置は、境界位置B2となる。つまりこの場合、上限位置はB2である。
同様に位置特定部14は、n=n+1によりn=2と設定し、左テーブル62のn=2行目を特定する。左テーブル62の2(n=2)行目は行ID=L0の行である。位置特定部14は、L0行のキー「3」を取得する。位置特定部14は、左テーブル62のL0の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル62のL0行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置を特定する。左テーブル62のL0の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL0行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置は、境界位置B4となる。つまりこの場合、上限位置はB4である。
同様に位置特定部14は、n=n+1によりn=3と設定し、左テーブル62のn=3行目を特定する。左テーブル62の3(n=3)行目は行ID=L2の行である。位置特定部14は、L2行のキー「3」を取得する。位置特定部14は、左テーブル62のL2の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル62のL2行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置を特定する。左テーブル62のL2の行のデータ要素であるキー「3」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL2行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置は、境界位置B4となる。つまりこの場合、上限位置はB4である。
同様に位置特定部14は、n=n+1によりn=4と設定し、左テーブル62のn=4行目を特定する。左テーブル62の4(n=4)行目は行ID=L1の行である。位置特定部14は、L1行のキー「5」を取得する。位置特定部14は、左テーブル62のL1の行のデータ要素であるキー「5」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のキーとの大小比較を行って、昇順ソートに適合するように左テーブル62のL1行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置を特定する。左テーブル62のL1の行のデータ要素であるキー「5」と、右テーブル61の各行のデータ要素であるキーを用いた昇順ソート後の各行のデータ要素との大小比較を行うと、昇順ソートに適合するように左テーブル62のL1行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置は、境界位置B4となる。つまりこの場合、上限位置はB4である。
これにより位置特定部14は、左テーブル62のL3行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置をB2と特定する。また位置特定部14は、左テーブル62のL0行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置をB4と特定する。また位置特定部14は、左テーブル62のL2行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置をB4と特定する。また位置特定部14は、左テーブル62のL1行を昇順ソート後の右テーブル61の最上行に加えることのできる上限位置をB4と特定する。つまり、位置特定部14は、左テーブル62の全ての行についての、昇順ソート後の右テーブル61の最上行に加えることのできる上限位置を特定する(ステップS202)。そして位置特定部14は、左テーブル62の行IDと、その行IDについて特定した下限位置と、上限位置とを紐づけた位置特定テーブル63を生成する。そして、位置特定部14は、制御部10へ処理終了を出力する。
当該位置特定部14の処理は、第一データテーブル(右テーブル61)のデータ要素それぞれがユニークでない場合に、2つのデータテーブルのうちの第二データテーブル(左テーブル62)の各行のデータ要素と第一データテーブル(右テーブル61)の各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、昇順ソートに適合するように第二データテーブル(左テーブル62)の行を昇順ソート後の第一データテーブル(右テーブル61)の最上行に加えることのできる上限位置を特定する処理の一態様である。なお上述の上限位置の特定における大小比較も、二分探索を用いて行う。または上限位置の特定における大小比較は他の探索手法を用いてもよい。例えば上限位置の特定における大小比較を単純探索を用いて行ってもよい。データ要素であるキーの昇順ソート後に大小比較を行うため、二分探索をすることで処理量、処理負荷を軽減することができる。
制御部10は次に、統合部15に2つのデータテーブルの統合を指示する。すると統合部15は、左テーブル62と、右テーブル61と、位置特定テーブル63とを参照し、n=1と設定し、左テーブル62のn=1行目の行(行ID=L3)のデータ要素であるキー「1」と、当該行L3のデータ要素であるキー「1」を用いて特定した昇順ソート後の右テーブル61における下限位置B0の昇順ソートにおける次の行R1のデータ要素であるキー「1」とが一致するかを判定する。この場合キーはそれぞれ「1」であるため一致する。従って、統合部15は、それら行L3と行R1を統合対象行と特定し、それら行L3と行R1とを統合した、行ID「L3」、行ID「R1」、キー「1」を行に含む統合データテーブルを生成する。
統合部15は左テーブル62のn=1行目の行(行ID=L3)について特定した右テーブル61の上限位置B2の次の行R0のデータ要素との一致判定を行っていない為、当該n=1行目を用いた一致判定を続ける。統合部15は、左テーブルのn=1行目の行(行ID=L3)のデータ要素であるキー「1」と、当該行L3のデータ要素であるキー「1」を用いて特定した昇順ソート後の右テーブル51における下限位置B0の次に上の境界位置B1の昇順ソートにおける次の行R3のデータ要素であるキー「1」とが一致するかを判定する。この場合キーはそれぞれ「1」であるため一致する。従って、統合部15は、それら行L3と行R3を統合対象行と特定し、それら行L3と行R3とを統合した、行ID「L3」、行ID「R3」、キー「1」を含む行を統合データテーブルにマージする。
統合部15は左テーブル62のn=1行目の行(行ID=L3)について特定した右テーブル61の上限位置B2の次の行のデータ要素との一致判定を行っていない為、当該n=1行目を用いた一致判定を続ける。統合部15は、左テーブルのn=1行目の行(行ID=L3)のデータ要素であるキー「1」と、当該行L3のデータ要素であるキー「1」を用いて特定した昇順ソート後の右テーブル51における境界位置B1の次に上の境界位置B2の昇順ソートにおける次の行R0のデータ要素であるキー「2」とが一致するかを判定する。この場合キーはそれぞれ「1」、「2」であるため一致しない。従って、統合部15は、それら行L3と行R0を統合対象行と特定しない。そして、統合部15は、境界位置B2は左テーブル62のn=1行目の行(行ID=L3)について特定した上限位置であり、これにより、左テーブル62のn=1行目の行(行ID=L3)について特定した右テーブル61の上限位置B2の次の行のデータ要素との一致判定を行ったため、n=1行目の処理を終了する。
次に統合部15は、左テーブル62と、右テーブル61と、位置特定テーブル63とを参照し、n=n+1=2と設定し、左テーブル62のn=2行目の行(行ID=L0)のデータ要素であるキー「3」と、当該行L0のデータ要素であるキー「3」を用いて特定した昇順ソート後の右テーブル61における下限位置B3の昇順ソートにおける次の行R2のデータ要素であるキー「3」とが一致するかを判定する。この場合キーはそれぞれ「3」であるため一致する。従って、統合部15は、それら行L0と行R2を統合対象行と特定し、それら行L0と行R2とを統合した、行ID「L0」、行ID「R2」、キー「3」を含む行を統合データテーブルにマージする。
統合部15は左テーブル62のn=2行目の行(行ID=L0)について特定した右テーブル61の上限位置B4の次の行のデータ要素との一致判定を行っていない為、当該n=2行目を用いた一致判定を続ける。統合部15は、左テーブル62のn=2行目の行(行ID=L0)のデータ要素であるキー「3」と、当該行L0のデータ要素であるキー「3」を用いて特定した昇順ソート後の右テーブル61における下限位置B3の次に上の境界位置B4の昇順ソートにおける次の行のデータ要素であるキーとが一致するかを判定する。この場合、統合部15は、境界位置B4の昇順ソートにおける次の行がなく、境界位置B4は左テーブル62のn=2行目の行(行ID=L0)について特定した上限位置であるため、処理を終了する。
次に統合部15は、左テーブル62と、右テーブル61と、位置特定テーブル63とを参照し、n=n+1=3と設定し、左テーブル62のn=3行目の行(行ID=L2)のデータ要素であるキー「3」と、当該行L2のデータ要素であるキー「3」を用いて特定した昇順ソート後の右テーブル61における下限位置B3の昇順ソートにおける次の行R2のデータ要素であるキー「3」とが一致するかを判定する。この場合キーはそれぞれ「3」であるため一致する。従って、統合部15は、それら行L2と行R2を統合対象行と特定し、それら行L2と行R2とを統合した、行ID「L2」、行ID「R2」、キー「3」を含む行を統合データテーブルにマージする。
統合部15は左テーブル62のn=3行目の行(行ID=L2)について特定した右テーブル61の上限位置B4の次の行のデータ要素との一致判定を行っていない為、当該n=3行目を用いた一致判定を続ける。統合部15は、左テーブル62のn=3行目の行(行ID=L2)のデータ要素であるキー「3」と、当該行L2のデータ要素であるキー「3」を用いて特定した昇順ソート後の右テーブル61における下限位置B3の次に上の境界位置B4の昇順ソートにおける次の行のデータ要素であるキーとが一致するかを判定する。この場合、統合部15は、境界位置B4の昇順ソートにおける次の行がなく、境界位置B4は左テーブル62のn=3行目の行(行ID=L2)について特定した上限位置であるため、処理を終了する。
次に統合部15は、左テーブル62と、右テーブル61と、位置特定テーブル63とを参照し、n=n+1=4と設定し、左テーブル62のn=4行目の行(行ID=L1)のデータ要素であるキー「5」と、当該行L1のデータ要素であるキー「5」を用いて特定した昇順ソート後の右テーブル61における下限位置B4の昇順ソートにおける次の行R2のデータ要素であるキーとが一致するかを判定する。この場合、統合部15は、境界位置B4の昇順ソートにおける次の行がなく、境界位置B4は左テーブル62のn=4行目の行(行ID=L2)について特定した上限位置でもあるため、処理を終了する。
そして統合部15は、左テーブル62の全ての行について同様の統合対象行とするかの特定を行って、統合対象行と特定した左テーブル62の行と、右テーブル61の行とを統合して統合データテーブルにマージする。これにより統合データテーブルを生成する(ステップS203)。
上述の処理によれば、2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークである場合には、下限位置を特定するだけでよく、第一データテーブルのデータ要素それぞれがユニークでない場合には、下限位置と上限位置とをそれぞれ特定している。従って、2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークである場合には、下限位置を特定するのみで、統合データテーブルを生成するにあたり、処理負荷、処理量を軽減することができる。
図10は統合装置の最小構成を示す図である。
図11は最小構成による統合装置の処理フローを示す図である。
図10で示すように統合装置1は、ユニーク判定手段1001、位置特定手段1002、統合手段1003を少なくとも備える。
ユニーク判定手段1001は、少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定する(ステップS301)。
位置特定手段1002は、第一データテーブルのデータ要素それぞれがユニークである場合には、第二データテーブルの各行のデータ要素と第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、昇順ソートに適合するように第二データテーブルの行を昇順ソート後の第一データテーブルの最下行に加えることのできる下限位置を特定する(ステップS302)。
統合手段1003は、第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した昇順ソート後の第一データテーブルにおける下限位置の昇順ソートにおける次の行のデータ要素とが一致する場合に、それらデータ要素を示す統合対象行を特定し、少なくともそれら第二データテーブルと第一データテーブルとの統合対象行を統合した統合データテーブルを生成する(ステップS303)。
ここで、上述の統合装置1は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1・・・統合装置
2・・・端末
11・・・制御部
12・・・ソート部
13・・・ユニーク判定部
14・・・位置特定部
15・・・統合部
100・・・情報処理システム

Claims (6)

  1. 少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定し、 前記2つのデータテーブルのうちの一方のデータテーブルを前記第一データテーブルとして定義して前記第一データテーブルのデータ要素それぞれがユニークであるかを判定した結果、当該第一データテーブルのデータ要素それぞれがユニークでない場合、前記2つのデータテーブルのうちの他方のデータテーブルを前記第一データテーブルとして新たに定義して前記第一データテーブルのデータ要素それぞれがユニークであるかを判定するユニーク判定手段と、
    前記第一データテーブルのデータ要素それぞれがユニークである場合には、前記2つのデータテーブルのうちの第二データテーブルの各行のデータ要素と前記第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、前記昇順ソートに適合するように前記第二データテーブルの行を前記昇順ソート後の前記第一データテーブルの最下行に加えることのできる下限位置を特定する位置特定手段と、
    前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記昇順ソート後の前記第一データテーブルにおける前記下限位置の前記昇順ソートにおける次の行のデータ要素とが一致する場合に、それらデータ要素を示す統合対象行を、前記第二データテーブルと前記第一データテーブルとにおいて特定し、少なくともそれら前記第二データテーブルと前記第一データテーブルとの前記統合対象行を統合した統合データテーブルを生成する統合手段と、
    を備える統合装置。
  2. 前記統合手段は、前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記昇順ソート後の前記第一データテーブルにおける前記下限位置の前記昇順ソートにおける次の行のデータ要素とが一致しない場合には、当該第二データテーブルの行を、前記第一データテーブルにおける前記下限位置の前記昇順ソートにおける次の行と統合せずに、前記統合データテーブルにマージする
    請求項1に記載の統合装置。
  3. 前記統合手段は、前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記昇順ソート後の前記第一データテーブルにおける前記下限位置の前記昇順ソートにおける次の行のデータ要素とが一致しない場合には、当該第一データテーブルにおける前記下限位置の前記昇順ソートにおける次の行を、前記第二データテーブルの行と統合せずに、前記統合データテーブルにマージする
    請求項1または請求項2に記載の統合装置。
  4. 二分探索を用いて前記大小比較を行う請求項1から請求項3の何れか一項に記載の統合装置。
  5. 少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定し、
    前記2つのデータテーブルのうちの一方のデータテーブルを前記第一データテーブルとして定義して前記第一データテーブルのデータ要素それぞれがユニークであるかを判定した結果、当該第一データテーブルのデータ要素それぞれがユニークでない場合、前記2つのデータテーブルのうちの他方のデータテーブルを前記第一データテーブルとして新たに定義して前記第一データテーブルのデータ要素それぞれがユニークであるかを判定し、
    前記第一データテーブルのデータ要素の配列において当該データ要素それぞれがユニークである場合には、前記2つのデータテーブルのうちの第二データテーブルの各行のデータ要素と前記第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、前記第二データテーブルの各行のデータ要素についての前記昇順ソート後の前記第一データテーブルの各行のデータ要素の配列における下限位置を特定し、
    前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記下限位置であって前記昇順ソート後の前記第一データテーブルの配列における前記下限位置を持つ行のデータ要素とが一致する統合対象行を、前記第二データテーブルと前記第一データテーブルとにおいて特定し、少なくともそれら前記第二データテーブルと前記第一データテーブルとの前記統合対象行を統合した統合データテーブルを生成する
    データテーブル統合方法。
  6. 統合装置のコンピュータを、
    少なくとも大小比較のできるデータ要素を一つの行の情報として含む2つのデータテーブルのうちの第一データテーブルのデータ要素それぞれがユニークであるかを判定し、 前記2つのデータテーブルのうちの一方のデータテーブルを前記第一データテーブルとして定義して前記第一データテーブルのデータ要素それぞれがユニークであるかを判定した結果、当該第一データテーブルのデータ要素それぞれがユニークでない場合、前記2つのデータテーブルのうちの他方のデータテーブルを前記第一データテーブルとして新たに定義して前記第一データテーブルのデータ要素それぞれがユニークであるかを判定するユニーク判定手段、
    前記第一データテーブルのデータ要素の配列において当該データ要素それぞれがユニークである場合には、前記2つのデータテーブルのうちの第二データテーブルの各行のデータ要素と前記第一データテーブルの各行のデータ要素を用いた昇順ソート後の各行のデータ要素との大小比較を行って、前記第二データテーブルの各行のデータ要素についての前記昇順ソート後の前記第一データテーブルの各行のデータ要素の配列における下限位置を特定する位置特定手段、
    前記第二データテーブルの行のデータ要素と、当該行のデータ要素を用いて特定した前記下限位置であって前記昇順ソート後の前記第一データテーブルの配列における前記下限位置を持つ行のデータ要素とが一致する統合対象行を、前記第二データテーブルと前記第一データテーブルとにおいて特定し、少なくともそれら前記第二データテーブルと前記第一データテーブルとの前記統合対象行を統合した統合データテーブルを生成する統合手段、
    として機能させるプログラム。
JP2022522413A 2020-05-13 2020-05-13 統合装置、データテーブル統合方法、プログラム Active JP7513086B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/019121 WO2021229724A1 (ja) 2020-05-13 2020-05-13 統合装置、データテーブル統合方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2021229724A1 JPWO2021229724A1 (ja) 2021-11-18
JP7513086B2 true JP7513086B2 (ja) 2024-07-09

Family

ID=78525507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522413A Active JP7513086B2 (ja) 2020-05-13 2020-05-13 統合装置、データテーブル統合方法、プログラム

Country Status (3)

Country Link
US (1) US12086124B2 (ja)
JP (1) JP7513086B2 (ja)
WO (1) WO2021229724A1 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03288967A (ja) 1990-04-06 1991-12-19 Toshiba Corp データベース処理システム
US5664172A (en) * 1994-07-19 1997-09-02 Oracle Corporation Range-based query optimizer
JPH09325888A (ja) 1996-06-04 1997-12-16 Hitachi Ltd データ処理装置
JP5913722B1 (ja) * 2015-11-26 2016-04-27 株式会社博報堂 情報処理システム及びプログラム
US11227002B2 (en) * 2015-11-30 2022-01-18 International Business Machines Corporation Method and apparatus for identifying semantically related records
JP6744179B2 (ja) * 2016-09-14 2020-08-19 株式会社エスペラントシステム データ統合方法、データ統合装置、データ処理システム及びコンピュータプログラム
US11699032B2 (en) * 2017-11-03 2023-07-11 Microsoft Technology Licensing, Llc Data set lookup with binary search integration and caching
US20210117828A1 (en) * 2018-06-27 2021-04-22 Sony Corporation Information processing apparatus, information processing method, and program
EP3641275A1 (de) * 2018-10-18 2020-04-22 Siemens Aktiengesellschaft Verfahren, vorrichtung und computerprogramm zur automatischen verarbeitung von datenbezeichnern
US11016978B2 (en) * 2019-09-18 2021-05-25 Bank Of America Corporation Joiner for distributed databases
US11604797B2 (en) * 2019-11-14 2023-03-14 Microstrategy Incorporated Inferring joins for data sets

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
的野 晃整 外,範囲マージ結合:読み飛し可能なB+木間結合アルゴリズム,第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 [online],日本,電子情報通信学会データ工学研究専門委員会,2010年05月25日,pp. 1-8

Also Published As

Publication number Publication date
US12086124B2 (en) 2024-09-10
JPWO2021229724A1 (ja) 2021-11-18
US20230195711A1 (en) 2023-06-22
WO2021229724A1 (ja) 2021-11-18

Similar Documents

Publication Publication Date Title
JP2009163497A (ja) 事務フロー生成装置およびその方法
JP7513086B2 (ja) 統合装置、データテーブル統合方法、プログラム
US6968314B1 (en) Enhanced security features for an automated order fulfillment system
JP3418876B2 (ja) データ・ベース検索装置および方法
JPS63249267A (ja) 電子ファイリング装置の管理方法
RU2309450C1 (ru) Способ защиты частной информации пользователя в системе обработки информации
US6643632B1 (en) Data processing system and computer-readable recording medium recorded with a program for causing a computer to process data
JPS59121436A (ja) デ−タ群のソ−ト方法
JP3549251B2 (ja) ソート処理装置及びソート処理方法
JPH1139344A (ja) 2次元配列コードを用いた文字列検索方法
JP5292956B2 (ja) テストデータ生成プログラム
JP4507972B2 (ja) データレコードの検索方法とそのためのプログラム
JP2921045B2 (ja) インデックス生成方式
JPH04264979A (ja) 2分決定グラフの変数順決定方式
CN113779157A (zh) 基于区块链技术的关系数据库写入方法及系统
JPH0934899A (ja) 検索経路出力方法及び装置
JP2004302618A (ja) キーワード頻度算出方法及びそれを実行するプログラム
JP6354501B2 (ja) 比較プログラム、比較方法および情報処理装置
JPH04138575A (ja) 有限要素データ再作成装置
Roach et al. A knowledge-rich approach to the rapid enumeration of Quasi-Magic Sudoku search spaces
JP3111081B2 (ja) データ検索装置
JP2001344007A (ja) 部品表管理装置及び方法並びに部品表及び部品表管理プログラムを記録した記録媒体
JPH01270131A (ja) パスワード入力方式
JPH01228022A (ja) 二次元データ格納方式
JPS58137068A (ja) デ−タ処理方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240326

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20240408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240610

R150 Certificate of patent or registration of utility model

Ref document number: 7513086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150