JP2002149452A - 異sql処理装置上のsql文作成方法、及び仮想表作成装置 - Google Patents

異sql処理装置上のsql文作成方法、及び仮想表作成装置

Info

Publication number
JP2002149452A
JP2002149452A JP2000347524A JP2000347524A JP2002149452A JP 2002149452 A JP2002149452 A JP 2002149452A JP 2000347524 A JP2000347524 A JP 2000347524A JP 2000347524 A JP2000347524 A JP 2000347524A JP 2002149452 A JP2002149452 A JP 2002149452A
Authority
JP
Japan
Prior art keywords
sql
description
data
same
sql statement
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.)
Pending
Application number
JP2000347524A
Other languages
English (en)
Inventor
Takashi Kodera
孝 小寺
Tomoyuki Kusano
知之 草野
Koji Yanase
康二 柳瀬
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000347524A priority Critical patent/JP2002149452A/ja
Publication of JP2002149452A publication Critical patent/JP2002149452A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】異なるSQL言語仕様でSQLを実行し、異な
る構成のデータ辞書を有する複数のSQL処理装置上の
プログラムでのSQL文の作成において、SQL文記述
の同一化を図り、プログラムソースを共用化したり移行
性を高め、生産性を向上させるとともに、生産や保守の
コストの削減を図ることを目的とする。 【解決手段】SQL処理装置間で表の記述を同じにする
ためのSQL文記述により導出する仮想表を定義し、S
QL文の中で直接のデータ操作対象表に変えて仮想表を
指定する。すなわち、複数のSQL処理装置におけるデ
ータ操作対象の表の記述の差異を抽出し、抽出した差異
に基づいて、前記SQL処理装置間で表の記述を同じに
するためのSQL文記述を作成し、作成したSQL文記
述を用いて、前記SQL処理装置間で同じ表記述を与え
る仮想表を定義し、作成するSQL文の中で直接のデー
タ操作対象表に代えて前記仮想表を指定することによ
り、各SQL処理装置に対する同一のデータ操作結果を
求めるためのSQL文記述を同一にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、異なる構成のデー
タ辞書を有する複数のSQL処理装置間で、データ辞書
を参照するプログラムのソースを移行または共用する場
合、あるいはそれらの複数SQL処理装置に対するSQ
Lを実行するプログラムを作成する場合におけるSQL
文の作成方法、仮想表の作成装置、および利用方法に関
する。
【0002】
【従来の技術】従来より、アプリケーションプログラム
から発行されたSQL(Structured Que
ry Language)文に基づいてデータベースに
対して各種の処理を実行するいわゆるSQL処理装置が
知られている。SQL処理装置は、管理するデータベー
スに関するデータ辞書を有する。データ辞書とは、デー
タベースに保持するデータそれ自身を記述するいわゆる
メタデータのことである。ところで、あるデータ辞書を
有するSQL処理装置に対して何らかの操作を指示する
SQL文記述を、他のSQL処理装置に流用したい場合
がある。例えば、別々のプラットホーム上に同種のデー
タベースを構成し、同様のSQL文で同一の操作が見込
める場合などである。しかし、現実的には、データ辞書
が異なり、したがって同じ内容の項目でも異なる項目名
が付いていたりするため、異なる構成のデータ辞書を有
する複数のSQL処理装置に対して同一の操作結果を求
めるために同一のSQL文をそのまま用いることは基本
的にはできない。異なる構成のデータ辞書を有する複数
のSQL処理装置に対して同一のデータ操作結果を求め
るためのSQL文の作成方法としては、従来次の方法が
あった。
【0003】第1は、各SQL処理装置ごとにソースプ
ログラムを別々に作成し、異なるデータ辞書に対する操
作を記述するSQL文をそれぞれのソースプログラム中
に記述する方法である。この方法では複数のソースプロ
グラムを作成し管理する必要があり、プログラムの生
産、保守、および管理のためにより多くのコストを要す
る。
【0004】第2は、各SQL処理装置ごとに記述の異
なるSQL文を一つのソースプログラム中の別々の場所
に記述し、プログラム言語が有する記述切替機能により
SQL処理装置に応じたデータ辞書に対する操作を選択
する方法である。この方法では、ソースプログラムを一
本化できるためプログラムの管理に要する負荷は軽減で
きるが、ソースプログラム中にSQL処理装置ごとのS
QL文を記述し切り替えのための指定を記述する必要が
あり、依然としてプログラムの生産および保守のために
より多くのコストを要する。
【0005】一方、データ操作対象表(データベースの
表データ)に対して複数のプログラムで利用する共通の
データ操作が存在する場合、その共通のデータ操作を実
現するSQL文の記述により導出する仮想表を定義し、
SQL文の中で直接のデータ操作対象表の代わりに仮想
表を指定する利用方法がある。この方法は、プログラム
の記述量を削減し生産コストを削減できるが、複数プラ
ットホーム上のSQL処理装置間でのプログラムの効率
的な作成方法を与えるものではない。この技術について
は、例えば"AN INTRODUCTION TO
Database Systems Fourth E
dition 1986"、ADDISON WESL
EYと題する出版物の184ページ 8.5 ADVA
NTAGES OF VIEWSに記述されている。
【0006】
【発明が解決しようとする課題】前述した第1の方法と
第2の方法では、同じ目的のためのSQL文の記述が各
SQL処理装置ごとに重複して必要であることに問題が
ある。これは、特にSQLによってデータ辞書を検索す
るプログラムのソースを異SQL処理装置に移行した
り、異SQL処理装置間でソースプログラムを共用した
り、または複数のSQL処理装置に対してSQLを実行
するプログラムを作成する場合に問題となる。この問題
によってSQL文を使用するプログラムの作成において
より多くの記述量を要し、生産コストが大きくなる。こ
れはプログラムの本数や規模が大きいほど大きな問題と
なる。SQL資源の定義情報を格納するデータ辞書とな
るシステム表の記述がSQL処理装置間で異なる場合、
この表を参照するアプリケーションプログラムを作成す
る場合が、典型的な例である。
【0007】前述した仮想表を利用する方法は、一つの
SQL処理装置上のプログラムの生産性を高めるための
方法である。複数のSQL処理装置間でソースプログラ
ムの移行性を高めたり、あるいはソースプログラムを共
通化し、プログラムの生産、保守、および管理に要する
コストを軽減するものではない。
【0008】本発明の目的は、異なるSQL処理装置上
でソースプログラムのSQL文記述の同一化を図り、プ
ログラムソースを共用化したり移行性を高め、生産性を
向上させるとともに、生産や保守のコストの削減を図る
ことにある。
【0009】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、異なる構成のデータ辞書を有する複数の
SQL処理装置に対し、同一のデータ操作結果を実現す
るSQL文を作成するSQL文作成方法であって、前記
複数のSQL処理装置におけるデータ操作対象の表の記
述の差異を抽出するステップと、抽出した差異に基づい
て、前記SQL処理装置間で表の記述を同じにするため
のSQL文記述を作成するステップと、作成したSQL
文記述を用いて、前記SQL処理装置間で同じ表記述を
与える仮想表を定義するステップと、作成するSQL文
の中で直接のデータ操作対象表に代えて前記仮想表を指
定することにより、各SQL処理装置に対する同一のデ
ータ操作結果を求めるためのSQL文記述を同一にする
ステップとを備えたことを特徴とする。
【0010】また本発明は、第1のデータ辞書を有する
第1のSQL処理装置に対して所定のデータ操作結果を
実現するために使用しているSQL文と同じ記述で、前
記第1のデータ辞書とは異なる第2のデータ辞書を有す
る第2のSQL処理装置に対する同一のデータ操作結果
を実現するためのSQL文作成方法であって、前記第1
のデータ辞書の表記述と前記第2のデータ辞書の表記述
との差異を抽出するステップと、抽出した差異に基づい
て、前記第2のSQL処理装置における表記述を前記第
1のSQL処理装置における表記述と同一にするための
SQL文記述を作成するステップと、作成したSQL文
記述を用いて、前記第2のSQL処理装置上に、第1の
SQL処理装置におけるのと同一の表記述を与えるため
の仮想表を定義するステップと、前記第2の処理装置に
対して使用するSQL文を作成する際、該SQL文の中
で直接のデータ操作対象表に代えて前記仮想表を指定す
ることにより、前記第1のSQL処理装置に対するのと
同一のデータ操作結果を求めるSQL文とするステップ
とを備えたことを特徴とする。
【0011】異なるSQL処理装置上のデータ辞書の記
述の差異を抽出するステップでは、各SQL処理装置に
ついて、表データ操作対象の表の記述の構成要素である
列のデータ属性を抽出する。
【0012】表の記述を同一にするためのSQL文記述
を作成するステップでは、まずSQL文記述の基準とな
るSQL処理装置(第1のSQL処理装置)を決定す
る。ここで、基準となるSQL処理装置は、データ辞書
の名前の差異を入力していないSQL処理装置となる。
他のSQL処理装置(第2のSQL処理装置)では、基
準となるSQL処理装置上の表の記述に対応するそのS
QL処理装置上の抽出した表の記述の表の名前及び列の
名前を使用して、記述対象表の全行に対する問い合わせ
結果を導出するSQL文記述を作成する。列のデータ属
性が、基準となるSQL処理装置と異なる場合にはデー
タ属性を基準となるSQL処理装置の対応する列のデー
タ属性に変換するための型変換式でSQL文記述の中の
列のデータ属性に置き換える。列に格納される値の規約
が、基準となるSQL処理装置と異なる場合には、列に
格納される値の規約、列の値の規約を基準となるSQL
処理装置に合致させるための条件式、SQL文記述の中
の列名または型変換式を置き換える。
【0013】同一の表記述を与えるための仮想表を定義
するステップでは、前記ステップで作成したSQLの記
述により導出される結果の表に対して、基準となるSQ
L処理装置の表記述の表の名前及び列の名前を付与した
仮想表を定義する。
【0014】仮想表に対するデータ操作を行なうSQL
文記述を作成するステップでは、基準となるSQL処理
装置でデータ操作を行なうためのSQL文にデータ対象
表を記述してSQL記述を作成し、これをソースプログ
ラム中に埋め込む。他のSQL処理装置ではこのソース
プログラムを翻訳することにより、基準となるSQL処
理装置上で同じソースプログラムを翻訳して作成したプ
ログラムが実現するのと同じプログラムを作成する。
【0015】さらに本発明は、異なる構成のデータ辞書
を有する複数のSQL処理装置に対し同一のデータ操作
結果を求めるためのSQL文記述を同一にするために利
用する仮想表の作成装置であって、前記複数のSQL処
理装置におけるデータ操作対象の表の記述の差異を抽出
する手段と、抽出した差異に基づいて、前記SQL処理
装置間で表の記述を同じにするためのSQL文記述を作
成する手段と、作成したSQL文記述を用いて、前記S
QL処理装置間で同じ表記述を与える仮想表を定義する
手段とを備えたことを特徴とする。
【0016】また本発明は、異なる構成のデータ辞書を
有する複数のSQL処理装置に対し、同一のデータ操作
結果を実現するSQL文を作成するSQL文作成システ
ムであって、前記複数のSQL処理装置におけるデータ
操作対象の表の記述の差異を抽出する手段と、抽出した
差異に基づいて、前記SQL処理装置間で表の記述を同
じにするためのSQL文記述を作成する手段と、作成し
たSQL文記述を用いて、前記SQL処理装置間で同じ
表記述を与える仮想表を定義する手段と、作成するSQ
L文の中で直接のデータ操作対象表に代えて前記仮想表
を指定することにより、各SQL処理装置に対する同一
のデータ操作結果を求めるためのSQL文記述を同一に
する手段とを備えたことを特徴とする。
【0017】前記SQL文作成方法で作成した仮想表
を、1つのSQL処理装置に対して複数のプログラムで
利用する共通のデータ操作を実現するために利用するよ
うにしてもよい。
【0018】
【発明の実施の形態】以下、図面を用いて、本発明の実
施の形態について説明する。
【0019】図1は、本実施の形態の説明で使用する異
SQL処理装置上のSQL文作成方法を適用する要素間
の構成図である。SQL処理装置A10とSQL処理装置
B20は、異なるプラットホーム上に構成され異なるデー
タ辞書11と21を備えている。アプリケーションプログラ
ム41aは、SQL処理装置A10に対して所定のデータ操
作を指示するSQL文を含むプログラムである。このア
プリケーションプログラム41aを、SQL処理装置B20
のプラットホームに移行してアプリケーションプログラ
ム41bを作成する。この場合、両プラットホームでSQ
L文のソースを同一にするため、本実施形態では仮想表
作成装置30を備える。仮想表作成装置30は、データ辞書
11とデータ辞書21の表の記述の差異を抽出し、その
差異に基づいて同一の表記述を与えるための仮想表を定
義し、さらに仮想表に対するデータ操作を行なうSQL
文のソースを作成する。これにより、アプリケーション
プログラム41aと41bとで、同一のデータ操作結果を求
めるためのSQL文を同一にすることができる。なお、
ここではSQL処理装置Aの側を基準とし、SQL処理
装置Bの側の記述をSQL処理装置Aの側の記述に合せ
るための仮想表を作成する例で説明する。
【0020】さらに、1つのSQL処理装置の側におい
て、複数のプログラム(例えば、アプリケーションプロ
グラム41a,42a,43a)で利用する共通のデータ操作が
存在する場合、その共通のデータ操作を実現するSQL
文の記述により導出する仮想表を定義し、SQL文の中
で直接のデータ操作対象表の代わりに仮想表を指定する
ことができる。上述した異なるプラットホーム上のSQ
L処理装置に対するSQL文の記述を同一にするための
仮想表の利用と、複数のアプリケーションプログラムで
共通のデータ操作を実現するための仮想表の利用とを、
組み合わせることも可能である。
【0021】図2は、本実施の形態における仮想表作成
の手順を示す図である。仮想表の作成は、異なるSQL
処理装置上のデータ辞書の表の記述の差異を抽出する手
順101、表の記述を同一にするためのSQL文記述を作
成する手順102、同一の表記述を与えるための仮想表を
定義する手順103、および基準となるSQL処理系の表
および仮想表に対するデータ操作を行なうSQL文を記
述するソースプログラムを作成する手順104という順序
で実行する。
【0022】105〜108は、これら各ステップで行なう処
理の具体的な実施例を示す。手順101の実施例105では、
SQL処理装置A上のデータ辞書TABLES表とSQ
L処理装置B上のデータ辞書SQL_TABLE表の表
の記述の差を抽出する。手順102の実施例106では、SQ
L_TABLE表の表記述からTABLES表の表記述
と同じ表記述を導出するためのSQL文記述を作成す
る。手順103の実施例107では、TABLES表の表記述
と同じ表記述を与える仮想表をSQL装置B上に定義す
る。手順104の実施例108では、TABLES表を指定す
るSQLデータ操作文をソースプログラム中に記述し、
SQL処理装置AおよびSQL処理装置B上で同じソー
スプログラムから実行プログラムを作成する。
【0023】図3は、異なるSQL処理装置上のデータ
辞書の表の記述の差異を抽出する手順101の実施例106を
SQL表定義文の形式で示す図である。SQL処理装置
A上のデータ辞書TABLES表の表記述201におい
て、表名はTABLES、構成列は三個あり、それぞれ
列名はTABLENANE、TABLETYPE、CO
LUMNNUMBERである。TABLENANE列の
データ属性は可変長文字列型で長さが30、TABLE
TYPE列のデータ属性は固定長文字列型で長さが1、
COLUMNNUMBER列のデータ属性は整数型であ
る。TABLETYPE列には値を制限するデータ規約
があり、取りうる値は'R'と'V'である。SQL処理装
置B上のデータ辞書SQL_TABLE表の表記述202
において、表名はSQL_TABLE、構成列は三個あ
り、それぞれ列名はOBJECT_NANE、OBJE
CT_TYPE、OBJECT_DEGREEである。
OBJECT_NANE列のデータ属性は可変長文字列
型で長さが30、OBJECT_TYPE列のデータ属
性は固定長文字列型で長さが10、OBJECT_DE
GREE列のデータ属性は数値型である。OBJECT
_TYPE列には値を制限するデータ規約があり、取り
うる値は'BASE'と'VIEWED'である。
【0024】手順101では、このような表記述201と202
との差異を抽出する処理を行なう。
【0025】図4は、表の記述を同一にするためのSQ
L文記述を作成する手順102の実施例107のSQL文記述
の作成の流れを示す図である。SQL_TABLE表を
導出する問合せのSQL記述301は、SQL_TABL
E表の全列を全行検索するSELECT文である。
【0026】列のデータ属性をTABLES表の列のデ
ータ属性に合致させるためのSQL記述の変更302で
は、SQL_TABLE表とTABLES表の対応する
列のデータ属性が異なる場合に、型変換式(CAST
式)によってSELECT文の検索項目のデータ属性を
TABLES表の対応する列のデータ属性に変更する。
SQL_TABLE表のOBJECT_TYPE列、O
BJECT_DEGREE列はTABLES表の対応す
る列であるTABLETYPE列、COLUMNNUM
BER列とデータ属性が異なるため、それぞれCHAR
(1)型、INTEGER型に変更する。
【0027】列のデータ規約をTABLES表の列のデ
ータ規約に合致させるためのSQL記述の変更303で
は、SQL_TABLE表とTABLES表の対応する
列のデータ規約が異なる場合に、条件式(CASE式)
によってSELECT文の検索項目のデータをTABL
ES表の対応する列のデータ規約に従うデータに変更す
る。SQL_TABLE表のOBJECT_TYPE列
はTABLES表の対応する列であるTABLETYP
E列とデータ規約が異なるため、値'BASE'を'R'
に'VIEWED'を'V'に変更する。
【0028】図5は、同一の表記述を与えるための仮想
表を定義する手順103の実施例107のSQL定義文を示す
図である。仮想表によってTABLES表と同一の表記
述をSQL装置B上に完成させるため、仮想表の名前は
TABLES、仮想表の列名はTABLES表の列の名
前と同じTABLENANE、TABLETYPE、C
OLUMNNUMBERにする(401)。表名と列名の
宣言に仮想表を導出するためのSQL文記述303を付随
させて仮想表の定義を完成させる(402)。また、複数
のソースプログラムで利用する共通のデータ操作を追記
する(403) 。
【0029】図6は、基準となるSQL処理系の表およ
び仮想表に対するデータ操作を行なうSQL文を記述す
るソースプログラムを作成する手順104の実施例108の検
索用SQL文記述を示す図である。検索用SQLのソー
スプログラムへの埋め込み501は、ソースプログラムに
埋め込むSQL文記述例を示す。この実施例では、表種
別が'R'のデータのTABLENAMEとCOLUMN
NUMBERを検索する例を示す。カーソル宣言502
で、この検索のための問合せを定義する。カーソル宣言
502では、データ操作(検索)対象表の名前としてTA
BLESを指定し、検索項目にTABLENAMEとC
OLUMNNUMBERを指定している。さらにTAB
LETYPEの値を'R'に制限するための条件を付加し
ている。カーソルオープン文503では、カーソル宣言502
で宣言したカーソルCR1をオープンし検索結果を取り
出し可能な状態にしている。カーソルによる検索データ
の取得504では、カーソルの指す検索データを行のTA
BLENAME列の値を変数TNAMEに、COLUM
NNUMBERTABLENAME列の値を変数COL
NUMに取り出す。カーソルクローズ文505では、カー
ソルCR1を閉じる。
【0030】これらのSQL文記述を埋め込んだソース
プログラムを各SQL処理装置AおよびB上で翻訳し、
実行プログラムを作成する。SQL処理装置A上で作成
したプログラムのソースプログラムに記述した名前TA
BLESは、SQL処理装置A上で定義した表TABL
ESをアクセスする。SQL処理装置B上で作成したプ
ログラムのソースプログラムに記述した名前TABLE
Sは、SQL処理装置A上で定義した仮想表TABLE
Sを介して表SQL_TABLEをアクセスする。
【0031】図7は、上述した手順で仮想表を作成する
仮想表作成装置の構成を示す図である。仮想表作成装置
は、データ辞書の差異を入力する入力部601、表記述を
同じにするためのSQL記述作成部602、および仮想表
を生成する仮想表定義部603を有する。図2で説明した
手順101と102は、SQL文記述作成部602により実行さ
れる。図2の手順103は、仮想表定義部603により実行さ
れる。
【0032】入力部601は、異なるSQL処理装置上の
データ辞書において、表記述を同一にしたい表の名前、
列の名前、及びデータ規約を各SQL処理装置上のデー
タ辞書に従って入力するためのものである。この値が仮
想表作成装置の入力値となる。SQL文記述作成部602
では、入力部601で入力された名前について、各SQL
処理装置に対してデータ属性の取得を行ない、表記述を
同じにするための条件式、SQL文記述中の列名、また
は型変換式を用いてSQL文記述を作成する。仮想表定
義部603では、SQL文記述作成部602で作成したSQL
を使用して、基準となるSQL処理装置の表記述の表の
名前及び列の名前を付与して仮想表の定義を行なう。
【0033】図8は、仮想表作成装置の入力部601への
入力形式例701を示す図である。ユーザは、この701に示
すような形式で一方のSQL処理装置上のデータ辞書を
もう一方のSQL処理装置上のデータ辞書に合わせるた
めの仮想表の作成を指示する。いま説明している例で
は、SQL処理装置B上にSQL処理装置A上のデータ
辞書と同じ記述を与える仮想表を作りたいということで
あるから、図8では、SQL処理装置A上のデータ辞書
TABLESを基準となる表にし、SQL処理装置B上
のデータ辞書SQL_TABLEを疑似させる表に設定
している。また、SQL_TABLEをTABLESに
対応させるとともに、構成列であるOBJECT_NA
ME、OBJECT_TYPE、OBJECT_DEG
REEをそれぞれTABLENAME、TABLETY
PE、COLUMNNUMBERに対応させている。す
なわち、各SQL処理装置上のデータ辞書の対応する名
称を記述している。また、データ規約が存在するOBJ
ECT_TYPE、及びTABLETYPEについて
は、データ規約を指定している。
【0034】実際に図8のような入力があった場合、ま
ずSQL文記述作成部602では、各SQL処理装置に対
応する列ごとのデータ属性の取得を行なう。疑似する表
の列のデータ属性が基準となる表の列のデータ属性と異
なる場合は、型変換式(CAST式)を用いて検索項目
を置き換える(図4の302)。次に、入力されたデータ
規約が基準となる表と疑似する表とで異なる場合は、条
件式(CASE式)を用いて検索項目を置き換える(図
4の303)。さらに、仮想表の定義部603では、SQL文
記述作成部602で作成したSQL文を使用して基準とな
る表の表名および列名を付与して仮想表の定義を行なう
(図5)。
【0035】
【発明の効果】以上説明したように、本発明によれば、
異なるSQL処理装置に対して同一のデータ操作結果を
実現するプログラムにおいて、異なるSQL処理装置に
おけるデータ操作対象の表の記述の差に起因して、同じ
データ操作に対するSQL文の記述が異なる場合、SQ
L処理装置間で表の記述を同じにすることにより、プロ
グラムソースの共用化、あるいはプログラムの移行性を
高めることができ、生産、保守に要するコストを削減す
ることができる。
【図面の簡単な説明】
【図1】実施の形態の説明で使用する異SQL処理装置
上のデータ辞書の差異を吸収するための仮想表を作成す
る仮想表作成装置を含む全体の構成図である。
【図2】実施の形態の説明で使用する異SQL処理装置
上のデータ辞書の差異を吸収するための実施例の手順の
流れを示す図である。
【図3】異なるSQL処理装置上のデータ辞書に関する
表の記述の差異を抽出する手順の実施例をSQL表定義
文の形式で示す図である。
【図4】表の記述を同一にするためのSQL文記述を作
成する手順の実施例のSQL文記述の作成の流れを示す
図である。
【図5】同一の表記述を与えるための仮想表を定義する
手順の実施例のSQL定義文を示す図である。
【図6】基準となるSQL処理系の表及び仮想表に対す
るデータ操作を行なうSQL文を記述するソースプログ
ラムを作成する手順の実施例の検索用SQL文記述を示
す図である。
【図7】仮想表作成装置の構成図である。
【図8】仮想表作成装置に対する入力文形式を示す図で
ある。
【符号の説明】
101・・・異なるSQL処理装置上に定義する表の記述
の差異を抽出するステップ 102・・・表の記述を同一にするためのSQL文記述を
作成するステップ 103・・・同一の表記述を与えるための仮想表を定義す
るステップ 104・・・基準となるSQL処理系の表及び仮想表に対
するデータ操作を行なう SQL文を記述するソースプログラムを作成するステッ
プ 105・・・ステップ101の実施例 106・・・ステップ102の実施例 107・・・ステップ103の実施例 108・・・ステップ104の実施例 201・・・SQL処理装置A上に定義されたTABLE
S表の表記述 202・・・SQL処理装置B上に定義されたSQL_T
ABLE表の表記述 301・・・SQL_TABLE表を導出する問合せのS
QL記述 302・・・列のデータ属性をTABLES表の列のデー
タ属性に合致させるためのSQL記述の変更 303・・・列のデータ規約をTABLES表の列のデー
タ規約に合致させるため のSQL記述の変更 401・・・仮想表の表名と列名 402・・・仮想表の定義 403・・・共通のデータ操作の記述 501・・・検索用SQLのソースプログラムへの埋め込
み 502・・・カーソル宣言 503・・・カーソルオープン文 504・・・カーソルによる検索データの取得 505・・・カーソルクローズ文 601・・・仮想表作成装置・入力部 602・・・仮想表作成装置・SQL文記述作成部 603・・・仮想表作成装置・仮想表定義部 701・・・仮想表作成装置に対する入力文
───────────────────────────────────────────────────── フロントページの続き (72)発明者 柳瀬 康二 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア事業部内 Fターム(参考) 5B082 GA08

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】異なる構成のデータ辞書を有する複数のS
    QL処理装置に対し、同一のデータ操作結果を実現する
    SQL文を作成するSQL文作成方法であって、 前記複数のSQL処理装置におけるデータ操作対象の表
    の記述の差異を抽出するステップと、 抽出した差異に基づいて、前記SQL処理装置間で表の
    記述を同じにするためのSQL文記述を作成するステッ
    プと、 作成したSQL文記述を用いて、前記SQL処理装置間
    で同じ表記述を与える仮想表を定義するステップと、 作成するSQL文の中で直接のデータ操作対象表に代え
    て前記仮想表を指定することにより、各SQL処理装置
    に対する同一のデータ操作結果を求めるためのSQL文
    記述を同一にするステップとを備えたことを特徴とする
    SQL文作成方法。
  2. 【請求項2】第1のデータ辞書を有する第1のSQL処
    理装置に対して所定のデータ操作結果を実現するために
    使用しているSQL文と同じ記述で、前記第1のデータ
    辞書とは異なる第2のデータ辞書を有する第2のSQL
    処理装置に対する同一のデータ操作結果を実現するため
    のSQL文作成方法であって、 前記第1のデータ辞書の表記述と前記第2のデータ辞書
    の表記述との差異を抽出するステップと、 抽出した差異に基づいて、前記第2のSQL処理装置に
    おける表記述を前記第1のSQL処理装置における表記
    述と同一にするためのSQL文記述を作成するステップ
    と、 作成したSQL文記述を用いて、前記第2のSQL処理
    装置上に、第1のSQL処理装置におけるのと同一の表
    記述を与えるための仮想表を定義するステップと、 前記第2の処理装置に対して使用するSQL文を作成す
    る際、該SQL文の中で直接のデータ操作対象表に代え
    て前記仮想表を指定することにより、前記第1のSQL
    処理装置に対するのと同一のデータ操作結果を求めるS
    QL文とするステップとを備えたことを特徴とするSQ
    L文作成方法。
  3. 【請求項3】異なる構成のデータ辞書を有する複数のS
    QL処理装置に対し同一のデータ操作結果を求めるため
    のSQL文記述を同一にするために利用する仮想表の作
    成装置であって、 前記複数のSQL処理装置におけるデータ操作対象の表
    の記述の差異を抽出する手段と、 抽出した差異に基づいて、前記SQL処理装置間で表の
    記述を同じにするためのSQL文記述を作成する手段
    と、 作成したSQL文記述を用いて、前記SQL処理装置間
    で同じ表記述を与える仮想表を定義する手段とを備えた
    ことを特徴とする仮想表作成装置。
  4. 【請求項4】異なる構成のデータ辞書を有する複数のS
    QL処理装置に対し、同一のデータ操作結果を実現する
    SQL文を作成するSQL文作成システムであって、 前記複数のSQL処理装置におけるデータ操作対象の表
    の記述の差異を抽出する手段と、 抽出した差異に基づいて、前記SQL処理装置間で表の
    記述を同じにするためのSQL文記述を作成する手段
    と、 作成したSQL文記述を用いて、前記SQL処理装置間
    で同じ表記述を与える仮想表を定義する手段と、 作成するSQL文の中で直接のデータ操作対象表に代え
    て前記仮想表を指定することにより、各SQL処理装置
    に対する同一のデータ操作結果を求めるためのSQL文
    記述を同一にする手段とを備えたことを特徴とするSQ
    L文作成システム。
  5. 【請求項5】請求項1または2に記載のSQL文作成方
    法で作成した仮想表を、1つのSQL処理装置に対して
    複数のプログラムで利用する共通のデータ操作を実現す
    るために利用することを特徴とする仮想表の利用方法。
