JPH1091494A - データベース操作プログラムの変換方法および変換装置 - Google Patents

データベース操作プログラムの変換方法および変換装置

Info

Publication number
JPH1091494A
JPH1091494A JP8247439A JP24743996A JPH1091494A JP H1091494 A JPH1091494 A JP H1091494A JP 8247439 A JP8247439 A JP 8247439A JP 24743996 A JP24743996 A JP 24743996A JP H1091494 A JPH1091494 A JP H1091494A
Authority
JP
Japan
Prior art keywords
database
database operation
program
data model
operation program
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
JP8247439A
Other languages
English (en)
Inventor
Masahiro Yumitatsu
昌弘 弓達
Fujio Ueno
富士夫 上野
Atsuhiko Hirota
敦彦 廣田
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
Hitachi Information and Control Systems Inc
Original Assignee
Hitachi Ltd
Hitachi Process Computer Engineering Inc
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, Hitachi Process Computer Engineering Inc filed Critical Hitachi Ltd
Priority to JP8247439A priority Critical patent/JPH1091494A/ja
Publication of JPH1091494A publication Critical patent/JPH1091494A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】異なるデータモデルのN対N間で、操作プログ
ラムの自動変換を可能にする。 【解決手段】入力データ取り込み手段11から取り込ん
だあるデータモデルの操作プログラムから、データベー
ス操作変換仕様記憶手段21の定義内容に基づいて、D
B操作命令変換手段12によりDB操作命令やパラメー
タを抽出し、まず基本データモデル(例えば、オブジェ
クト指向)に変換し、次いで目的のデータモデルの操作
プログラムに変換する。DB操作命令等の抽出は、取り
込みプログラムのモデルに該当するデータベース操作命
令定義テーブル204を参照して行なう。変換仕様には
基本データモデルと他の各データモデルを、それぞれ対
応したデータ構造対応付けテーブル201、テーブル検
索順序定義テーブル202、DB操作命令対応付けテー
ブル203などを定義している。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースシス
テムに係り、任意のデータモデルのデータベース(D
B)を操作するプログラムを他のDBに利用可能とす
る、DB操作プログラムの自動変換方法および装置に関
する。
【0002】
【従来の技術】データベースの代表的なデータモデルに
はリレーショナルモデル、ネットワークモデル、階層モ
デル、オブジェクトモデル等がある。これらのデータモ
デルでは、例えばデータベーススキーマ定義(テーブル
名、項目名)が同じでも、採用するDBシステムのデー
タモデルが異なれば、データモデルの機能(データ構
造、データ操作及び一貫性制約)がそれぞれ異なる。
【0003】例えば、リレーショナルDBとネットワー
ク型DBにおいて、データ構造に関しては、リレーショ
ナルDBではDBスキーマ定義をテーブルで表現し、ネ
ットワーク型DBではレコード型で表す。リレーショナ
ルDBでは関連を持つテーブルの一方に関連を表すため
の項目(外部キー)を追加するが、ネットワーク型DB
ではレコード型間の関連をレコード型内に項目として持
つことなく、別に親レコード型から子レコード型へのポ
インタ(レコードセット)として管理する。これらは、
表現方法は異なるものの、それぞれ同じ目的を実現した
ものである。
【0004】また、データ操作に関しては、例えば、デ
ータ参照等の同一目的の操作を行う場合において、リレ
ーショナルDBではDBを操作する命令(DB操作命
令)に「SELECT」を使用するが、ネットワーク型
DBの場合は「FIND」と「GET」を用いる。
【0005】さらに、データモデルが同じであってもD
BMS(データベース管理システム)の違いにより、例
えば、同一目的であるデータ更新を行うDB操作命令に
「UPDATE」を用いるDBMSや、「WRITE」
を用いるDBMSがあり、各々のDBMSで操作命令の
異なる場合がある。なお、データモデルの一貫性制約に
関しては、一般にデータモデルによる違いはない。
【0006】データモデルは上記したデータモデルの他
に、利用目的に合わせて開発されるものが無数に存在
し、同様にDBMSも利用目的に合わせて開発されるも
のが無数に存在する。それらデータモデルの異なるDB
及び、データモデルが同一であってもDB操作命令の異
なるDBMSでは、各データモデルの持つ機能が異なる
ことからDB操作命令もそれぞれ異なる。このため、各
々のDBを操作するためには、該当するDB操作命令を
用いたDB操作プログラムを、個別に作成する必要があ
った。
【0007】このような不便を解消する一例として、特
開平2−67682号公報には、リレーショナルDBに
対するDB操作命令を構造型データベースのDB操作命
令へ変換するデータベースシステムが開示されている。
ここでは、構造型データベースのレコード関係をリレー
ショナルDBのテーブルで表現する手段と、リレーショ
ナルDB操作言語であるSQLを解析して構造型データ
ベースを操作するDB操作命令へ変換する手段によっ
て、リレーショナルDBと構造型データベースを同一イ
ンタフェースでアクセス可能としている。
【0008】一方、特開平06−149636号公報に
は、変換対象とするDB間のデータベーススキーマ定義
が異なる場合に、種々のDBを操作するDB操作プログ
ラムを、当該DBのテーブルや項目に依存することなし
に他のDBを操作するためのDB操作プログラムに自動
変換するシステムが開示されている。ここでは、DB操
作プログラムから標準的なリレーショナルDB操作言語
であるSQL文を検出し、そのSQL文中からDB操作
パラメータとして記述されているテーブル名及び項目名
を抽出し、それらを他のリレーショナルDBのテーブル
構成と対応付けるために、テーブル名/項目名対応テー
ブルを用いて同義語または同じ意味を表す項目に置き換
え、変換後のDBに対応したパラメータへ変換すること
により、DB操作プログラムを変換後のDBに対して利
用可能となるよう変換している。
【0009】
【発明が解決しようとする課題】上記した従来の操作プ
ログラムの変換方法には以下のような問題点があった。
すなわち、データベーススキーマ定義が同じでも、デー
タモデルの機能が異なるDBを使用する場合は、そのつ
ど当該DBMSの有するDB操作命令を用いてDB操作
プログラムを人手で作成する必要があった。
【0010】また、特開平2−67682号公報のデー
タベースシステムにおいては、リレーショナルDBと構
造型データベースのDBMS間にてデータ構造とDB操
作命令を1対1に対応付けるている。このため、当該D
B間での変換は可能であるが、任意のDB間での変換に
は適用できない。
【0011】さらに、特開平6−149636号公報の
データベース利用プログラムの変換システムにおいて
は、データベーススキーマ定義が異なる場合に、データ
モデルの機能が同じであればDB操作プログラムを自動
的に変換できる。しかし、データモデルが異なる場合及
び、データモデルが同じであってもDB操作命令が異な
る場合は変換不能となる。
【0012】従って、データモデルの機能が異なる任意
の複数のDBを使用する場合は、依然として人手によっ
てDB操作プログラムの修正を行う必要がある。大規模
なアプリケーションシステムの場合、DB操作プログラ
ムの修正はユーザの大きな負担となっている。
【0013】本発明の目的は、従来技術の問題点に鑑
み、任意のデータモデルの操作プログラムを他の任意の
データモデルの操作プログラムに自動変換する方法と装
置を提供することにある。また、データモデルは同じで
も、DB操作命令が異なるDBMS間におけるDB操作
命令を自動変換する方法と装置を提供することにある。
これにより、ユーザのプログラム開発における負担を軽
減すると共に、アプリケーションプログラムとDBMS
間の接続性を向上させる。
【0014】
【課題を解決するための手段】本発明は基本的には、デ
ータモデルの異なる任意のデータベース(DB)間にお
いて、基本データモデルを中継することでデータベース
操作プログラムのN対N変換が可能になることを着想し
てなされたものである。
【0015】上記した目的は、アプリケーションシステ
ムにおいてデータモデルの異なる複数のデータベース管
理システム(以下、DBMSと称する)を使用する場合
または同じデータモデルで異なる複数のDBMSを使用
する場合に、あるデータモデルのデータベースに対して
操作を行うデータベース操作プログラムから他のデータ
ベースを操作する所望のデータベース操作プログラムへ
と自動変換する方法において、予め、異なるデータモデ
ルのデータ構造とデータベーススキーマ定義及び異なる
DBMS間のデータベース操作命令を対応させる対応付
け情報を定義し、前記対応付け情報を参照して、あるデ
ータベース操作プログラムから抽出したデータベース操
作命令及びパラメータを、前記所望のデータベース操作
命令及びパラメータへ変換し、この変換結果を予め用意
したデータベース操作用雛形プログラムなどを利用して
組みたて、変換後のデータベース操作プログラムを作成
することにより達成される。
【0016】前記DBMS間のデータモデル対応付けを
定義するデータ構造及び/またはスキーマ定義の対応付
けは、アプリケーションシステムにて使用するデータモ
デルの異なる全DBMSにおいて各データモデルが有す
るデータ構造及びデータベース操作命令を各々、1つの
基本データモデルのデータ構造及びデータベース操作命
令と対応付け、前記アプリケーションシステムで使用す
るデータモデルを変更する場合は、変更前のデータモデ
ルのデータベース操作プログラムを前記基本データモデ
ルのそれに変換の後、その基本データモデルから変更す
るデータモデルのデータベース操作プログラムに変換す
ることを特徴とする。
【0017】また、前記DBMS毎にデータベース操作
命令とユーザ作成命令を混在させて定義するとともに前
記ユーザ作成命令の組み込み順序を変更可能とし、変換
後のデータベース操作プログラムにおける操作命令の実
行順序を可変できるようにしたことを特徴とする。
【0018】また、前記データベース操作雛形プログラ
ムは順次、選択、繰り返し処理等の構造を有し、データ
モデルの対応付けを解析する際に、これらの雛形プログ
ラムを組み合わせ、変換前のデータベース操作命令と置
き換えることを特徴とする。
【0019】さらに、前記アプリケーションシステムが
備えまたは作成するデータベース操作プログラム中のデ
ータベース操作要求が構造化されている場合、前記デー
タベース操作プログラム中の操作命令及びパラメータを
自動的に検出し、それらをデータモデル毎に用意されて
いるデータベース操作用雛形プログラムと置き換えるこ
とを特徴とする。
【0020】本発明によれば、データモデルの異なるD
B間及び、データモデルが同じであってもDB操作命令
が異なるDBMS間において、データ構造の対応付け情
報、DB操作命令の対応付け情報及び、DB間のデータ
ベーススキーマ定義対応付け情報は、変換対象となるD
B間において不足なく全て関連付けて定義することによ
り、あるデータモデルのDBに対するデータベース操作
命令及びパラメータを解析し、それを他のDBMSが持
つデータベース操作命令及びパラメータへ変換すること
ができる。
【0021】前記対応付け情報は、DBMS設計時もし
くはDB設計時に行った操作変換仕様定義(データ構造
とスキーマ定義とデータベース操作命令の対応付け)
を、本発明の適用によるデータベース操作プログラムの
変換装置の記憶装置へ格納しておく。これにより、デー
タベース利用者は定義されている任意のデータベース操
作プログラムを、対象とするDBMSに対応したデータ
ベース操作プログラムへ自動的に変換することが可能と
なる。
【0022】本発明によれば、ユーザのプログラム開発
における負担を軽減しプログラム開発工数を低減させる
と共に、プログラムの保守性を向上させることが可能で
ある。さらに、異なるDBMS間におけるDB操作命令
の変換を可能とすることにより、例えば複数のDBを操
作するサーバープログラムにおいて、クライアント側か
ら受け取った任意のDB操作命令を、あらゆるDBMS
のDB操作命令へ変換し、当該DBを操作することが可
能となる等、アプリケーションプログラムとDBMS間
の接続性向上に顕著な効果を奏する。
【0023】
【発明の実施の形態】以下、本発明の実施形態を図面を
用いて詳細に説明する。実施形態1では異なるデータモ
デル間での操作プログラムの変換、実施形態2では、同
一データモデルの異なるDBMS間での操作プログラム
の変換を例にしている。
【0024】〔実施形態1〕図1は、本発明の一実施形
態によるDB操作プログラム自動変換装置のシステム構
成図である。DB操作プログラム自動変換装置1は、中
央処理装置2、メモリ3、キーボード4、ディスプレイ
5等の計算機システムによって構成される。
【0025】メモリ3には、データベース操作変換仕様
定義記憶手段21を備え、データモデルの機能が異なる
複数のDBMS間におけるデータ構造対応付けテーブル
(スキーマ定義対応付けを含む)201、テーブル検索
順序対応付けテーブル202、データベース操作命令対
応付けテーブル203、DBMS毎のデータベース操作
命令定義テーブル204及びデータベース操作前後処理
定義テーブル205を有している。また、データベース
操作プログラムを編集する際に使用するデータベース操
作雛形プログラムを管理する、データベース操作雛形プ
ログラム記憶手段22を備えている。
【0026】中央処理装置2には、対応付け情報とデー
タベース操作プログラムを取り込む入力データ取り込み
手段11、取り込んだデータベース操作プログラムから
データベース操作命令を抽出し、変換データモデルを選
定するデータベース操作命令抽出及びデータモデル選定
手段101、抽出したDB操作命令を対象とするデータ
モデルのDB操作命令に変換するデータベース操作命令
対応付け手段102から構成されるDB操作命令変換手
段12と、変換したDB操作命令を用いてデータベース
操作プログラムを生成するデータベース操作プログラム
掃き出し手段13と、入力データ取り込み手段11から
取り込んだ異なるデータモデルの機能対応付け情報をデ
ータベース操作変換仕様定義記憶手段21に格納するデ
ータベース操作変換仕様定義付け手段14を有してい
る。
【0027】次に、上記したDB操作プログラム自動変
換装置の動作の概要を、図2の概略フローチャートに従
って説明する。まず、入力データ取り込み手段11でD
B操作プログラムを取り込み(S31)、そのDB操作
プログラム中に記述されているDB操作命令及びパラメ
ータを抽出する(S32)。DB操作命令の検出にはD
B操作命令定義テーブル204を使用する。
【0028】次に、取り出したDB操作命令から変換前
のDBのデータモデルを特定する(S33)。また、変
換対象DBのデータモデルを取り込み、変換前後のデー
タモデルを比較し(S34)、同一データモデルの場合
は次のDB操作命令に対する処理へ移る(S39)。
【0029】一方、変換対象データモデルが変換前のモ
デルと異なる場合は、変換前のDB操作命令を基本デー
タモデルのDB操作命令へ変換する(S35)。その
後、変換対象データモデルが基本データモデルであるか
否かを判定し(S36)、基本データモデル以外のとき
は対象とするデータモデルのDB操作命令に変換する
(S37)。これらの異なるデータモデル間のDB操作
命令変換には、データ構造対応付けテーブル201、テ
ーブル検索順序定義テーブル202、DB操作命令対応
付けテーブル203を使用する。また、必要に応じてD
B操作前後処理定義テーブル205を用いる。
【0030】最後に、対象データモデルのDB操作命令
を用いて、DB操作プログラムを掃き出す(S38)。
また、同一プログラム内で他にDB操作命令があるか判
定し(S39)、ある場合はDB操作命令変換処理ステ
ップS32〜38を繰り返す。さらに、別のDB操作プ
ログラムを処理するか否かを判定後(S40)、変換対
象のDB操作プログラムが無ければ終了する。
【0031】本実施例の詳細な説明の前に、データモデ
ルの異なる複数のデータベースを使用するアプリケーシ
ョンシステムにおいて、データベース操作プログラムと
その変更の概要を説明する。
【0032】図3は、アプリケーションシステムのソフ
トウェア構造図の一例である。同図において、41はD
B操作を行うアプリケーション作成プログラム(DB操
作プログラム)である。この例で、DB操作プログラム
41のDB操作命令42は、リレーショナルモデルのD
Bシステム43を操作するものとする。431はリレー
ショナルモデルのDBMS、432はリレーショナルD
Bを示す。
【0033】本アプリケーションシステムには、オブジ
ェクトモデルのDBシステム44及びネットワークモデ
ルのDBシステム45を有している。従って、リレーシ
ョナルDB操作言語で記述されているDB操作プログラ
ム41から、オブジェクトモデルのDB442またはネ
ットワークモデルのDB452を操作するためには、S
QL文で記述されたDB操作命令42を、各モデルのD
Bを操作するDB操作作命令に変換する必要がある。
【0034】図4に、リレーショナルDB、オブジェク
ト指向DB及びネットワーク型DB各々のDB操作命令
の形式を示す。DB操作命令42−1はリレーショナル
DB操作言語であるSQLにて記述されている。本実施
例ではDB操作命令42−1を、同図(b)のオブジェ
クト指向DB操作命令422や、同図(c)のネットワ
ーク型DB操作作命令42−3に変換する。
【0035】本実施形態では、オブジェクトモデルを基
本モデルとしている。この基本モデルの機能と、リレー
ショナルDB及びネットワーク型DBの各々のモデルの
機能を予め対応付けることで、リレーショナルDBとオ
ブジェクト指向DB、ネットワーク型DBとオブジェク
ト指向DB及び、リレーショナルDBとネットワーク型
DBの間で、DB操作プログラムの変換が可能になる。
即ち、基本モデルと対応付けたN個のデータモデル間の
DB操作プログラムの変換が可能になる。
【0036】次に、データベースの具体例をあげて説明
する。図5は、学生と受講科目の関係を管理するデータ
ベースのE−R図を示す。学生51と科目52の間は履
修53という関係にあり、学生51は属性として名前5
11、学年512及び性別513を持ち、科目52は属
性として科目名521を持つ。また、実体間の関係を表
す履修53は、その属性として成績531を持ってい
る。
【0037】図6は、図5のE−R図をリレーショナル
モデル(a)、オブジェクトモデル(b)、ネットワー
クモデル(c)で表現したものである。同図(a)にお
いて、履修テーブル53には、学生テーブル51及び科
目テーブル52との関連を表す属性(外部キー)とし
て、名前501、科目名502を持っている。
【0038】同図(b)では、学生クラス、履修クラ
ス、科目クラスの各オブジェクト間にそれぞれ双方向の
ポインタ503、504を持っている。同図(c)で
は、学生レコードと履修レコード間の関連レコードのポ
インタ505、履修レコードと科目レコード間の関連レ
コードのポインタ506を持っている。
【0039】これら関連を表す属性(外部キー)やポイ
ンタは同じ目的に用いられるが、データモデル独自のデ
ータ構造を持つ。このように、同一のE−R図を異なる
データモデルで表現し、各データモデルと基本データモ
デル(オブジェクトモデル)とのデータモデルの機能に
おけるデータ構造の対応付けを行う。また、データモデ
ルの異なるDBMSにおけるDB操作命令についても対
応付けを行う。これらデータモデル間の機能を対応付け
た情報は、データベース操作命令変換仕様定義記憶手段
21に記憶する。
【0040】次に、データベース操作変換仕様定義記憶
手段21の構造対応付けテーブル201、テーブル検索
順定義テーブル202、DB操作命令対応付けテーブル
203及びDB操作命令定義テーブル204について説
明する。
【0041】図7に、データ構造対応付けテーブルの記
憶形式を示す。同図(a)はリレーショナルモデルとオ
ブジェクトモデル(基本データモデル)を対比して示
し、リレーショナルモデル2000のテーブル名の各項
目と、オブジェクトモデル2001のクラス名の各属性
を対応付けている。
【0042】即ち、リレーショナルモデルの「学生」テ
ーブルの項目「名前」を、オブジェクトモデルの「学
生」クラスの属性「名前」2002、項目「性別」と属
性「性別」、項目「学年」と属性「学年」をそれぞれ対
応付けている。「科目」テーブルの項目「科目名」につ
いても、「科目」クラスの属性「科目名」と対応付けて
いる。
【0043】一方、リレーショナルモデルの「学生」テ
ーブルとの結合を目的として定義している「履修」テー
ブルの「名前」2003は、オブジェクトモデルのポイ
ンタ2005(「学生」クラスから「履修」クラスへの
ポインタ及び「履修」クラスから「学生」クラスへのポ
インタ)により対応付けている。また、「履修」テーブ
ルと「科目」テーブルの結合を目的として定義している
「履修」テーブルの「科目名」2004は、オブジェク
トモデルのポインタ2006(「科目」クラスへのポイ
ンタ及び「履修」クラスへのポインタ)に対応付けてい
る。
【0044】図7(b)は、ネットワークモデル201
0とオブジェクトモデル(基本モデル)2011のデー
タ構造対応付けテーブルである。ここでは、ネットワー
クモデルのレコード名の各項目とオブジェクトモデルの
クラス名の各属性を対応付けている。即ち、「学生」レ
コードの項目「名前」を「学生」クラスの属性「名前」
と、項目「性別」と属性「性別」、項目「学年」と属性
「学年」をそれぞれ対応付けている。「科目」レコード
の項目「科目名」についても、「科目」クラスの属性
「科目名」と対応付けている。
【0045】更に、ネットワークモデルにおけるレコー
ド間のポインタを示すセット名「学生−履修セット」2
012は、オブジェクトモデルにおける各オブジェクト
へのポインタ2014(「履修へのポインタ」及び「学
生へのポインタ」)と、また「履修−科目セット」20
13はポインタ2015と対応付けている。
【0046】このように、データモデルの機能における
データ構造と、DBスキーマ定義をそれぞれ不足無く対
応付けている。なお、オブジェクトモデルの属性として
関連付けられないものは、同等の目的を実現するための
オブジェクトを用いて関連付けることも可能である。
【0047】図8に、テーブル検索順序定義テーブルの
記憶形式を示す。各データモデルにおけるレコードもし
くはクラステーブルの検索順序(親子関係)を管理する
ための定義テーブルである。
【0048】同図(a)は、リレーショナルモデルで関
係を持つテーブル群を、オブジェクトモデルにおいてど
の順番で検索するかを定義している。リレーショナルモ
デルでは「学生」、「履修」及び「科目」テーブル間に
検索順序1618は不要である。一方、オブジェクトモ
デルでは検索順序が必要で、「学生」1619、「履
修」1620、「科目」1621の順に操作することを
定義付けている。
【0049】同図(b)は、ネットワークモデルで関連
を持つレコード群を、オブジェクトモデルにおいてどの
順番で検索するかを定義している。本例では、ネットワ
ークモデルのレコード型は「学生」、「履修」、「科
目」の順番で検索し、同様にオブジェクトモデルにおい
ても「学生」、「履修」、「科目」の順に操作すること
を定義付けている。
【0050】図9に、DB操作命令対応付けテーブルの
記憶形式を示す。同図(a)では、リレーショナルDB
操作命令702とオブジェクト指向DB操作命令703
を、操作種別704単位に対応付けており、例えばSE
LECT705にオブジェクト参照命令706を対応さ
せている。また、DB操作命令の呼び出し順707の定
義が可能であり、これにより複数のDB操作命令を対応
付けることが可能である。本例では各々DB操作命令を
1つずつ定義してある。
【0051】同図(b)では、ネットワークDB操作命
令707とオブジェクト指向DB操作命令703を、操
作種別708単位に対応付けており、レコード位置付け
命令709及びレコード参照命令710にオブジェクト
参照命令706を対応させている。また、ネットワーク
DB操作命令の呼び出し順711を定義し、命令70
9、命令710の順番に操作することを定義している。
このように、対応付け操作命令の順序は任意に設定でき
る。
【0052】図10に、データベース操作命令定義テー
ブルの記憶形式を示す。データベース操作命令定義テー
ブル204には、上記の各対応付けを行ったDBMS特
有のDB操作命令仕様を定義する。図示のテーブル20
4−1には、ネットワークモデルのDBMSが有するD
B操作命令で、必要となるパラメータ情報等を定義して
いる。即ち、データベース操作命令名称802、データ
ベース操作命令の戻り値の型803、データベース操作
命令正常終了時の戻り値804、同じく異常終了時の戻
り値805、データベース操作命令のパラメータの数8
06、パラメータ内容807を定義している。パラメー
タ内容807には、パラメータの意味を定義したパラメ
ータコード808、パラメータのデータ型809、パラ
メータ長810を定義している。
【0053】上記したデータ構造対応付けテーブル20
1、テーブル検索順序定義テーブル202、DB操作命
令対応付けテーブル203、DB操作命令定義テーブル
204の各情報は、DBMSないしDBの設計者が入力
データ取り込み手段11を介して入力し、データベース
操作変換仕様定義付け手段14を介し所定のフォーマッ
トで格納される。
【0054】次に、リレーショナルDB操作命令42−
1からオブジェクト指向DB操作命令を介して、ネット
ワーク型DB操作命令42−3へ変換する手順を詳細に
説明する。本処理は主として、DB操作命令変換処理手
段12によって実行される。
【0055】リレーショナルDB操作命令からネットワ
ーク型DB操作命令への変換においては、SQLによる
リレーショナルDB操作命令を基本データモデルである
オブジェクトモデルのDB操作命令へ変換し、そのオブ
ジェクトモデルのDB操作命令をネットワークDB操作
命令へ変換する。
【0056】リレーショナルモデルを採用したアプリケ
ーションシステムで、例えば、学生名「佐藤」の「英
語」の成績を参照する場合、SQL文のDB操作プログ
ラムは SELECT 履修.成績 FROM 学生, 履修 WHERE 学生.名前 =“佐藤” AND 学生.名
前 = 履修.名前AND 履修.科目名 = “英語”
; と記述され(図4の42−1)、入力データ取り込み手
段11から取り込まれる(図2のステップS31)。次
に、上記SQL文からテーブル名「学生」及び「履歴」
と、項目名「履修.成績」を取り出し、また、抽出条件
「学生.名前=“佐藤” AND 学生.名前=履修.名前
AND 履修.科目名=“英語”」を取り出す(S3
2)。
【0057】リレーショナルモデルから基本データモデ
ル(オブジェクトモデル)へ変換するデータモデルの選
定後(S34)、基本データモデルへの変換が行なわれ
る(S35)。この変換処理は、図11に示すように、
データ構造及びDB操作命令対応付けの処理フローに従
って行なわれる。
【0058】まず、データ構造対応付けテーブル201
−1、テーブル検索順序定義テーブル202−1から、
基本モデルと対象モデル(最初は入力モデル)のデータ
構造対応付け情報を取り込む(S1101)。さらに、
テーブル201−1の情報からリレーショナルデータモ
デルのテーブル名、項目名に対応したオブジェクトモデ
ルのクラス名、属性名を抽出する(S1102)。
【0059】次に、データベース操作命令対応付けテー
ブル203−1から両モデルのDB操作命令対応付け情
報を取り込を取り込み(S1103)、リレーショナル
のSQL文から取り出した「SELECT」命令705
に対応する「オブジェクト参照命令」706を取り出す
(S1104)。さらに、取り出したテーブル名、項目
名、操作条件、DB操作命令などを、DB操作命令変換
用の中間テーブルにセットする(S1105)。
【0060】図12に、DB操作命令変換用中間テーブ
ルの記憶形式を示す。同図(a)の中間テーブル170
1−1には、各DB操作要求(本例ではSQL)単位
に、操作種別1702、操作対象とするテーブルまたは
レコード名1703、その検索順1711、項目名17
04、そのテーブル操作時の値1705、関連170
6、対象とするデータの検索条件1707を登録する。
本例では、「参照」命令を使用して「履修」クラスの
「成績」属性値を取り出すことを記憶しており、データ
の検索条件1707として、「学生」クラスの属性「名
前=“佐藤”」、「履修」クラスの属性「科目名=“英
語”」を使用することを記憶している。
【0061】上記の手順により、入力操作プログラムの
リレーショナルDB操作命令は基本モデルのオブジェク
トDB操作命令に変換される。次に、そのオブジェクト
DB操作命令から目的のネットワークDB操作命令へ
は、上記と同様の変換処理(S1101〜S1105)
を繰り返すことで変換する。この結果、図12(b)に
示すように、DB操作命令変換用の中間テーブル170
1−2が作成される。
【0062】以上で、図2のステップS31〜S37ま
での処理が終了し、次に、図13の処理フローに従い、
対象データモデル(ここでは、ネットワーク型)のDB
操作プログラムの掃き出し処理(S38)が行なわれ
る。DB操作プログラム掃き出し手段13は、DB操作
命令変換用の中間テーブル1701−2を用いて、ネッ
トワーク型DBを操作するDB操作プログラムを生成す
る。本実施例では、DB操作雛形プログラムを使用する
生成方法について説明する。
【0063】図14にデータベース操作雛形プログラム
のサンプル、図15にDB操作プログラムの構成例を示
す。雛形プログラムには、作成するDB操作プログラム
のメイン処理用雛形プログラム151と、順処理用雛形
プログラム152、選択処理用雛形プログラム153、
繰り返し処理用雛形プログラム154などがある。DB
操作プログラム150は、データベース操作雛形プログ
ラム151に、順処理用雛形プログラム152などを組
み上げて作成する。
【0064】本実施例で使用する雛形プログラムは、例
えば図16及び図17に示すC言語を用いて記述したデ
ータベース操作用のプログラムで、メイン処理用雛形プ
ログラム151−1、順処理を行うためのデータベース
操作雛形プログラム152−1、分岐処理を行うための
データベース操作雛形プログラム153−1、繰り返し
処理用雛形プログラム154−1などである。雛形プロ
グラムの書き変え部分は、具体的な命令を記述せず空白
にしてある。
【0065】再び図13に戻って、対象データモデルの
DB操作プログラムの生成手順を説明する。まず、デー
タベース操作雛形プログラム記憶手段22からDB操作
メイン処理用雛形プログラム151を取り出し(S13
01)、次に、ネットワークDB操作前処理命令の組込
が必要か、DB操作前後処理定義テーブル205におけ
る前処理の有無をチエックする(S1302)。
【0066】図18に、DB操作前後処理定義テーブル
の一例を示す。上記したデータベース操作変換仕様の定
義時に、対応付けを行ったDB操作命令を実行する際に
必要となるDB操作前後処理を、テーブル205に定義
しておくことができる。リレーショナルDBとオブジェ
クト指向DBでは、同図(a)のテーブル205−1の
ように共に必要としていない。一方、ネットワークDB
とオブジェクト指向DBでは、同図(b)のテーブル2
05−2のように、ネットワークDB操作命令を実行す
る際に必要となるDB操作前処理2111とDB操作後
処理2112を定義している。
【0067】ステップS1302で、DB操作前処理の
定義がなされている場合、DB操作前処理として「レコ
ード操作開始命令2111」を取り出す。レコード操作
開始命令2111は、DB操作命令変換用中間テーブル
1701−2に登録されている全レコードに対して行
う。このため、「学生」、「履修」レコードに対して順
処理用雛形プログラム152を用いてプログラムを作成
し、DB操作メイン処理用雛形プログラム151の「D
B操作前処理命令」1802に展開する(S130
3)。図19(a)に、DB操作メイン処理用雛形プロ
グラム上における「DB操作前処理命令」の展開概念図
を示す。
【0068】DB操作前処理命令1802の作成は、順
処理用雛形プログラム152を使用し、取り出した「レ
コード操作開始命令2111」のインタフェース情報を
データベース操作命令定義テーブル204−1より検索
し、パラメータ変数の型及びサイズを取り込み、また、
図2のステップS32で抽出したSQLのパラメータ内
容と対応付け、これらを順処理用雛形プログラム152
に展開する。
【0069】本実施例のDB操作命令変換用中間テーブ
ル1701−2には、2つのレコード「学生」、「履
修」に対して操作要求があるため、テーブル操作前処理
命令の埋込み手順により雛形プログラムを2つ作成し、
1つ目の雛形プログラム152における「次のDB操作
命令」1808には作成した雛形プログラムの関数名称
を順番に記述して各雛形プログラムを連結する。また、
2つ目の雛形プログラム152における「次のDB操作
命令」1808は展開するプログラムが無いためDB操
作命令(この場合はレコード操作開始命令2111)の
正常時の戻り値2001を記述する。
【0070】次に、「DB操作命令」1804に展開す
るDB操作プログラムを作成する(S1304)。本実
施例では、図12(a)の「履修」レコードに対する
「参照」操作を行う。また、ネットワーク型DBにおけ
るレコード検索順は、テーブル検索順序定義テーブル2
02−2より「学生」、「履修」レコードの順番となっ
ているため、まず「学生」レコードに対するプログラム
を作成する。
【0071】「学生」レコードに対するDB操作は、D
B操作命令変換用中間テーブル1701−2より、条件
「名前=“佐藤”」で行う。従って、ネットワークモデ
ルのDB操作命令対応付けテーブル203−2、DB操
作命令定義テーブル204−2より、参照用命令「レコ
ード位置付け命令2105」及び「レコード参照命令2
106」を取り込み、これらDB操作命令の呼び出し順
2113を取り込む。
【0072】これらのDB操作命令2105、2106
は、それぞれ順処理用雛形プログラム152を用いて作
成し、更に全ての「学生」レコードを参照するため繰り
返し処理用雛形プログラム154を使用し、作成した2
つの順処理用雛形プログラムを組み込む(図19
(b))。
【0073】一方、「学生」レコードでは「学生−履修
セット」を用いて、「学生」レコードと関連する「履
修」レコードを検索する。この検索条件1707は「科
目名=“英語”」なので、「次のDB操作命令」「履
修」レコードを参照するためのDB操作命令2002に
を組み込む。
【0074】「履修」テーブルを参照する場合において
も、同様に「レコード位置付け命令2105」及び「レ
コード参照命令2106」を使用し、ここでも全ての
「履修」レコードを参照するため繰り返し処理用雛形プ
ログラム154を使用し、作成した2つの順処理用雛形
プログラム152を「次のDB操作命令」に組み込む。
【0075】次に、DB操作後処理要否を判定し(S1
305)、必要な場合はDB操作メイン雛形プログラム
の「DB操作後処理命令」1805について、DB操作
前処理と同様な手順で作成する(S1306)。最後
に、変換の必要な次のDB操作命令があれば、ステップ
S1301に戻る(S1307)。
【0076】以上のように、本実施形態のDB操作プロ
グラム自動変換方式を用いれば、データモデル操作プロ
グラムのN対N変換が可能となるので、アプリケーショ
ンシステムが使用している操作プログラム、例えばリレ
ーショナルDBの操作プログラムから直接、ネットワー
ク型DBの操作が実現できる。これにより、対象とする
DBMSに合わせてDB操作プログラムを書き換える必
要がなくなり、プログラム開発工数を削減することがで
きると共に、アプリケーションシステムとDBMS間の
接続性向上がはかれる。
【0077】また、対応付けDB操作命令はその順序を
変更可能であり、変換前と変換後の命令順序を任意に変
更したり、後述のように他の命令を挿入するなど、変換
後のプログラムの機能を変更ないし拡大することができ
る。
【0078】また、DB操作プログラムにおけるDB操
作要求が上記のように構造化された記述である場合は、
DB操作プログラムからDB操作命令及びパラメータを
自動的に検出し、更に作成したDB操作用雛形プログラ
ムを変換前のDB操作命令及びパラメータと自動的に書
き換えることができる。なお、雛形プログラムを使用せ
ず、ユーザがDB操作命令及びパラメータを抽出し、デ
ータベース操作命令抽出及びデータモデル選定手段10
1に与えることにより、変換後のDBを操作するDB操
作用雛形プログラムを作成することもできる。
【0079】本実施形態では、ユーザが作成したDB操
作プログラム中のDB操作命令(SQL)を対象とする
DBMSの有するDB操作命令に静的に書き換える例に
ついて説明したが、これに限られるものではない。
【0080】上記したDB操作プログラム変換方式を用
いて、DB操作プログラム実行中に生成されるSQL文
を受け取り、それを解釈して対象とするDBMSに対す
るDB操作プログラムを掃き出し、コンパイル後実行さ
せる方法、または受け取ったSQL文を解釈して対象と
するDBMSを操作するインタプリタ方式、等によりデ
ータモデルの異なるDB操作を行うことも可能である。
【0081】また、上記の第1、第2の実施形態では、
DB操作命令にSQLを例に上げたが、他のデータモデ
ルを操作するDB操作命令を使用することも可能であ
る。
【0082】以上、本発明における実施形態について説
明したが、これによりデータベース変更後にデータベー
ス管理システムのデータモデルが変わった場合及び、デ
ータベース管理システムの持つデータベース操作命令が
変わった場合においても、ユーザがデータベース操作プ
ログラムを人手で修正する必要がなく、多数のデータベ
ース操作プログラムを自動的に書き換えることが可能と
なり、また、アプリケーションシステムにおけるプログ
ラム開発工数の削減とともに、アプリケーションプログ
ラムとDBMS間の接続性向上が可能となる。
【0083】〔実施形態2〕次に、本発明の第2の実施
形態を説明する。本実施形態では、同じデータモデルで
DB操作命令の異なるDBMS間において、あるDBM
Sから他のDBMSのDB操作命令へと変換する。以下
では、ネットワークモデルの異なるDBMS(NDB−
1とNDB−2)における変換を説明する。
【0084】図20に、ネットワークモデルのDBMS
におけるDB操作命令定義テーブルの一例を示す。本テ
ーブル204−2は、実施形態1にて説明したNDB−
1のDB操作命令定義テーブル204−1と同一様式
で、NDB−2によるDB操作命令2102、2103
を定義している。
【0085】図21に、異なるDBMS間におけるDB
操作命令対応付けテーブルの一例を示す。同図(a)は
実施形態1のNDB−1の操作命令と基本モデル(オブ
ジェクト指向)操作命令の対応付け、同図(b)は実施
形態2のNDB−2の操作命令と基本モデル(オブジェ
クト指向)操作命令の対応付けの定義内容である。
【0086】同一DBモデルの各DBMSの操作命令が
上記のように定義されていると、一方の操作プログラム
(NDB−1)を取り込み、基本モデルへの変換を経由
して、他方の操作プログラム(NDB−2)への変換
が、実施形態1で説明したDBモデルの異なる場合と同
様の手順で実行できる。
【0087】さらに、上記対応付けDB操作命令中に、
ユーザが作成した保守用関数などを登録する命令組み込
みも可能である。図22に、ユーザ作成命令定義テーブ
ルの一例を示す。本テーブル901は、上記で説明した
データベース操作命令定義テーブル204のデータモデ
ル毎に、リンクして管理される。
【0088】図示例はネットワークモデルの場合で、図
20のデータベース操作命令定義テーブル204−2と
同一様式で、保守用関数命令名称902、保守用関数命
令の戻り値の型903、保守用関数命令正常終了時の戻
り値904、同じく異常終了時の戻り値905、保守用
関数命令のパラメータの数906、パラメータ内容90
7を記憶している。さらに、保守用関数命令パラメータ
内容907は、パラメータの意味を定義したパラメータ
コード908、パラメータのデータ型909、およびパ
ラメータ長910を含んでいる。テーブル901の情報
は、定義情報の登録時に入力データ取り込み手段11か
ら入力される。
【0089】このように、DB操作命令定義テーブル2
04と同様に関数インターフェースを定義したユーザ作
成命令を、例えばテーブル203−4におけるDB操作
命令として、自DBMSの提供するDB操作命令(例え
ば、テーブル203−3のような)と混在させて、レコ
ードダンプ命令2203、レコード更新履歴取得命令2
204等のように追加定義ができる。これにより、実施
形態1と同様の変換手順(例えば、ステップS32やS
1303,S1304,S1305)により、目的のD
B操作プログラムへのユーザ作成命令の自動組込が可能
になる。
【0090】また、DB操作命令対応付け定義テーブル
203−4における呼出し順序を変更することにより、
例えばプログラム動作時の履歴収集ポイントを簡単に変
更できる。さらに、データベース操作命令の異常終了時
の後処理として行なう場合には、データベース操作雛形
プログラム152の「異常後処理」1809へ、ユーザ
作成命令902を書き込むことにより、自動組込が可能
である。
【0091】プログラムの生成に際しては、図13の処
理フローにおける雛形プログラムの利用が可能である。
即ち、ステップS1301で、DB操作メイン処理用雛
形プログラム151を取り出した後、本雛形プログラム
151の関数名称が与えられている場合には、ユーザが
作成したDB操作プログラムにおける変換前のDB操作
命令を同一関数名に置き換えることである。この際、関
数名称を与えないで、作成する雛形プログラム全体をユ
ーザ作成のDB操作プログラム内に展開することも可能
である。なお、以上のユーザ作成命令の組込は、実施形
態1においても可能なことは言うまでもない。
【0092】以上、本実施形態によれば、DB設計者は
必要に応じて保守用関数等をデータベース操作プログラ
ムへ組み込むことができ、操作データベース、テーブ
ル、キー値、及びデータ等をユーザ自身で履歴管理した
り、プログラム実行トレースを記録するなど、アプリケ
ーションシステムの保守性向上に貢献できる。
【0093】
【発明の効果】本発明のデータベース操作プログラム自
動変換方式によれば、データモデルの異なるDBを使用
する場合やDBMSを変更する場合において、変更前後
のデータモデル機能が異なる場合にも、DB操作プログ
ラムを変更後のDBMSに合わせて変換することが可能
となり、ユーザはDB操作プログラムを人手にて修正す
る必要がなくなる。これにより、大量のDB操作プログ
ラムを自動的に変更し、ユーザにおけるプログラム開発
工数を低減すると共に、アプリケーションプログラムと
DBMS間の接続性を向上する。
【図面の簡単な説明】
【図1】本発明の一実施形態によるデータベース操作プ
ログラム自動変換装置のシステム構成図。
【図2】本発明の一実施形態によるデータベース操作プ
ログラム自動変換方法の概略フローチャート。
【図3】DB操作プログラム変換の適用対象となるソフ
トウェア構造図。
【図4】データモデルの異なるデータベース操作プログ
ラムの例示図。
【図5】データベースの一例を示す概念図(E−R
図)。
【図6】図5のデータベースによるリレーショナルモデ
ル、オブジェクトモデル、ネットワークモデルの例示
図。
【図7】データ構造対応付けテーブルの構成図。
【図8】テーブル検索順定義テーブルの構成図。
【図9】DB操作命令対応付けテーブルの構成図。
【図10】DB操作命令定義テーブルの構成図。
【図11】データ構造及びDB操作命令対応付け処理の
フローチャート。
【図12】テーブル操作要求記憶テーブル(中間テーブ
ル)の構成図。
【図13】データベース操作プログラム掃き出し処理の
フローチャート。
【図14】DB操作雛形プログラムの例示図。
【図15】DB操作雛形プログラムの組合せ例示図。
【図16】C言語を用いたデータベース操作雛形プログ
ラムの例示図。
【図17】C言語を用いたデータベース操作雛形プログ
ラムの例示図。
【図18】DB操作前後処理定義テーブルの構成図。
【図19】DB操作雛形プログラムの組合せによる変換
プログラムの例示図。
【図20】別の実施形態によるDB操作命令定義テーブ
ルの構成図。
【図21】別の実施形態によるDB操作命令対応付けテ
ーブルの構成図。
【図22】ユーザ作成命令定義テーブルの構成図。
【符号の説明】
2…中央処理装置、3…メモリ、4…キーボード、5…
ディスプレイ、11…入力データ取り込み手段、12…
DB操作命令変換手段、13…データベース操作プログ
ラム掃き出し手段、14…データベース操作変換仕様定
義付け手段、21…データベース操作変換仕様定義記憶
手段(定義ファイル)、22…データベース操作雛形プ
ログラム記憶手段、101…DB操作命令抽出及びデー
タモデル選定手段、102…データ構造及びDB操作命
令対応付け手段、201…データ構造対応付けテーブ
ル、202…テーブル検索順定義テーブル、203…デ
ータベース操作命令対応付けテーブル、204…データ
ベース操作命令定義テーブル、205…データベース操
作前後処理定義テーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 上野 富士夫 茨城県日立市大みか町五丁目2番1号 日 立プロセスコンピュータエンジニアリング 株式会社内 (72)発明者 廣田 敦彦 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 あるデータモデルのデータベースを操作
    するためのデータベース操作プログラムを、他のデータ
    モデルのデータベースを操作するためのデータベース操
    作プログラムに自動的に変換する方法において、 予め、所定の基本データモデルと任意のデータモデルと
    の間で各機能を対応させるための対応付け情報と、デー
    タモデル毎のデータベース操作命令を定義し、 前記あるデータモデルのデータベース操作プログラム中
    から、該当するデータベース操作命令の定義を参照して
    抽出した操作命令を、前記基本データモデルと当該デー
    タモデルとの対応付け情報に基づいて前記基本データモ
    デルの操作命令に変換し、その後、前記基本データモデ
    ルと前記他のデータモデルとの対応付け情報に基づいて
    前記他のデータモデルの操作命令に変換することを特徴
    とするデータベース操作プログラムの変換方法。
  2. 【請求項2】 請求項1において、 前記対応付け情報は、テーブル間の関連や親子関係を表
    すデータ構造、種別(例えば参照、更新、追加、削除
    等)単位のデータベース操作命令の対応、データベース
    間のスキーマ定義を含むことを特徴とするデータベース
    操作プログラムの変換方法。
  3. 【請求項3】 データモデルが同じでデータベース管理
    システム(以下、DBMSと称する)が異なる場合に、
    DBMS間でデータベース操作プログラムを変換する方
    法において、 予め、各DBMSの間でデータベースの操作種別単位に
    データ操作命令の対応を含む対応付け情報を定義し、 あるDBMSのデータベース操作プログラム中から抽出
    した操作命令を、前記対応付け情報に基づいて目的のD
    BMSの操作命令に変換することを特徴とするデータベ
    ース操作プログラムの変換方法。
  4. 【請求項4】 請求項3において、 前記対応付け情報は、所定の基本データモデルと任意の
    データモデルの異なるDBMS毎の間で、前記データ操
    作命令とデータ構造及びスキーマ定義を含み、 前記任意のデータモデルのあるDBMSのデータベース
    操作プログラム中から抽出した操作命令を、前記基本デ
    ータモデルと前記あるDBMSの対応付け情報に基づい
    て前記基本データモデルの操作命令に変換し、その後、
    前記基本データモデルと他のDBMSとの対応付け情報
    に基づいて、前記他のDBMSの操作命令に変換するこ
    とを特徴とするデータベース操作プログラムの変換方
    法。
  5. 【請求項5】 アプリケーションシステムにおいてデー
    タモデルの異なる複数のデータベース管理システム(以
    下、DBMSと称する)を使用する場合または同じデー
    タモデルで異なる複数のDBMSを使用する場合に、あ
    るデータモデルのデータベースに対して操作を行うデー
    タベース操作プログラムから他のデータベースを操作す
    る所望のデータベース操作プログラムへと自動変換する
    方法において、 予め、異なるデータモデルのデータ構造とデータベース
    スキーマ定義及び異なるDBMS間のデータベース操作
    命令を対応させる対応付け情報を定義し、 前記対応付け情報を参照して、あるデータベース操作プ
    ログラムから抽出したデータベース操作命令及びパラメ
    ータを、前記所望のデータベース操作命令及びパラメー
    タへ変換し、この変換結果を予め用意したデータベース
    操作用雛形プログラムなどを利用して組みたて、変換後
    のデータベース操作プログラムを作成することを特徴と
    するデータベース操作プログラムの変換方法。
  6. 【請求項6】 請求項5において、 前記DBMS間のデータモデル対応付けを定義するデー
    タ構造及び/またはスキーマ定義の対応付けは、アプリ
    ケーションシステムにて使用するデータモデルの異なる
    全DBMSにおいて各データモデルが有するデータ構造
    及びデータベース操作命令を各々、1つの基本データモ
    デルのデータ構造及びデータベース操作命令と対応付
    け、 前記アプリケーションシステムで使用するデータモデル
    を変更する場合は、変更前のデータモデルのデータベー
    ス操作プログラムを前記基本データモデルのそれに変換
    の後、その基本データモデルから変更するデータモデル
    のデータベース操作プログラムに変換することを特徴と
    するデータベース操作プログラムの変換方法。
  7. 【請求項7】 請求項5または6において、 予め、前記DBMS毎にデータベース操作命令とユーザ
    作成命令を混在させて定義するとともに前記ユーザ作成
    命令の組み込み順序を変更可能とし、変換後のデータベ
    ース操作プログラムにおける操作命令の実行順序を可変
    できるようにしたことを特徴とするデータベース操作プ
    ログラムの変換方法。
  8. 【請求項8】 請求項5、6または7において、 前記データベース操作雛形プログラムは順次、選択、繰
    り返し処理等の構造を有し、データモデルの対応付けを
    解析する際に、これらの雛形プログラムを組み合わせ、
    変換前のデータベース操作命令と置き換えることを特徴
    とするデータベース操作プログラムの変換方法。
  9. 【請求項9】 請求項5、6、7または8において、 前記アプリケーションシステムが備えまたは作成するデ
    ータベース操作プログラム中のデータベース操作要求が
    構造化されている場合、前記データベース操作プログラ
    ム中の操作命令及びパラメータを自動的に検出し、それ
    らをデータモデル毎に用意されているデータベース操作
    用雛形プログラムと置き換えることを特徴とするデータ
    ベース操作プログラムの変換方法。
  10. 【請求項10】 アプリケーションシステムにおいてデ
    ータモデルの異なる複数のデータベース管理システム
    (以下、DBMSと称する)を使用する場合または同じ
    データモデルで異なる複数のDBMSを使用する場合
    に、あるデータモデルのデータベースに対して操作を行
    うデータベース操作プログラムから他のデータベースを
    操作する所望のデータベース操作プログラムへと自動変
    換する装置において、 データモデルのデータ構造及びデータベーススキーマ定
    義の対応付けを行なうデータ構造対応付けテーブル及び
    テーブル検索順序定義テーブルと、DBMS間のデータ
    ベース操作命令の対応付けを行なうデータベース操作命
    令対応付けテーブルと、データモデルまたはDBMS毎
    にデータベース操作命令及びパラメータを定義するデー
    タベース操作命令定義テーブルを記憶する記憶手段と、 前記あるデータモデルのデータベース操作プログラムか
    らデータベース操作命令及びパラメータを抽出し、前記
    テーブルに定義されている対応付け情報を用いて、他の
    データベースを操作するためのデータベース操作命令と
    パラメータへ変換するデータベース操作命令変換手段
    と、この変換結果を用いて他のデータベース操作プログ
    ラムを生成するデータベース操作プログラム生成手段を
    備えていることを特徴とするデータベース操作プログラ
    ムの変換装置。
  11. 【請求項11】 請求項10において、 前記データベース操作プログラム生成手段は、データベ
    ース操作の複数の雛形プログラムを記憶するデータベー
    ス操作雛形記憶手段と、前記変換結果を前記雛形プログ
    ラムに組み込み、変換後のデータベース操作プログラム
    を作成するデータベース操作プログラム掃き出し手段を
    有していることを特徴とするデータベース操作プログラ
    ムの変換装置。
