JPH05225013A - 仮想データベース方式 - Google Patents

仮想データベース方式

Info

Publication number
JPH05225013A
JPH05225013A JP4059072A JP5907292A JPH05225013A JP H05225013 A JPH05225013 A JP H05225013A JP 4059072 A JP4059072 A JP 4059072A JP 5907292 A JP5907292 A JP 5907292A JP H05225013 A JPH05225013 A JP H05225013A
Authority
JP
Japan
Prior art keywords
database
operation statement
application program
command
virtual
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.)
Granted
Application number
JP4059072A
Other languages
English (en)
Other versions
JP2942414B2 (ja
Inventor
Yasukatsu Ishida
康勝 石田
Minoru Yamada
実 山田
Kanji Akiyama
完二 秋山
Hiroshi Hirakawa
洋 平川
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.)
ADVANCED SYST KENKYUSHO KK
Original Assignee
ADVANCED SYST KENKYUSHO KK
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 ADVANCED SYST KENKYUSHO KK filed Critical ADVANCED SYST KENKYUSHO KK
Priority to JP4059072A priority Critical patent/JP2942414B2/ja
Publication of JPH05225013A publication Critical patent/JPH05225013A/ja
Application granted granted Critical
Publication of JP2942414B2 publication Critical patent/JP2942414B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 仮想データベースの構築をソースプログラム
レベルで実現することにより、汎用性のあるデータベー
スのアクセス方法を用意する必要がなく、データベース
に依存しない仮想デ−タベ−ス方式を提供することを目
的とする。 【構成】 仮想データベース操作文を用いたアプリケー
ションプログラムのソース10からデータベース操作文
を用いたアプリケーションプログラムのソース13を生
成する仮想データベース操作文変換手段11を備え、生
成されたデータベース操作文を用いたアプリケーション
プログラムのソース13をコンパイラ14で処理してデ
ータベース操作文を用いたアプリケーションプログラム
の実行モジュール14を生成し、データベース15にア
クセスして動作する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理システムにお
いて、データの検索、登録、更新、削除等のデータ操作
機能を受け持つデータベースに関し、特に仮想データベ
ース操作文を用いたアプリケーションプログラムをデー
タベースで動作させる仮想デ−タベース方式に関する。
【0002】
【従来の技術】従来のデータベースをアクセスする場
合、種類の異なるデータベースでは、異なるアクセス方
法を用いている。したがってある種類のデータベースで
動作しているアプリケーションプログラムはそのままで
は、他の種類のデータベースで動作しない。そこでこの
問題を解決するため、操作者が操作するアプリケーショ
ンプログラムとデータベースとの間に操作者が操作する
アプリケーションプログラムにて動作するデータベース
(仮想データベース)を想定し、データベース操作方法
の変換過程を介在させることによって、操作方法の異な
るデータベースに対して同一の操作方法によるアクセス
を可能とする仮想データベース方式が利用されている。
【0003】ところで、上述した従来の仮想データベー
ス方式は、図9に示すように仮想データベース操作文
(すなわち、操作者が扱うデータベース操作文)を用い
たアプリケーションプログラムの実行モジュール101
とデータベース103の間に、仮想データベースアダプ
タ102を装備し、仮想データベース操作方法からデー
タベースアクセス方法への変換をデータベースへのアク
セス実行時に行っていた。
【0004】
【発明が解決しようとする課題】しかし、上述した従来
の技術において、仮想デ−タベ−スアダプタの作成は、
データベースが提供するアクセス方法が汎用性の高い物
でない場合は、困難であるという欠点があった。そこで
データベースに依存することなく、仮想データベースア
ダプタを実現するための汎用的なアクセス方法が用意さ
れていないデータベースにおいても、実現可能な仮想デ
−タベ−ス方法を構築することが課題となっていた。
【0005】本発明は、仮想データベースの構築をソー
スプログラムレベルで実現することにより上記の目的を
達成し、汎用性のあるデータベースのアクセス方法を用
意して実行時にデータベース操作文を文字列で直接指定
するといったダイナミックなデータベース操作文処理機
能を必要としない仮想デ−タベ−ス方式を提供すること
を目的とする。
【0006】
【課題を解決するための手段】上記の目的を達成すべく
本発明の仮想データベース方式は、操作者が扱う仮想デ
ータベース操作文を用いたアプリケーションプログラム
のソースを、操作するデ−タベ−スに適合したデータベ
ース操作文を用いたアプリケーションプログラムのソー
スに変換する仮想データベース操作文変換手段を備え、
該仮想デ−タベ−ス操作文変換手段により変換して得ら
れたソースをコンパイルすることによって実行モジュー
ルを得、該実行モジュ−ルによってデータベースにアク
セスして動作する。
【0007】また上述した本発明に用いる仮想デ−タベ
−ス操作文変換手段は、入力した仮想データベース操作
文を用いたアプリケーションプログラムのソースに対し
て字句解析、構文解析、中間テーブル作成、及びコード
生成を行うことによって、データベース操作文を用いた
アプリケーションプログラムのソースを生成する。
【0008】さらに好ましくは、上記仮想データベース
操作文変換手段の中間テ−ブル作成処理では、コマンド
テ−ブルの領域を確保した後処理中のコマンドの種別を
判定し、上記コマンドが仮想デ−タベ−ス操作文である
ときはコマンドの種別に応じたテ−ブルの領域を確保す
るとともに該確保したテ−ブルにコ−ド生成に必要な情
報を登録し、上記コマンドが仮想デ−タベ−ス操作文で
ないときは上記処理中のコマンドをそのまま上記コマン
ドテ−ブルに登録する。
【0009】また仮想デ−タベ−ス操作文変換手段のコ
−ド生成処理では、コマンドテ−ブルを参照してコマン
ドの種別を判定し、上記コマンドが仮想デ−タベ−ス操
作文であるときはコマンドの種別に応じてデ−タベ−ス
操作文を生成して出力し、上記コマンドが仮想デ−タベ
−ス操作文でないときは上記コマンドテ−ブルに登録さ
れている内容をそのまま出力する。
【0010】
【実施例】以下、本発明の実施例について、図面を参照
して説明する。図1は、本発明の一実施例にかかる仮想
データベース方式の構成を示すブロック図である。
【0011】同図に示すように、仮想データベース操作
文を用いたアプリケーションプログラムのソース10
(以下、適宜「ソース10」と略す)は、仮想データベ
ース操作文変換手段11により、一旦、中間テーブル1
2に変換され、さらにデータベース操作文を用いたアプ
リケーションプログラムのソース13(以下、適宜「ソ
ース13」と略す)に変換される。このソース13よ
り、コンパイラ14によって、データベース操作文を用
いたアプリケーションプログラムの実行モジュール15
が生成され、データベース16をアクセスする実行モジ
ュールとなる。
【0012】図2は、仮想データベース操作文変換手段
11の処理を示すフローチャートである。ステップS2
1において、仮想データベース操作文を用いたアプリケ
ーションプログラムのソース10を読み込み、字句解析
処理を行い、構文上の基本要素に分解する。
【0013】ステップS22において、字句解析によっ
て得られた構文上の基本要素の列の構文を解析し、構文
エラーの処理、文の種類及び構造の認識をする。ステッ
プS23において、構文解析により認識した構文に対応
して、中間テーブル12の領域を確保し、コード生成に
必要な情報を中間テーブル12に記録する。
【0014】ステップS24において、入力ファイルの
仮想データベース操作文を用いたアプリケーションプロ
グラムのソース10が終了したかどうかの判定をし、終
了した場合は、ステップS25に進み、ソース10がま
だある場合は、ステップS21に戻り、ステップS21
からの処理を繰り返す。
【0015】ステップS25では、中間テーブル12に
記録されている情報を参照し、データベース操作文を用
いたアプリケーションプログラムのソース13を生成す
る。
【0016】図3は仮想データベース操作文変換手段1
1の処理を示すフローチャート図2の中の中間テーブル
作成ステップS23の処理を示すフローチャートであ
る。
【0017】ステップS31において、コマンドテーブ
ルの領域を確保する。ステップS32において、現在処
理中のコマンドの種類を判定し、それが仮想データベー
ス操作文のコマンドならば、ステップS34へ進み、仮
想データベース操作文のコマンドでなければ、ステップ
S33へ進む。
【0018】ステップS33において、処理中のコマン
ドをそのままコマンドテーブルへ登録する。ステップS
34において、コマンドの種別に応じたテーブルの領域
を確保する。ステップS35において、ステップS34
で確保したコマンドの種別に対応したテーブルに、コー
ド生成に必要となる情報を登録する。
【0019】図4は、ステップS25のコード生成の処
理の流れを示すフローチャートである。
【0020】ステップS41において、中間テーブル1
2を参照し、データベース操作文を用いたアプリケーシ
ョンプログラム13の大域宣言文を生成する。ステップ
S42において、次のコマンドテーブルを現コマンドテ
ーブルとする。
【0021】ステップS43において、コマンドの種別
を判定し仮想データベース操作文ならばステップS45
に進み、それ以外はステップS44に進む。ステップS
44において、コマンドテーブルに登録されているコマ
ンドの内容をそのまま出力する。ステップS45におい
て、コマンドの種類に応じてデータベース操作文を生成
出力する。
【0022】ステップS46において、コマンドテーブ
ルが終わりか否かの判定を行い、コマンドテーブルが終
わりならば処理を終了し、次のコマンドテーブルがある
ならばステップS42へ戻り、ステップS42からの処
理を繰り返す。
【0023】このようにして、仮想データベース操作文
を含むアプリケーションプログラムのソース10から、
字句解析処理、構文解析処理、中間テーブル作成処理に
より中間テーブル12が作成され、さらにコード生成処
理によりデータベース操作文を含むアプリケーションプ
ログラムのソース13が生成される。
【0024】以上のように構成した本実施例の仮想デー
タベース方式によれば、仮想データベース操作文を用い
たアプリケーションプログラムのソース10が、まずデ
ータベース操作文を用いたアプリケーションプログラム
のソース13に変換され、その後にデータベース操作文
を用いたアプリケーションプログラムの実行モジュ−ル
15が生成されてデータベース16で動作することとな
るので、操作者はデータベース16に対し、あたかも仮
想データベース操作文を用いたアプリケーションプログ
ラムで動作するデータベース(仮想データベース)を操
作するのと同一の方法で操作することができることとな
る。
【0025】次に仮想データベース操作文を用いたアプ
リケーションプログラムのソース10をデータベース操
作文を用いたアプリケーションプログラムのソース13
に変換した例として、仮想データベース操作文を含むC
言語のプログラムからSQL言語を含むC言語で書かれ
たプログラムを生成する場合を例として具体的に説明す
る。
【0026】図5は、仮想データベース操作文を含むア
プリケーションプログラムのソース10の例である。
【0027】ここでは、仮想データベース操作文とし
て、アクセス文51、データベースへのアクセスの準備
をするためのプリペア文52、データベースからデータ
を選択するためのフォーイーチ文53、フォーイーチ文
の有効範囲を表すブロック開始文54及びブロック終了
文55、アクセス文の終わりを表すエンドアクセス文5
6が使用されている。このソース10で仮想データベー
ス文以外はC言語の文である。
【0028】図6は、中間テーブル12の例であり、図
5で示した仮想データベース文を含むアプリケーション
プログラムのソース10から生成される中間テーブル1
2の概要を示した図である。
【0029】図に示すように、コマンドテーブル81に
よってプログラムの文のつながりを表し、仮想データベ
ース文以外の文は文字列としてそのまま可変長のエリア
に登録され、その先頭アドレスがコマンドテーブルに登
録されている。仮想データベース操作文は、それぞれの
文に対応したテーブルが作られ、コード生成に必要な情
報が蓄えられる。
【0030】ただし、フォーイーチ文の有効範囲を示す
ブロック開始文54、ブロック終了文55、及びアクセ
ス文の終わりを示すエンドアクセス文56などは、中間
テーブル12のコマンドテーブル81のポインタ参照に
よる構造によって明らかとなるため、対応するコマンド
テーブルは省略する。
【0031】図7は、データベース操作文を含むアプリ
ケーションプログラムのソース13の例である。
【0032】これは、図5に示した仮想データベース操
作文を含むアプリケーションプログラムのソース10か
ら生成されるもので、仮想データベース操作文はSQL
言語の文に変換されている。図5と図7を比較するとわ
かるように、C言語の部分は同じであり、仮想データベ
ース操作文は、SQL言語の文とC言語の文に変換され
ている。具体的には、図5のフォーイーチ文53と、そ
の範囲を表すブロック文54、55が図7の71の文に
変換され、他の仮想データベース操作文51、52、5
6は、直接文を生成していないが71の文に影響を与え
ている。
【0033】図8は、本実施例で用いた中間テーブル1
2の概要を示したもので、81はコマンドテ−ブル、8
2はプリペアテ−ブル、83はセグメントテ−ブル、8
4はプリペアバイテ−ブル、85はセグメントバイテ−
ブル、86はフォ−イ−チテ−ブル、87はビュ−テ−
ブル、88はアットエンドテ−ブル、89はビュ−キ−
テ−ブル、90は式テ−ブル、91はアクセステ−ブ
ル、92は型テ−ブルである。これらの中間テーブル1
2は、図6に示した中間テーブル12の例のように、ポ
インタ参照により構造化され、仮想データベース操作文
を用いたアプリケーションプログラムのソース10の構
造を反映した構造となる。
【0034】
【発明の効果】上述のごとく本発明によれば、データベ
ースが異なる場合においても同一の仮想データベースア
クセス方法をアプリケーションプログラムに提供するた
めの仮想データベースアダプタの構築をソースプログラ
ムレベルで実現したことにより、汎用性のあるデータベ
ースのアクセス方法を用意して実行時にデータベース操
作文を文字列で直接指定するといったダイナミックなデ
ータベース操作文処理機能を必要とせず、データベース
に依存しない仮想デ−タベ−ス方式を実現できるという
効果がある。
【図面の簡単な説明】
【図1】本発明の実施例の構成図を示すブロック図であ
る。
【図2】仮想データベース操作文変換手段の動作を示す
フローチャートである。
【図3】中間テーブル作成処理を示すフローチャートで
ある。
【図4】コード生成処理を示すフローチャートである。
【図5】仮想データベース操作文を含むプログラム例を
示す図である。
【図6】中間テーブル例を示す図である。
【図7】データベース操作文を含むプログラム例を示す
図である。
【図8】中間テーブル例の概要を示す図である。
【図9】従来の仮想データベース方式の構成を示すブロ
ック図である。
【符号の説明】
10 仮想データベース操作文を用いたアプリケーショ
ンプログラムのソース 11 仮想データベース操作文変換手段 12 中間テーブル 13 データベース操作文を用いたアプリケーションプ
ログラムのソース 14 コンパイラ 15 データベース操作文を用いたアプリケーションプ
ログラムの実行モジュール 16 データベース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 平川 洋 神奈川県川崎市川崎区南渡町1丁目1番 株式会社エヌ・ケー・エクサ内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 アプリケーションプログラムから検索要
    求を受けて、データの検索、登録、更新、削除を行う、
    データベースにおいて、 操作者が扱う仮想データベース操作文を用いたアプリケ
    ーションプログラムのソースから、操作するデ−タベ−
    スに適合したデータベース操作文を用いたアプリケーシ
    ョンプログラムのソースを生成する仮想データベース操
    作文変換手段を備えたことを特徴とする仮想データベー
    ス方式。
  2. 【請求項2】 仮想データベース操作文変換手段が、仮
    想データベース操作文を用いたアプリケーションプログ
    ラムのソースを字句に分解する字句解析処理、字句解析
    で得られた字句の並びの構文を解析する構文解析処理、
    構文解析の結果から中間テーブルを作成する中間テーブ
    ル作成処理、中間テーブルを参照しながらデータベース
    操作文を用いたアプリケーションプログラムのソースを
    生成するコード生成処理、からなることを特徴とする請
    求項1に記載の仮想データベース方式。
  3. 【請求項3】 仮想デ−タベ−ス操作文変換手段が、中
    間テ−ブル作成処理において、コマンドテ−ブルの領域
    を確保した後処理中のコマンドの種別を判定し、 上記コマンドが仮想デ−タベ−ス操作文であるときはコ
    マンドの種別に応じたテ−ブルの領域を確保するととも
    に該確保したテ−ブルにコ−ド生成に必要な情報を登録
    し、 上記コマンドが仮想デ−タベ−ス操作文でないときは上
    記処理中のコマンドをそのまま上記コマンドテ−ブルに
    登録することを特徴とする請求項2に記載の仮想デ−タ
    ベ−ス方式。
  4. 【請求項4】 仮想デ−タベ−ス操作文変換手段が、コ
    −ド生成処理において、コマンドテ−ブルを参照してコ
    マンドの種別を判定し、 上記コマンドが仮想デ−タベ−ス操作文であるときはコ
    マンドの種別に応じてデ−タベ−ス操作文を生成して出
    力し、 上記コマンドが仮想デ−タベ−ス操作文でないときは上
    記コマンドテ−ブルに登録されている内容をそのまま出
    力することを特徴とする請求項3に記載の仮想デ−タベ
    −ス方式。
  5. 【請求項5】 アプリケ−ションプログラムから検索要
    求を受けて、デ−タの検索、登録、更新、削除を行なう
    デ−タベ−スにおいて、 操作者が扱う仮想デ−タベ−ス操作文を用いたアプリケ
    −ションプログラムのソ−スから、操作するデ−タベ−
    スに適合したデ−タベ−ス操作文を用いたアプリケ−シ
    ョンプログラムのソ−スを生成するステップと、 生成された上記デ−タベ−スを用いたアプリケ−ション
    プログラムのソ−スから、コンパイラによって、デ−タ
    ベ−スを用いたアプリケ−ションプログラムの実行モジ
    ュ−ルを生成するステップと、 生成された上記デ−タベ−スを用いたアプリケ−ション
    プログラムの実行モジュ−ルによって、デ−タの検索、
    登録、更新、削除を行なうステップとからなることを特
    徴とする仮想デ−タベ−ス方式。