JP2000347524A 2000-11-15 2000-11-15 異sql処理装置上のsql文作成方法、及び仮想表作成装置 Pending JP2002149452A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000347524A JP2002149452A (ja) 2000-11-15 2000-11-15 異sql処理装置上のsql文作成方法、及び仮想表作成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000347524A JP2002149452A (ja) 2000-11-15 2000-11-15 異sql処理装置上のsql文作成方法、及び仮想表作成装置

Publications (1)

Publication Number Publication Date
JP2002149452A true JP2002149452A (ja) 2002-05-24

Family

ID=18821237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000347524A Pending JP2002149452A (ja) 2000-11-15 2000-11-15 異sql処理装置上のsql文作成方法、及び仮想表作成装置

Country Status (1)

Country Link
JP (1) JP2002149452A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217424A (ja) * 2008-03-10 2009-09-24 Fujitsu Ltd 記憶部統合装置、記憶部統合プログラム、記憶部統合方法
US20160162535A1 (en) * 2014-12-03 2016-06-09 Verizon Patent And Licensing Inc. Relational data model variant

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217424A (ja) * 2008-03-10 2009-09-24 Fujitsu Ltd 記憶部統合装置、記憶部統合プログラム、記憶部統合方法
US20160162535A1 (en) * 2014-12-03 2016-06-09 Verizon Patent And Licensing Inc. Relational data model variant
US9626403B2 (en) * 2014-12-03 2017-04-18 Verizon Patent And Licensing Inc. Relational data model variant