JP8247439A 1996-09-19 1996-09-19 データベース操作プログラムの変換方法および変換装置 Pending JPH1091494A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8247439A JPH1091494A (ja) 1996-09-19 1996-09-19 データベース操作プログラムの変換方法および変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8247439A JPH1091494A (ja) 1996-09-19 1996-09-19 データベース操作プログラムの変換方法および変換装置

Publications (1)

Publication Number Publication Date
JPH1091494A true JPH1091494A (ja) 1998-04-10

Family

ID=17163464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8247439A Pending JPH1091494A (ja) 1996-09-19 1996-09-19 データベース操作プログラムの変換方法および変換装置

Country Status (1)

Country Link
JP (1) JPH1091494A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327232A (ja) * 2003-08-29 2005-11-24 Microsoft Corp 任意のデータモデル用のマッピングアーキテクチャ
JP2012194602A (ja) * 2011-03-14 2012-10-11 Fujitsu Ltd データストア制御装置、データストア制御プログラムおよびデータストア制御方法
JP2015200978A (ja) * 2014-04-04 2015-11-12 富士通株式会社 データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置
JP2018514012A (ja) * 2015-02-18 2018-05-31 アビニシオ テクノロジー エルエルシー ネットワーク上のデータソースへの照会
JP2019169001A (ja) * 2018-03-23 2019-10-03 株式会社日立製作所 データ移行システム及びデータ移行サーバ
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
US11593369B2 (en) 2010-01-15 2023-02-28 Ab Initio Technology Llc Managing data queries

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005327232A (ja) * 2003-08-29 2005-11-24 Microsoft Corp 任意のデータモデル用のマッピングアーキテクチャ
US11593369B2 (en) 2010-01-15 2023-02-28 Ab Initio Technology Llc Managing data queries
JP2012194602A (ja) * 2011-03-14 2012-10-11 Fujitsu Ltd データストア制御装置、データストア制御プログラムおよびデータストア制御方法
JP2015200978A (ja) * 2014-04-04 2015-11-12 富士通株式会社 データベースアクセス制御プログラム、データベースアクセス制御方法、及び情報処理装置
JP2018514012A (ja) * 2015-02-18 2018-05-31 アビニシオ テクノロジー エルエルシー ネットワーク上のデータソースへの照会
US11308161B2 (en) 2015-02-18 2022-04-19 Ab Initio Technology Llc Querying a data source on a network
JP2019169001A (ja) * 2018-03-23 2019-10-03 株式会社日立製作所 データ移行システム及びデータ移行サーバ
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods

