JPH02166559A - データベース操作言語解析処理方法 - Google Patents

データベース操作言語解析処理方法

Info

Publication number
JPH02166559A
JPH02166559A JP63320663A JP32066388A JPH02166559A JP H02166559 A JPH02166559 A JP H02166559A JP 63320663 A JP63320663 A JP 63320663A JP 32066388 A JP32066388 A JP 32066388A JP H02166559 A JPH02166559 A JP H02166559A
Authority
JP
Japan
Prior art keywords
database operation
operation language
database
request
processing method
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
JP63320663A
Other languages
English (en)
Inventor
Keiji Mogi
茂木 啓次
Yoichi Yamamoto
洋一 山本
Miyoko Namioka
浪岡 美予子
Kazuhiro Sato
和洋 佐藤
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 Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP63320663A priority Critical patent/JPH02166559A/ja
Publication of JPH02166559A publication Critical patent/JPH02166559A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータベース管理システムに対して、非定型な
データベース操作要求を行うユーザプログラムに好適な
ユーザインタフェースを提供するデータベース操作言語
解析処理方法に関する。
〔従来の技術〕
最近のデータベース管理システムが提供するアプリケー
ションプログラムインタフェースは、データベース操作
言語を直接プログラム中に記述する埋め込み型が主流に
なってきている。埋め込み型の利点は、端末操作で利用
するデータベース言語をそのままプログラム中に記述で
きることによるユーザの使い勝手の良さ、端末でデータ
ベース操作を試すことによるデバグ効率の向上である。
埋め込み型の場合、定型的なデータベース操作は、該当
するデータベース操作言語文をプログラム中に記述する
。非定型なもの、つまりプログラム実行時にデータベー
スに対する操作が決まるようなものについては、該当す
るデータベース操作言語文をデータベース管理システム
(DBMS)に渡し、実行を要求する。
このような動的なデータベース操作の実行を要求するた
めのインタフェースが、ニーシーエムトランザクション
 オン データベース システム、ボリューム6、ナン
バー1.1981年3月、第70ページから第94ペー
ジ(ACM、 Transactionon  Dat
abass  System、  Vol、  6. 
 &1.  March  198]。
