JPH06231181A - 分散データベース制御方式 - Google Patents

分散データベース制御方式

Info

Publication number
JPH06231181A
JPH06231181A JP5018327A JP1832793A JPH06231181A JP H06231181 A JPH06231181 A JP H06231181A JP 5018327 A JP5018327 A JP 5018327A JP 1832793 A JP1832793 A JP 1832793A JP H06231181 A JPH06231181 A JP H06231181A
Authority
JP
Japan
Prior art keywords
execution
subquery
information
sql statement
sql
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.)
Withdrawn
Application number
JP5018327A
Other languages
English (en)
Inventor
Hitoshi Minamizawa
均 南沢
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.)
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Solution Innovators Ltd
Original Assignee
HOKKAIDO NIPPON DENKI SOFTWARE KK
NEC Software Hokkaido Ltd
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 HOKKAIDO NIPPON DENKI SOFTWARE KK, NEC Software Hokkaido Ltd filed Critical HOKKAIDO NIPPON DENKI SOFTWARE KK
Priority to JP5018327A priority Critical patent/JPH06231181A/ja
Publication of JPH06231181A publication Critical patent/JPH06231181A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 分散データベースシステムにおける他サイト
にまたがる副問合せの実行を一つのSQL文で可能とす
る。 【構成】 SQL分解手段2によりSQL文101を副
問合せ単位に分解して、副問合せに関する親子関係情報
102と問合せテーブル103とを作成する。世代決定
手段3は副問合せの世代数を示す世代グループ情報10
4を作成する。送信先決定手段4は送信するサイトを示
す送信先情報を作成して、親子関係情報102,副問合
せテーブル103,世代グループ情報104と送信先情
報とを組にした実行情報105を実行情報格納ファイル
6に格納する。実行手段7は実行時に動作し、実行情報
格納ファイル6から実行情報を取出し、問合せの最後の
世代に含まれるものから実行形式のSQL文に変換し
て、自サイトのデータベース9または通信手段8を介し
て他サイトのデータベース上での実行を行なう。このと
き実行される副問合せに親がある実行結果108は親副
問合せに対して、実行した副問合せの部分を実行結果値
の並びに置換える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散データベース制御方
式、特に分散データベースを有する情報処理システムの
分散データベース制御方式に関する。
【0002】
【従来の技術】従来、この種の分散データベース制御方
式は、図10に代表的な構成図を示すように、データベ
ースのアクセスをデータベース操作言語の一つであるS
QL文101によって、データベースのアクセスを行な
う応用プログラム1と、スキーマごとにスキーマの存在
するサイトに関する所在情報を格納した所在辞書2と、
所在辞書2を参照してSQL文101を実行するサイト
を示す実行先情報201を作成する送信先決定手段10
と、SQL文101の実行を行なう実行手段11と、他
サイトとの通信制御を行なう通信手段5と、データベー
ス9とから構成され、実行手段11はSQL文101の
実行先が自サイトならば、データベース9でSQL文の
実行を行ない、SQL文101の実行先が他サイトなら
ば、通信手段5により他サイトで実行を行なって、SQ
L文実行結果110を応用プログラム1に返却するよう
になっている。
【0003】
【発明が解決しようとする課題】上述した従来の分散デ
ータベース制御方式は、1回のSQLの実行では、一つ
のサイトのデータベースしかアクセスできない。このた
め応用プログラムが実行するSQL文中に複数の副問合
せが含まれても、アクセスするサイトは一つに閉じてい
なくてはならないという問題点がある。
【0004】
【課題を解決するための手段】本発明の分散データベー
ス制御方式は、分散データベースを有する情報処理シス
テムの分散データベース制御方式において、データベー
ス操作言語の一つであるSQL文によってデータベース
のアクセスを行なう応用プログラムと、この応用プログ
ラムのコンパイル時にSQL文を副問合せ単位に分解
し、副問合せ間のつながりを親子関係という概念で示す
親子関係情報と分解した副問合せを格納した副問合せテ
ーブルとを作成するSQL分解手段と、このSQL分解
手段で作成された親子関係情報から副問合せの実行優先
順位を世代数という概念で示す世代グループ情報を作成
する世代決定手段と、スキーマごとにスキーマの存在す
る分散されたデータベースを有するコンピュータである
サイトに関する所在情報を格納した所在辞書を参照し
て、前記副問合せを送信するサイトを示す送信先情報を
作成する送信先決定手段と、前記問合せテーブルと親子
関係情報と世代グループ情報と送信先情報との集合であ
る実行情報を格納する実行情報格納ファイルと、前記応
用プログラムの実行時に前記実行情報格納ファイルから
実行情報を取得し、実行する副問合せを抽出して原副問
合せとし、全ての副問合せについての実行が完了すると
SQL文実行結果を前記応用プログラムに返却するSQ
L文実行制御手段と、このSQL文実行制御手段で抽出
された原副問合せを実行可能なSQL文群に変換し実行
形式副問合せを作成する実行形式SQL文変換手段と、
この実行形式SQL文変換手段からの実行形式副問合せ
を受けて自身のデータベースまたは通信手段を介して分
散したデータベースを使用して問合せの実行を行ない実
行結果値を得るSQL文実行手段と、このSQL文実行
手段から実行結果値を受けて実行された副問合せの親副
問合せに対し、実行された副問合せの部分を実行結果値
の並びに置換えた後に実行完了を前記SQL文実行制御
手段に通知する実行形式副問合せ変換手段とを有するこ
とにより構成される。
【0005】
【実施例】次に、本発明について図面を参照して説明す
る。
【0006】図1は本発明の一実施例の構成図である。
図1の実施例は応用プログラム1、SQL文分解手段
2、世代決定手段3、送信先決定手段4、所在辞書5、
実行情報格納ファイル6、実行手段7、通信手段8、お
よびデータベース9から構成され、実行手段7はSQL
文実行制御手段71、実行形式SQL文変換手段72、
SQL文実行手段73、および実行形式副問合せ変換手
段74から構成される。
【0007】以上の構成において、応用プログラム1は
コンパイル時にコンパイラを介してSQL文101を発
行し、プログラムの実行時にSQL文実行結果110を
取得する。応用プログラム1は実行しようとするSQL
文内の表の所在が、自サイトであるか他サイトであるか
は意識しない。SQL分解手段2は応用プログラム1の
コンパイル時に動作し、SQL文101を副問合せ単位
に分解して副問合せ間のつながりを示す親子関係情報1
02と、分解した副問合せを格納した副問合せテーブル
103とを作成する。世代決定手段3は応用プログラム
1のコンパイル時に動作し、副問合せの世代数を示す世
代グループ情報104を作成する。送信先決定手段4は
応用プログラム1のコンパイル時に動作し、スキーマご
とに、スキーマの存在するサイトに関する所在情報を格
納した所在辞書6を参照して問合せを送信するサイトを
示す送信先情報を作成し、親子関係情報102と、副問
合せテーブル103と、世代グループ情報104と、送
信先情報とを一組とした実行情報105を、応用プログ
ラム1を識別するプログラム名をキーにして、実行情報
格納ファイル6に格納する。実行手段7は応用プログラ
ム1の実行時に動作し、応用プログラム1のプログラム
名をキーとして、実行情報105を実行情報格納ファイ
ル6から取得し、SQL文実行制御手段71,実行形式
SQL文変換手段72,SQL文実行手段73,および
実行形式副問合せ変換手段74によって、SQL文の実
行を行う。
【0008】SQL文実行制御手段71は実行する副問
合せを抽出し、原副問合せ106として、実行形式SQ
L文変換手段72に通知し、実行形式副問合せ変換手段
74からの、実行完了通知109の通知を待合せ、全て
の副問合せについての実行が完了すると、SQL文実行
結果110を応用プログラム1に返却する。実行形式S
QL文変換手段72は通知された原副問合せ106を実
行可能なSQL文群に変換し、実行形式副問合せ107
としてSQL文実行手段73に通知する。SQL文実行
手段73は通信手段8またはデータベース9を使用し
て、実行形式副問合せ107の実行を行い、得られた実
行結果値を実行結果108として、実行形式副問合せ変
換手段74に通知する。実行形式副問合せ変換手段74
は実行された副問合せの親副問合せに対し、実行された
副問合せの部分を実行結果値の並びに置き換えた後、実
行完了通知109をSQL文実行制御手段71に通知す
る。
【0009】図2は図1の実施例の動作を説明するため
のSQL文の一例を示す図である。以下、図2に示すS
QL文を例にとって図1の実施例の動作を説明する。
【0010】先ず、応用プログラム1が、コンパイルさ
れるときの動作を述べる。SQL分解手段2は応用プロ
グラムから入力されたSQL文を副問合せ単位に分解
し、副問合せ中に現れる副問合せを、特殊文字で置き換
えて、副問合せテーブル103を作成する。図3は図2
に示すSQL文から作成された副問合せテーブル103
の内容を示す図である。さらに、SQL分解手段2は副
問合せテーブル103を基にして、副問合せ群の親子関
係付けを行う。親子関係は図4(a)に図3の副問合せ
テーブル103から作られた親子関係図に示すように、
実行されるSQL文そのものを、最初の副問合せとして
扱い、ある副問合せが、別な副問合せを含んでいる場合
は、含んでいる副問合せをその子供とし、副問合せごと
に親副問合せと子副問合せとを認識できる情報を設定
し、親子関係情報102を作成する。図4(b)は図3
の副問合せテーブル103を基に作成された親子関係情
報102の内容を示す図である。次に作成された親子関
係情報102と副問合せテーブル103とを、世代決定
情報4に入力する。
【0011】世代決定手段3は、入力された親子関係情
報102を基にして、世代分けを行う。世代は図5
(a)に世代グループの概念図を示すように、後の世代
から決定し、親子関係の末端から見て、同時に並列処理
のできる副問合せのグループを最後の世代とし、以降の
世代の決定は、先に決定した世代に含まれる副問合せの
メンバをはずした親子関係において、末端からみて同時
に並列処理のできる副問合せのグループを、先に決定し
た世代に対して一つ前の世代とする。親子関係情報10
2上では、子副問合せのいない副問合せのグループを、
最後の世代に相当させ、世代が決定した副問合せをその
親から外した後、子副問合せのいない副問合せのグルー
プを一つ前の世代に相当させることを繰返し、SQL文
そのものは、一番最初の世代とする。このようにして世
代決定手段3はすべての副問合せの世代が決まるまで世
代分けを繰返し、副問合せごとに、世代数を設定した世
代グループ情報104を作成する。図5(b)は図4
(b)に示す親子関係情報から世代分けを行なった世代
グループ情報の内容を示す図である。次に親子関係情報
102と副問合せテーブル103と世代グループ情報1
04とを送信先決定手段4に入力する。
【0012】送信先決定手段4は、図6(a)にスキー
マの分散配置図を示すように、スキーマごとにスキーマ
の存在するサイトの情報が登録してある所在辞書6を参
照し、副問合せ中のスキーマ名から、副問合せを実行す
るサイトを決定し、副問合せごとに送信先を設定した送
信先情報105を作成する。図6(b)は送信先情報1
05の内容を示す図である。次に送信先決定手段4は親
子関係情報102と副問合せテーブル103と世代グル
ープ情報104と送信先情報とを一組とした実行情報1
05を、応用プログラム1のプログラム名をキーとし
て、実行情報格納ファイル6に格納する。
【0013】次に、応用プログラム1が実行されるとき
の動作を述べる。実行手段7は応用プログラム1のプロ
グラム名をキーとして、実行情報格納ファイル6から実
行情報105を取得し、SQL文実行制御手段71では
世代グループ情報104より、最後の世代に含まれる副
問合せを副問合せテーブル103からとりだし、原副問
合せ106として、実行形式SQL文変換手段72に通
知し、最後の世代に含まれる全ての副問合せに対して、
原副問合せ106の通知を終えたら、実行完了通知10
9の通知を待合せ、最後の世代に含まれる全ての副問合
せに対して実行完了通知109が通知されたら、一つ前
の世代に対して同じ処理を行い、すべての世代の副問合
せについて実行完了通知109が通知されるまで繰返し
た後に、実行結果110を応用プログラム1に返却す
る。
【0014】実行形式SQL文変換手段72は原副問合
せ106の通知を待ち合せ、原副問合せ106が通知さ
れたら、通知された副問合せが一番最初の世代でなけれ
ば、図7(a)に原副問合せ106の内容例を、図7
(b)に実行形式副問合せ107の内容例を示すよう
に、DECLARE文,OPEN文,FETCH文,お
よびCLOSE文からなるSQL文群に変換した形で、
また、通知された副問合せが一番最初の世代であれば、
そのままの形で実行形式副問合せ107としてSQL文
実行手段73に通知し、再び原副問合せ106の通知を
待合せ、同じ処理を繰返す。
【0015】SQL文実行手段73は実行形式副問合せ
107を待合せ、通知された実行形式副問合せ107が
他サイトで実行されるものか、自サイトで実行されるも
のかを送信先情報105から判定し、実行形式副問合せ
107が他サイトで実行されるものであれば、通信手段
8により他サイトに存在するデータベース上での実行を
行い、実行形式副問合せ107が自サイトで実行される
ものであれば、データベース9上で実行形式副問合せ1
07の実行を行い、上記いずれかの実行方法で、スキー
マの存在するサイトに対してDECLARE文の実行、
OPEN文の実行、SQLCODEにEND−OF−D
ATAが返却されるまでのFETCH文の繰返し実行、
およびCLOSE文の実行を行い、FETCEH文の実
行によって得られた結果値の集まりを、図8に実行結果
の内容を示すように実行結果108として実行形式副問
合せ変換手段74に通知し、再び実行形式副問合せ10
6を待合せる。
【0016】実行形式副問合せ変換手段74は実行結果
108を待合せ、実行結果108が通知されたら親子関
係情報102を参照し、実行された副問合せに親があれ
ば、親副問合せを副問合せテーブル103から取出し、
実行された副問合せの部分を実行結果値の並びによるア
トムコンマリストに置換えて、図9に示すように副問合
せに変換し、副問合せテーブル103の親副問合せの部
分を書換え、また、実行された副問合せに親がなけれ
ば、世代数1の副問合せと判断し、実行結果108の内
容をSQL文101の実行結果であると判断し、実行完
了通知109をSQL文実行制御手段71に通知し、再
び実行結果108を待合せる。
【0017】
【発明の効果】以上説明したように本発明による分散デ
ータベース制御方式は、応用プログラムのコンパイル時
に予め、副問合せ間の親子関係の概念と、世代の概念を
用いて、複数の他コンピュータ上のデータベースをアク
セスする副問合せを持つSQL文の実行を、最も短い処
理時間で行なえるように、実行に必要な情報を解析し、
最適化ファイルに格納しておき、応用プログラムの実行
時に、実行に必要な情報をファイルから取得し、応用プ
ログラムに他の分散データベースでの実行が含まれても
実行できるようにしたことにより、実行に要する処理時
間を、短縮する効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成図である。
【図2】図1の実施例を説明するためのSQL文の例を
示す図である。
【図3】図2に示すSQL文から作成された副問合せテ
ーブルの内容を示す図である。
【図4】図3に示す副問合せテーブルから作成された親
子関係情報の内容を示す図である。
【図5】図3に示す副問合せテーブルと図4に示す親子
関係情報とから作成された世代グループ情報の内容を示
す図である。
【図6】図1の実施例の所在辞書が示すスキーマとサイ
トとの対応、および図2のSQL文から作成された送信
先情報の内容を示す図である。
【図7】図1の実施例の原副問合せ、および実行形式副
問合せの内容例を示す図である。
【図8】図1の実施例の実行結果の一例を示す図であ
る。
【図9】図1の実施例の実行形式副問合せ変換手段で書
換えられた親副問合せの内容例を示す図である。
【図10】従来の分散データベース制御方式の代表的な
構成図である。
【符号の説明】
1 応用プログラム 2 SQL文分解手段 3 世代決定手段 4 送信先決定手段 5 所在辞書 6 実行情報格納ファイル 7 実行手段 8 通信手段 9 データベース 71 SQL文実行制御手段 72 実行形式SQL文変換手段 73 SQL文実行手段 74 実行形式副問合せ変換手段 101 SQL文 102 親子関係情報 103 副問合わせテーブル 104 世代グループ情報 105 実行情報 106 原副問合わせ 107 実行形式副問合わせ 108 実行結果 109 実行完了通知 110 SQL文実行結果

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 分散データベースを有する情報処理シス
    テムの分散データベース制御方式において、データベー
    ス操作言語の一つであるSQL文によってデータベース
    のアクセスを行なう応用プログラムと、この応用プログ
    ラムのコンパイル時にSQL文を副問合せ単位に分解
    し、副問合せ間のつながりを親子関係という概念で示す
    親子関係情報と分解した副問合せを格納した副問合せテ
    ーブルとを作成するSQL分解手段と、このSQL分解
    手段で作成された親子関係情報から副問合せの実行優先
    順位を世代数という概念で示す世代グループ情報を作成
    する世代決定手段と、スキーマごとにスキーマの存在す
    る分散されたデータベースを有するコンピュータである
    サイトに関する所在情報を格納した所在辞書を参照し
    て、前記副問合せを送信するサイトを示す送信先情報を
    作成する送信先決定手段と、前記問合せテーブルと親子
    関係情報と世代グループ情報と送信先情報との集合であ
    る実行情報を格納する実行情報格納ファイルと、前記応
    用プログラムの実行時に前記実行情報格納ファイルから
    実行情報を取得し、実行する副問合せを抽出して原副問
    合せとし、全ての副問合せについての実行が完了すると
    SQL文実行結果を前記応用プログラムに返却するSQ
    L文実行制御手段と、このSQL文実行制御手段で抽出
    された原副問合せを実行可能なSQL文群に変換し実行
    形式副問合せを作成する実行形式SQL文変換手段と、
    この実行形式SQL文変換手段からの実行形式副問合せ
    を受けて自身のデータベースまたは通信手段を介して分
    散したデータベースを使用して問合せの実行を行ない実
    行結果値を得るSQL文実行手段と、このSQL文実行
    手段から実行結果値を受けて実行された副問合せの親副
    問合せに対し、実行された副問合せの部分を実行結果値
    の並びに置換えた後に実行完了を前記SQL文実行制御
    手段に通知する実行形式副問合せ変換手段とを有するこ
    とを特徴とする分散データベース制御方式。
