JP2602205B2 - データベース・アクセス制御方法 - Google Patents

データベース・アクセス制御方法

Info

Publication number
JP2602205B2
JP2602205B2 JP61004927A JP492786A JP2602205B2 JP 2602205 B2 JP2602205 B2 JP 2602205B2 JP 61004927 A JP61004927 A JP 61004927A JP 492786 A JP492786 A JP 492786A JP 2602205 B2 JP2602205 B2 JP 2602205B2
Authority
JP
Japan
Prior art keywords
database
definition information
record
directory
information
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.)
Expired - Lifetime
Application number
JP61004927A
Other languages
English (en)
Other versions
JPS62164136A (ja
Inventor
和明 田中
一郎 横山
茂 米田
哲 和歌山
誠 浦川
尚 飯浜
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 JP61004927A priority Critical patent/JP2602205B2/ja
Priority to DE3750515T priority patent/DE3750515T2/de
Priority to EP87100472A priority patent/EP0230279B1/en
Priority to US07/004,072 priority patent/US4819160A/en
Publication of JPS62164136A publication Critical patent/JPS62164136A/ja
Application granted granted Critical
Publication of JP2602205B2 publication Critical patent/JP2602205B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、データベースシステムのアクセス制御方式
に関するもので、アプリケーションプログラムからのデ
ータベースシステムアクセス要求に対する正常かつ高速
な実行に好適なアクセス制御方法に関する。
〔発明の背景〕
従来、データディクショナリ、ディレクトリを有する
データベースシステムとアプリケーションプログラムと
の関連を提案した幾つかの現存システムについてエーシ
ーエム コンピュティング サーベイズ、14巻12号198
2.7(ACM Computing Surveys,VoL.14,NO2,June1982)
におけるフランク ダブリューアレン、メアリーイーエ
ス ルーミスおよびミッシェル ブイマニノ(FRANK
W.ALLEN,MARY E.S.LOOMIS,およびMICHEL V.MANNINO)
による「ザ インデグレイテッド ディクショナリ/デ
ィレクトリ システム」(“THE INTEGRATED Diction
ary/Directory System")と題する文献において論じら
れている。この論文では、カリネイム データベース
システム(CULLINANE Database Systems)においてア
プリケーションプログラムのコンパイル前に、ディクシ
ョナリ中の定義情報を検索し、ファイルやサブスキーマ
の情報を取り込み、データベースシステムのアクセス命
令(DML Data Manipulation Languageデータ操作言
語)をあるプログラムセブメントから他のセブメントへ
の連係を示すCALL文に事前交換して2次的なソースプロ
グラムを生成するプリコンパイラ方式が報告されてい
る。
2次的なソースプログラムを作成しなければならない
ことは処理の高速化にとっては障害であった。
〔発明の目的〕
本発明の目的は定義情報を格納するデータディクショ
ナリ・ディレクトリシステムを内包するデータベースシ
ステムにおいて、アプリケーションプログラムのコンパ
イル時に使用される定義情報とアプリケーションプログ
ラムの実行時にデータベース管理プログラムが参照する
定義情報が一致していることを保証し、これによりコン
パイル時に事前処理を行なうことを可能とし、もって高
速なプログラムの処理を得ることにある。
〔発明の概要〕
本発明は、標準のプログラミング言語の言語プロセサ
の処理の中で、DMLを解析することやデータベース定義
情報との整合性の確認情報、データベースシステム管理
プログラムが実行時に参照するディレクトリテーブルの
位置情報を埋め込んだオブジェクトを生成することにあ
る。データベース定義情報の整合性が容易に確認できる
ため、2次的なソースプログラムは不要であり、又、CO
PY文などで取込まれるアプリケーションプログラム固有
のデータ情報をDML解析時に使用して解析範囲を拡大で
きるといった利点がある。
〔発明の実施例〕 データディクショナリ・ディレクトリシステムでは、
データベース定義、端末・回線定義、システム環境・運
用定義などのデータベースシステム定義情報を、定義の
登録・更新に適した形態でディクショナリに、データベ
ースシステム実行に適した形態でディレクトリに格納し
管理している。
即ち、ディレクトリには、実際にデータベースの作成
またはシステムの運用に必要な定義情報が、ディクショ
ナリの定義情報をもとに編集されて格納される。
一方、データベース管理システム(DEMS:データベー
スシステム管理用プログラムにより機能が遂行される)
では、アプリケーションプログラムから、データベース
へのデータの格納、データベースから必要なデータの検
索、データベース中のデータの更新、あるいは、端末と
のメッセージの送受信といったデータベースシステム・
アクセス命令が発行されると、先に示したディレクトリ
中のデータベースシステムの各種定義情報を参照し、そ
れに基づきアクセス命令に対応する処理を行なってい
る。
従来の方式では、アプリケーションプログラム実行時
に、アクセス命令とデータベースシステムの各種定義情
報との間の整合性をチェックしたり、アクセス命令の処
理に必要な定義情報を求めていた。また、その際には、
一般にテーブル形式あるいはポインタで結びつけられて
いる数多くの同種の定義情報の中から目的のものを探索
するための処理を行なっていた。
これに対して本発明においては、これら実行時に行な
われていた処理の中で、実行に先立つアプリケーション
プログラムのコンパイル段階で事前に処理できるものを
済ましてしまう。
そのために本発明では、アプリケーションプログラム
のコンパイル時に、ディクショナリに登録されたデータ
ベースシステムの定義情報を参照し、データベースシス
テムのアクセス命令の正当性の確認、実行時に参照する
定義情報の場所を示す情報などを取得してオブジェクト
モジュールに埋込むといったステップを設けた。
ところでアプリケーションプログラムをコンパイルし
た時点とそれが実行される時期は一般に異なることか
ら、アプリケーションプログラムがコンパイルされると
きに参照したディクショナリ中の定義情報と、アプリケ
ーションプログラムが実行時にデータベース管理プログ
ラムによって参照されるディレクトリ中の定義情報とが
一致していることを確認する必要がある。即ち、定義情
報を世代管理したとき、世代の不一致により、不正な実
行結果を生じる可能性がある。
そこで、更にアプリケーションプログラムのコンパイ
ルによって生成されるオブジェクトモジュール中に、コ
ンパイル時に参照した定義情報の世代管理情報を埋めこ
み、実行に際して、データベース管理システムが参照す
る定義情報の世代管理情報とを比較し、妥当なものであ
れば、そのアプリケーションプログラムを実行するステ
ップを設けた。
本ステップにより、アプリケーション・プログラムの
実行を高速にするため、そのコンパイル時に参照した定
義情報と、実行時にデータベース管理プログラムが参照
する定義情報との間に世代のズレが生じないことから、
高速かつ正常な実行ができる。
以上の本発明の実施例においてはアプリケーションプ
ログラムの実行時に行なっていた処理をコンパイル時に
行なうことにより、実行時の処理量を減らすことがで
き、実行時性能を向上させる。
コンパイル時と実行時の定義情報の一致を確認するこ
とが容易に行なえるという効果がある。
更には、従来、アプリケーションプログラムが実行時
に異常終了したり、あるいはデータベースの破壊、不正
なデータに基づく他アプリケーションプログラムの異常
処理などにより発見されていたアプリケーションプログ
ラム中のデータベースアクセス命令不良を、アプリケー
ションプログラムのコンパイル時に発見することにより
アプリケーションプログラムのデバッグ期間の短縮、ア
プリケーションプログラムの正常な実行の保証ひいて
は、データベースシステム全体の信頼性の向上という効
果が派生する。
以下、本発明の一実施例を図を参照しながらより詳細
に説明する。
第1図において、1は標準プログラム言語で記述され
たアプリケーションプログラムが登録されるソース・ラ
イブラリ、2は標準プログラム言語を翻訳する言語プロ
セサ、3はオブジェクトモジュールを登録するオブジェ
クトライブラリ、4はオブジェクトモジュールを実行形
式のロードモジュールに変換するリンケージエディタ、
5はロードモジュールを登録するロードライブラリ、6
はデータベースアクセス(格納、検索、更新など)や端
末とのメッセージ送受信を行なうデータベースシステム
管理プログラム、7はデータベース、8は端末、9はデ
ータベースの定義情報をソース形式で登録したディクシ
ョナリ・ファイル、10はディクショナリから、データベ
ースシステム管理プログラムが実行時に参照しやすい形
式に編集したデータベースシステムの定義情報(以下、
ディレクトリテーブルと呼ぶ)を生成するディレクトリ
生成プログラム、11はディレクトリテーブルを登録する
ディレクトリファイルである。
第1図は各種ファイルとその処理の関係が分り易いよ
うに表記してあるが、ファイル1,3,5,7,9,11は磁気ディ
スク装置に格納され、プログラム2,4,6,10は電子計算機
の主記憶装置に格納され中央処理装置において実行され
ることによってその機能が遂行される。
本発明の対象は、データベースアクセスや端末送受信
などデータベースシステム全体であるが以下の説明で
は、データベースアクセスに話を絞る。またデータベー
スの定義仕様はISO(X3H2−84−48)(Draft Propose
d)Network Database Langvage(以下NDLと略す)に
基づく。
ここでレコードはタイプ別にまとめられたデータを意
味し、2つのレコードの集まりをセットと称する。更
に、レコードを構成するフィールドはコンポーネントタ
イプと称す。NDLでは、データベースの論理的な構造
は、レコードタイプ(以下レコード)、そのレコードを
構成するコンポーネントタイプ(以下コンポーネント)
およびレコード間の関係を示すセットタイプ(以下セッ
ト)によって定義される。以下、レコード、フィール
ド、セットなどによって定義されるデータベースの論理
的な構造を論理スキーマとよぶ。1つの論理スキーマは
1つのデータベースに対応する。又、論理スキーマの一
部分を再定義したもの即ち、論理スキーマの中からユー
ザアプリケーションプログラム毎に使用する部分を抜き
出したものをサブスキーマとよぶ。
サブスキーマは、論理スキーマのレコードに対してレ
コードビュー、コンポーネントに対してコンポーネント
ビューセットに対してセットビューによって定義され
る。
データベースの利用者は、このサブスキーマの範囲内
でデータベースを利用できる。
論理スキーマの定義例を次に示す。データベースの論
理構造が第2図のとおりとし、レコード名REC1,REC2,各
レコードを構成するコンポーネント名が夫々、C11,C12,
とC21,C22,C23,レコードREC1とREC2のセット名SET1であ
ると、NDLでは次のように定義できる。
SCHEMA SCH1 RECORD REC1 ITEM C11 CHARACTER(2) ITEM C12 CHARACTER(2) RECORD REC2 ITEM C21 CHARACTER(4) ITEM C22 CHARACTER(2) ITEM C23 CHARACTER(2) SET SET1 OWNER REC1 ORDER FIRST MEMBER REC2 INSERTION AUTOMATIC RETENTION FIXED なおオーナー(OWNER)とはセットにおける親のレコ
ード、メンバ(MEMBER)とは子のレコードを意味する。
例えば企業のレコードとその企業において取り扱われる
製品のレコードが親子の関係にある1つのセットであ
る。
ここで、論理スキーマ名称をSCH1とした。
同様にサブスキーマの構造が第3図のとおりとし、レ
コードビュー名RECV1,RECV2,各レコードビューを構成す
るコンポーネントビュー名が夫々CV11,CV12,とCV21,CV2
2,レコードビューRECV1とRECV2のセットビュー名SETV1
であると、NDLでは次のように定義できる。
SUBSCHEMA SUBS1 OF SCH1 RECORD REC1 RENAMED RECV1 ITEM C11 RENAMED CV11 ITEM C12 RENAMED CV12 RECORD REC2 RENAMED RECV2 ITEM C21 RENAMED CV21 ITEM C22 RENAMED CV22 SET SET1 RENAMED SETV1 論理スキーマやサブスキーマは、個々に名称やバージ
ョン番号が付与されてディクショナリに登録される。論
理スキーマの定義情報を登録するディクショナリの構造
を第4図に示す。
第4図では、スキーマ名や、システム内一意のスキー
マ番号、スキーマバージョン番号および論理スキーマ全
体に関係するスキーマ情報がレコード41に、レコード名
やスキーマ内一意のレコード番号およびレコード単位の
レコード情報がレコード42に、コンポーネント名やレコ
ード内一意のコンポーネント番号、コンポーネント単位
のコンポーネント情報がレコード43に、セット名やスキ
ーマ内一意のセット番号、セットの親となるオーナレコ
ードのレコード番号およびセット単位のセット情報がレ
コード44に、セットの子となるメンバレコードのレコー
ド番号とメンバレコード単位のメンバレコード情報がレ
コード45に登録される。
又、レコード41とレコード42、レコード42とレコード
43、レコード41とレコード44、レコード44とレコード45
とがそれぞれセット関係を有する。
同様にサブスキーマの定義情報を登録するディクショ
ナリの構造を第5図に示す。
第5図では、サブスキーマ名やスキーマ内で一意なサ
ブスキーマ番号、サブスキーマバージョン番号およびサ
ブスキーマ全体に関係するサブスキーマ情報がレコード
51に、レコードビュー名やサブスキーマ内一意のレコー
ドビュー番号、レコードビューに対応するレコードのレ
コード名とレコード番号およびレコードビュー単位のレ
コードビュー情報がレコード52に、コンポーネントビュ
ー名やレコードビュー内一意のコンポーネントビュー番
号、コンポーネントビューに対応するコンポーネント名
とコンポーネント番号およびコンポーネントビュー単位
のコンポーネントビュー情報がレコード53に、セットビ
ュー名とサブスキーマ内一意のセットビュー番号、セッ
トビューに対応するセットのセット名とセット番号およ
びセットビュー単位のセットビュー情報がレコード54に
登録される。又、レコード51とレコード52、レコード52
とレコード53、レコード51とレコード54とが、それぞれ
セット関係を有する。
又、ある名称とバージョン番号とで識別される論理ス
キーマと、ある名称とバージョン番号とで識別されるサ
ブスキーマとが正しく関係付けられたとき、この1組の
論理スキーマとサブスキーマに対して世代番号が付与さ
れる。
名称が同じ組合せでも、バージョン番号が異なれば別
の世代番号が与えられる。世代番号は関係付けられた時
点に依存し、バージョン番号の大きさに依存しない。
世代番号を登録するディクショナリの構造を、第6図
に示す。第6図では、関係付けられた論理スキーマのス
キーマ番号とバージョン番号、サブスキーマのサブスキ
ーマ番号とバージョン番号および世代番号とがレコード
61に登録される。
ディクショナリに登録された定義情報は、第1図に示
すディレクトリ生成プログラム10によってデータベース
管理プログラム6が実行時に参照しやすい形式(ディレ
クトリテーブル)に編集されディレクトリファイル11に
登録される。ディクショナリからディレクトリを作るこ
とはよく知られているのでディレクトリ生成プログラム
10は詳述しない。その際世代番号も合わせて登録され
る。
ディレクトリテーブルの例を第7図に示す。
ここでビュー情報は、ビューの種別毎に1まとまりの
テーブルとして構成される。また、個々のビュー情報
は、各テーブルの第何番目即ち、配列番号が、ディクシ
ョナリ中のビュー番号と一致するように生成される。
他方、データベースシステムの利用者は、アプリケー
ションプログラムをCOBOL言語やPL/I言語などの標準プ
ログラム言語を用いて作成する。その中で、データベー
スシステムのアクセス命令は、例えば、次のように記述
される。
サブスキーマの例として先に示したSUBS1を用い、COB
OL言語による記述例を示す。
DATA DIVISIONで、このアプリケーションプログラム
で使用するユーザデータベースの論理スキーマ名や、サ
ブスキーマ名が指定される。
PROCEDURE DIVISIONにおいて、データベースアクセ
ス命令が記述される。上記の例では、ユーザデータベー
ス中から、セットビューSETV1に属するレコードビューR
ECV1の実現値の中で、コンポーネントビューCV11の値
が'AB'であり、かつCV12の値が'CD'である実現値の並び
の中で、先頭(FIRST)のものを検索するデータベース
アクセス命令である。
第1図に示すソースライブラリ1中のアプリケーショ
ンプログラムは、言語プロセサ2によってオブジェクト
モジュールに変換されオブジェクトライブラリ3に登録
される。その処理の中には、第8図に示すように、DATA
DIVISIONの解析101と、PROCEDURE DIVISIONの解析10
2がある。
DATA DIVISIONの解析101の中では、第9図に基づき
説明されるようにサブスキーマセクションの正当性が確
認される。
第9図はDATA DIVISIONの解析101の詳細を示す。は
じめに、ユーザがサブスキーマセクションを指定したか
を判定し(201)、サブスキーマセクションで指定され
た論理スキーマ名に相当する論理スキーマの定義が第1
図のディクショナリ9に登録されていることを確認する
(202)。
登録されていれば(203Yes)同様にサブスキーマ名に
相当するサブスキーマの定義がディクショナリ9に登録
されていることを確認する(204)。
登録されていれば(205Yes)更に、サブスキーマセク
ションで世代番号が指定されていると、論理スキーマ
名、サブスキーマ名および世代番号で特定される第6図
に示す世代情報が登録されていることも合わせて確認す
る。もし世代番号が指定されない場合、論理スキーマ名
とサブスキーマ名をもつ第6図の世代情報があることを
確認するとともに、その世代番号が最新のものを、当該
サブスキーマセクションの世代番号とする。(206) サブスキーマセクションの解析の中で、ユーザ記述の
中にディクショナリに登録されている定義情報との間の
不整合があれば(203),(205),(207)NOコンパイ
ルエラーとして、その不良内容をメッセージ出力する
(208),(209),210)。
又、PROCEDURE DIVISIONの解析102の中で、データベ
ースシステムへのアクセス命令の正当性の確認処理やア
プリケーションプログラムの実行時性能向上のため、定
義情報テーブルの生成処理が行なわれる。第10図にPROC
EDURE DIVISIONの解析の詳細を示す。第10図をもとに
説明すると、まず、PROCEDURE DIVISIONに記述されて
いる文がデータベースアクセス命令であることを判定し
(301)、各アクセス命令対応(302,303)の処理(304,
305,306,307)を行なう。FIND命令の場合(302Yes)ユ
ーザが記述したFIND命令の正当性を確認し(304)、正
常か否かを判定して(305)、エラーメッセージを出力
したり(307)、FIND命令の実行時テーブルの生成を行
なう(306)。
以下、FIND命令の正当性確認処理304につき更に詳細
を第11図で説明する。正当性確認処理では、FIND命令中
に記述されるレコードビュー名、セットビュー名、コン
ポーネントビュー名のそれぞれについて記述されている
かどうか、及びアクセス命令中のサブスキーマセクショ
ンで指定されたサブスキーマで定義されたものであるこ
とを確認する(401,405,402,408,403,404,411)。本確
認処理の中で、ユーザ記述の中に、ディクショナリに登
録されている定義情報との間に不整合6,9,12があれば
(406,409,412No)、コンパイルエラーとして、その不
良内容をメッセージ出力する(407,410,413)。
次にFIND命令の実行時テーブル生成処理306につきそ
の詳細を第12図で説明する。実行時テーブル生成処理で
は、データベースシステムアクセス命令文に対して、各
アクセス命令対応にまず、第13図に示すテーブルを生成
する(501,502,503)。第13図は、スキーマ番号81、サ
ブスキーマ番号82、世代番号83、データベースシステム
アクセス命令種別84、セットビュー番号85、セット番号
86、レコードビュー番号87、レコードタイプ番号88、検
索方向やカーソル制御情報などのアクセス命令情報89、
検索条件情報90からなるテーブル構成を示す。
次に、第13図に示すテーブルを第1引数とするCALL文
を生成する(504)。このCALL文は、その後一般のCALL
文と同様にオブジェクトに展開される。
次に、第1図のオブジェクトライブラリ3中のオブジ
ェクトモジュールは、ユーザがリンケージエディタ4を
起動することにより、ロードモジュールに変換されてロ
ードライブラリ5に登録される。
その後、ユーザがロードモジュールを実行させ、その
中でデータベースシステムアクセス命令が発行される
と、ロードモジュールからデータベースシステム管理プ
ログラム6へ、引数の1つとして、アクセス命令の情報
(実行時テーブル)が渡される。データベースシステム
管理プログラム6のデータベースアクセス命令に応答し
てディレクトリ11を主記憶装置へロードする処理を第14
図に示す。
データベースシステム管理プログラム6は、第14図に
示すように、ユーザアプリケーションプログラムからの
第1回目のデータベースアクセス命令の場合には(601Y
es)、実行時テーブルの内容に基づき上記の例では、ス
キーマ番号、サブスキーマ番号、世代番号をキーとして
第1図のディレクトリファイル11から、実行に必要な第
7図に示すようなディレクトリテーブルを主記憶装置に
ロードする(603)。キーと一致するディレクトリテー
ブルがディレクトリファイル中になければ(604)、エ
ラーメッセージを出力する(606)。キーは第15図に示
すワークエリアにセーブする(605)。
第2回目以降のアクセス命令発行時(602No)は、第
1回目にロードしたディレクトリテーブルのキーと、当
該アクセス命令の実行時テーブルの内容とが一致してい
ることを確認し(607)、不一致であれば、新たなディ
レクトリテーブルのロードを行なう。尚、ディレクトリ
テーブルをデータベースシステム管理プログラムがUAP
実行前に、主記憶上にロードにおく方式が考えられる。
その方式では、第14図に示す処理にかえて、第16図に示
すように前もって主記憶上にロードされているディレク
トリテーブルのキーと、データベースシステムアクセス
命令の実行時テーブルのキーの値が一致するかを確認し
(1601)、一致しなければ、エラーメッセージを出力す
る(1602)処理とすればよい。以上のように実行時テー
ブル(世代番号を有する)に一致するディレクトリがあ
るかどうかをチェックして一致するディレクトリがある
ときそのディレクトリをデータベース管理プログラムが
使用するようにしたので、コンパイル時とユーザアプリ
ケーションプログラム実行時のディレクトリの整合性が
チェックされた上で使用されることが保証される。
一方、アクセス命令に対するデータベース管理プログ
ラムの処理の中で、アクセス命令中に記述されたレコー
ドビュー名、セットビュー名、コンポーネントビュー名
は、第7図に示すようなディレクトリテーブル中の各ビ
ュー情報の配列番号に一致するビュー番号に置きかえら
れて実行時テーブルにセットされているので、即ち、コ
ンパイル時にできる処理が済んでいるので実行時に該当
するビュー情報を探す処理が不要となり、実行時性能が
向上する。
上記処理を、従来のデータベースアクセス制御方式に
追加することで本発明を実施できる。
〔発明の効果〕
本発明によれば、データディクショナリ・ディレクト
リ機能を有するデータベースシステムにおいて、アプリ
ケーションプログラムのコンパイル時に、ディクショナ
リ中の定義情報を参照することにより次の効果がある。
(1)従来アプリケーションプログラムの実行時に行な
っていた処理を事前に行なうことから、実行時の処理量
が減り実行性能を向上できる。
【図面の簡単な説明】
第1図は本発明の一実施例のデータベースシステム構成
図。 第2図は、データベースの論理的な構成を例示した図で
ある。 第3図は、第2図をもとに、データベースの使用範囲を
ビューとして例示した図である。 第4図は、論理スキーマの定義のディクショナリ内構造
を表現した図である。 第5図は、サブスキーマの定義のディクショナリ内構造
を表現した図である。 第6図は、世代情報のディクショナリ内構造を表現した
図である。 第7図は、1つのディレクトリテーブルの構造を表現し
た図である。 第8図は、言語プロセサの処理の一部を表現した図であ
る。 第9図は、第8図で示した処理の中で、サブスキーマセ
クションの構文解析処理の一部を表現した図である。 第10図は、第8図で示した処理の中で、 「PROCEDURE DIVISION」に記述されたデータベースア
クセス命令文の構文解析処理の一部を表現した図であ
る。 第11図は、第10図で示した処理の中で、アクセス命令文
の正当性を確認する処理の概要を表現した図である。 第12図は、第10図で示した処理の中で、アクセス命令文
の実行時テーブルを生成する処理の概要を表現した図で
ある。 第13図は、第12図で示した処理の中で生成される実行時
テーブルの構成を表現した図である。 第14図は、データベースシステム管理プログラムの中
で、アプリケーションプログラムからのデータベースア
クセス命令に対して、ディレクトリファイルからのディ
レクトリテーブルのロード処理概要を表現した図であ
る。 第15図は、第14図で示した処理の中でディレクトリテー
ブルのキーをセーブするためのワークエリアの構成を表
現した図である。 第16図は、データベースシステム管理プログラムがディ
レクトリテーブルをUAP実行時前にロードする方式をと
った場合、第14図に相当する処理概要を表現した図であ
る。 61……世代番号を記憶するレコード。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 米田 茂 川崎市麻生区王禅寺1099番地 株式会社 日立製作所システム開発研究所内 (72)発明者 和歌山 哲 横浜市戸塚区戸塚町5030番地 株式会社 日立製作所ソフトウエア工場内 (72)発明者 浦川 誠 横浜市戸塚区戸塚町5030番地 株式会社 日立製作所ソフトウエア工場内 (72)発明者 飯浜 尚 横浜市戸塚区戸塚町5030番地 株式会社 日立製作所ソフトウエア工場内 (56)参考文献 特開 昭58−166461(JP,A) 特開 昭59−3554(JP,A) 特開 昭55−15561(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】ソースプログラミング言語で記述されたプ
    ログラムをコンパイルしてオブジェクトモジュールを生
    成し、リンケージをとってロードモジュールを生成した
    後、そのロードモジュールを実行するデータベースシス
    テムで、前記データベースシステムの定義情報を予め第
    1の定義情報としてディクショナリに格納し、また、前
    記ディクショナリの第1の定義情報をもとに編集された
    第2の定義情報をディレクトリに格納し、前記第1、第
    2の定義情報を各々の世代情報とともに管理するデータ
    ディクショナリ・ディレクトリシステムを有するデータ
    ベースシステムにおけるデータベース・アクセス制御方
    法であって、 前記プログラムのコンパイル時に、その中のデータベー
    スアクセス命令が正常に実行可能か否かを前記ディクシ
    ョナリに格納されている第1の定義情報をもとに確認
    し、前記確認された第1の定義情報及び前記第1の定義
    情報の世代情報を前記オブジェクトモジュール中に埋め
    込んでおき、 前記ロードモジュールの実行時に、前記コンパイル時に
    埋め込まれた第1の定義情報の世代情報と前記ディレク
    トリに格納された前記ロードモジュールの実行時点の第
    2の定義情報の世代情報とが一致しているかどうかを確
    認し、一致していたら前記コンパイル時に埋め込まれた
    第1の定義情報と前記ディレクトリに格納された前記ロ
    ードモジュールの実行時点の第2の定義情報を用いて前
    記データベースシステムのアクセス制御を行ない、一致
    していなかったらエラー処理を行なう ことを特徴とするデータベース・アクセス制御方法。
JP61004927A 1986-01-16 1986-01-16 データベース・アクセス制御方法 Expired - Lifetime JP2602205B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP61004927A JP2602205B2 (ja) 1986-01-16 1986-01-16 データベース・アクセス制御方法
DE3750515T DE3750515T2 (de) 1986-01-16 1987-01-15 Verfahren zur Zugriffssteuerung einer Datenbasis.
EP87100472A EP0230279B1 (en) 1986-01-16 1987-01-15 Method of controlling database access
US07/004,072 US4819160A (en) 1986-01-16 1987-01-16 Method of processing data access in a database management system with data dictionary directory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61004927A JP2602205B2 (ja) 1986-01-16 1986-01-16 データベース・アクセス制御方法

Publications (2)

Publication Number Publication Date
JPS62164136A JPS62164136A (ja) 1987-07-20
JP2602205B2 true JP2602205B2 (ja) 1997-04-23

Family

ID=11597228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61004927A Expired - Lifetime JP2602205B2 (ja) 1986-01-16 1986-01-16 データベース・アクセス制御方法

Country Status (4)

Country Link
US (1) US4819160A (ja)
EP (1) EP0230279B1 (ja)
JP (1) JP2602205B2 (ja)
DE (1) DE3750515T2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2644728B2 (ja) * 1986-01-27 1997-08-25 株式会社日立製作所 データディクショナリ・ディレクトリシステム
JPH01162979A (ja) * 1987-12-19 1989-06-27 Ricoh Co Ltd データベース管理システムの機能拡張装置
US5214779A (en) * 1988-06-30 1993-05-25 International Business Machines Corporation Variable construct representation embedded in data stream which references definition for dynamically generating data used in processing the data stream
US5345587A (en) * 1988-09-14 1994-09-06 Digital Equipment Corporation Extensible entity management system including a dispatching kernel and modules which independently interpret and execute commands
US5230049A (en) * 1988-11-29 1993-07-20 International Business Machines Corporation Program source code translator
US5167011A (en) * 1989-02-15 1992-11-24 W. H. Morris Method for coodinating information storage and retrieval
JP2592955B2 (ja) * 1989-04-04 1997-03-19 株式会社東芝 プログラム自動生成装置
US5291601A (en) * 1989-06-01 1994-03-01 Hewlett-Packard Company Shared libraries implemented with linking program loader
US5185887A (en) * 1989-07-06 1993-02-09 Hitachi, Ltd. Database generation management method and system
JPH0370048A (ja) * 1989-08-09 1991-03-26 Hitachi Ltd ディクショナリ創成方法
CN1029050C (zh) * 1989-10-13 1995-06-21 国际商业机器公司 在数据库系统中强化实施参照约束
US5448726A (en) * 1989-10-23 1995-09-05 International Business Machines Corporation Data base management system with data dictionary cache including a single loadable object descriptor
US5222234A (en) * 1989-12-28 1993-06-22 International Business Machines Corp. Combining search criteria to form a single search and saving search results for additional searches in a document interchange system
DE69031028T2 (de) * 1990-02-26 1997-11-20 Oracle Corp System zum physikalischen Entwurf von Datenbanken
JP2720904B2 (ja) * 1990-08-31 1998-03-04 富士通株式会社 自己記述によるデータベース管理システムの構成方法および開発/変更方法
US5457800A (en) * 1991-05-02 1995-10-10 Smiths Industries Aerospace & Defense Systems, Inc. Adaptable datalink interface
US5488727A (en) * 1991-09-30 1996-01-30 International Business Machines Corporation Methods to support multimethod function overloading with compile-time type checking
JPH05250244A (ja) * 1992-03-04 1993-09-28 Nec Corp データベースシステム
US5418957A (en) * 1992-03-09 1995-05-23 Narayan; Rom Network data dictionary
JPH06214865A (ja) * 1993-01-12 1994-08-05 Fujitsu Ltd オブジェクト・ベース・データ処理装置
US5557724A (en) * 1993-10-12 1996-09-17 Intel Corporation User interface, method, and apparatus selecting and playing channels having video, audio, and/or text streams
US5410698A (en) * 1993-10-12 1995-04-25 Intel Corporation Method and system for dynamic loading of software libraries
US6279029B1 (en) 1993-10-12 2001-08-21 Intel Corporation Server/client architecture and method for multicasting on a computer network
JP3526595B2 (ja) * 1993-10-29 2004-05-17 富士通株式会社 情報管理機構
US5410693A (en) * 1994-01-26 1995-04-25 Wall Data Incorporated Method and apparatus for accessing a database
JPH07225707A (ja) * 1994-02-10 1995-08-22 Fujitsu Ltd アプリケーションのテスト方法及びそのテスト支援装置
US5623660A (en) * 1994-04-22 1997-04-22 Josephson; Jeffrey L. System for regulating access to data base for purposes of data base management
US5675785A (en) * 1994-10-04 1997-10-07 Hewlett-Packard Company Data warehouse which is accessed by a user using a schema of virtual tables
US5696973A (en) * 1995-02-17 1997-12-09 International Business Machines Corporation Index-based method for supporting multimethod function overloading with compile-time type checking and run-time dispatch
US5926637A (en) * 1997-08-20 1999-07-20 Bea Systems, Inc. Service interface repository code generation data
US6366917B1 (en) 1998-04-01 2002-04-02 Webputty, Inc. Method of modifying a populated database structure by modifying metadata describing the database structure
US6018742A (en) * 1998-07-07 2000-01-25 Perigis Corporation Constructing a bifurcated database of context-dependent and context-independent data items
JP3213585B2 (ja) * 1998-07-09 2001-10-02 株式会社インフォメックス データ検索方法及び装置、データ検索システム、記録媒体
DE10040987B4 (de) * 1999-09-29 2006-10-12 International Business Machines Corp. Verfahren und Vorrichtung für übereinstimmende Aktualisierungen von redundanten Daten in relationalen Datenbanken
US6625597B1 (en) 2000-07-25 2003-09-23 Mobashar Yazdani Information exchange system
WO2002103573A1 (en) * 2001-06-14 2002-12-27 Ubs Ag A flexible virtual database system including a hierarchical application parameter repository
US6763347B1 (en) * 2001-10-19 2004-07-13 Nick Zhang Indexing management for hierarchical main memory
US7885976B2 (en) * 2007-02-23 2011-02-08 International Business Machines Corporation Identification, notification, and control of data access quantity and patterns
US8068599B2 (en) 2008-01-09 2011-11-29 Accenture Global Services Limited Call center application data and interoperation architecture for a telecommunication service center
US11349957B2 (en) * 2020-05-14 2022-05-31 Bank Of America Corporation Automatic knowledge management for data lineage tracking

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130867A (en) * 1975-06-19 1978-12-19 Honeywell Information Systems Inc. Database instruction apparatus for determining a database record type
JPS5839341A (ja) * 1981-09-02 1983-03-08 Toshiba Corp デ−タベ−スマネジメントシステムにおけるデ−タのアクセス制御方法及び装置
JPS58166461A (ja) * 1982-03-27 1983-10-01 Fujitsu Ltd 関係型デ−タベ−ス・システムにおける構文チエツク方式
JPS593554A (ja) * 1982-06-30 1984-01-10 Fujitsu Ltd デ−タベ−スアクセス制御方式
US4631664A (en) * 1983-07-19 1986-12-23 Bachman Information Systems, Inc. Partnership data base management system and method

Also Published As

Publication number Publication date
DE3750515D1 (de) 1994-10-20
EP0230279A3 (en) 1990-12-27
US4819160A (en) 1989-04-04
EP0230279B1 (en) 1994-09-14
EP0230279A2 (en) 1987-07-29
JPS62164136A (ja) 1987-07-20
DE3750515T2 (de) 1995-01-12

Similar Documents

Publication Publication Date Title
JP2602205B2 (ja) データベース・アクセス制御方法
US7577946B2 (en) Program product, method, and system for testing consistency of machine code files and source files
CN107861728B (zh) 用于传统程序语言向现代程序语言转换的方法及其系统
US6349305B1 (en) Method and system for database processing by invoking a function related to index type definition, generating an execution plan based on index type name
US5854932A (en) Compiler and method for avoiding unnecessary recompilation
US7962888B2 (en) Producing unitary class definitions from module specifications
KR930008769B1 (ko) 소프트웨어 프로그램 발생용 장치 및 방법
JPH05204988A (ja) サーバデータベースのアクセス方法
JPH10232875A (ja) データベース管理方法および並列データベース管理システム
CN111488143A (zh) 一种基于Springboot2代码自动生成装置和方法
US20180260196A1 (en) Extensibility in a database system
CN1976320B (zh) 数据访问控制方法及系统
US6003026A (en) Emulator for an SQL relational-database
CN114281342A (zh) 一种代码自动生成方法
US20070239773A1 (en) Module specification language and meta-module
CN114356964A (zh) 数据血缘构建方法、装置、存储介质及电子设备
US8433729B2 (en) Method and system for automatically generating a communication interface
CN111694846B (zh) 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法
Cashin et al. Experience with a modular typed language: PROTEL
GB2351367A (en) Generating code for processing a database
CN114238469B (zh) 数据提取接口开放方法、装置、计算机设备及存储介质
KR20020033223A (ko) 데이터베이스 관리 시스템간 구조화 질의어의 통합처리 방법
Lerner Type evolution support for complex type changes
JPH06348564A (ja) アプリケーションプログラムの自動チェック方式
JP3210203B2 (ja) プログラム試験方法及びsqlシミュレータ

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term