Pages 7O−94)の論文の第80ページから第
82ページにおいて論じられている。
ここでは、動的なデータベース操作要求のために、次の
ような文を提供している。
(1) PREPARE文 パラメタとしてデータベース操作言語文を指定し、その
解析を要求する。結果として、その文が正しいかどうか
のリターンコードを取得する。
(2) EXECUTE文 解析の結果、正しい文に対してその実行を要求する。実
行時指定のパラメタがあればここで指定する。なお、検
索文の実行の場合には以下の0PEN。
FETCH,CLO8E文を使用する。
(3)OPEN文 検索結果の取り出しの開始を要求する。実行時指定のパ
ラメタがあればここで指定する。
(4)FETCH文 レコード1個文の情報を取り出す、この繰り返しにより
順次レコードを検索できる。パラメタとして、レコード
内の各フィールドの値を受け取る領域を指定する。
(5)CLO8E文 検索の終了を示す。
(6) DESCRIBH文 PREPARE文で解析要求した検索文の実行結果とし
て得られるレコードの各フィールドの名前や、データタ
イプを得ることができる。パラメタとして配列変数を指
定する。解析要求した文が検索文でない場合には、検索
文でないことを示すリターンコードを受け取る。
解析要求する文には、実行待値を指定できるように可変
パラメタを設定することができる1例えば、次のデータ
ベース操作言語文は、従業員ファイル(EMP)から従
業員番号(EMPNO)の従業員の給料(SALARY
)をある値に変更するものである。
UPDATE IEMP Sll!T 5ALARY=
 ? IIHEI(E EMPNO== ’??で示し
た部分が可変パラメタとなる。上記の文をプログラム変
数に設定し、 P旺PARIE文にそのプログラム変数
を指定する。?に対応する値は、実行時、すなわちEX
ECUTE文(検索の場合は、0PEN文)で指定する
【発明が解決しようとする課題〕
動的な実行を行うデータベース操作言語文が可変パラメ
タを含む場合、プログラム側でそのパラメタのデータタ
イプを知る必要がある。知らないと、正しいデータタイ
プのパラメタ値を引き渡すことができない。プログラム
を作成するユーザがそのデータタイプを知っているなら
ば、対応するデータタイプのプログラム変数に値を設定
し、引き渡すようにプログラミングすればよい、そうで
ない場合、例えばプログラム実行時にユーザから受け取
るデータベース操作言語文の場合には、プログラム作成
時に可変パラメタの有無や、そのデータタイプを知るこ
とはできない、よって、プログラム実行時にこれらの゛
情報を取得する手段を設ける必要がある。一つの方法は
、プログラム中で操作対象のファイルのフィールド定義
情報を取り出し、データベース操作言d!文の中を解析
し照らし合わせることにより可変パラメタのデータタイ
プを割り出す処理を追加する方法である。しかし、この
方法では、プログラムの処理が増加し、プログラムの性
能劣化を引き起こし、プログラマの負担が大になる。
さらに、前述の公知例で論じられている方法では、解析
要求したデータベース操作言語文が、検索文かどうか、
また検索文の場合の検索するフィールドのタイプ情報を
知るためのものとしてDIESCRIBE文を提供して
いる。動的な要求の場合、検索文かどうかによって、処
理の手順が変わるため、プログラム中でこれを判定する
ステップが必須になる。よって、これらの情報も解析要
求時に取得できれば、再度データベース管理システムを
呼び出す必要が無くなり、プログラムの処理を削減でき
る。
本発明の目的は、可変パラメタのデータタイプの割り出
しをデータベース管理システムに肩代わりさせることに
より、プログラムの処理負担軽減、及びプログラマのプ
ログラム開発負担軽減を図ることにある。
cia題を解決するための手段〕 上記目的は、動的なデータベース操作要求を受け付け、
実行するデータベース管理システムにおいて、動的なデ
ータベース操作の解析要求受け付は時、解析対象のデー
タベース操作言語文と一緒に、当該データベース操作言
語文実行時に必要なパラメタに関する情報の引渡し先を
受け取るステップと、データベース操作言語解析部に、
当該データベース操作の実行要求受け付は時に必要とな
るパラメタに関する情報を抽出するステップと、その抽
出した情報を前述の引渡し先に転送するステップを設け
ることによって達成される。
〔作用〕
本発明によれば、フログラムは、動的なデータベース操
作言語文の解析要求時、データベース操作言語文と一緒
に、データベース操作言語文を実行する時に必要になる
パラメタに関する情報の受け取り先を引き渡す。
データベース管理システムは、受け取ったデータベース
操作言語文を解析し、可変パラメタのデータタイプ、及
び検索の場合の検索対象のレコードのフィールドの名前
、データタイプを指定された受け取り先に返す。
解析終了後、プログラムはパラメタに関する情報に基づ
いてパラメタ情報の設定を行う事ができるので、プログ
ラム自身でデータベース操作言語文を解析する必要は無
くなる。
〔実施例〕
以下、図面を用いて本発明の実施例を詳細に説明する。
[実施例1] 第2図は、本発明を実施する最小ハードウェア機器構成
を示す図である0本発明を実現するデータベース管理シ
ステム及びユーザのアプリケーションプログラム群が稼
働する計算機40と、該計算機40とユーザとのインタ
フェースを取る端末(キーボードとデイスプレィ)50
群と、データベースやデータ辞書を格納する2次記憶装
置60群からなる。
第1図は、本発明を実施するデータベース管理システム
lOの機能摺成と、このデータベース管理システム10
を利用するアプリケーションプログラム20における動
的データベース操作要求例21を示している。
アプリケーションプログラム20は、端末ユーザからの
要求により起動され、端末ユーザからのデータベース操
作要求を受け取って、データベース管理システム10に
対して該操作要求の実行を要求し、結果を端末ユーザに
返す、データベース操作要求中に、可変パラメタの指定
がある場合、その入力要求を端末に表示し、端末ユーザ
からパラメタ値を受け取る。
アプリケーションプログラム20の処理フローを第6図
に示す、なお、以降の説明でカギ括弧付きの番号は、処
理フロー図中の対応するステップを示している。
起動されたアプリケーションプログラム20は、ユーザ
の識別子やパスワードを受け取りデータベース管理シス
テム10に利用開始を通知するといった前処理[101
]を行う、その後、端末ユーザにデータベース操作の入
力を要求する[102]。
データベース操作要求を受け取ったら、終了要求かどう
かチエツクし[103]、終了要求ならば終了する[1
16]。
終了要求でない場合、該当するデータベース操作を実現
するデータベース操作言語文に変換する[104]、第
1図にデータベース操作言語文の例として、前述の公知
例に出てきた例を示す、その後、データベース管理シス
テム10に解析要求を発行する[105]。
第1図に解析要求の例21を示す、22は、アプリケー
ションプログラム20中のデータ領域を示す、解析要求
発行時には、解析要求するデータベース操作言語文23
と、可変パラメタ情報受け取り領域24をパラメタとし
て渡す、その結果として、可変パラメタ情報受け取り領
域24に可変パラメタ情報500を受け取る。
可変パラメタ情報500の形式の例を第4図に示す、可
変パラメタ情報500は、引渡し用のパラメタ情報51
0と、受け取り用のパラメタ情報520の2つからなる
いずれもパラメタの名前(514,524)。
データタイプ(515,525) 、等の情報を配列の
形式で受け取る。最大配列要素数(511゜521)は
、パラメタ情報をアプリケーションプログラム20側で
受け取ることのできる最大パラメタ数であり、アプリケ
ーションプログラム20の方で設定する。
有効配列要素数(512,522)は、実行待必要なパ
ラメタの個数であり、データベース管理システム10が
設定する。
引渡しパラメタ情報510には、データベース操作言語
文中の引渡しパラメタ部、例では“?′″で示したパラ
メタに関する情報を、データベース管理システム10が
設定する。引渡しパラメタに関する情報としては、引渡
しパラメタに対応付けられるフィールドのデータタイプ
515や名前514を設定する。′?”の後ろにパラメ
タ名の指定を許して、その名前は設定する方法もある。
引渡しパラメタの情報は、データベース操作言語文23
中での出現順序に設定する。
受け取りパラメタ情報520には、検索要求の場合にア
プリケーションプログラムが受け取るレコードの各フィ
ールドに関する情報(名前、データタイプ)をデータベ
ース管理システム10が設定する。設定順序は、ファイ
ル中のフィールドの定義順序である。
第1図のデータベース操作言語文を例にとって示す、第
5図は、アプリケーションプログラム20側の可変パラ
メタ情報受け取り領域24の内容の変化を示したもので
ある。左側が解析要求前の状態であり、引渡しパラメタ
用の最大配列要素数511と、受け取りパラメタ用の最
大配列要素数521とを、共に5に設定している 11
 11部は値が意味を持たないことを示している。
解析要求を実行すると、第5図右側のように値が設定さ
れる。引渡しパラメタの有効配列要素数512に、デー
タベース操作言語文23中の“?″の個数2が入り、パ
ラメタ情報として、1″?”に対応するフィールドの名
前514、データタイプ515が設定される。受け取り
パラメタ情報の方は、検索文でないので有効要素数52
2がOになる。
アプリケーションプロゲラl〜20は、返された可変パ
ラメタ情報500に基づいて、以降の処理を選択実行す
る。
(1)引き渡しパラメタ情報510の有効要素数512
をチエツク[106]。
(1,1)1以上の場合、データベース操作言語文23
中に引渡しパラメタの指定があったことを意味するので
、ユーザに引渡しバラメ夕の値の入力要求を出し、その
値を取得する[:108]。
引渡しパラメタの入力要求を出す際、引渡しパラメタ情
報510に入っている名前514やデータタイプ515
を表示することにより。
ユーザの入力を容易にすることができる。
(1,2)Oの場合、何もしない。
(2)受け取りパラメタ情報520の有効要素数522
をチエツク[107]。
(2,1)1以上の場合、データベース操作言語文23
が検索文であることを意味するので、検索結果の受け取
り領域を確保し、受け取りパラメタ情報520中の各フ
ィールドのデータタイプ525にしたがって、領域を割
り付ける[109,1101 。
その後、引き渡しパラメタがある場合は、それをパラメ
タとしてデータベース管理システム10に検索開始要求
を出し[110]、引き続いてのレコード取り出し要求
により設定した受け取り領域にレコードを1件ずつ取り
出す[112]、検索が終了したら[113]、検索終
了要求を出す[114]。
(2,2)0の場合、データベース操作言語文23が検
索文以外の文であることを意味するので、引き渡しパラ
メタがある場合は、それをパラメタとしてデータベース
管理システム10に当該データベース操作の実行要求を
出す[115]。
アプリケーションプログラム20は、実行結果を端末に
表示した[116]後、最初の処理[102]に戻る。
次に、データベース管理システム10側の動作を示す、
データベース管理システム10は、各アプリケーション
プログラム20からの要求を受け付け、要求された処理
を実行する。各要求は、最初に要求制御部11が受け取
る。
要求制御部11の処理フローを第7図に示す。
要求制御部11は、受け取った要求の内容に従って、以
降の処理を振り分ける[201]。
(1)データベース操作言語文解析要求の場合受け取っ
たデータベース操作言語文23と、可変パラメタ情報受
け取り領域24の内容とをデータベース(DB)操作言
語解析部12に弓き渡し、解析処理を行わせる[202
]。
(2)データベース操作実行要求の場合パラメタの指定
があれば、それらの情報と一緒にDB操作処理実行部1
4に制御を渡し、要求されたデータベース操作を実行さ
せる[203]。
(3)その他の場合 上記(1)、(2)以外の要求には、データベースのト
ランザクション制御用の要求などがあり、該当する要求
の実行部を呼び出す[204]が、本発明の内容とは関
係ないので省略する。
該当する処理が終了したら、要求元のアプリケーション
プログラムへ結果を返す[205]。
次に、DB操作言語解析部12の処理を第8図に基づい
て示す。
(1)解析要求されたデータベース操作数語文23を構
文解析し、第3図に示すような解析トリー70を作成す
る[301F、さらに、ファイル名やフィールド名毎に
その定義情報を設定するファイル管理表80とフィール
ド管理表90を作成する。ただし、この時点では名A’
+1(82,91)だけしか入っていない。
(2)解析トリー70にもとづいて、次のような意味解
析を行う[:302]。
、操作対象のファイルの存在チエツク 、文中に指定されたフィールドの存在チエツク 、操作権限の有無のチエツク 以上のチエツクは、データ辞書管理部13を介してデー
タ辞書61からファイルの定義情報を取り出しながら行
う、この時、第3図に示したファイル管理表80.フィ
ールド管理表90に定義情報を設定する。ファイル管理
表80には、ファイルの所有者811名前82.内部1
d83、等の情報を設定する。フィールド管理表90に
はフィールドの名前91.内部id92、データタイプ
932等の情報を設定する。
本例の場合、5ALARY、 EMPNOの両フィール
ド共に整数(INTEGER)タイプのデータになって
いる。
(3)解析トリー70を辿りながら可変パラメタの指定
を探し、可変パラメタに対応するフィールド指定に指定
されているフィールドのデータタイプ情報93を取り出
す[303]、取り出した情報は、アプリケーションプ
ログラム20側で用意した可変パラメタ情報受け取り領
域24の形式に合わせた領域に設定する。
(4)取り出したパラメタ情報をアプリケーションプロ
グラム20が用意した可変パラメタ情報受け取り領域2
4に転送する[304]。
以上の実施例において、可変パラメタ情報受け取り領域
24の形式に特に規定は無い、パラメタの個数、データ
タイプといった必要情報を受け渡しできる形式であれば
よい。
なお、アプリケーションプロゲラA% 20が、解析要
求したデータベース操作の実行要求を出す際には、パラ
メタ値をデータベース管理システム10に引き渡す必要
がある。この場合、パラメタの個数が可変の場合、つま
りプログラム実行時でないとパラメタ数が決まらない場
合には、可変パラメタ情報受け取り領域24と同様な、
パラメタ数を付加した可変な構成のプログラム変数で各
パラメタ値を引き渡す必要がある。
よって、可変パラメタ情報受け取り領域24の形式にパ
ラメタ値を指定する部分を追加し、解析要求と、実行要
求の両方で共用することにより、プログラム領域を効率
的に使用することができる。
第1図の実施例では、解析要求を示す文21としてPR
EPARE文を使用した。可変パラメタ情報取得領域を
指定するためにTo句を追加したが、このPREPAR
E文は、前記公知例のPREPARE文と、DEiSC
RIBE文とが持つ機能を一緒にしたものである。
よって、PREPARE文ではなく、以下のようなAN
ALYZE文を可変パラメタ取得機能付きのデータベー
ス操作言語文解析要求として提供した方が良い。
ANALYZE  STATEMF!NT : <デー
タベース操作言語文〉 IN  RESυLT:(可変パラメタ情報取得領域〉
これにより、従来PREPARE文を使用していたアプ
リケーションプロゲラ11は、そのまま利用できるので
、プログラムを変更する必要が無くなる。
〔発明の効果〕
本発明により、動的なデータベース操作を実行する場合
に必要となるパラメタに関する情報を解析要求時に取得
できるので、アプリケーションプログラムを作成するう
えでのユーザ負担の軽減。
該アプリケーションプログラムの処理負担の軽減を図る
ことができる。
【図面の簡単な説明】
第1図は1本発明を実施するアプリケーションプロゲラ
11と、データベース管理システムの例を示す説明図、
第2図は1本発明の実施例における最小ハードウェア機
器構成を示すブロック図、第3図は、解析要求されたデ
ータベース操作言語文23の解析トリーを示す図、第4
図は、データベース操作言語文23を解析した時の可変
パラメタ情報500の形式例の説明図、第5図は、可変
パラメタ情報受け取り領域24の解析要求前と解析要求
後との内容の変化を表す説明図、第6図は。 アプリケーションプログラム20の処理フロー図。 第7図は、要求制御部11の処理フロー図、第8図は、
DB操作言語解析部12の処理フロー図である。 10・・・データベース管理システム、20・・・デー
タベース管理システム10を利用するアプリケーション
プログラム、61.62・・・当該データベース管理シ
ステムが管理するデータベースとデータ辞書である、1
1から14・・・データベース管理システムを構成する
、11・・−要求制御部、12・・・SB操作言語解析
部、13・・・データ辞書管理部、14第 図 ≠ 図 第 図 拓 図

Claims (1)

  1. 【特許請求の範囲】 1、動的なデータベース操作要求を受け付け、実行する
    データベース管理システムにおいて、動的なデータベー
    ス操作の解析要求受け付け時、解析対象のデータベース
    操作言語文と一緒に、当該データベース操作言語文実行
    時に必要なパラメタに関する情報の引渡し先を受け取る
    ステップと、データベース操作言語解析部に、当該デー
    タベース操作の実行要求受け付け時に必要となるパラメ
    タに関する情報を抽出するステップと、その抽出した情
    報を前述の引渡し先に転送するステップを設けることを
    特徴とするデータベース操作言語解析処理方法。 2、請求項第1項記載のデータベース操作言語解析処理
    方法であつて、当該要求実行時必要になる情報として、
    要求実行時受け渡ししなければならないパラメタの個数
    、及びそれらの形式、長さを抽出することを特徴とする
    データベース操作言語解析処理方法。 3、請求項第1項記載のデータベース操作言語解析処理
    方法であつて、実行時必要になるパラメタ情報を返すた
    めに、要求実行時にパラメタの個数、それらの形式、長
    さを受け渡しするために利用する構造体変数と同じ形式
    の構造体変数を使用することを特徴とするデータベース
    操作言語解析処理方法。 4、請求項第1項記載のデータベース操作言語解析処理
    方法を提供するデータベース管理システムを利用するア
    プリケーションプログラムのデータベース操作言語解析
    処理方法であつて、該アペリケーションプログラムが、
    ユーザから受け取つたデータベース操作言語、あるいは
    ユーザから受け取つたデータベース操作要求をデータベ
    ース操作言語に変換したものを、請求項第1項記載のデ
    ータベース管理システムに渡し、その解析結果にもとづ
    いて、ユーザに実行時必要となるパラメタ値の入力を促
    すことを特徴とするデータベース操作言語解析処理方法
JP63320663A 1988-12-21 1988-12-21 データベース操作言語解析処理方法 Pending JPH02166559A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63320663A JPH02166559A (ja) 1988-12-21 1988-12-21 データベース操作言語解析処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63320663A JPH02166559A (ja) 1988-12-21 1988-12-21 データベース操作言語解析処理方法

Publications (1)

Publication Number Publication Date
JPH02166559A true JPH02166559A (ja) 1990-06-27

Family

ID=18123933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63320663A Pending JPH02166559A (ja) 1988-12-21 1988-12-21 データベース操作言語解析処理方法

Country Status (1)

Country Link
JP (1) JPH02166559A (ja)

Similar Documents

Publication Publication Date Title
EP0336584B1 (en) Sort merge output
JP3478820B2 (ja) プログラムを実行するシステム
US5701461A (en) Method and system for accessing a remote database using pass-through queries
US5740431A (en) Configuration file management
JP2002538546A (ja) Abapコードコンバータの仕様
JP2644728B2 (ja) データディクショナリ・ディレクトリシステム
CN114254006A (zh) 数据库查询方法和装置
EP1909170A1 (en) Method and system for automatically generating a communication interface
JP3777666B2 (ja) データベース処理方法およびシステム
Bull et al. Semantic grep: Regular expressions+ relational abstraction
US6253194B1 (en) System and method for performing database queries using a stack machine
JPH11265395A (ja) データベースアクセスシステム
Timson The file manager system
JPH02166559A (ja) データベース操作言語解析処理方法
Emdi The implementation of a network CODASYL-DML interface for the multi-lingual database system.
US7284023B2 (en) Database management method and apparatus for addressing to transaction completion from/in a stored program written in an interpreted language and an implementing program therefor
Kloepping et al. The Design and Implementation of a Relational Interface for the Multi-Lingual Database System.
JPH07134648A (ja) ソフトウェア保守作業工数自動見積システム
US6356895B1 (en) Method and computer program product for processing system files using a trigger program
CN119201982A (zh) 一种动态生成数据库脚本的方法及装置
JPH034365A (ja) データベース操作処理方式
Toma et al. Natural language query for databases.
Jones Data Retrieval and Documentation Using Unity in a UniVerse® Environment
Caplinger et al. Testing systems database Program Maintenance Manual for PNL-developed software systems
Svensson et al. History of Changes: 2001-02-15 report moved from SGI+ maker 4 to Sun solaris2+ maker 5 (GON) 1996-01-08 updated to release 2.2 1995-10-02 including an index (GON) 1995-08-21++ Converted to FrameMaker on Unix (SGI-atlas)(GON)