JP5018327A 1993-02-05 1993-02-05 分散データベース制御方式 Withdrawn JPH06231181A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5018327A JPH06231181A (ja) 1993-02-05 1993-02-05 分散データベース制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5018327A JPH06231181A (ja) 1993-02-05 1993-02-05 分散データベース制御方式

Publications (1)

Publication Number Publication Date
JPH06231181A true JPH06231181A (ja) 1994-08-19

Family

ID=11968530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5018327A Withdrawn JPH06231181A (ja) 1993-02-05 1993-02-05 分散データベース制御方式

Country Status (1)

Country Link
JP (1) JPH06231181A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925462B2 (en) 2001-02-22 2005-08-02 Hitachi, Ltd. Database management system, and query method and query execution program in the database management system
JP2011023030A (ja) * 1998-12-22 2011-02-03 Xerox Corp 情報検索システム及び方法
KR101226161B1 (ko) * 2012-07-30 2013-01-24 한국과학기술정보연구원 분배규칙 생성을 위한 방법 및 그를 위한 질의 분석 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011023030A (ja) * 1998-12-22 2011-02-03 Xerox Corp 情報検索システム及び方法
US6925462B2 (en) 2001-02-22 2005-08-02 Hitachi, Ltd. Database management system, and query method and query execution program in the database management system
KR101226161B1 (ko) * 2012-07-30 2013-01-24 한국과학기술정보연구원 분배규칙 생성을 위한 방법 및 그를 위한 질의 분석 장치

