"複数のカラムを有する第1テーブルであって、第1データが格納された第1テーブルを操作する第1クエリが記憶された第1クエリ記憶部と、複数のカラムを有する第2テーブルであって、第2データが格納された第2テーブルを操作する第2クエリが記憶された第2クエリ記憶部と、前記第1テーブルが有する複数のカラムのうちの所定の第1カラムに格納されたデータと、前記第2テーブルが有する複数のカラムのうちの所定の第2カラムに格納されたデータとを紐付けた紐付けデータが格納された紐付けテーブルを操作する紐付けクエリが記憶された紐付けクエリ記憶部と、前記第1クエリ記憶部が記憶した前記第1クエリと第2クエリ記憶部が記憶した前記第2クエリとの少なくともいずれかと、前記紐付けクエリとを用いて、前記第1データと前記第2データとを連携させて操作する連携クエリを生成する連携クエリ生成部と、前記連携クエリ生成部が生成した連携クエリを実行するクエリ実行部とを備えることを特徴とするデータ連携装置。前記データ連携装置は、さらに、前記第1テーブルに格納されたレコードを特定可能な特定情報を含むリクエスト情報を取得するリクエスト取得部を備え、前記連携クエリ生成部は、さらに、前記リクエスト取得部が取得したリクエスト情報に含まれる特定情報を用いて、前記連携クエリを生成することを特徴とする請求項1に記載のデータ連携装置。前記リクエスト取得部は、前記特定情報と、前記第2テーブルに対する追加、検索、更新、削除のうちのいずれかの操作を示す操作情報とを含むリクエスト情報を取得し、前記連携クエリ生成部は、前記リクエスト情報に含まれる操作情報が示す操作に応じて、前記連携クエリを生成することを特徴とする請求項2に記載のデータ連携装置。前記連携クエリ生成部は、前記操作情報が検索を示す場合には、前記第1テーブルに対して読出を行う第1クエリであって、前記特定情報を用いた条件をレコードの絞り込み条件として設定した第1クエリと、前記第2テーブルに対して読出を行う第2クエリと、前記紐付けテーブルに対して読出を行う紐付けクエリとによって読み出されるデータを仮想の読出し元のテーブルとして、前記仮想の読出し元のテーブルからレコードを読み出す連携クエリを生成することを特徴とする請求項3に記載のデータ連携装置。前記連携クエリ生成部は、前記第1テーブルの前記第1カラムから読み出されたデータと、前記第2テーブルの前記第2カラムから読み出されたデータとが、前記紐付けテーブルの1つのレコードからも読み出されていることをレコードの絞り込み条件として、前記仮想の読出し元のテーブルからレコードを読み出す連携クエリを生成することを特徴とする請求項4に記載のデータ連携装置。前記連携クエリ生成部は、前記操作情報が追加、更新、削除のいずれかの操作を示す場合には、前記紐付けテーブルに対して読出を行う紐付けクエリであって、前記特定情報を用いた条件をレコード絞り込み条件として設定した紐付けクエリを、レコードの絞り込み条件として、前記第2テーブルに対して前記操作情報が示す操作を行う連携クエリを生成することを特徴とする請求項3に記載のデータ連携装置。複数のカラムを有する第1テーブルであって、第1データが格納された第1テーブルを操作する第1クエリが記憶された第1クエリ記憶装置と、複数のカラムを有する第2テーブルであって、第2データが格納された第2テーブルを操作する第2クエリが記憶された第2クエリ記憶装置と、前記第1テーブルが有する複数のカラムのうちの所定の第1カラムに格納されたデータと、前記第2テーブルが有する複数のカラムのうちの所定の第2カラムに格納されたデータとを紐付けた紐付けデータが格納された紐付けテーブルを操作する紐付けクエリが記憶された紐付けクエリ記憶装置とを用いて、前記第1データと前記第2データとを連携させるデータ連携方法であり、処理装置が、前記第1クエリ記憶装置に記憶された前記第1クエリと前記第2クエリ記憶装置に記憶された前記第2クエリとの少なくともいずれかと、前記紐付けクエリとを用いて、前記第1データと前記第2データとを連携させて操作する連携クエリを生成する連携クエリ生成工程と、処理装置が、前記連携クエリ生成工程で生成した連携クエリを実行するクエリ実行工程とを備えることを特徴とするデータ連携方法。複数のカラムを有する第1テーブルであって、第1データが格納された第1テーブルを操作する第1クエリが記憶された第1クエリ記憶装置と、複数のカラムを有する第2テーブルであって、第2データが格納された第2テーブルを操作する第2クエリが記憶された第2クエリ記憶装置と、前記第1テーブルが有する複数のカラムのうちの所定の第1カラムに格納されたデータと、前記第2テーブルが有する複数のカラムのうちの所定の第2カラムに格納されたデータとを紐付けた紐付けデータが格納された紐付けテーブルを操作する紐付けクエリが記憶された紐付けクエリ記憶装置とを用いて、前記第1データと前記第2データとを連携させるデータ連携プログラムであり、前記第1クエリ記憶装置に記憶された前記第1クエリと前記第2クエリ記憶装置に記憶された前記第2クエリとの少なくともいずれかと、前記紐付けクエリとを用いて、前記第1データと前記第2データとを連携させて操作する連携クエリを生成する連携クエリ生成処理と、前記連携クエリ生成処理で生成した連携クエリを実行するクエリ実行処理とをコンピュータに実行させることを特徴とするデータ連携プログラム。特許文献1に記載された方法では、連携するデータ操作の処理間に他のデータ更新操作が入った場合にデータの整合性を担保することができない。特許文献2に記載された方法では、大容量のデータを扱う際には、統合データを格納するための大容量のリソースを確保する必要がある。この発明は、データ連携において既存のデータ操作をデータの整合性を担保しつつ利用でき、大容量なデータ操作にも対応できるデータ連携のインタフェースを提供することを目的とする。この発明に係るデータ連携装置は、複数のカラムを有する第1テーブルであって、第1データが格納された第1テーブルを操作する第1クエリが記憶された第1クエリ記憶部と、複数のカラムを有する第2テーブルであって、第2データが格納された第2テーブルを操作する第2クエリが記憶された第2クエリ記憶部と、前記第1テーブルが有する複数のカラムのうちの所定の第1カラムに格納されたデータと、前記第2テーブルが有する複数のカラムのうちの所定の第2カラムに格納されたデータとを紐付けた紐付けデータが格納された紐付けテーブルを操作する紐付けクエリが記憶された紐付けクエリ記憶部と、前記クエリ記憶部が記憶した前記第1クエリと前記第2クエリとの少なくともいずれかと、前記紐付けクエリとを用いて、前記第1データと前記第2データとを連携させて操作する連携クエリを生成する連携クエリ生成部と、前記連携クエリ生成部が生成した連携クエリを実行するクエリ実行部とを備えることを特徴とする。この発明に係るデータ連携装置は、2つのテーブルを操作する既存のクエリと、紐付けテーブルを操作するクエリとを結合させて、2つのテーブルを連携させて操作するクエリを生成する。これにより、既存のデータ操作を、整合性を担保しつつ利用でき、大容量なデータ操作にも対応できる。実施の形態1.図1は、実施の形態1に係るデータ連携システム1の機能構成を示すブロック図である。データ連携システム1は、データ連携サーバ10データ連携装置、クライアント20、データベースサーバ30を備える。データ連携サーバ10は、互いに関連を持たない2つ以上のテーブルを紐付けて連携させる装置である。クライアント20は、データ連携サーバ10へデータの操作要求を送信する装置である。データベースサーバ30は、データ連携サーバ10が操作の対象とするデータを保持している装置である。ここでは、互いに関連を持たない2つ以上のテーブルの紐付け例として、物体の地図上の位置を管理する地物テーブル31第1テーブルと、設備の点検履歴といった業務情報等を管理する設備テーブル32第2テーブルとの紐付けを考える。データ連携サーバ10は、リクエスト取得部11、結合キー取得部12、連携クエリ生成部13、クエリ実行部14、クエリ記憶部15、結合キー記憶部19を備える。リクエスト取得部11は、クライアント20とのインタフェースとなり操作要求の内容を解釈する機能である。結合キー取得部12は、操作に応じて対象となるテーブルの結合キーを制御する機能である。連携クエリ生成部13は、操作要求のデータと結合キーとを元に操作クエリを結合し統合された連携クエリを生成する機能である。クエリ実行部14は、連携クエリをデータベースサーバ30に発行し結果を得る機能である。クエリ記憶部15は、データベース操作に必要なクエリをテーブル毎のCRUD操作データ追加、検索、更新、削除に対応させて管理する機能である。ここでは、クエリ記憶部15は、地物クエリ記憶部16第1クエリ記憶部、設備クエリ記憶部17第2クエリ記憶部、紐付けクエリ記憶部18を備える。地物クエリ記憶部16には、地物テーブル31についてのCRUD操作それぞれに対応するクエリが記憶される。設備クエリ記憶部17には、設備テーブル32についてのCRUD操作それぞれに対応するクエリが記憶される。紐付けクエリ記憶部18には、紐付けテーブル33についてのCRUD操作それぞれに対応するクエリが記憶される。結合キー記憶部19は、紐付けされるテーブルと、紐付けされる各テーブルにおいて紐付けのキーとなるデータ項目とを管理する機能である。データベースサーバ30は、地物テーブル31、設備テーブル32、紐付けテーブル33を備える。地物テーブル31は、物体の地図上の位置を管理するテーブルである。設備テーブル32は、設備の点検履歴といった業務情報等を管理するテーブルである。紐付けテーブル33は、地物テーブル31のデータと設備テーブル32のデータとを紐付ける紐付けデータを管理するテーブルである。図2は、実施の形態1に係るデータベースサーバ30の各テーブルと、各テーブルのデータ項目との例を示す図である。なお、各テーブルにおいて括弧書きでPKと示されている項目がそのテーブルのキープライマリーキー項目である。地物テーブル31は、地物IDをキーとして、その物体の名称を示す地物名称と、その物体の位置を示す座標X及び座標Yとを管理する。設備テーブル32は、設備IDとVER設備の履歴番号とを複合キーとして、設備の名称を示す設備名称と、設備の種別を示す設備種別とを管理する。紐付けテーブル33は、紐付けIDをキーとして、地物IDと設備IDとVERとを管理する。なお、地物テーブル31と紐付けテーブル33とは、地物IDによって関連付けられ、設備テーブル32と紐付けテーブル33とは、設備IDとVERとによって関連付けられる。図3は、実施の形態1に係るクエリ記憶部15が記憶するクエリの例を示す図である。クエリ記憶部15が備える地物クエリ記憶部16、設備クエリ記憶部17、紐付けクエリ記憶部18は、それぞれ対応するテーブルについてのCRUD操作のクエリを記憶している。なお、図3に示すクエリにおいて、は、入力に応じて値が設定される入力変数である。また、クエリにおける操作対象のデータを絞り込むための条件部分は、[と]で囲まれている。図4は、実施の形態1に係る結合キー記憶部19が記憶する情報の例を示す図である。結合キー記憶部19は、地物テーブル31と設備テーブル32とを紐付けるキーとなるカラムとして、地物テーブル31の地物IDと、設備テーブル32の設備ID及びVERとを記憶している。図5は、実施の形態1に係るデータ連携システム1の動作を示す処理シーケンス図である。なお、図5に示す処理シーケンスの処理が開始される前に、クエリ記憶部15と結合キー記憶部19は、図3、図4に示す情報を記憶している。クライアント20は、操作するレコードを特定可能な特定情報と、CRUD操作のうちいずれかの操作を示す操作情報とを含む操作要求をデータ連携サーバ10へ送信するS1。データ連携サーバ10のリクエスト取得部11は、操作要求を受信し、受信した操作要求が操作を要求するデータが格納されたテーブルについてのクエリをクエリ記憶部15から取得するS2,S3。なお、リクエスト取得部11は、CRUD操作のうち検索操作を行う場合には、操作要求が操作を要求するデータが格納された各テーブルと、紐付けテーブル33とについての検索クエリ図3ではselect文をクエリ記憶部15から取得する。また、リクエスト取得部11は、CRUD操作のうち追加、更新、削除のいずれかの操作を行う場合には、操作要求が操作を要求するデータが格納された各テーブルについての対応する操作クエリと、紐付けテーブル33についての検索クエリ図3ではselect文をクエリ記憶部15から取得する。対応する操作クエリとは、追加なら追加クエリ図3ではinsert文、更新なら更新クエリ図3ではupdate文、削除なら削除クエリ図3ではdelete文のことである。そして、リクエスト取得部11は、取得したクエリを含めた操作要求を結合キー取得部12へ送信するS4。結合キー取得部12は、操作要求を受信し、受信した操作要求が操作を要求するデータが格納されたテーブルについての結合キーを結合キー記憶部19から取得するS5,S6。そして、結合キー取得部12は、クエリと結合キーとを含めた操作要求を連携クエリ生成部13へ送信するS7。連携クエリ生成部13は、操作要求を受信し、受信した操作要求に応じて、操作要求に含まれるクエリと結合キーとを用いて連携クエリを生成するS8。そして、連携クエリ生成部13は、生成した連携クエリをクエリ実行部14へ送信するS9。なお、CRUD操作のうち検索操作を行う場合と、CRUD操作のうち追加、更新、削除操作を行う場合とで、連携クエリの生成方法が異なる。各場合の連携クエリの生成方法については後述する。クエリ実行部14は、連携クエリを受信し、受信した連携クエリをデータベースサーバ30へ送信し実行し、連携クエリの実行結果をクエリ結果として取得するS10,S11。そして、クエリ実行部14は、取得したクエリ結果を連携クエリ生成部13へ送信するS12。連携クエリ生成部13は、クエリ結果を受信し、受信したクエリ結果を操作結果として結合キー取得部12へ送信するS13。結合キー取得部12は、操作結果を受信し、リクエスト取得部11へ送信するS14。リクエスト取得部11は、操作結果を受信し、クライアント20へ送信するS15。S8において、連携クエリ生成部13が連携クエリを生成する処理について説明する。上述したように、CRUD操作のうち検索操作を行う場合と、CRUD操作のうち追加、更新、削除操作を行う場合とで、連携クエリの生成方法が異なる。図6は、検索操作を行う場合における連携クエリを生成する処理の流れを示すフローチャートである。図7は、検索操作を行う場合における連携クエリselect文の例を示す図である。図7では、地物名称が特定情報として与えられ、設備名称と設備種別との値を読み出す検索操作を行う場合を示す。S21:select句設定ステップ連携クエリ生成部13は、読み出す項目をselect句に並べる。図7では、設備名称、設備種別がselect句に並べられている。S22:from句設定ステップ連携クエリ生成部13は、S2,S3で取得された検索クエリにより読み出されるデータを仮想の読出し元テーブルとしてfrom句に設定する。この際、連携クエリ生成部13は、操作要求に含まれる特定情報を、各検索クエリにおける対応する入力変数に割り当てる。また、連携クエリ生成部13は、入力変数に特定情報が割り当てられなかった条件は除去する。つまり、[と]とで囲まれた部分のうち、が残っている条件式は除去される。図7では、地物名称が特定情報として操作要求に含まれているので、地物テーブル31の検索クエリにおける条件に地物名称Xが設定されている。設備テーブル32、紐付けテーブル33の検索クエリにおける条件は、入力変数に特定情報が割り当てられないため除去されている。S23:where句設定ステップ連携クエリ生成部13は、S5,S6で取得された結合キーの一致を条件としてwhere句に設定する。具体的には、連携クエリ生成部13は、結合キーとして設定されている地物テーブル31のカラムから読み出されたデータと、結合キーとして設定されている設備テーブル32のカラムから読み出されたデータとが、紐付けテーブル33の1つのレコードから読み出されていることを条件として設定する。図7では、地物テーブル31から読み出された地物IDと、設備テーブル32から読み出された設備ID及びVERとが、紐付けテーブル33の1つのレコードから読み出されていることが条件として設定されている。図8は、追加、更新、削除操作を行う場合における連携クエリを生成する処理の流れを示すフローチャートである。図8では、更新操作を行う場合を例として示す。図9は、更新操作を行う場合における連携クエリupdate文の例を示す図である。図9では、地物IDが特定情報として与えられ、設備名称と設備種別との値を更新する更新操作を行う場合を示す。S31:基本クエリ設定ステップ連携クエリ生成部13は、操作更新するテーブルの更新クエリを基本クエリとして設定する。ここでは、設備テーブル32を更新するため、設備テーブル32の更新クエリupdate文を基本クエリとして設定する。S32:where句設定ステップ連携クエリ生成部13は、基本クエリのwhere句の入力変数を、紐付けテーブル33の検索クエリに置き換える。この際、連携クエリ生成部13は、操作要求に含まれる特定情報を、紐付けテーブル33の検索クエリにおける対応する入力変数に割り当てる。また、連携クエリ生成部13は、入力変数に特定情報が割り当てられなかった条件は除去する。図9では、地物IDが特定情報として操作要求に含まれているので、紐付けテーブル33の検索クエリにおける条件に地物IDI01が設定され、他の条件が除去されている。なお、追加操作を行う場合、S31で、連携クエリ生成部13は、操作追加するテーブルの追加クエリを基本クエリとして設定する。また、削除操作を行う場合、S31で、連携クエリ生成部13は、操作削除するテーブルの削除クエリを基本クエリとして設定する。S32は、更新操作を行う場合と同じである。以上のように、実施の形態1に係るデータ連携システム1では、互いに関連を持たない2つ以上のテーブルの各操作クエリと結合キーとなる項目を管理し、操作要求時に入力と結合キーを基に操作クエリを結合する。これにより、データ連携用のクエリを別途用意することなく、2つ以上のテーブルを連携して操作することができる。さらに、連携クエリが既存のクエリを結合して実現されるため、連携クエリをさらに他の操作と連携させるような拡張もできる。また、連携クエリを用いてデータ連携を行うため、データ連携サーバ10で一時的なデータ領域を必要としない。また、データ間の整合性を保つための排他制御を必要としない。なお、リクエスト取得部11は、クエリ記憶部15に記憶された各クエリをクライアント20へ送信して、クライアント20で使用できるクエリを参照できるようにしてもよい。これにより、クライアント20側でどのような連携操作が可能かを知ることができる。図10は、データ連携サーバ10のハードウェア構成の一例を示す図である。図10に示すように、データ連携サーバ10は、プログラムを実行するCPU911CentralProcessingUnit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいうを備えている。CPU911は、バス912を介してROM913、RAM914、LCD901LiquidCrystalDisplay、キーボード902K/B、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920固定ディスク装置の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。磁気ディスク装置920又はROM913などには、オペレーティングシステム921OS、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、上記の説明においてリクエスト取得部11、結合キー取得部12、連携クエリ生成部13、クエリ実行部14等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。ファイル群924には、上記の説明においてクエリ記憶部15、結合キー記憶部19等に記憶されるとした情報やデータが、ファイルやデータベースの各項目として記憶される。ファイルやデータベースは、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出検索参照比較演算計算処理出力印刷表示などのCPU911の動作に用いられる。抽出検索参照比較演算計算処理出力印刷表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。また、上記の説明において~部として説明するものは、~回路、~装置、~機器、~手段、~機能であってもよく、また、~ステップ、~手順、~処理であってもよい。また、~装置として説明するものは、~回路、~機器、~手段、~機能であってもよく、また、~ステップ、~手順、~処理であってもよい。さらに、~処理として説明するものは~ステップであっても構わない。すなわち、~部として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子デバイス基板配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた~部としてコンピュータ等を機能させるものである。あるいは、上記で述べた~部の手順や方法をコンピュータ等に実行させるものである。"