Similar Documents

Publication Publication Date Title
Bryce et al. SNAP: A graphics-based schema manager
US6175837B1 (en) Object-relational mapping toll that processes views
US7185317B2 (en) Logical data modeling and integrated application framework
US7979456B2 (en) Method of managing and providing parameterized queries
US20030120659A1 (en) Systems for developing websites and methods therefor
US20020091677A1 (en) Content dereferencing in website development
Luković et al. An approach to developing complex database schemas using form types
JP3310116B2 (ja) 知識ベースシステム
US7765226B2 (en) Method of generating database transaction statements based on existing queries
US20020013779A1 (en) Reverse foreign key techniques in website development
JPH1091494A (ja) データベース操作プログラムの変換方法および変換装置
JPH06282576A (ja) ネットワーク型データベースのリレーショナルアクセス方式
JP2005056085A (ja) データ構造変換プログラム
JPH0232470A (ja) シソーラス編集装置
Hohenstein et al. A graphical tool for specifying semantic enrichment of relational databases
KR100873808B1 (ko) 다중 데이터베이스 미들웨어 시스템에서 메타데이터를이용한 데이터 통합 방법
Cammarata An intelligent information dictionary for semantic manipulation of relational databases
Dogan et al. Improved Presentation and Facade Layer Operations for Software Engineering Projects
JP2000322295A (ja) データベースストアドサブプログラム用プログラミング支援方法ならびに装置
JPH02141828A (ja) エキスパートシステムとデータベースシステムの対応定義支援方法およびそれを用いた知識処理システム
CN117992035A (zh) 业务模型建模方法、装置、设备以及存储介质
Rae Getting to grips with database design: A step by step approach
CN114428777A (zh) 数据库扩展方法和系统
CN114896264A (zh) 一种基于Vue与动态SQL的可视化信息收集方法及系统
JPH09167167A (ja) オブジェクト指向データベースにおけるオブジェクト検索方法