Similar Documents

Publication Publication Date Title
CN105868204B (zh) 一种转换Oracle脚本语言SQL的方法及装置
CN111061757A (zh) 数据库的语言转换方法、装置、电子设备及存储介质
CN109426725B (zh) 数据脱敏方法、设备及计算机可读存储介质
JP2007249785A (ja) コンパイルプログラム、仮想データベースリモートアクセス用プログラムの製造方法、及び仮想データベースのリモートアクセス方法
JP2005018776A (ja) クエリ中間言語の方法およびシステム
JP2008541254A (ja) データベースからxml文書を動的に生成する方法
CN109710220B (zh) 关系型数据库查询方法、装置、设备及存储介质
JP2644728B2 (ja) データディクショナリ・ディレクトリシステム
CN112015722A (zh) 数据库管理方法、数据血缘分析方法以及相关装置
CN112860727A (zh) 基于大数据查询引擎的数据查询方法、装置、设备及介质
CN112579610A (zh) 多数据源结构分析方法、系统、终端设备及存储介质
US7711675B2 (en) Database simulation of data types
CN113672628A (zh) 数据血缘分析方法、终端设备及介质
CN117093599A (zh) 面向异构数据源的统一sql查询方法
US7213014B2 (en) Apparatus and method for using a predefined database operation as a data source for a different database operation
US8321846B2 (en) Executable template
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
US8001110B2 (en) Apparatus, method, and computer program product for processing databases
US6778983B1 (en) Apparatus and method for accessing HTML files using an SQL query
JPH06231181A (ja) 分散データベース制御方式
JP2976891B2 (ja) リモートデータベースアクセス方法
US7953714B2 (en) Method for maintaining parallelism in database processing using record identifier substitution assignment
JPH10240591A (ja) Sqlプロシジャ実行時の計算機負荷分散方法
CN116756184B (zh) 数据库实例处理方法、装置、设备、存储介质及程序产品
KR0123247B1 (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000509