Similar Documents

Publication Publication Date Title
CN105868204B (zh) 一种转换Oracle脚本语言SQL的方法及装置
US7711704B2 (en) System and method of providing date, arithmetic and other relational functions for OLAP sources
US9195712B2 (en) Method of converting query plans to native code
Wang et al. Interactive query synthesis from input-output examples
US8756495B2 (en) Computer-implemented system and method for tagged and rectangular data processing
CN105989150B (zh) 一种基于大数据环境的数据查询方法及装置
US8825621B2 (en) Transformation of complex data source result sets to normalized sets for manipulation and presentation
JP2005018776A5 (ja)
CN105404665A (zh) 一种json格式数据的查询管理系统
JP2009205397A (ja) 検索エンジン、検索システム、検索方法およびプログラム
JP2001043236A (ja) 類似語抽出方法、文書検索方法及びこれらに用いる装置
JP5927886B2 (ja) クエリシステム及びコンピュータプログラム
JP5994490B2 (ja) データ検索プログラム、データベース装置および情報処理システム
CN105824914A (zh) 一种基于配置的雪花模型信息抽取方法
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
CN101719162A (zh) 基于片段模式匹配的多版本开放式地理信息服务访问方法及系统
JP2002149452A (ja) 異sql処理装置上のsql文作成方法、及び仮想表作成装置
Revanth et al. Nl2sql: Natural language to sql query translator
Chang The Analysis of Open Source Search Engines
CN109376154A (zh) 数据读取、写入方法及数据读取、写入系统
JPH11250073A (ja) 複数データベース意味的階層検索方法及び装置及び複数データベース意味的階層検索プログラムを格納した記憶媒体
Kholod et al. Using ETL tools for developing a virtual data warehouse
Schubotz et al. Querying Large Collections of Mathematical Publications: NTCIR10 Math Task.
Jiang et al. Managing large scale unstructured data with rdbms
Pimenov et al. Taxonomic and phytogeograpical databases in systematics of the flowering plant family Umbelliferae/Apiaceae