JP4059072A 1992-02-12 1992-02-12 仮想データベース方式 Expired - Lifetime JP2942414B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4059072A JP2942414B2 (ja) 1992-02-12 1992-02-12 仮想データベース方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4059072A JP2942414B2 (ja) 1992-02-12 1992-02-12 仮想データベース方式

Publications (2)

Publication Number Publication Date
JPH05225013A true JPH05225013A (ja) 1993-09-03
JP2942414B2 JP2942414B2 (ja) 1999-08-30

Family

ID=13102787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4059072A Expired - Lifetime JP2942414B2 (ja) 1992-02-12 1992-02-12 仮想データベース方式

Country Status (1)

Country Link
JP (1) JP2942414B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07287652A (ja) * 1994-04-18 1995-10-31 Nec Corp Db抽出処理プログラム自動生成方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07287652A (ja) * 1994-04-18 1995-10-31 Nec Corp Db抽出処理プログラム自動生成方式

Also Published As

Publication number Publication date
JP2942414B2 (ja) 1999-08-30

Similar Documents

Publication Publication Date Title
US8156471B2 (en) Multi-language execution method
US20040158820A1 (en) System for generating an application framework and components
JP3130828B2 (ja) アセンブル処理方式
CN116955393A (zh) 一种数据处理方法、装置、电子设备及存储介质
JPH05225013A (ja) 仮想データベース方式
JP2976891B2 (ja) リモートデータベースアクセス方法
JPH07182179A (ja) オブジェクト指向データベース管理装置
JP3292160B2 (ja) Cobol言語のソースプログラムのコンバージョン方法及び装置並びに記録媒体
CN113608748A (zh) C语言转换Java语言的数据处理方法、装置及设备
JPH03260766A (ja) 括弧生成判定機能付翻訳装置
JPS6351292B2 (ja)
CN116756184B (zh) 数据库实例处理方法、装置、设备、存储介质及程序产品
JP3082767B2 (ja) 翻訳リスト出力制御装置
KR960018924A (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
JP3419483B2 (ja) 自然言語処理装置及びその方法
JP2003177923A (ja) ポーティング支援システムにおける予約語変換方法
JP3014409B2 (ja) 自然言語自動翻訳装置
CN117827171A (zh) 一种通过jsonSchema文件生成项目源码的方法及装置
JPH056278A (ja) Fortranコンパイル処理装置
JP2004252536A (ja) プログラム開発支援装置
JPH0581004A (ja) ドキユメント自動生成システム
JPS63138426A (ja) プログラム生成方式
JP2598082B2 (ja) 知識処理言語のドキュメンテーション装置及びドキュメンテーション方法
JPH0752391B2 (ja) 複数データベース記述を含む原始プログラムの翻訳方式
JPH04273534A (ja) プリコンパイル方式