JPH0798669A - 分散データベース管理システム - Google Patents

分散データベース管理システム

Info

Publication number
JPH0798669A
JPH0798669A JP6118517A JP11851794A JPH0798669A JP H0798669 A JPH0798669 A JP H0798669A JP 6118517 A JP6118517 A JP 6118517A JP 11851794 A JP11851794 A JP 11851794A JP H0798669 A JPH0798669 A JP H0798669A
Authority
JP
Japan
Prior art keywords
database
logical
physical
syntax
access
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
JP6118517A
Other languages
English (en)
Inventor
Satoshi Kikuchi
菊地  聡
Hiromichi Ito
浩道 伊藤
Keiichi Nakane
啓一 中根
Takashi Hashimoto
尚 橋本
Eisaku Nishiyama
英作 西山
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 JP6118517A priority Critical patent/JPH0798669A/ja
Priority to US08/285,534 priority patent/US6457007B1/en
Publication of JPH0798669A publication Critical patent/JPH0798669A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

(57)【要約】 【目的】テーブル位置およびアカウントの透過性を簡易
に実現する。 【構成】データベースの一以上をグループ化したもので
ある論理データベースに関する情報を保持するための論
理データベースディクショナリと、論理データベースに
関する情報を論理データベースディクショナリに登録す
る論理データベース定義部と、データベースへのアクセ
ス構文を保持するための構文バッファと、アプリケーシ
ョンプログラム実行手段からのアクセス構文を受け付
け、構文バッファに格納する論理データベースアクセス
制御部と、構文バッファに保持されたアクセス構文を、
論理データベースに属するデータベースのいずれかをア
クセス対象として、該物理データベースを管理する物理
データベース管理システムに転送するテーブル位置検索
部とを有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ネットワークに接続さ
れた複数の情報処理装置を備える分散データベース管理
システムに関する。
【0002】
【従来の技術】近年、様々な種類のデータを共有し、デ
ータの有効活用を図るデータベース管理システムが、多
くの情報処理システムに導入されている。中でも、関連
付けられたテーブル(表)形式でデータを取り扱うリレ
ーショナルデータベース管理システムが急速に普及して
いる。
【0003】従来のユーザは、メインフレーム上にデー
タベースを構築し、共有データの検索または更新を行っ
てきた。しかしメインフレーム系のデータベース管理シ
ステムは、コストや機能、操作性等の面で問題があっ
た。
【0004】そこで、このようなメインフレーム系のデ
ータベース管理システムは、システムの低コスト化、機
能の充実、使いやすさの向上を図り、多様化する情報社
会に柔軟に対応するため、ワークステーションやパーソ
ナルコンピュータ等の小型情報処理装置を用いたクライ
アント−サーバ型のデータベース管理システムに移行さ
れつつある。クライアント−サーバ型データベース管理
システムは、業務規模等に応じて拡張性の高い分散デー
タベース環境を構築可能である。
【0005】
【発明が解決しようとする課題】ユーザは、クライアン
トとなる情報処理装置から、ネットワークを経由して個
々のデータベース管理システムに接続し、例えばISO
(国際標準化機構)の標準データ操作言語であるSQL
(Structured Query Language)等のデータベースアク
セス構文を用いてリレーショナルデータベース上のテー
ブルをアクセスする。この場合、分散データベース環境
におけるユーザは、いずれのデータベースにアクセス対
象のテーブルが格納されているか、すなわち、テーブル
位置を常に認識し、テーブルアクセスに先立ち、適切な
データベースに接続する必要がある。さらに、各アクセ
ス構文に、テーブル位置を付加しなければならないこと
もある。しかし、大規模な分散データベース環境におい
ては、ユーザが多数のテーブル位置をいちいち認識する
こは困難であり、また、個々のアクセス構文にテーブル
位置を付加することは、非常に煩雑な作業を伴う。
【0006】また、リレーショナルデータベースでは、
1つのデータベースアクセス構文により、関連付けられ
た複数のテーブル内のデータを検索し、1つのテーブル
として結合することが可能である。ジョインと呼ばれる
この処理は、通常単一のデータベース管理システム内で
実行される。ところが分散データベース環境では、異な
るデータベース管理システムに格納された複数のテーブ
ルを対象としたジョイン(分散検索機能)も必要とな
る。しかし通常のクライアントは、同時に複数のデータ
ベース管理システムへ接続できない。そこでジョインの
要求を受けたデータベース管理システムが、自動的に他
のデータベース管理システムからデータを取り出し、自
己の検索データと結合することで、分散検索機能をサポ
ートする製品もある。このような分散検索機能を使用す
る場合、ユーザは、データベースアクセス構文中に、ア
クセス対象のテーブルが格納されている別のデータベー
ス管理システムの識別情報と接続時のユーザ認証情報を
明示的に記述しなければならない。
【0007】以上のような問題を解決するため、分散デ
ータベース環境のユーザに対して、テーブルが格納され
たデータベース管理システムを意識させない、つまりテ
ーブル位置を透過に見せることが重要である。
【0008】このような課題を実現する一方式として
は、特開平4−112246号公報に記載されている導
出データベース処理方式がある。この方式は、分散した
複数のデータベース管理システム上のテーブルを部分的
に集め、導出データベースとして取り扱うものであり、
ユーザが各データベース管理システムの定義情報と導出
データベースの定義情報をディクショナリに登録する。
ここでデータベース管理システムの定義情報は各データ
ベースに格納されている複数のテーブルの識別情報から
成り、また導出データベースの定義情報は導出データベ
ースを構成する複数のデータベース管理システムおよび
テーブルの識別情報からなる。データベース操作手段
は、アプリケーションプログラムからの導出データベー
スアクセス要求を受けて、前記ディクショナリからテー
ブル位置を検索し、テーブルが格納されたデータベース
管理システムへデータベースアクセス構文を発行する。
この方式によりアプリケーションプログラムは、1つの
導出データベースを介して、複数のデータベース管理シ
ステムをアクセスすることが可能となる。
【0009】この導出データベース処理方式では、導出
データベースとしてディクショナリに登録されている複
数のテーブルに関して、ユーザはテーブル位置を意識せ
ずにアクセスすることができる。しかし、ユーザは、導
出データベースの定義以降に新たなテーブルを生成した
場合、生成したテーブルと格納したデータベース管理シ
ステムの識別情報をディクショナリに追加定義する必要
がある。
【0010】また、分散データベース環境では、企業の
各部門が個々のデータベース管理システムを独自に運用
していることが多く、このため複数のデータベース管理
システム間で重複したテーブル名称が存在する可能性も
ある。上記導出データベース処理方式では、重複した名
称のテーブルを一意に識別するため、テーブルの別名を
定義しなければならない。
【0011】一般的なデータベース環境では、頻繁に新
たなテーブルが生成される。このため、上記導出データ
ベース処理方式では、ユーザはそのつど導出データベー
スを再定義したり、テーブルの別名を定義したりなけれ
ばならず、作業負担が増大する。
【0012】また、データベース管理システムは、独自
のユーザID(識別子:IDentification)とパスワード
(以下、この二つを組み合わせたものをアカウントとよ
ぶ)を用いたアカウント制御により、利用資格を持たな
い者によるデータベースの利用を防止している。データ
ベース管理システムに備えられているアカウント制御手
段は、テーブルアクセスに先立ち、ログイン時にユーザ
が入力したパスワードを照合し、アクセス対象のテーブ
ルまたはレコードへの書込または読込権限がログインユ
ーザに対して与えられているか確認した後、テーブルア
クセス処理を開始する。
【0013】しかし、各々のデータベース管理システム
が独自に運用される分散データベース環境では、各デー
タベース管理システムに登録されているアカウントが全
て同一とは限らない。全データベース管理システムのア
カウントを再登録し、統一的なデータベースアカウント
環境を構築する方法もある。しかし、アカウントの再登
録作業の増大、従来のデータベースアプリケーションプ
ログラム資産の継承等の理由から、多くの企業では、各
データベース管理システム毎に異なるアカウント環境を
継続して利用している。このためユーザは、接続するデ
ータベース管理システム毎に対応するアカウントを使い
わけなければならなかった。しかしテーブル位置と同
様、大規模な分散データベース環境において、ユーザが
多数のデータベース管理システムごとに、その利用のた
めのアカウントを記憶、使用することは、非常に煩雑な
作業を伴う。
【0014】そこで、本発明は、テーブル位置およびア
カウントの透過性を簡易に実現可能な分散データベース
管理システムを提供することを目的とする。
【0015】
【課題を解決するための手段】そこで、本発明では、テ
ーブルを保持する一以上のデータベース(以下、後述す
る「論理データベース」と区別するために、「物理デー
タベース」と呼ぶ)に、該物理データベースを管理する
データベース管理システム(以下、本発明の「分散デー
タベース管理システム」と区別するために、「物理デー
タベース管理システム」と呼ぶ)を介して接続され、さ
らに、該物理データベースをアクセスするアプリケーシ
ョンプログラム実行手段に接続され、該アプリケーショ
ンプログラム実行手段の発行した物理データベースをア
クセスするためのアクセス構文を受け付け、上記物理デ
ータベースのいずれかをアクセス対象として、該物理デ
ータベースを管理する物理データベース管理システムに
該アクセス構文を転送する情報処理装置である分散デー
タベース管理システムであって、つぎの構成を有するも
のを提供する。
【0016】すなわち、本発明の分散データベース管理
システムは、上記物理データベースのうちの一以上をグ
ループ化したものである論理データベースに関する情報
を保持するための論理データベースディクショナリと、
上記論理データベースに関する情報を上記論理データベ
ースディクショナリに登録する論理データベース定義部
と、上記アクセス構文を保持するための構文バッファ
と、上記アプリケーションプログラム実行手段からのア
クセス構文を受け付け、上記構文バッファに格納する論
理データベースアクセス制御部と、上記構文バッファに
保持された上記アクセス構文を、上記物理データベース
のいずれかをアクセス対象として、該物理データベース
を管理する物理データベース管理システムに転送するテ
ーブル位置検索部とを有する。
【0017】上記テーブル位置検索部は、データベース
へのログインを指示するアクセス構文を受け付けると、
接続を指示されたデータベースが上記論理データベース
として上記論理データベースディクショナリに登録され
ていれば、上記アクセス構文のアクセス対象を、指示さ
れた論理データベースに属する上記物理データベースの
いずれかとし、上記アクセス構文の転送に対して、アク
セス不可の応答があれば、上記アクセス構文のアクセス
対象を、指示された論理データベースに属する他の上記
物理データベースのいずれかとして、再度、上記構文バ
ッファに保持された上記アクセス構文を転送する手段を
有する。
【0018】
【作用】本発明の分散データベース管理システムによれ
ば、論理データベースアクセス制御部は、アプリケーシ
ョンプログラムからのデータベースアクセス構文を受け
付け、テーブル位置検索部に対して通知する。通知を受
けたテーブル位置検索部は、論理データベースディクシ
ョナリ中の論理データベースを構成する物理データベー
スの識別情報およびアカウント情報を用いてデータベー
スへ自動的にログインし、さらにアプリケーションプロ
グラムから受け取ったデータベースアクセス構文を発行
する。テーブル位置検索部は、論理データベースを構成
する1つ以上のデータベースに対して、以上の問い合わ
せ処理を繰返し、処理完了を示す応答の得られたデータ
ベースをテーブル位置として決定する。
【0019】また、本発明のテーブル位置検索部は、論
理データベースディクショナリに物理データベースアカ
ウントが記憶されている場合、その記憶されたアカウン
トを用いて各物理データベースへログインする。記憶さ
れていない場合は、前記アプリケーションプログラム実
行手段から受け取ったアカウントを用いてログインす
る。
【0020】以上のように本発明の分散データベース管
理システムによれば、ユーザは、論理データベースを構
成する複数の物理データベースに格納されたテーブル、
および今後新たに格納されるテーブルに関して、テーブ
ル位置および物理データベースアカウントを意識するこ
となく透過的にアクセスできる。
【0021】また、本発明の分散データベース管理シス
テムでは、論理データベースディクショナリに記憶した
アカウント情報を用いて各物理データベースへログイン
することで、異なるユーザにより作成された名称の重複
するテーブルをアクセス対象から除外するようにでき
る。このようにすれば、名称の重複する異なるユーザに
より作成されたテーブルについて、別名を定義して管理
する必要がない。
【0022】
【実施例】以下、本発明の実施例について図面を用いて
説明する。図中、同一の部分には同一の符号を付加す
る。
【0023】(実施例1)本実施例の分散データベース
管理システムの適用されるクライアント−サーバシステ
ムのハードウエア構成図を図27に示す。本実施例のク
ライアント−サーバシステムは、ネットワーク42と、
ネットワーク42に接続された3つのデータベースサー
バ41(41a、41b、41c)と、ネットワーク4
2に接続されたクライアント39と、ゲートウエイサー
バ40とを備える。各データベースサーバ41、クライ
アント39、およびゲートウエイサーバ40は、少なく
とも、中央演算処理装置(CPU)と主記憶装置とを有
する情報処理装置であり、各データベースサーバ41、
クライアント39およびゲートウエイサーバ40の備え
る各手段(後述する)は、主記憶装置に保持されたイン
ストラクションを、CPUが実行することにより実現さ
れる。各々の装置は、LAN等のネットワーク42に接
続されており、クライアント−サーバ形態をなす。
【0024】各データベースサーバ41は、それぞれ、
物理データベース1と、該物理データベース1を管理す
るための物理データベース管理システム270とを備え
る。データベースサーバ41aは物理データベースDB_a
を備え、データベースサーバ41bは物理データベース
DB_bを備え、データベースサーバ41cは物理データベ
ースDB_cを備える。個々の物理データベース1へのアク
セスは、物理データベース管理システム270を介して
行なわれる。なお、本実施例では、3つの物理データベ
ースDB_a、DB_b、DB_cがそれぞれ別々のデータベースサ
ーバ41に備えられているが、一つのデータベースサー
バに複数の物理データベース1が備えられていてもよ
い。また、本実施例では、3つの物理データベースDB_
a、DB_b、DB_cがそれぞれ別々の物理データベース管理
システムによって管理されるが、一つの物理データベー
ス管理システムが複数の物理データベース1を管理して
もよい。
【0025】本実施例のクライアント39は、アプリケ
ーションプログラム2が動作するワークステーションや
パーソナルコンピュータ等の小型情報処理装置である。
クライアント39は、データベースの更新、検索を行な
うアプリケーションプログラムを実行するアプリケーシ
ョンプログラム実行手段2を備え、各データベースの更
新および検索を指示する。
【0026】データベースサーバ41は、物理データベ
ース1が動作するワークステーションやパーソナルコン
ピュータもしくはメインフレーム等、二次記憶装置を備
える情報処理装置である。
【0027】ゲートウエイサーバ40の備える分散デー
タベースアクセス管理部3は、アプリケーションプログ
ラム実行手段2が分散された複数の物理データベース1
を単一の物理データベースと同様に扱うことができるよ
うにするため、アプリケーションプログラム2と物理デ
ータベース1の間に介在し、クライアント−サーバ間の
ゲートウェイ的な役割を果たす機構である。なお、本実
施例では、分散データベースアクセス管理部3はゲート
ウエイサーバ40に備えられているが、図28に示すよ
うに、クライアント39に備えられていてもよく、図2
9に示すように、データベースサーバ41に備えられて
いてもよい。
【0028】本実施例の分散データベース管理システム
の適用されるサーバ−クライアントシステムの機能構成
を図1に示す。本実施例の分散データベース管理システ
ムは、分散データベースアクセス管理部3からなる。
【0029】本実施例では、複数の物理データベース1
を組み合わせて、論理データベース4(LDB_A、LDB_B)
とする。論理データベースLDB_Aは、物理データベースD
B_aおよびDB_bからなり、論理データベースLDB_Bは、物
理データベースDB_bおよびDB_cからなる。なお、本実施
例の物理データベース1は、複数のテーブル100を記
憶管理する。物理データベースDB_aは、テーブルa1お
よびテーブルa2を保持する。物理データベースDB_b
は、テーブルb1およびテーブルb2を保持する。物理
データベースDB_cは、テーブルc1およびc2を保持す
る。
【0030】本実施例のクライアント39は、入出力装
置として、ディスプレイ(図示せず)やキーボード(図
示せず)、マウス等のポインティングデバイス(図示せ
ず)を備え、アプリケーションプログラム実行手段2
は、これらの入出力装置を制御し、物理データベース1
に保持されたデータの検索や更新に関するユーザからの
入力を受け付け、処理結果を表示するユーザインタフェ
ース11と、受け付けた入力に従って物理データベース
1をアクセスするためのアクセス構文を生成し、分散デ
ータベースアクセス管理部3に通知する構文生成部12
とを備える。
【0031】本実施例の分散データベースアクセス管理
部3は、論理データベース4を構成する各物理データベ
ース1の識別情報、アカウント情報、制御情報を記憶す
る論理データベースディクショナリ8、一以上のデータ
ベースアクセス構文を一時的に記憶する構文バッファ
6、アプリケーションプログラム2からのデータベース
アクセス構文を受け付け、論理データベース定義部9ま
たはテーブル位置検索部7へ処理を振り分ける論理デー
タベースアクセス制御部10、論理データベース4に関
する定義情報を論理データベースディクショナリ8に登
録する論理データベース定義部9、論理データベース4
を構成する1つ以上の物理データベース1にテーブル1
00の存否を問い合わせ、格納された物理データベース
1を決定するテーブル位置検索部7、物理データベース
1へデータベースアクセス構文を転送し、結果を受け取
るデータベースインタフェース部5を有する。ここでデ
ータベースインタフェース部5は、各物理データベース
1の物理位置情報(ネットワークアドレス等)を記憶
し、テーブル位置検索部7から指示された物理データベ
ース名に対応するアドレスを検索して、対象となる物理
データベース1または論理データベース4を管理する物
理データベース管理システム270へ、構文バッファ6
に保持された構文を送出する。本実施例1では、テーブ
ル位置検索部7による物理データベース1へのアクセス
は、すべてデータベースインタフェース部5および物理
データベース管理システム270を介して行なわれる。
【0032】本実施例の分散データベース管理部(分散
データベース管理システム)によれば、論理データベー
スアクセス機能が実現される。
【0033】A.論理データベースアクセス機能の概要 以下、本実施例の分散データベース管理システムが提供
する論理データベースアクセス機能について説明する。
【0034】論理データベース4は、1つ以上の物理デ
ータベース1をグループ化した仮想的なデータベースで
あり、図1において、物理データベースDB_a及びDB_bが
論理データベースLDB_A、物理データベースDB_b及びDB_
cが論理データベースLDB_Bとして定義されている。本実
施例では、ユーザもしくはアプリケーションプログラム
2は、論理データベースLDB_Aによりテーブルa1、a2、b
1、b2、そして論理データベースLDB_Bによりテーブルb
1、b2、c1、c2に対して、位置透過なアクセスが可能で
ある。
【0035】また本実施例の分散データベース管理シス
テムは、論理データベース4を構成する複数の物理デー
タベース1に検索時の優先順位を設定できる。テーブル
位置検索部7は、各物理データベース1に設定された優
先順位に従い順番にテーブルの存否を問い合わせ、アク
セス対象のテーブルが格納された物理データベース1を
決定する。つまり本実施例の分散データベース管理シス
テムによると、論理データベース4を構成する複数の物
理データベース1に同一名称のテーブルが存在する場
合、優先順位の高い物理データベース1上のテーブル1
00がアクセスの対象となる。
【0036】(1)アカウント制御 次に、本実施例の論理データベースアクセス機能におけ
るアカウント制御の方法について説明する。アカウント
は、ユーザを識別するためのユーザIDおよびパスワー
ドからなる。
【0037】本実施例の分散データベース管理システム
は、各物理データベース1のアカウントの違いをユーザ
に意識させないため、論理データベースディクショナリ
8に予め登録した各物理データベース1のアカウント情
報を用い、論理データベース4を構成する複数の物理デ
ータベース1へ自動的にログインする。しかし各物理デ
ータベース1に格納されたテーブル100のアクセス権
限を持たないものの利用を防止するため、ユーザの正当
性は必ず認証されなければならない。そこで、テーブル
位置検索部7は、各物理データベース1へのログインに
先立ち、論理データベース4に対するアカウント(以下
論理データベースアカウントとする)を検査する。論理
データベースアカウントは、物理データベース1のアカ
ウントと同様にユーザIDとパスワードからなり、論理
データベースディクショナリ8に登録された各物理デー
タベース1毎に異なる複数のアカウント情報を意識せず
に各物理データベース1を利用するためのアカウントと
捉えることもできる。
【0038】(2)アクセス権限管理 次に、本実施例の論理データベースアクセス機能におけ
るアクセス権限管理の方法について説明する。
【0039】本実施例の分散データベース管理システム
は、上記論理データベースアカウントの他に、マルチユ
ーザ環境に対応したオペレーティングシステムのユーザ
(以下OSユーザとする)として、データベースアクセ
スユーザの正当性を確認する機能も有する。
【0040】一般的なマルチユーザオペレーティングシ
ステム上でアプリケーションプログラム2を動作させる
場合、ユーザは前もってオペレーティングシステムへロ
グインすることで各自の処理環境を設定する。さらに複
数のOSユーザを1つのグループと定義し、同一の処理
環境を共有することも可能である。ところが、通常の物
理データベース管理システムは、オペレーティングシス
テムのユーザアカウントとは別に、独自のデータベース
アカウント環境を備える。そこで、本実施例の分散デー
タベース管理システムは、論理データベースディクショ
ナリ8に登録された個々の論理データベース4に関する
定義情報をオブジェクトとして捉え、各々にOSユーザ
に対するアクセス権限を設定することで、論理データベ
ース4の使用ユーザを制限する。
【0041】アクセス権限情報は、論理データベース4
へのアクセスを許可するOSユーザのIDまたはグルー
プIDと、使用許可や変更許可等の権限種別とから成
る。本実施例では、論理データベース4を定義したOS
ユーザ(該論理データベースに関する定義情報の所有
者)に対し、暗黙的に論理データベース4の使用および
変更許可を与える。論理データベース4に関する定義情
報の所有者は、他のOSユーザもしくはグループに対し
て、論理データベース4の使用または変更許可を委譲す
ることも可能である。
【0042】本実施例のアクセス権限管理方法では、ア
プリケーションプログラム2の構文生成部12は、生成
したデータベースアクセス構文と共に、OSユーザのI
Dと所属するグループのIDを分散データベースアクセ
ス管理部3へ通知する。分散データベースアクセス管理
部3のテーブル位置検索部7は、各物理データベース1
へログインする前に、要求された論理データベース4に
設定されたアクセス権限を参照し、通知されたOSユー
ザに対して論理データベース4の使用が許可されている
か確認する。
【0043】論理データベースディクショナリ8の保持
する情報を図2に示す。論理データベースディクショナ
リ8は、論理データベース制御ブロック13を1以上備
える。個々の論理データベース制御ブロック13は、そ
れぞれ、1つの論理データベース4に関する定義情報を
保持する。論理データベース制御ブロック13は、図2
(a)に示すように、論理データベース4の名称を記憶
する領域13aと、論理データベース4に対するアクセ
ス権限を記憶する領域13bと、論理データベース4に
対するアカウント(ユーザIDおよびパスワード)を記
憶する領域13cとを備え、さらに、該論理データベー
ス4を構成する物理データベース1ごとに、その名称を
記憶する領域13dおよび該物理データベース1に対す
るアカウント(ユーザID、パスワード)を記憶する領
域13eを有する。
【0044】なお、本実施例の論理データベースディク
ショナリ8は、ゲートウエイサーバ40のOSに管理さ
れるファイルとしてゲートウエイサーバ40の主記憶装
置上に実現されるが、いずれかの物理データベース1に
データベーステーブル100として実現してもよい。
【0045】アクセス権限13bは、複数のOSユーザ
もしくはグループのIDと権限種別を保持することがで
きる。また、論理データベースアカウント13cは、複
数組のアカウントを保持することができる。さらに、物
理データベース名13d及び物理データベースアカウン
ト13eは、格納した順番を示すリンクが設けられてい
る。本実施例では、検索時の優先順位は、該リンクによ
る順番により決定される。
【0046】本実施例の分散データベース管理システム
では、パブリック論理データベースとプライベート論理
データベースとの二種類の論理データベース4を定義す
ることができる。そこで、論理データベースディクショ
ナリ8は、図2(b)に示すように、パブリック論理デ
ータベースである論理データベース4に関する定義情報
を保持する論理データベース制御ブロック13の格納領
域201と、プライベート論理データベースである論理
データベース4に関する定義情報を保持する論理データ
ベース制御ブロック13の格納領域202とを有する。
なお、図2(b)では、パブリック論理データベース制
御ブロック格納領域201には3つの論理データベース
制御ブロック13が保持されているように図示されてい
るが、格納領域201は1以上の任意の数の論理データ
ベース制御ブロック13を保持することができ、論理デ
ータベース制御ブロック13の数は、3に限られない。
プライベート論理データベース制御ブロック格納領域2
02についても同様である。
【0047】パブリック論理データベースは、全OSユ
ーザが使用可能なデータベースである。パブリックとし
て定義された論理データベース4に関する論理データベ
ース制御ブロック13は、システムで一括管理される。
このため、各論理データベース4にはユニークな論理デ
ータベース名を付与する必要がある。
【0048】これに対しプライベート論理データベース
は、定義OSユーザもしくは使用を認められた他OSの
ユーザだけが使用可能なデータベースである。本実施例
では、各論理データベース制御ブロック13は、使用可
能なOSユーザのユーザ名50(図2(b)ではuser_
α、user_β、user_γとして図示されている)に対応付
けられて、プライベート論理データベース制御ブロック
格納領域202内に保持される。このため、本実施例で
は、登録済みのパブリック論理データベース名または他
OSユーザが登録したプライベート論理データベース名
との重複を意識せずに、自由な論理データベース名を付
与できる。
【0049】なお、ユーザからのアクセス要求があった
論理データベース名が、パブリック論理データベース制
御ブロック格納領域201に登録された論理データベー
ス制御ブロック13と、該OSユーザのユーザ名に対応
してプライベート論理データベース制御ブロック格納領
域202に登録された論理データベース制御ブロック1
3の、両方に登録されている場合、本実施例の分散デー
タベースアクセス管理部3は、プライベート論理データ
ベース制御ブロック格納領域202に登録された論理デ
ータベース制御ブロック13の情報を用いて処理を行な
う。すなわち、本実施例では、パブリック論理データベ
ースと、使用可能なプライベート論理データベースの両
方に同一名称の論理データベースが登録されているOS
ユーザの、該同一名称の論理データベースへのアクセス
要求は、プライベート論理データベースとして登録され
た該名称の論理データベースに対するアクセス要求とし
て扱われる。
【0050】B.論理データベースアクセス機能の詳細 次に、本実施例の論理データベースアクセス機能を詳細
に説明する。
【0051】本実施例では、SQL文をデータベースア
クセス構文として用いる。SQL標準では、テーブル1
00を新たに生成するCREATE TABLE構文、テーブル10
0を削除するDROP TABLE構文等のデータ定義言語と、テ
ーブル100内のデータを検索するSELECT構文、テーブ
ル100に新たな行を追加するINSERT構文、テーブル1
00から行を削除するDELETE構文、テーブル100内の
データを変更するUPDATE構文等のデータ操作言語が規定
されている。本実施例では、テーブル100を対象とし
たデータ定義言語およびデータ操作言語をテーブルアク
セス構文と呼ぶ。各々のテーブルアクセス構文には、ア
クセス対象のテーブル名称が含まれている。さらにSQ
L標準では、データベースへログインするCONNECT構
文、データベースからログアウトするDISCONNECT構文等
のデータベース接続構文も規定されている。本実施例で
は、アプリケーションプログラム実行手段2により作成
されたテーブルアクセス構文は、論理データベース制御
部10を介してテーブル位置検索部7に通知される。テ
ーブル位置検索部7は、該テーブルアクセス構文を論理
データベース4に対するアクセスであるとして解釈し、
実際の物理データベース1に対するテーブルアクセス構
文を作成して、データベースインタフェース部5を介し
て、物理データベース1へ作成した構文を発行し、その
結果を受け取る。
【0052】ところで、本実施例1(および、後述する
各実施例)において、テーブル位置検索部7は、DROP T
ABLE構文、SELECT構文、INSERT構文、DELETE構文、およ
び、UPDATE構文等をアプリケーションプログラム実行手
段2から受け取った場合に実行する、既に物理データベ
ース1に存在するテーブル100を対象とした処理にお
いては、処理対象のテーブル100が実際に存在する物
理データベース1を自動的に検知し、該物理データベー
ス1に対してアクセスを実行する。
【0053】これに対し、CREATE TABLE構文をアプリケ
ーションプログラム実行手段2から受け取った場合に
は、テーブル位置検索部7は、テーブル100を新たに
生成し、これを新たに確保した格納領域に格納する。テ
ーブル位置検索部7は、アプリケーションプログラム実
行手段2から論理データベース4に対するCREATE TABLE
構文を受け取った場合、該論理データベース4に属する
もののうち、最も優先順位の高い物理データベース1へ
構文を転送する。つまり、テーブル位置検索部7は、論
理データベース4に対する新規生成テーブルを、まず、
全て最も優先順位の高い物理データベース1に格納しよ
うとする。
【0054】このように、新たに生成するテーブル10
0を、最も優先順位の高い物理データベース1へ格納す
ることは、分散データベース環境における運用管理を容
易にすると共に、テーブル位置検索部7の処理オーバヘ
ッドを低減させる効果もある。これは、既に物理データ
ベース1に存在するテーブル100を対象とした処理に
おいて、処理対象のテーブル100が実際に存在する物
理データベース1の検索が、物理データベース1の優先
順位に従って行なわれため、検索するテーブル100が
最初に試行したアクセスで検知されれば、検索の効率が
よいからである。
【0055】(1)論理データベースの定義機能 次に、本実施例の論理データベース4の定義機能を説明
する。例えば、対話形式の操作によりアクセスするテー
ブルや検索条件を指示し、検索結果を表示する汎用的な
会話型データベースアプリケーションプログラムは、ユ
ーザがキーボード等により直接入力したデータベースア
クセス構文を、そのまま物理データベース1へ発行する
機能を備えた製品も多い。そこで、本実施例の分散デー
タベース管理システムでは、図3に示す部分的に拡張し
たデータベースアクセス構文による論理データベース4
の定義を可能とする。本実施例の分散データベース管理
システムによれば、ユーザは、市販されている会話型デ
ータベースアプリケーションプログラムを利用して、独
自の論理データベース環境を容易に定義できる。
【0056】分散データベースアクセス管理部3の論理
データベースアクセス制御部10は、アプリケーション
プログラム実行手段2から通知された論理データベース
4の定義構文を識別し、定義ユーザのOSユーザIDと
グループIDと共に、論理データベース定義部9へ通知
する。
【0057】論理データベース4の生成に用いる構文の
一例を図3(a)に図示する。この論理データベース生
成構文14は、論理データベース4を記述する内容と、
該論理データベースを構成する1以上の物理データベー
ス1を記述する内容と、記述子(「CREATE」、「LOGICA
L DATABASE」、「USER_ID」、「IDENTIFY」、「DATABAS
E」)と、継続記号(「,」)とを備え、さらに記述子
「PUBLIC」を備えることがある。
【0058】論理データベース4を記述する内容とは、
論理データベース名と、論理データベースユーザIDお
よびパスワードとである。また、論理データベースを構
成する物理データベース1を記述する内容とは、物理デ
ータベース1の名称と、該物理データベースのユーザI
Dおよびパスワードとである。
【0059】記述子「CREATE」および記述子「LOGICAL
DATABASE」は、記述子「LOGICAL DATABASE」に続いて記
載される名称の論理データベースの生成を指示する構文
であることを意味する。記述子「PUBLIC」は、パブリッ
ク論理データベースの定義であることを意味する。「PU
BLIC」記述子を省略した場合、プライベート論理データ
ベースとして定義される。
【0060】記述子「USER_ID」は、記述子「USER_ID」
に続いて記載される名称が、記述子「USER_ID」の直前
に記載された論理データベース4/物理データベース1
の使用が許可されるユーザのユーザIDであることを意
味する。記述子「IDENTIFY」は、直前に記載されたユー
ザIDを有するユーザのパスワードが、記述子「IDENTI
FY」に続いて記載されるパスワードであることを意味す
る。論理データベース4の使用が許可されるユーザのユ
ーザIDおよびパスワードは、複数記述することができ
る。複数記述する場合は、それらを継続記号「,」によ
り区切る。
【0061】記述子「DATABASE」は、記述子「DATABAS
E」に続いて記載される名称が、定義される論理データ
ベースを構成する物理データベース1の一つの名称であ
ることを意味する。構文14では、この物理データベー
ス名に続いて、上述の記述子「USER_ID」と「IDENTIF
Y」とにより、該物理データベース1の使用が許可され
るユーザが定義される。この物理データベース1も、複
数記述することができる。複数記述する場合は、それら
を継続記号「,」により区切る。本実施例では、論理デ
ータベース4を構成する物理データベース1は、検索時
に、構文中の上段に記載されたものほど高い優先順位で
扱われる。
【0062】論理データベース定義部9は、論理データ
ベースアクセス制御部10から通知された論理データベ
ース生成構文14を解析し、上記情報を、論理データベ
ース制御ブロック13の論理データベース名格納領域1
3a、論理データベースアカウント格納領域13c、物
理データベース名格納領域13d、物理データベースア
カウント格納領域13eへ格納した後、構文を発行した
OSユーザのIDと使用および変更許可種別をアクセス
権限格納領域13bへ格納する。
【0063】論理データベース定義部9の論理データベ
ース登録処理の流れを図31に示す。論理データベース
定義部9は、論理データベースアクセス制御部10を介
して、アプリケーションプログラム実行手段2の発行し
た論理データベース生成構文14を受け付けると、ま
ず、「PUBLIC」指定の有無を検査する(S311)。論
理データベース定義部9は、記述子「CREATE」の直後に
「PUBLIC」の指定があれば、パブリック論理データベー
ス制御ブロック格納領域201に(S312)、「PUBL
IC」の指定がなければ、プライベート論理データベース
制御ブロック格納領域202に(S313)、論理デー
タベース制御ブロック13を新たに生成する。つぎに、
論理データベース定義部9は、構文中の「LOGICAL DATA
BASE」に続く論理データベース名を、論理データベース
制御ブロック13の論理データベース名格納領域13a
へ格納し(S314)、「USER_ID」に続く論理データ
ベースユーザ名および「IDENTIFY」に続く論理データベ
ースパスワードを、順次(S310)、論理データベー
スアカウント格納領域13cに格納する(S315)。
さらに、論理データベース定義部9は、順次(S31
9)、「DATABASE」に続いて記載される物理データベー
ス名を物理データベース名格納領域13dに格納し(S
316)、該物理データベース名に続く「USER_ID」句
のユーザIDと「IDENTIFY」句のパスワードとを、該物
理データベース名格納領域13dに対応する物理データ
ベースアカウント格納領域13eへ格納する(S31
7)。なお、論理データベース定義部9は、各物理デー
タベース名格納領域13cをリンクにより接続させる
が、リンク上の格納位置が記述された順になるように格
納する。最後に、論理データベース定義部9は、構文を
発行したOSユーザのIDと使用および変更許可種別
を、アクセス権限格納領域13bへ格納する(S31
8)。
【0064】つぎに、論理データベース4の削除に用い
る構文の一例を図3(b)に示す。この論理データベー
ス4削除の構文15は、記述子「DROP LOGICAL DATABAS
E」と、論理データベース名とからなる。論理データベ
ース定義部9は、記述子「DROP LOGICAL DATABASE」の
直後に記載された名称が論理データベース名格納領域1
3aに保持されている論理データベース制御ブロック1
3を削除する。なお、論理データベース定義部9は、論
理データベース制御ブロック13の削除に先立ち、アク
セス権限13bを参照し、構文を発行したOSユーザに
対して変更許可が与えられているか確認する。論理デー
タベース定義部9は、変更許可が与えられていない場
合、論理データベース4の削除を拒否する。
【0065】本実施例では、論理データベース4の所有
者は、他のユーザへアクセス権限を委譲できる。論理デ
ータベース4に関するアクセス権限の委譲に用いる構文
の一例を図3(c)に示す。このアクセス権限の委譲の
構文16は、記述子(「GRANT」、「ON」、および、「T
O USER」、「TO GROUP」、または「TO PUBLIC」)と、
委譲されるアクセス権限の種別(使用許可または変更許
可等)と、該アクセスの対象である論理データベース名
と、委譲の対象であるOSユーザのユーザIDまたはグ
ループIDとからなる。
【0066】記述子「GRANT」は、その直後に記載され
た種別のアクセス権限を委譲する構文であることを意味
する。記述子「ON」は、委譲されるアクセス権限が、記
述子「ON」の直後に記載された論理データベース名を有
する論理データベースに対するアクセスの権限であるこ
とを意味する。記述子「TO USER」は、その直後に記載
されたユーザIDを有するOSユーザが委譲の対象であ
ることを意味する。記述子「TO GROUP」は、その直後に
記載されたグループIDを有するグループに属するOS
ユーザが委譲の対象であることを意味する。記述子「TO
PUBLIC」は、委譲の対象が全OSユーザであることを
意味する。
【0067】論理データベース定義部9は、論理データ
ベースアクセス制御部10から通知された論理データベ
ースアクセス権限委譲構文16を解析し、上記情報を論
理データベース制御ブロック13のアクセス権限13b
へ追加する。
【0068】さらに、本実施例では、他のデータベース
アクセス構文(例えばSELECT、UPDATE、INSERT、DROP
等)により、論理データベースディクショナリ8に登録
した論理データベース制御ブロック13の内容検索や更
新、論理データベース制御ブロック13中の物理データ
ベース1に関する情報の追加や削除等を実行することが
できる。これにより、ユーザは独自の論理データベース
環境を自由に編集できる。なお、SELECTは検索を、UPDA
TEは更新を、INSERTは追加を、DROPは削除を、それぞれ
意味する。
【0069】(2)論理データベースアクセス制御部の
処理 論理データベースアクセス制御部10は、最初にアプリ
ケーションプログラム実行手段2からCONNECT構文を受
け付け、構文バッファ6へ格納した後、該CONNECT構文
と、CONNECT構文を発行したOSユーザのIDおよびグ
ループIDとをテーブル位置検索部7へ通知する。また
論理データベースアクセス制御部10は、CONNECT構文
以降にアプリケーションプログラム実行手段2から受け
取ったテーブルアクセス構文に関しても、同様に構文バ
ッファ6へ格納した後、テーブル位置検索部7へ通知す
る。
【0070】(3)テーブル位置検索部の処理 図4に、テーブル位置検索部7によるCONNECT構文の変
換処理を示す説明図を示す。SQL標準では、CONNECT
構文のパラメータとして、接続するデータベースの名
称、そしてユーザIDおよびパスワードからなるデータ
ベースアカウントを定義する。しかし、本実施例では、
CONNECT構文のデータベース名を論理データベース4の
名称、そしてデータベースアカウントを論理データベー
ス4に対するアカウントとして解釈する。ただし、本実
施例では、従来と同様に、物理データベース1の名称お
よびアカウントを用いて特定の物理データベース1をア
クセスすることもできる。
【0071】本実施例では、図4に示すように、アプリ
ケーションプログラム実行手段2により作成されたCONN
ECT構文45は、論理データベースアクセス制御部10
を介してテーブル位置検索部7により受け付けられる。
CONNECT構文45を受け付けた、テーブル位置検索部7
は、該構文45を解釈して、CONNECT構文45中の論理
データベース名および論理データベースアカウントを、
論理データベース制御ブロック13に登録された物理デ
ータベース1に対する物理データベース名と物理データ
ベースアカウントに置き換え、実際に物理データベース
1をアクセスするためのCONNECT構文46を作成して、
物理データベース1に発行する。
【0072】テーブル位置検索部7の作成するCONNECT
構文46は、SQL標準と同様に、接続する物理データ
ベース1の名称が記述子「CONNECT TO」の直後に記述さ
れ、接続するユーザのユーザIDが記述子「USER」の直
後に記述され、接続するユーザのパスワードが記述子
「USING」の直後に記述される。
【0073】しかし、CONNECT構文45を解釈する際に
は、記述されたデータベースは、論理データベースとし
て解釈される。すなわち、テーブル位置検索部7は、構
文45の記述子「CONNECT TO」に続く単語(SQL標準
では、接続する物理データベース1の名称)を、接続す
る論理データベースの名称とし、記述子「USER」に続く
単語(SQL標準では、接続するユーザのユーザID)
を論理データベースユーザIDとし、記述子「USING」
に続く単語(SQL標準では、接続するユーザのパスワ
ード)を論理データベースパスワードとして解釈する。
【0074】テーブル位置検索部7の処理手順を示した
フローチャートを図5に示す。テーブル位置検索部7
は、構文バッファ6に格納したCONNECT構文から論理デ
ータベース名を抽出し(S501)、S501において
抽出された論理データベース名が論理データベース名格
納領域13aに保持された論理データベース制御ブロッ
ク13を検索する(S502)。この検索は、まずプラ
イベート論理データベース制御ブロック格納領域202
において行なわれ、ここで検出されなかった場合は、パ
ブリック論理データベース制御ブロック格納領域201
において行なわれる。プライベート論理データベース制
御ブロック格納領域202における検索は、論理データ
ベースアクセス制御部10から通知されたOSユーザお
よびグループのIDに対応付けられて登録された論理デ
ータベース制御ブロック13を対象に行なわれる。S5
01において抽出された論理データベース名が論理デー
タベース名格納領域13aに保持された論理データベー
ス制御ブロック13を検出すると、テーブル位置検索部
7は、処理をS503に進める。いずれの格納領域20
1、202でも指定された名称を有する論理データベー
ス制御ブロック13が検出されなかった場合、テーブル
位置検索部7は、処理をS515に進める。
【0075】プライベート論理データベース制御ブロッ
ク格納領域202で指定された論理データベース制御ブ
ロック13が検出された場合は、テーブル位置検索部7
は、データベースアクセスを要求したOSユーザに該論
理データベース4の使用許可が与えられているか確認す
る(S503)。使用許可の付与の有無は、論理データ
ベースアクセス制御部10から通知されたOSユーザI
DおよびグループIDをもとに、該論理データベース制
御ブロック13のアクセス権限格納領域13bの内容を
参照して判断される。なお、検索した論理データベース
制御ブロック13がパブリック論理データベースに関す
るものであった場合は、アクセス権限のチェックを行な
わない。プライベート論理データベースについての使用
許可が与えられていない場合、テーブル位置検索部7
は、アプリケーションプログラム実行手段2へアクセス
の拒否を通知し(S514)、処理を終了する。
【0076】プライベート論理データベースについての
使用許可が確認された場合、または、使用する対象がパ
ブリック論理データベースであった場合、テーブル位置
検索部7は、CONNECT構文から論理データベースアカウ
ントを抽出し、検出された論理データベース制御ブロッ
ク13の論理データベースアカウント格納領域13cに
登録された1つ以上の論理データベースアカウントのい
ずれかと一致することを確認した後(S504)、アプ
リケーションプログラム実行手段2に対し論理データベ
ース4へのログインが正常に完了したことを通知する
(S505)。これにより、アプリケーションプログラ
ム実行手段2から、次の構文が通知されるので、論理デ
ータベースアクセス制御部10は、該構文を構文バッフ
ァ6に格納する。なお、S504において、アカウント
がいずれとも一致しなかった場合、テーブル位置検索部
7は、アプリケーションプログラム実行手段2へアクセ
スの拒否を通知し(S514)、処理を終了する。
【0077】以上のユーザ確認処理を終えた後、テーブ
ル位置検索部7は、構文バッファ6に格納されたCONNEC
T構文中の論理データベース名および論理データベース
アカウントを、検出された論理データベース制御ブロッ
ク13に登録された最も優先順位の高い(すなわちリン
クの先頭に登録された)物理データベース1に対する物
理データベース名と物理データベースアカウントに置き
換え、物理データベース1へアクセスするためのCONNEC
T構文を作成した後、物理データベース1へログインす
る(S506)。つぎに、テーブル位置検索部7は、ア
プリケーションプログラム実行手段2が発行し、これを
受けた論理データベースアクセス制御部10が構文バッ
ファ6に格納したテーブルアクセス構文を読み込んで、
ログインした物理データベース1へ発行し(S50
7)、応答を待つ(S508)。
【0078】CONNECT構文およびテーブルアクセス構文
を受け取った物理データベース1の物理データベース管
理システム270は、アクセス対象のテーブルの存否、
およびログインしたデータベースユーザのアクセス対象
テーブルへのアクセス権限等を、例えば後述するシステ
ムカタログで検査する。いずれの条件も満足している場
合、物理データベース1を管理する物理データベース管
理システム270は、受け取ったテーブルアクセス構文
に対応する処理を実行し、結果を返す。ただしいずれか
の条件を満たさなかった場合は、アクセス不可を示す情
報を返す。
【0079】S508においてアクセス不可を示す情報
を受け取った場合、テーブル位置検索部7は、現在ログ
イン中の物理データベース1にアクセス対象のテーブル
が格納されていないと判断し、該物理データベース1か
らログアウトするDISCONNECT構文を作成して発行した後
(S509)、論理データベース制御ブロック13に登
録された次に優先順位の高い物理データベース1の物理
データベース名称および物理データベースアカウントを
用いて(S510)、S506〜S508のテーブル位
置検索処理を繰り返す。なお、S510において、次に
優先順位の高い物理データベース1が登録されていない
場合、テーブル位置検索部7は、処理をS514に進
め、アクセスできないことをアプリケーションプログラ
ム実行手段2に通知する。
【0080】S508において、ある物理データベース
1から処理結果を受け取った場合、テーブル位置検索部
7は、テーブル位置を現在ログイン中の物理データベー
ス1と決定し、論理データベースアクセス制御部10を
介して処理結果をアプリケーションプログラム実行手段
2へ返して(S511)、次の構文の入力を待つ(S5
12)。テーブル位置検索部7は、次にアプリケーショ
ンプログラム実行手段2から受け取った構文がテーブル
アクセス構文である場合、S507以降の処理を繰り返
す。なお、ここで別のテーブルを対象としたテーブルア
クセス構文を受け取った場合はS508において、アク
セス不可と判断されるため、テーブル位置検索部7は、
再び処理をS506に戻し、各物理データベース1にテ
ーブルの存否を問い合わせる。
【0081】S512において、受け取った構文が論理
データベース4からログアウトすることを指示するDISC
ONNECT構文であった場合、テーブル位置検索部7は、現
在ログイン中の物理データベース1へDISCONNECT構文を
発行し(S513)、処理を終える。
【0082】一方、S502においてCONNECT構文中の
データベース名が、いずれの論理データベース制御ブロ
ック13に記憶した論理データベース名とも異なる場
合、テーブル位置検索部7は、特定の物理データベース
1に対するアクセスと判断して、DISCONNECT構文を受け
取るまで(S516)、全ての構文をそのまま物理デー
タベース1へ転送する(S515)。
【0083】(4)処理シーケンス例 図6に、本実施例の論理データベースアクセス機能によ
り、アプリケーションプログラム実行手段2、分散デー
タベースアクセス管理部3、物理データベース1の間で
交換される情報のシーケンス例を示す。
【0084】プライベート論理データベース制御ブロッ
ク格納領域202には、プライベート論理データベース
LDB_Aに関する論理データベース制御ブロック13が保
持されている。論理データベースLDB_Aに関する論理デ
ータベース制御ブロック13の物理データベース名格納
領域13dには、物理データベースDB_aおよびDB_bの名
称が格納されている。また、該論理データベース制御ブ
ロック13のアクセス権限格納領域13bには、OSユ
ーザであるuser_αに対して使用および変更許可、OS
グループであるgroup_αに対して使用許可が割り当てら
れている。さらに、該論理データベース制御ブロック1
3には、物理データベースDB_aの物理データベースアカ
ウントとしてuser_aが、物理データベースDB_bの物理デ
ータベースアカウントとしてuser_bが、それぞれ物理デ
ータベースアカウント格納領域13eに登録されてい
る。なお、図1に示すように、物理データベースDB_aは
テーブルa1およびa2を備え、物理データベースDB_bはb1
およびb2を備えている。
【0085】最初に、分散データベースアクセス管理部
3のテーブル位置検索部7は、アプリケーションプログ
ラム実行手段2から論理データベースLDB_Aに対するCON
NECT構文(CONNECT(LDB_A,user_A))の通知を受け付け
る(D61)。このCONNECT構文は、論理データベースL
DB_Aへの論理データベースアカウントuser_Aによるアク
セス要求を意味する。そこで、テーブル位置検索部7
は、該CONNECT構文を発行したOSユーザ(ユーザI
D:user_α、グループID:group_α)に対するアク
セス権限のチェック(S503)と、論理データベース
アカウントuser_Aの照合(S504)とを実行する。こ
れにより、ユーザuser_αの使用権限が確認されれば、
テーブル位置検索部7は、アプリケーションプログラム
実行手段2にアクセス許可を通知する(S505:D6
2)。アクセス許可の通知を受けたアプリケーションプ
ログラム実行手段2は、テーブルアクセス構文(図6の
例ではテーブルb1に対するSELECT構文(SELECT(b1))
を発行する(D63)。
【0086】SELECT構文を受け付けたテーブル位置検索
部7は、論理データベースLDB_Aに含まれる物理データ
ベース1のうち、最も優先順位の高い物理データベース
DB_aに、物理データベースアカウントuser_aを用いてロ
グインするCONNECT構文(CONNECT(DB_a,user_a))を作
成し、物理データベースDB_aにログインする(S50
6:D64)。物理データベースDB_aからログイン成功
した応答(D65)を受け取ると、テーブル位置検索部
7は、アプリケーションプログラム実行手段2から受け
取ったテーブルb1に対するSELECT構文を物理データベー
スDB_aに発行する(S507:D66)。
【0087】しかし、このSELECT構文に対し、テーブル
b1が格納されていない物理データベースDB_aは、アクセ
ス不可を示す情報(D67)で応答する。そこで、テー
ブル位置検索部7は、物理データベースDB_aへの接続を
切るDISCONNECT構文を作成し、発行して(D68)す
る。接続の切断(D69)を確認すると、テーブル位置
検索部7は、次に優先順位の高い物理データベースDB_b
に物理データベースアカウントuser_bを用いてログイン
するCONNECT構文(CONNECT(DB_b,user_b))を作成し、
物理データベースDB_bにログインする(S506:D7
0)。このCONNECT構文に対し、物理データベースDB_b
を管理する物理データベース管理システムからアクセス
許可(D71)の応答が返されると、テーブル位置検索
部7は、再度SELECT構文を発行する(S507:D7
2)。
【0088】このSELECT構文に応じて、物理データベー
スDB_bを管理する物理データベース管理システムは、格
納されたテーブルb1を検索し処理結果(D73)を返
す。これを受けたテーブル位置検索部7は、この応答を
アプリケーションプログラム実行手段2に通知(D7
4)する。また、この応答により、テーブル位置検索部
7は、物理データベースDB_bをテーブルb1が格納された
物理データベース1として認識し、その後のアプリケー
ションプログラム実行手段2から受け取ったアクセス構
文(テーブルb1を対象とするUPDATE構文(UPDATE(b1))
(D75)や、DISCONNECT構文(D79))は、物理デ
ータベースDB_bへ発行される(D76、D80)。ま
た、これに対する物理データベースDB_bを管理する物理
データベース管理システムの応答(D77、D81)
は、アプリケーションプログラム実行手段2に通知(D
78、D82)される。
【0089】C.本実施例1の効果 (1)論理データベースの実現 以上に説明したように、本実施例1の分散データベース
管理システム(分散データベースアクセス管理部3)に
よれば、ひとつ以上の物理データベース1をまとめて、
ひとつの仮想上のデータベースである論理データベース
4として扱うことができる。
【0090】本実施例1のテーブル位置検索部7は、論
理データベース4へのアクセスの指示を受け付けると、
論理データベース4を構成するとして定義された1つ以
上の物理データベース1に自動的にログインし、テーブ
ルアクセス構文の転送によりアクセス対象のテーブルの
存否を問い合わせることで、テーブル位置を決定する。
このため、テーブルの生成や削除等、物理データベース
1上のテーブル構成に変動が生じた場合にも、本実施例
1の分散データベース管理システムのユーザは、論理デ
ータベースディクショナリ8が記憶する論理データベー
ス4に関する情報の変更を必要とせずに、物理データベ
ース1上のテーブル構成にかかわりなく、任意のテーブ
ル100へ透過的にアクセスできる。さらに、本実施例
1の分散データベース管理システムのユーザは、各物理
データベース1のアカウントの違いを意識せずに、単一
の論理データベースアカウントを知るだけで、分散デー
タベース環境における所望のテーブル100をアクセス
できる。
【0091】(2)使用資格の二重チェック 本実施例1(および後述する各実施例)によれば、論理デ
ータベースアカウントおよびOSユーザレベルでのアク
セス権限により、論理データベース4をアクセスするユ
ーザの使用許可が二重にチェックされる。そこで、例え
ば他者に論理データベースアカウントが知られても、O
SへログインするためのユーザIDおよびパスワードが
漏れなければ、論理データベース4の不正使用を未然に
防ぐことができる。
【0092】しかし、何れかのチェック機能を省略する
ことも可能である。例えば、アプリケーションプログラ
ム実行手段2の動作環境としてシングルユーザ用のOS
を使用する場合、OSへのログインは不要である。この
ように、OSユーザとしての資格チェックが不要な場
合、本実施例1では、使用する論理データベースをパブ
リック論理データベースとして登録すれば、ステップS
503におけるアクセス権限のチェックを省略すること
ができる。また、OSへのログインによりユーザの正当
性は確認済みであるため、データベースログインする時
のアカウント入力は簡略化したいというユーザのニーズ
もある。このように、OSユーザとしての資格チェック
あるいは論理データベースアカウントのチェックが不要
な場合は、テーブル位置検索部7の処理の流れを修正し
て、ステップS503および/またはS504を削除す
れば、二重チェックのうちの一方、あるいは両方を省略
することができる。例えば、ステップS504を削除す
れば、ユーザは、OSへログインした後、論理データベ
ースアカウントを入力することなく、論理データベース
4をアクセスできる。
【0093】(3)障害対策機能 本実施例1の論理データベースアクセス機能によると、
ある物理データベース1に格納されたテーブルの複製
を、同一論理データベース4内の優先順位が低い別な物
理データベース1に予め同一名称で格納しておくこと
で、物理データベース1の障害に備えることもできる。
【0094】図12を用いて、実施例1の論理データベ
ースアクセス機能を応用したデータベース障害対策機能
を説明する。図12に示す例では、障害に備え、物理デ
ータベースDB_aに格納されたテーブルa1の複製が、同じ
論理データベースLDB_Aに含まれる物理データベースDB_
bに同一名称で格納されている。今、物理データベースD
B_aは、障害の発生により稼働を停止しているものとす
る。
【0095】テーブル位置検索部7は、アプリケーショ
ンプログラム実行手段2からの論理データベースLDB_A
に対するアクセス要求を受けて、まず優先順位の高い物
理データベースDB_aへのログインを試みる(S506:
D121)。複写元のテーブルa1が格納された物理デー
タベースDB_aは、障害の発生によりログインに対する応
答を返すことができない。従ってテーブル位置検索部7
は、次に優先順位の高い物理データベースDB_bへログイ
ンし、該物理データベースDB_b内のテーブルa1に対し
て、アプリケーションプログラム実行手段2から受け取
ったテーブルアクセス構文を発行する(D122)。
【0096】このように本実施例1(および後述する各
実施例)のテーブル位置検索部7は、アクセス対象のテ
ーブルが格納された物理データベース1に障害が発生し
た場合、自動的に論理データベース4を構成する他の物
理データベース1で該テーブルを検索する。これによ
り、該テーブルを保持する優先順位の高い物理データベ
ース1へのアクセスができない場合は、より優先順位の
低い物理データベース1に格納された複製テーブルをア
クセスすることになる。このためユーザは、分散データ
ベース環境内のある物理データベース1の障害を意識す
ることなく、所望のテーブルデータをアクセスすること
ができる。
【0097】(実施例2)上述した実施例1の論理デー
タベースアクセス機能では、論理データベースアカウン
トは、各々の論理データベース制御ブロック13内に格
納される。つまり論理データベースユーザは、各論理デ
ータベース4毎に管理される。このため異なる論理デー
タベース4を同一の論理データベースアカウントでアク
セスする場合は、各論理データベース制御ブロック13
の論理データベースアカウント13cに同一のアカウン
トを登録しなければならない。そこで、本発明の分散デ
ータベース管理システムには、実施例1で用いられたア
カウント管理方法とは異なる第2のアカウント管理方法
を採ることもできる。本実施例のアカウント管理方法で
は、分散データベース管理システム全体で論理データベ
ースユーザを管理し、各論理データベース4の使用許可
を該ユーザに割り当てる。
【0098】A.論理データベースディクショナリの構
成 第2のアカウント管理方法では、図7(b)に示すよう
に、論理データベースディクショナリ8に論理アカウン
ト制御ブロック格納領域203を設ける。実施例1で
は、論理データベース制御ブロック13の論理データベ
ースアカウント格納領域13cにアカウント全体、すな
わち、ユーザIDとパスワードが保持される。しかし、
本実施例2では、図7(a)に示すように、論理データ
ベース制御ブロック17の論理データベースアカウント
格納領域17cには、ユーザIDのみが保持される。本
実施例では、アカウント全体は、論理データベースアカ
ウント格納領域17cではなく、上述の論理アカウント
制御ブロック格納領域203に保持される論理アカウン
ト制御ブロック18に記憶される。
【0099】第2のアカウント管理方法では、論理デー
タベースディクショナリ8の論理アカウント制御ブロッ
ク格納領域203に保持される論理アカウント制御ブロ
ック18は、分散データベース管理システムを利用する
全論理データベースユーザのアカウント情報(ユーザI
Dおよびパスワード)を記憶する領域である。また第2
のアカウント管理方法における論理データベース制御ブ
ロック17の論理データベースアカウント格納領域17
cは、該論理データベース制御ブロック17の示す論理
データベース4を使用可能な論理データベースユーザの
ユーザIDが保持される領域である。なお、論理データ
ベースアカウント格納領域17cには、複数のユーザI
Dを登録することができる。領域17cに格納されるユ
ーザIDは、論理アカウント制御ブロック18が記憶す
るユーザIDの集合の一部である。なお、すべてのユー
ザに使用が許可されているパブリック論理データベース
の場合は、領域17cには「NULL」(「空値」を意味す
る符号)が登録される。
【0100】B.論理データベース定義部の処理 本実施例2の論理データベース定義部9の論理データベ
ース削除処理、論理データベースアクセス権限委譲処
理、およびステップS315を除く論理データベース登
録処理は、実施例1の場合と同様である。本実施例2に
おける、ステップS315の処理は、つぎの通りであ
る。まず、論理データベース定義部9は、論理データベ
ースアカウント格納領域17cに、指定された論理デー
タベースユーザIDを格納する。なお、「PUBLIC」の指
定があれば、論理データベース定義部9は、論理データ
ベースアカウント格納領域17cに、「NULL」を格納す
る。つぎに、論理データベース定義部9は、論理アカウ
ント制御ブロック格納領域203に、指定された論理デ
ータベースアカウントを保持する論理アカウント制御ブ
ロック18がなければ、論理アカウント制御ブロック1
8の領域を新たに確保し、該領域に指定された論理デー
タベースユーザIDおよび論理データベースパスワード
を格納する。
【0101】なお、例えば図18(g)に示すような論
理アカウント削除構文の入力を受け付けると、論理デー
タベース定義部9が、すでに存在している論理アカウン
ト制御ブロック18を削除するようにしてもよい。
【0102】C.テーブル位置検索部の処理 論理データベースアカウントの確認処理(ステップS5
04)において、本実施例2のテーブル位置検索部7
は、CONNECT構文から論理データベースアカウントを抽
出し、抽出したアカウントのうちのユーザIDが、論理
データベース制御ブロック17に保持されたユーザID
のいずれかと一致することを確認する。ただしこの処理
は、論理データベース制御ブロック17の論理データベ
ースアカウント17cに「NULL」が登録されている場
合、つまりパブリック論理データベースの場合は実行さ
れない。つぎに、テーブル位置検索部7は、論理アカウ
ント制御ブロック18格納領域203内で、CONNECT構
文から抽出された論理データベースアカウントを保持す
る論理アカウント制御ブロック18を検索する。求める
論理アカウント制御ブロック18が検出されれば、テー
ブル位置検索部7はS505以降の処理に移る。上記条
件のいずれかを満たさない場合、テーブル位置検索部7
は、論理データベース4へのアクセスを拒否する(S5
14)。その他のテーブル位置検索部7の処理は実施例
1と同様である。
【0103】D.本実施例2の効果 第2のアカウント管理方法を用いる本実施例によれば、
論理アカウント制御ブロック18に論理データベースア
カウントを一度登録するだけで、個々の論理データベー
ス制御ブロックの論理データベースアカウント格納領域
17cにそれぞれパスワードを登録する必要がなく、複
数の論理データベース4に対して単一の論理データベー
スアカウントを用いてアクセスすることができる。
【0104】(実施例3)市販の物理データベース管理
システムには、各ユーザ毎の物理データベースアクセス
に関する記録を収集する監査機能を備えた製品もある。
実施例1および2において、各ユーザ毎に独自の論理デ
ータベース4を利用すれば問題は無いが、複数のユーザ
が1つの論理データベース4を共用すると、すべてのユ
ーザが、一の論理データベース4に属する複数の物理デ
ータベース1に対して、同一のアカウントを用いてログ
インすることになる。これは、物理データベース1への
ログイン時に用いられるアカウントが、論理データベー
ス制御ブロック13または17の物理データベースアカ
ウント13eまたは17eに限られるからである。この
ため、物理データベースユーザ毎の詳細なアクセス記録
を物理データベース1の監査機能から得ることができな
い。物理データベース1の監査機能に対応するには、自
動ログイン時のアカウントをユーザに応じて変更させる
必要がある。そこで、本実施例3では、実施例1または
2で用いられたアカウント管理方法とは異なる第3のア
カウント管理方法を採る。
【0105】A.テーブル位置検索部の処理 本実施例3では、物理データベース1への自動ログイン
に用いられるアカウントをユーザに応じて変更するた
め、テーブル位置検索部7に、各ユーザ毎に異なるアカ
ウントで物理データベース1へ自動ログインする機能を
備える。本実施例3では、論理データベース制御ブロッ
ク13または17の物理データベースアカウント13e
または17eに「NULL」が登録されている場合、第3の
アカウント管理方法を用いるものと判断する。その他の
テーブル位置検索部7の処理は、実施例1と同様であ
る。
【0106】B.動作例 第3のアカウント管理方法を実現するための、テーブル
位置検索部7の動作を図8を用いて説明する。
【0107】図3(a)に示した論理データベース生成
構文14の物理データベースユーザIDおよびパスワー
ドを記述する位置に空値を示す「NULL」が記述されてい
る論理データベース生成構文14(図3(a)に図示)
を受け付けると、論理データベース定義部9は、論理デ
ータベース制御ブロック13または17の物理データベ
ースアカウント13eまたは17eに「NULL」を登録す
る。
【0108】テーブル位置検索部7は、論理データベー
ス制御ブロック13または17の物理データベースアカ
ウント13eまたは17eに「NULL」が登録されている
場合、S506においてCONNECT構文中の論理データベ
ースアカウントを置き換えずにそのまま各物理データベ
ース1へログインする。つまり論理データベースLDB_A
を構成する物理データベースDB_aまたはDB_bへログイン
するアカウントとして、論理データベースLDB_Aへのロ
グイン時にユーザが入力した論理データベースアカウン
トuser_Aまたはuser_Bをそのまま使用する。
【0109】C.本実施例3の効果 本実施例3により、複数のユーザ間で論理データベース
4を共有する環境においても、物理データベース1への
ログイン時に使用するアカウントをユーザに応じて変え
ることが可能となる。さらに実施例1および2では、論
理データベースディクショナリ8に記憶した各物理デー
タベースアカウントが不正に参照されないよう、これら
のデータを暗号化により保護することが望ましいが、本
実施例3によると、論理データベースディクショナリ8
へのアカウント格納は不要となり、従って暗号化等の手
段も必要ない。
【0110】また本実施例3は、1つの論理データベー
ス4で、実施例1および2に示した登録アカウントによ
る自動ログイン機能と混在させることも可能である。こ
の場合、ユーザに応じてアカウントを変える必要がある
物理データベース1の物理データベースアカウント13
eまたは17eに「NULL」を登録し、変える必要がない
物理データベース1の物理データベースアカウント13
eまたは17eに所望のアカウントを登録すればよい。
【0111】(実施例4)実施例3によると、論理デー
タベース4を構成するデータベース1の内、アカウント
として「NULL」が登録されたいくつかのデータベース1
に対し、論理データベース4へのログイン時にユーザが
入力した論理データベースアカウントでログインするこ
とになる。このため、これらのデータベース1には論理
データベースアカウントと同一のアカウントが登録され
ている必要がある。しかし、各々のデータベース1が企
業内の各部署で独自に運用されているような分散データ
ベース環境では、全てのデータベースアカウントが統一
されているとは限らない。
【0112】そこで、本実施例4では、実施例1〜3で
用いられたアカウント管理方法とは異なる第4のアカウ
ント管理方法により、異なるアカウントが登録された複
数の物理データベース1に対しても、ユーザに応じてロ
グイン時のアカウントを変更することができるようにす
る。
【0113】A.論理データベースディクショナリの構
成 第4のアカウント管理方法では、図9(b)に示すよう
に、論理データベースディクショナリ8に論理アカウン
ト制御ブロック格納領域204を設ける。本実施例4の
論理データベース制御ブロック19は、複数のユーザが
共有可能な論理データベース構成情報を記憶する領域で
あり、本実施例4の論理アカウント制御ブロック20は
各ユーザ毎のアカウント情報を格納する領域である。
【0114】なお、実施例1〜3では、プライベート論
理データベース制御ブロック格納領域202の論理デー
タベース制御ブロック13または17は、OSユーザの
名称に対応付けられて保持される。しかし、本実施例4
においては、論理データベースユーザの名称に対応付け
られて保持される。実施例1〜3で、論理データベース
ユーザの名称に対応付けたり、また、本実施例4におい
て、OSユーザの名称に対応付けて保持してもよい。
【0115】本実施例4では、図9(a)に示すよう
に、論理データベース制御ブロック19は、論理データ
ベース名格納領域19aと、論理データベースアカウン
ト格納領域19bと、物理データベース名格納領域19
cとからなり、実施例1の論理データベース制御ブロッ
ク13に備えられていたアクセス権限格納領域13bお
よび物理データベースアカウント格納領域13eは備え
られていない。領域19aは論理データベース4の名称
を記憶する領域であり、領域19bはその論理データベ
ース4の使用を認める論理データベースユーザのIDを
記憶する領域であり、領域19cは論理データベース4
を構成する複数の物理データベース1の名称を記憶する
領域である。
【0116】実施例1の論理データベースアカウント格
納領域13cにはユーザIDとパスワードとが格納され
るが、本実施例4の論理データベースアカウント格納領
域19bにはユーザIDのみが格納され、パスワードは
格納されない。なお、論理データベースアカウント19
bには複数のユーザIDを格納できる。ただし、パブリ
ックとして定義された論理データベース4に関する論理
データベース制御ブロック19の該領域には「NULL」が
登録される。また、物理データベース名格納領域19c
は、該論理データベース制御ブロック19の割り当てら
れた論理データベース4に属する物理データベース1の
数だけ備えられる。
【0117】上記の論理アカウント制御ブロック格納領
域204には、論理データベースの論理データベースア
カウントごとに論理データベース定義部9が作成する論
理データベースアカウント制御ブロック20が保持され
る。本実施例4の論理データベースアカウント制御ブロ
ック20は、論理データベースアカウント格納領域20
aと、アクセス権限格納領域20bと、物理データベー
ス名格納領域20cと、物理データベースアカウント格
納領域20dとからなる。本実施例では、物理データベ
ースアカウント全体は、物理データベースアカウント格
納領域20dに保持され、論理データベース制御ブロッ
ク19には保持されない。
【0118】論理アカウント制御ブロック20の領域2
0aはユーザIDおよびパスワードからなる論理データ
ベースアカウントを記憶する領域であり、領域20bは
論理データベースアカウントに関するアクセス権限を記
憶する領域であり、領域20cは物理データベース1の
名称を記憶する領域であり、領域20dは物理データベ
ース1のアカウントを記憶する領域である。なお、本実
施例4では、一つの論理データベースアカウントについ
て複数の物理データベースアカウントが付与されること
が考えられる。そこで、物理データベース名格納領域2
0cおよび物理データベースアカウント格納領域20d
は、複数の物理データベース1について、その物理デー
タベース名と物理データベースアカウントを対応付けて
保持できるように、複数組備えられている。例えば、1
つの論理アカウント制御ブロック20には、あるユーザ
をユニークに識別するための論理データベースアカウン
トと、該ユーザがアクセス可能な全ての物理データベー
ス1の名称およびそのユーザがログイン時に用いるアカ
ウントが前もって登録される。なお、本実施例4では、
この組み合わせの格納順序が、テーブル位置検索時の優
先順位として用いられる。
【0119】B.テーブル位置検索部7の処理 つぎに、本実施例4のテーブル位置検索部7の処理を説
明する。つぎに記述したものの他の処理は、実施例2の
場合と同様である。
【0120】(1)論理データベースアカウントの確認
(ステップS504) 実施例2のテーブル位置検索部7は、ステップS504
におけるアカウントの確認を、CONNECT構文により指定
された論理データベースアカウントと一致するアカウン
トを保持する論理アカウント制御ブロック18を論理ア
カウント制御ブロック格納領域203内で検索すること
により行なう。一方、本実施例4のテーブル位置検索部
7は、論理アカウント制御ブロック格納領域204の論
理アカウント制御ブロック20の論理データベースアカ
ウント格納領域20aに保持されたアカウントが、CONN
ECT構文により指定された論理データベースアカウント
と一致することにより、ステップS504におけるアカ
ウントの確認を行なう。
【0121】(2)アクセス権限の確認(ステップS5
03) 実施例2のテーブル位置検索部7は、ステップS503
におけるアクセス権限の確認を、論理データベース制御
ブロック13のアクセス権限格納領域13bの内容を用
いて行なう。一方、本実施例4のテーブル位置検索部7
は、ステップS503におけるアクセス権限の確認を、
論理アカウント制御ブロック20(CONNECT構文により
指定された論理データベースユーザIDと一致するユー
ザIDが論理データベースアカウント格納領域20aに
保持されているもの)のアクセス権限格納領域20bの
内容を用いて行なう。
【0122】また、実施例2においては、パブリック論
理データベースに関しては、OSユーザとしてのアクセ
ス権限を確認しないが、実施例4では、アクセス権限は
論理アカウント制御ブロック20をアクセスするための
権限であり、パブリックおよびプライベート論理データ
ベースに関係なく、OSユーザとしてのアクセス権限が
チェックされる。実施例1と同様に、OSユーザとして
のアクセス権限が不要であれば、ステップS503の処
理を削除しても構わない。
【0123】なお、本実施例4では、ステップS504
はステップS503に先行して実行される。これは、本
実施例4では、ステップS503において参照されるア
クセス権限格納領域20bが、ステップS504におい
て検出される論理アカウント制御ブロック20に存在す
るからである。
【0124】(3)ログイン対象の決定(ステップS5
06) また、本実施例4のテーブル位置検索部7は、その処理
のステップS506において、ログインする物理データ
ベース1を決定する際、論理データベース制御ブロック
19と論理アカウント制御ブロック20との両方を参照
する。すなわち、テーブル位置検索部7は、該論理デー
タベース制御ブロック19の物理データベース名19c
に登録され、かつ、論理アカウント制御ブロック20
(CONNECT構文に記述された論理データベースユーザI
Dと一致するユーザIDが論理データベースアカウント
格納領域20aに保持されているもの)の物理データベ
ース名格納領域20cに登録されている物理データベー
ス1を対象として、領域20dに登録された物理データ
ベースアカウントを用いてログインし、テーブル位置を
順次検索する。つまり、本実施例4では、実際にログイ
ンされる物理データベース1は、CONNECT構文に記述さ
れた論理データベース名に対応する論理データベース制
御ブロック19と、CONNECT構文に記述された論理デー
タベースユーザIDに対応する論理アカウント制御ブロ
ック20との、両方に登録された物理データベース1に
限られることになる。
【0125】(4)物理データベースを直接指定された
CONNECT構文の処理(ステップS515) さらに、本実施例4では、CONNECT構文に論理データベ
ース名ではなく、直接物理データベース1の名称を指定
された場合も、アカウントを論理アカウント制御ブロッ
ク20に登録された物理データベースアカウントに変更
する。すなわち、本実施例4のテーブル位置検索部7
は、ステップS515の構文転送に際して、CONNECT構
文を転送する場合には、構文バッファ6に保持されたCO
NNECT構文に記述されたアカウントと一致するアカウン
トを論理データベースアカウント格納領域20aに保持
する論理アカウント制御ブロック20を検出し、該論理
アカウント制御ブロック20の、CONNECT構文に記述さ
れた物理データベース名に対応して記録されている物理
データベースアカウントを検出し、構文バッファ6内の
CONNECT構文中のアカウントの記述を該アカウントに書
き換えて、構文転送する。これにより、論理データベー
ス4ではなく、直接物理データベース1をアクセスする
ユーザについても、異なるアカウントの複数の物理デー
タベースに対して、同一の論理データベースアカウント
を用いてアクセスすることができるようになる。
【0126】C.動作例 上記第4のアカウント管理方法を用いた場合の、分散デ
ータベースアクセス管理部3の動作を、図10を用いて
説明する。
【0127】アプリケーションプログラム実行手段2か
ら論理データベースアカウントuser_Aを用いたパブリッ
ク論理データベースLDB_Aに対するアクセス要求101
を受けたテーブル位置検索部7は、論理データベース制
御ブロック19と論理アカウント制御ブロック20eを
参照し、共通の物理データベースDB_aおよびDB_bに各々
物理データベースアカウントuser_aおよびuser_bを用い
てログイン102,103し(S506)、テーブル位
置を順次検索する(S507)。論理アカウント制御ブ
ロック20eに登録された物理データベースDB_cは、論
理データベースLDB_Aの論理データベース制御ブロック
19に含まれていないため、検索の対象としない。
【0128】またアプリケーションプログラム実行手段
2から論理データベースアカウントuser_Bを用いた論理
データベースLDB_Aに対するアクセス要求104を受け
たテーブル位置検索部7は、論理データベース制御ブロ
ック19と論理アカウント制御ブロック20fに共通し
て登録されている物理データベースDB_aに、物理データ
ベースアカウントuser_dを用いてログイン105し(S
506)、テーブルの存否を問い合わせる(S50
7)。論理データベースLDB_Aの論理データベース制御
ブロック19に登録された物理データベースDB_bは、論
理データベースアカウントuser_Bの論理アカウント制御
ブロック20fに含まれていないため、検索の対象とし
ない。
【0129】アプリケーションプログラム実行手段2か
らアカウントuser_Aを用いた物理データベースDB_cに対
するアクセス要求106を受けたテーブル位置検索部7
は、論理データベース名格納領域19aにDB_cが格納さ
れた論理データベース制御ブロック19が、論理データ
ベースディクショナリ8内に存在しないために、直接物
理データベースDB_cにログイン107し(S515)、
テーブルの存否を問い合わせる(S515)。この際用
いられる物理データベースアカウントは、CONNECT構文
中に記述されていたuser_Aではなく、論理データベース
アカウント格納領域20aにuser_Aを保持する論理アカ
ウント制御ブロック20eの、DB_cを保持する物理デー
タベース名格納領域20cに対応する物理データベース
アカウント格納領域20dに保持されている、user_cで
ある。
【0130】D.論理データベースの定義 つぎに、本実施例4における論理データベース定義につ
いて説明する。論理データベースおよび論理アカウント
に関する情報の登録、変更、削除に使用されるデータベ
ースアクセス構文の一例を図18(a)〜(g)に示
す。本実施例4の分散データベースアクセス管理部3
は、論理データベース4の定義に先立ち、論理データベ
ースユーザとしてのアカウントを用いて分散データベー
スアクセス管理部3にログインしたユーザによる論理デ
ータベースの定義指示を受け付け、該指示に応じた論理
データベースの定義情報(論理データベース制御ブロッ
ク19および論理アカウント制御ブロック20)を論理
データベースディクショナリ8内に作成する。
【0131】(1)論理データベースの登録 図18(a)の構文例26に示すように、論理データベ
ース4の生成に用いる構文には、実施例1の論理データ
ベース生成構文とは異なり、記述子「PRIVATE」と「CON
NECT TO」がある。他の記述子の意味は実施例1の場合
と同様である。記述子「PRIVATE」は、定義される論理
データベースがプライベート論理データベースであるこ
とを意味する。記述子「CONNECT TO」は、続いて記述さ
れるデータベース名が、論理データベース4を構成する
物理データベース1の名称であることを意味する。な
お、物理データベース1の名称は、継続記号「,」を介
して、複数連続して記述することができる。また、物理
データベース名の直後に優先順位を記述することもでき
る。なお、優先順位の指定は省略可能であり、この場
合、本実施例4では記述順序が優先順位を表す(すなわ
ち、先頭に記述された物理データベース1が最高の優先
順位を持つとする)。
【0132】本実施例4の論理データベース定義部9の
論理データベース登録処理の流れを図30に示す。本実
施例4の論理データベース定義部9は、論理データベー
スアクセス制御部10を介して、アプリケーションプロ
グラム実行手段2の発行した論理データベース生成構文
26を受け付けると、まず、「PUBLIC」指定の有無を検
査する(S301)。論理データベース定義部9は、記
述子「CREATE」の直後に「PUBLIC」の指定があれば、パ
ブリック論理データベース制御ブロック格納領域201
に(S302)、「PUBLIC」の指定がなければ、プライ
ベート論理データベース制御ブロック格納領域202に
(S303)、論理データベース制御ブロック19を新
たに生成した後、論理データベースアカウント格納領域
19bに、「PUBLIC」の指定がある場合は「NULL」を格
納し(S304)、「PUBLIC」の指定がない場合は構文
26を発行した論理データベースユーザのユーザIDを
格納する(S305)。つぎに、論理データベース定義
部9は、構文中の「LOGICAL DATABASE」に続く論理デー
タベース名を、論理データベース制御ブロック19の論
理データベース名格納領域19aへ格納し(S30
6)、記述子「CONNECTTO」以下に記述されている物理
データベース名を、物理データベース名格納領域19c
を順次確保し、格納する(S307,S308)。な
お、論理データベース定義部9は、各物理データベース
名格納領域19cをリンクにより接続させるが、優先順
位が指定されていれば、リンク上の格納位置が優先順位
に従うように格納し、優先順位が指定されていなけれ
ば、リンク上の格納位置が記述された順になるように格
納する。
【0133】(2)論理データベースの変更 論理データベース4の登録情報を変更する際に用いられ
る構文の一例を図18(b)の構文27に示す。本実施
例4では、論理データベースの登録情報のうち、その論
理データベース4を構成する物理データベース1の追
加、削除、および優先順位の変更を行なうことができ
る。論理データベース変更構文27は、記述子「ALTE
R」を備え、構文中に記述子「ADD」がある場合は、その
直後に記述された1以上の物理データベース1の追加の
指示であることを意味し、構文中に記述子「DROP」があ
る場合は、その直後に記述された1以上の物理データベ
ース1の削除の指示であることを意味し、構文中に記述
子「MODIFY」がある場合は、その直後に記述された1以
上の物理データベース1の優先順位の変更の指示である
ことを意味する。ADD句における優先順位の指定は省略
可能であり、この場合論理データベース定義部9は、論
理データベース4を構成する物理データベース1の中で
最も低い優先順位を持つ物理データベース1として論理
データベース制御ブロック19に登録する。またDROP句
で「ALL」が指定されると、論理データベース4を構成
する全ての物理データベース1に関する物理データベー
ス名を論理データベース制御ブロック19から削除す
る。また、「NAME」がある場合は、処理対象の論理デー
タベース制御ブロックの名称を、「NAME」の直後に記述
された名称に変更する指示であることを意味する。
【0134】本実施例4の論理データベース定義部9の
論理データベース変更処理の流れを図32に示す。本実
施例4の論理データベース定義部9は、論理データベー
スアクセス制御部10を介して、アプリケーションプロ
グラム実行手段2の発行した論理データベース変更構文
27を受け付けると、まず、「PUBLIC」指定の有無を検
査し、構文中の「LOGICAL DATABASE」に続く論理データ
ベース名を論理データベース名格納領域19aに保持す
る論理データベース制御ブロック19を、指定があれば
パブリック論理データベース制御ブロック格納領域20
1内で、指定がなければ、プライベート論理データベー
ス制御ブロック格納領域202内で検索する(S32
0)。
【0135】指定された論理データベース制御ブロック
19が検出されると、論理データベース定義部9は、構
文27中に記述子「NAME」があるかどうか検査し、あれ
ば、「NAME」の直後に記述された名称を、S320で検
出された論理データベース制御ブロック19の論理デー
タベース名格納領域19aに格納する(S321)。
【0136】さらに、論理データベース定義部9は、構
文27中に記述子「ADD」があるかどうか検査し、あれ
ば、領域を確保しながら、「ADD」の直後に記述された
名称を、順次、S320で検出された論理データベース
制御ブロック19の物理データベース名格納領域19c
に格納する(S322)。なお、論理データベース定義
部9は、新たに確保した物理データベース名格納領域1
9cと、すでにある物理データベース名格納領域19c
とをリンクにより接続するが、優先順位が指定されてい
れば、リンク上の格納位置が優先順位に従うようにリン
ク付けし、優先順位が指定されていなければ、リンクの
最後になるようにリンク付けする。
【0137】つぎに、論理データベース定義部9は、構
文27中に記述子「MODIFY」があるかどうか検査し、あ
れば、S320で検出された論理データベース制御ブロ
ック19の物理データベース名格納領域19cのリンク
を更新して、「MODIFY」の直後に記述された名称の保持
されている物理データベース名格納領域19cのリンク
上の位置が、該名称の直後に記述された優先順位に応じ
た位置になるようにする(S323)。
【0138】最後に、論理データベース定義部9は、構
文27中に記述子「DROP」があるかどうか検査し(S3
24)、あれば、「DROP」の直後が「ALL」であるかど
うか検査する(S325)。「ALL」であれば、論理デ
ータベース定義部9は、S320で検出された論理デー
タベース制御ブロック19の全ての物理データベース名
格納領域19cをリンクから除き、削除する(S32
6)。「ALL」でなければ、論理データベース定義部9
は、S320で検出された論理データベース制御ブロッ
ク19の、「DROP」の直後に記述された名称を保持する
物理データベース名格納領域19cを、リンクから除
き、削除する(S327)。
【0139】(3)論理データベースの削除 論理データベース4の削除に用いる構文の一例を図18
(c)の構文28に示す。構文28を受けた論理データ
ベース定義部9は、実施例1の場合と同様に、「DROP L
OGICAL DATABASE」の直後に記述された名称を、論理デ
ータベース名格納領域19aに保持する論理データベー
ス制御ブロック19を検出し、削除する。
【0140】(4)論理データベースのアクセス権限委
譲 生成されたプライベート論理データベースの使用許可を
他の論理データベースユーザに与えるための構文の一例
を、図18(d)の構文29に示す。構文29は、記述
子「GRANT LOGICAL DATABASE」および「TO」を備える。
記述子「GRANTLOGICAL DATABASE」は、その直後に記述
された名称が、委譲されるアクセス権限の対象の論理デ
ータベース名であることを意味し、記述子「TO」は、そ
の直後に記述されたものが委譲の対象であることを示
す。なお、記述子「TO」の直後が「PUBLIC」であれば、
アクセス権限がすべてのユーザに与えられることを意味
する。
【0141】本実施例4の論理データベース定義部9
は、論理データベースアクセス制御部10を介して、ア
プリケーションプログラム実行手段2の発行した論理デ
ータベースアクセス権限委譲構文29を受け付けると、
まず、「GRANT LOGICAL DATABASE」の直後に記述された
名称を論理データベース名格納領域19aに保持する論
理データベース制御ブロック19を検出する。つぎに、
論理データベース定義部9は、「TO」の直後が「PUBLI
C」かどうか検査する。「TO」の直後が「PUBLIC」であ
れば、論理データベース定義部9は、検出した論理デー
タベース制御ブロック19の格納領域を、パブリック論
理データベース制御ブロック格納領域201に変更し、
論理データベースアカウント格納領域19bに「NULL」
を登録する。「TO」の直後が「PUBLIC」でなければ、論
理データベース定義部9は、「TO」の直後に記述されて
いる名称を、検出した論理データベース制御ブロック1
9の論理データベースアカウント格納領域19bに格納
する。
【0142】(5)論理アカウントの登録 論理アカウントの登録に用いる構文の一例を図18
(e)の構文30に示す。論理アカウント登録構文30
は、記述子「GRANT USER」および「USING」を備える。
なお、記述子「USING」は省略されることがある。
【0143】構文30を受けた論理データベース定義部
9は、論理アカウント制御ブロック20を新たに論理ア
カウント制御ブロック格納領域204内に生成し、構文
中の「GRANT USER」の直後に記述されたユーザIDと、
「USING」の直後に記述されたパスワードを、生成した
論理アカウント制御ブロック20の論理データベースア
カウント格納領域20aに格納する。なお、「USING」
が記述されていない場合、論理データベース定義部9
は、パスワードの格納を行なわない。この場合、テーブ
ル位置検索部7は、ステップS504においてCONNECT
構文中のパスワードを照合しない。
【0144】(6)論理アカウントの変更 論理アカウントの登録情報を変更する際に用いる構文の
一例を図18(f)の構文31に示す。本実施例4で
は、論理アカウント制御ブロックに登録される物理デー
タベース名および物理データベースアカウントの追加、
変更、および削除を行なうことができ、さらに、論理ア
カウント制御ブロックに登録される論理データベースア
カウントに含まれるパスワードを変更することができ
る。
【0145】論理データベース変更構文31は、記述子
「ALTER USER」を備え、構文中に記述子「ADD」がある
場合は、その直後に記述された物理データベース名を有
する物理データベースのアカウントとして、該物理デー
タベース名の直後に記述された物理データベースユーザ
IDおよびパスワードを追加する指示であることを意味
し、構文中に記述子「MODIFY」がある場合は、その直後
に記述された物理データベース名を有する物理データベ
ースのアカウントを、該物理データベース名の直後に記
述された物理データベースユーザIDおよびパスワード
に変更する指示であることを意味し、構文中に記述子
「DROP」がある場合は、その直後に記述された物理デー
タベース名を有する物理データベースの情報を削除する
指示であることを意味する。また、構文中に記述子「US
ING」がある場合は、処理対象として指定された論理ア
カウント制御ブロック20の論理データベースアカウン
トに含まれるパスワードを、「USING」の直後に記述さ
れたものに変更する指示であることを意味する。
【0146】なお、追加、変更、削除とも、複数の物理
データベースを指定できる。また、「ADD」句または「M
ODIFY」句における物理データベースパスワードの指定
は省略できる。「DROP」句には、物理データベース名の
代わりに、「ALL」を指定することもできる。「ALL」の
指定は、すべての物理データベースの情報を指定された
論理アカウント制御ブロック20から削除する指示であ
ることを意味する。
【0147】本実施例4の論理データベース定義部9の
論理アカウント変更処理の流れを図33に示す。本実施
例4の論理データベース定義部9は、論理データベース
アクセス制御部10を介して、アプリケーションプログ
ラム実行手段2の発行した論理アカウント変更構文31
を受け付けると、まず、構文中の「ALTER USER」に続く
論理データベースユーザIDを論理データベースアカウ
ント格納領域20aに保持する論理アカウント制御ブロ
ック20を、論理アカウント制御ブロック格納領域20
4内で検索する(S330)。
【0148】指定された論理アカウント制御ブロック2
0が検出されると、論理データベース定義部9は、構文
31中に記述子「USING」があるかどうか検査し、あれ
ば、「USING」の直後に記述されたパスワードを、S3
30で検出された論理アカウント制御ブロック20の論
理データベースアカウント格納領域20aのパスワード
格納領域に格納する(S331)。
【0149】さらに、論理データベース定義部9は、構
文31中に記述子「ADD」があるかどうか検査し、あれ
ば、構文31中に記述されたすべてのデータベースにつ
いて、順次、ステップS330で検出された論理アカウ
ント制御ブロック20に物理データベース名格納領域2
0cと、該領域20cに対応する物理データベースアカ
ウント格納領域20dとの領域を確保し、「ADD」の直
後に記述された物理データベース名を新たに領域の確保
された物理データベース名格納領域20cに格納し、さ
らに、該物理データベース名に続いて記述されている物
理データベースユーザIDと物理データベースパスワー
ドとを、新たに領域の確保された物理データベースアカ
ウント格納領域20dに格納する(S332)。なお、
論理データベース定義部9は、新たに確保した物理デー
タベース名格納領域20cおよび物理データベースアカ
ウント格納領域20dと、すでにあるそれら20cおよ
び20dとをリンクにより接続するが、新たに確保する
領域はリンクの最後になるようにリンク付けする。
【0150】つぎに、論理データベース定義部9は、構
文31中に記述子「MODIFY」があるかどうか検査し、あ
れば、S330で検出された論理アカウント制御ブロッ
ク20の物理データベース名格納領域20cのうち、
「MODIFY」の直後に記述された物理データベース名を有
するものに対応する物理データベースアカウント格納領
域20dに、該物理データベース名の直後に記述された
物理データベースユーザIDおよび物理データベースパ
スワードを格納する(S333)。
【0151】最後に、論理データベース定義部9は、構
文31中に記述子「DROP」があるかどうか検査し(S3
34)、あれば、「DROP」の直後が「ALL」であるかど
うか検査する(S335)。「ALL」であれば、論理デ
ータベース定義部9は、論理アカウント制御ブロック2
0に登録された全ての物理データベース名格納領域20
cおよび物理データベースアカウント格納領域20dを
リンクから外し、削除する(S336)。「ALL」でな
ければ、論理データベース定義部9は、S330で検出
された論理アカウント制御ブロック20の、「DROP」の
直後に記述された名称を保持する物理データベース名格
納領域20cおよび該領域20に対応する物理データベ
ースアカウント格納領域20dを、リンクから除き、削
除する(S337)。
【0152】なお、本実施例4では、「ADD」句および
「MODIFY」句における物理データベースパスワードの指
定を省略することができる。入力された構文31の「AD
D」句に物理データベースパスワードが記述されていな
い場合、論理データベース定義部9は、ステップS33
2において、追加する物理データベースアカウント格納
領域20dに指定された物理データベースユーザIDの
みを格納し、物理データベースパスワードは格納しな
い。このとき、物理データベースパスワード格納領域
は、空値のままになる。また、入力された構文31の
「MODIFY」句に物理データベースパスワードが記述され
ていない場合、論理データベース定義部9は、ステップ
S333において、変更する物理データベースアカウン
ト格納領域20dの物理データベースパスワードを空値
に戻す。物理データベースアカウント格納領域20dの
物理データベースパスワードが空値の場合、テーブル位
置検索部7は、ステップS506において物理データベ
ース1へアクセスするためのCONNECT構文46からUSING
句を削除する。つまり、パスワードが登録されていない
ユーザとして、物理データベースへログインする。
【0153】(7)論理アカウント削除 論理アカウント制御ブロックの削除に用いられる構文の
一例を図18(g)の構文32に示す。論理アカウント
削除構文32は、記述子「REVOKE USER」を備え、該記
述子は、その直後に記述される語が、削除対象の論理デ
ータベースユーザIDであることを意味する。この論理
アカウント削除構文32を受けた論理データベース定義
部9は、記述子「REVOKE USER」の直後に記述された論
理データベースユーザIDを論理データベースアカウン
ト格納領域20aに保持する論理アカウント制御ブロッ
ク20を検出し、これを削除する。
【0154】E.本実施例4の効果 以上のように本実施例4によると、テーブル位置検索部
7は、論理データベース4を構成する物理データベース
1に対し、各ユーザ毎に登録された物理データベースア
カウントでログインする。このため、異なるアカウント
が登録された複数の物理データベース1に対しても、ユ
ーザに応じてログイン時のアカウントを変更することが
できる。
【0155】また本実施例4に、実施例3のアカウント
管理方法を適用することも可能である。この場合、テー
ブル位置検索部7は、論理アカウント制御ブロック20
の論理データベースアカウント20dに「NULL」が登録
されている物理データベース1に対して、論理データベ
ース4へのログイン時にユーザが入力した論理データベ
ースアカウントを用いてログインする。
【0156】(実施例5)実施例1〜4では、ある論理
データベース4に属するすべての物理データベース1
に、論理データベースアカウントと同一のアカウントが
登録されている場合であっても、ユーザは、論理データ
ベースディクショナリ8に、物理データベースアカウン
トとして論理データベースアカウントと同一のアカウン
トを登録するか、または「NULL」を登録しなければなら
ない。このため、大規模な分散データベース環境では、
論理データベースディクショナリ8へのアカウント登録
作業が煩雑となる。そこで、本実施例5では、論理デー
タベースアカウントと同一のアカウントが登録された物
理データベース1に関しては、論理データベースディク
ショナリ8へのアカウント登録を不要とするために、第
5のアカウント管理方法を用いる。
【0157】A.論理データベースディクショナリの構
成 第5のアカウント管理方法では、図16(b)に示すよ
うに、論理データベースディクショナリ8に論理アカウ
ント制御ブロック格納領域204を設け、実施例4と同
様に論理アカウント制御ブロック20を格納する。ま
た、本実施例5の論理データベース制御ブロック19
は、実施例4の論理データベース制御ブロック19と同
様の構造を有する。ただし、実施例4では、論理アカウ
ント制御ブロック20内の物理データベース名および物
理データベースアカウントの格納順序に従って、物理デ
ータベース1の検索が行なわれるため、この順序は優先
順位として扱われていたが、本実施例5では、論理デー
タベース制御ブロック19内の物理データベース名の格
納順序が優先順位として扱われる。
【0158】B.テーブル位置検索部の処理 つぎに、本実施例5のテーブル位置検索部7の処理を説
明する。なお、ここに記述するものの他の処理は、実施
例4の場合と同様である。また、テーブル位置検索部7
以外の構成要素の動作も、実施例4と同様である。
【0159】本実施例5のテーブル位置検索部7は、指
定された論理データベース4に関する論理データベース
制御ブロック19に登録された全ての物理データベース
1を対象として、テーブル位置を検索する。
【0160】ステップS506において、本実施例5の
テーブル位置検索部7は、実施例4と同様に、論理アカ
ウント制御ブロック20の物理データベース名格納領域
20cおよび物理データベースアカウント格納領域20
dを参照し、これからテーブル位置を検索する物理デー
タベース1のアカウントを抽出し、ログインする。ただ
し、これからテーブル位置を検索する物理データベース
1の名称が論理アカウント制御ブロック20の物理デー
タベース名格納領域20cに登録された何れの名称とも
異なる場合、つまりテーブル位置を検索する物理データ
ベース1のアカウントが論理アカウント制御ブロック2
0中に存在しない場合、テーブル位置検索部7は、S5
06においてアプリケーションプログラム実行手段2が
指定したCONNECT構文中の論理データベースアカウント
を置き換えることなく、そのまま物理データベース1へ
ログインする。
【0161】さらに、本実施例5のテーブル位置検索部
7は、S504において、処理中のアクセス要求が、全
ての論理アカウント制御ブロック20の論理データベー
スアカウント格納領域20aに登録されたユーザIDの
いずれとも異なるアカウント(CONNECT構文中に記述さ
れた論理データベースアカウント)により行なわれたも
のであること、つまり論理データベースディクショナリ
8に登録されていない論理データベースユーザによるア
クセス要求であることを検出しても、アクセスを拒否せ
ず(すなわち、処理をS514へ進めず)、S505へ
処理を進めてアプリケーションプログラム実行手段2へ
論理データベース4へのログインが正常に完了したと通
知する。ただし、この場合、本実施例5のテーブル位置
検索部7は、S506において、構文バッファ6に保持
されている、アプリケーションプログラム実行手段2が
指定したCONNECT構文中の論理データベースアカウント
を置き換えることなく、論理データベース4を構成する
全ての物理データベース1に順次ログインする。
【0162】C.動作例 本実施例5のアカウント管理方法を用いた自動ログイン
機能の動作を、図17を用いて説明する。図17に示す
例では、論理データベースディクショナリ8には、パブ
リック論理データベースLDB_Aに関する定義情報と、論
理データベースユーザuser_Aおよびuser_Bに関する定義
情報が登録されている。
【0163】論理データベースアカウントuser_Aによる
パブリック論理データベースLDB_Aへのアクセス要求1
71を受けたテーブル位置検索部7は、LDB_Aの論理デ
ータベース制御ブロック19に登録された物理データベ
ースDB_aおよびDB_bに、user_Aの論理アカウント制御ブ
ロック20eに登録された物理データベースアカウント
user_aおよびuser_bを用いてログイン172,173し
(S506)、テーブル位置を順次検索する(S50
7)。
【0164】また、論理データベースアカウントuser_B
によるパブリック論理データベースLDB_Aへのアクセス
要求174を受けたテーブル位置検索部7は、LDB_Aの
論理データベース制御ブロック19に最初に登録されて
いる物理データベースDB_aに対して、user_Bの論理アカ
ウント制御ブロック20fに登録された物理データベー
スアカウントuser_dを用いてログイン175し(S50
6)、テーブル位置を検索する(S507)。求めるテ
ーブルが検出できなかった場合、テーブル位置検索部7
は、LDB_Aの論理データベース制御ブロック19に2番
目に登録されている物理データベースDB_bに対して、ロ
グイン176し(S506)、テーブル位置を検索する
(S507)。この際、user_Bの論理アカウント制御ブ
ロック20fに物理データベースDB_bのアカウントが登
録されていないため、テーブル位置検索部7はCONNECT
構文中の論理データベースアカウントを置き換えずにロ
グイン176する。ゆえに、このログイン176には、
ユーザが入力した論理データベースアカウントuser_Bが
用いられる。
【0165】また、論理データベースアカウントuser_C
によるパブリック論理データベースLDB_Aへのアクセス
要求177を受けたテーブル位置検索部7は、LDB_Aの
論理データベース制御ブロック19に登録された物理デ
ータベースDB_aおよびDB_bにログイン178,179し
(S506)、テーブル位置を順次検索する(S50
7)。このとき、論理アカウント制御ブロック格納領域
204に保持された何れの論理アカウント制御ブロック
20の論理データベースアカウント格納領域20aにも
論理データベースアカウントuser_Cが登録されていない
ため、テーブル位置検索部7は、構文バッファ6に保持
されたCONNECT構文中の論理データベースアカウントを
置き換えずに、ユーザが入力した論理データベースアカ
ウントuser_Cを用いて物理データベースDB_aおよびDB_b
にログインする178,179。
【0166】D.本実施例5の効果 以上に説明したように、本実施例5によると、ユーザご
とに異なるアカウントが登録された複数の物理データベ
ース1に対しても、ユーザに応じてログイン時のアカウ
ントを変更することができる。また、論理アカウント制
御ブロック20に登録した論理データベースアカウント
と同一のアカウントが登録された物理データベース1に
関しては、物理データベースの名称およびアカウントを
論理アカウント制御ブロック20に登録する必要はな
い。さらに全ての物理データベース1のアカウントが同
一である場合には、論理データベースアカウントを論理
データベースディクショナリ8に登録する必要もない。
このため、論理データベースディクショナリ8への登録
操作を簡略化することができる。さらに、論理データベ
ースディクショナリ8の不正な参照による物理データベ
ースアカウントの漏洩を最小限に抑止することも可能と
なる。
【0167】なお、実施例4または5では、アプリケー
ションプログラム実行手段2から論理データベース名と
して例えば「ALL」などの特定の符号が指定された場
合、テーブル位置検索部7は、論理アカウント制御ブロ
ック20に登録された全ての物理データベース1を対象
としてテーブル位置を検索するよう制御しても良い。こ
の場合、テーブル位置検索部7がステップS506にお
いてログインする対象を、「ALL」が指定されている場
合は論理アカウント制御ブロック20に登録された物理
データベース1すべてとすればよい。
【0168】さらに、実施例4または5では、物理デー
タベース1を直接指定したアクセス構文を用いて、ユー
ザが直接指定した物理データベース1へアクセスする場
合にも、ユーザは論理データベースアカウントを使用し
てCONNECT構文を発行できる。これによりユーザは、各
物理データベース1のアカウントの違いを意識せずに、
一のアカウントにより複数の物理データベース1のいず
れかを直接指定してアクセスできる。これは、実施例4
および5のテーブル位置検索部7は、論理データベース
制御ブロックの登録されていないデータベース名を有す
るCONNECT構文についても、その転送処理(S515)
に際して、構文中の論理データベースアカウントを、論
理アカウント制御ブロック20に登録されたアカウント
に置き換えるためである。これについて、図10および
図17を用いて説明する。
【0169】図10または図17に示す動作例おいて、
テーブル位置検索部7は、単一の物理データベースDB_c
に対するアクセスを要求するCONNECT構文106,18
0を受け取った場合(S502)、S515において、
構文中の論理データベースアカウントuser_Aを抽出し、
同一のアカウントが登録された論理アカウント制御ブロ
ック20を探す。次に、テーブル位置検索部7は、構文
バッファ6に保持されたCONNECT構文中の論理データベ
ースアカウントuser_Aを、該論理アカウント制御ブロッ
ク20に登録された物理データベースDB_cに対応する物
理データベースアカウントuser_cに置き換え、物理デー
タベースDB_cへログインする(S515)。
【0170】(実施例6)上記各実施例1〜5では、複
数の物理データベース1へ自動ログインするため、各物
理データベース1のアカウントを論理データベースディ
クショナリ8に格納する。しかし物理データベースアカ
ウントは、機密性が高い物理データベース情報へのアク
セスキーであり、特に格納した物理データベースパスワ
ードには厳重な機密保護が必要である。そこで、本実施
例6の分散データベース管理システム(分散データベー
スアクセス管理部3)は、機密性を保障するために、論
理データベースパスワードを、複数のユーザが共同利用
する論理データベースディクショナリ8には保持しない
ようにし、さらに、論理データベースディクショナリ8
に保持されるデータベースパスワードを暗号化する。
【0171】図11に示すように、本実施例6の論理デ
ータベース定義部9は、実施例5の構成に加え、各物理
データベースアカウントに含まれるパスワード情報を暗
号化する暗号化制御部21をさらに備える。また、本実
施例6のテーブル位置検索部7は、実施例5の構成に加
え、暗号化したパスワードを復号化する復号化制御部2
2をさらに備える。暗号化制御部21、復号化制御部2
2は、与えられたキーデータを基に、それぞれ、所定の
アルゴリズムでデータの暗号化または復号化処理を実行
する。なお、暗号化および復号化の処理方法は、機密性
を保つことができ、一意に暗号化、復号化できるもので
あれば、いかなる方法を用いてもよい。本実施例6で
は、アプリケーションプログラム実行手段2により指定
された論理データベースパスワードをキーとして用い
て、物理データベースパスワードの暗号化、復号化を行
なう。
【0172】さらに、本実施例6の論理アカウント制御
ブロック20の論理データベースアカウント格納領域2
0aは、論理データベースユーザIDのみを保持し、論
理データベースパスワードは格納されない。
【0173】なお、テーブル位置検索部7およびデータ
ベース定義部9以外の構成要素の動作、ならびに、論理
アカウント制御ブロック20の論理データベースアカウ
ント格納領域20a以外のデータベースディクショナリ
8の構成は、実施例5と同様である。また、テーブル位
置検索部7およびデータベース定義部9の、ここに説明
したステップ以外の処理は、実施例5と同様である。
【0174】A.論理データベース定義部9の処理 (1)論理アカウントの登録 論理アカウント登録構文30を受けた本実施例6の論理
データベース定義部9は、論理アカウント制御ブロック
20を新たに論理アカウント制御ブロック格納領域20
4内に生成し、構文中の「GRANT USER」の直後に記述さ
れたユーザIDを生成した論理アカウント制御ブロック
20の論理データベースアカウント格納領域20aに格
納する。なお、「USING」の直後に記述されたパスワー
ドは格納しない。
【0175】(2)論理アカウントの変更 論理アカウント変更構文31により指示される論理アカ
ウント制御ブロック20の変更処理において、論理デー
タベース定義部9は、指定された物理データベースパス
ワードを、CONNECT構文の「USING」の直後に記述された
論理データベースパスワードを用いて暗号化し、これを
物理データベースアカウント格納領域20dへ格納す
る。物理データベースパスワードの暗号化を除けば、本
実施例6の論理アカウント変更処理は、実施例5の場合
と同様である。
【0176】そこで、本実施例6の論理データベース定
義部9は、ステップS331、ステップS332、およ
びステップS333において、物理データベースアカウ
ントに含まれるパスワードの暗号化を暗号化制御部21
に行なわせ、暗号化処理後のパスワードを物理データベ
ースアカウント格納領域20dのパスワード格納領域に
格納する。なお、本実施例6では、論理データベースア
カウントのパスワードは必ずしも指定しなくてもよい。
論理データベースパスワードの指定がない場合(すなわ
ち、CONNECT構文に「USING」句が記述されていない場
合)は、あらかじめ定められた初期値(省略時解釈値)
が、キーとして暗号化に用いられる。
【0177】B.テーブル位置検索部7の処理 また、本実施例6のテーブル位置検索部7は、ステップ
S504における、論理データベースアカウントの確認
の際に、先頭の物理データベースアカウント格納領域2
0dに保持されたアカウントに含まれるパスワードを、
CONNECT構文で指定された論理データベースパスワード
をキーとして用いて、復号化制御部22により復号化す
る。
【0178】なお、復号化制御部22は、パスワードの
復号に成功すると、その復号化したパスワードをテーブ
ル位置検索部7に通知する。この通知を受けたテーブル
位置検索部7は、入力された論理データベースパスワー
ドが正当なものと判断し(S504)、ステップS50
6における、構文バッファ内に保持されたCONNECT構文
の論理データベースアカウントの物理データベースアカ
ウントへの書き換えに際して、物理データベースアカウ
ント格納領域20dに保持された物理データベースユー
ザIDと、上記のステップS504において復号化され
たパスワードとを用いる。
【0179】復号に失敗した場合、復号化制御部22
は、復号できないことをテーブル位置検索部7に通知す
る。この通知を受けたテーブル位置検索部7は、ステッ
プS504において、入力された論理データベースパス
ワードが誤っていると判断し、処理をステップS514
へ進めて、論理データベース4へのアクセスを拒否す
る。
【0180】また、ステップS515において、構文バ
ッファ内に保持されたCONNECT構文の論理データベース
アカウントの物理データベースアカウントへの書き換え
に際しても、テーブル位置検索部7は、物理データベー
スアカウント格納領域20dに保持された物理データベ
ースユーザIDと、上記のステップS504において復
号化されたパスワードとを用いる。
【0181】C.本実施例6の効果 以上のように、本実施例6のセキュリティ機能は、ユー
ザが入力した論理データベースパスワードをキーとし
て、論理データベースディクショナリ8に格納する全て
の物理データベースアカウントを暗号化するものであ
る。
【0182】暗号化キーである論理データベースパスワ
ードは、各論理アカウント制御ブロック20毎に異な
り、また論理データベースディクショナリ8に格納され
ることもない。論理アカウント制御ブロック20の論理
データベースアカウント格納領域20aには、論理デー
タベースユーザIDしか格納されないからである。
【0183】このため、論理データベースパスワードを
あらかじめ知っているユーザ以外は、たとえ暗号化アル
ゴリズムを熟知するユーザでも、論理アカウント制御ブ
ロック20の物理データベースアカウント20dに格納
されたパスワードを復号化することは不可能である。
【0184】なお、実施例1では、定義した1つの論理
データベース4に対して複数の論理データベースアカウ
ントを登録可能であるので、そのままでは本実施例6の
セキュリティ機能を適用できない。しかし、登録可能な
論理データベースアカウント数を1に限定しておけば、
本実施例6のセキュリティ機能を適用できる。
【0185】なお、暗号化されたデータを復号化できて
も、復号化が正しく行なわれたか、つまり、暗号化キー
が正しいかったのかを識別できない暗号化アルゴリズム
もある。このような暗号化アルゴリズムを使用する場合
は、論理アカウント制御ブロック20の論理データベー
スアカウント格納領域20aに、ユーザIDに加え、パ
スワードも格納する。ただし、論理データベースパスワ
ードは、暗号化して格納されるようにする。この論理デ
ータベースパスワードの暗号化には、復号化できないア
ルゴリズムを用いるとよい。そこで、このようにする場
合、暗号化制御部21は、キーを用いた暗号化と、復号
化できない暗号化の2種のアルゴリズムを持つようにす
る。さらに、このようにする場合、テーブル位置検索部
7は、ステップS504における論理データベースアカ
ウントの確認の際に、CONNECT構文で指定された論理デ
ータベースパスワードを暗号化制御部21に渡し、復号
化できない暗号化を依頼し、つぎに、テーブル位置検索
部7は、暗号化された論理データベースパスワードと、
論理データベースアカウント格納領域20aに格納され
たパスワードとを比較するようにする。このとき、一致
すれば、テーブル位置検索部7は、CONNECT構文に記述
された論理データベースパスワードが正当なものと判断
し(S504)、そのパスワードをキーとして、復号化
制御部22に、物理データベースパスワードの復号化を
依頼する。
【0186】(実施例7)ところで、上記各実施例1〜
6は、論理データベース4を構成する物理データベース
1へのログイン時に用いるアカウント情報を、分散デー
タベースアクセス管理部3の論理データベースディクシ
ョナリ8で記憶するものとしているが、本実施例7で
は、アプリケーションプログラム実行手段2を実行する
情報処理装置(クライアント39)で記憶する。本実施
例7では、図16(b)に示す論理データベースディク
ショナリ8の論理アカウント制御ブロック格納領域20
4を、各ユーザが使用する情報処理装置(クライアント
39)上に設け、ここに論理アカウント制御ブロック2
0を保持する。なお、1台の情報処理装置39に複数ユ
ーザの論理アカウント制御ブロック20を設けることも
可能である。
【0187】本実施例7のアプリケーションプログラム
実行手段2は、ユーザからのデータベース接続要求を受
けて、入力されたアカウントに対応する論理アカウント
制御ブロック20を参照し、論理データベースアカウン
トおよびアクセス権限を検査した後、登録された全ての
物理データベース1に関する名称およびアカウントを分
散データベースアクセス管理部3に通知する。分散デー
タベースアクセス管理部3のテーブル位置検索部7は、
アプリケーションプログラム実行手段2から通知された
情報を論理データベースディクショナリ8に一時的に格
納する。つぎに、テーブル位置検索部7は、格納した情
報中から対象とする物理データベース1のアカウントを
抽出し、論理データベース制御ブロック19に登録され
た論理データベース4を構成する物理データベース1に
対してログインする。
【0188】本実施例7では、実施例1〜4のいずれで
用いられたアカウント管理方法を用いることもできる
が、ここでは、実施例5のアカウント管理方法を用いた
場合を説明する。
【0189】A.アプリケーションプログラム実行手段
の処理 実施例7のアプリケーションプログラム実行手段2は、
データベース接続要求の発行に際して、指定された論理
データベースアカウントを論理データベースアカウント
格納領域20aに保持する論理アカウント制御ブロック
20(クライアント39の外部記憶装置に保持されてい
る)を検索する。
【0190】求めるブロック20が、論理アカウント制
御ブロック格納領域204に存在する場合は、前記のよ
うに、論理データベース4への接続要求と共に、アクセ
ス権限格納領域20bに保持されたアクセス権限種別
と、該ブロック20の備えるすべての物理データベース
名(物理データベース名格納領域20cに保持されてい
る)と、物理データベースアカウント(物理データベー
スアカウント格納領域20dに保持されている)とを、
分散データベースアクセス管理部3に通知する。
【0191】一方、求めるブロック20が存在しない場
合は、論理データベース4への接続要求だけを分散デー
タベースアクセス管理部3に発行し、接続を要求する論
理データベースに属する物理データベースの名称とアカ
ウントの通知は行なわない。
【0192】B.テーブル位置検索部の処理 論理データベースアクセス制御部を介して論理データベ
ース4への接続要求を受けた分散データベースアクセス
管理部3のテーブル位置検索部7は、ステップS503
におけるアクセス権限のチェックに、アプリケーション
プログラム実行手段2からアカウント情報(アクセス権
限、物理データベース名、物理データベースアカウン
ト)が通知された場合は、該情報に含まれるアクセス権
限種別情報を用い、通知されなかった場合は、実施例5
の場合と同様、論理データベースディクショナリ8内
で、CONNECT構文に指定された論理データベースユーザ
IDを論理データベースアカウント格納領域20aに保
持する論理アカウント制御ブロック格納領域20を検索
し、該領域20のアクセス権限格納領域20bの内容を
用いる。
【0193】また、本実施例7のテーブル位置検索部7
は、ステップS506およびステップS515におけ
る、構文バッファ6に保持されたCONNECT構文のアクセ
ス対象およびアカウント情報の書き換えの際、アプリケ
ーションプログラム実行手段2から各物理データベース
1のアカウント情報が通知されている場合は、該アカウ
ント情報を用いて書き換えを行ない、通知されていない
場合は、実施例5の場合と同様、論理データベースディ
クショナリ8内で、CONNECT構文に指定された論理デー
タベースユーザIDを論理データベースアカウント格納
領域20aに保持する論理アカウント制御ブロック格納
領域20を検索し、該領域20のアクセス権限格納領域
20bの内容を用いて書き換えを行なう。
【0194】C.本実施例7の効果 以上のように本実施例7によれば、論理データベースア
クセス時に用いられる各物理データベース1へのアカウ
ント情報を、ユーザが使用する情報処理装置に接続され
たHD(ハードディクス)やFD(フレキシブルディス
ク)などの外部記憶装置に保持することができる。この
ようにすれば、多数のユーザが共同利用する装置に保持
しないため、物理データベースアカウント情報の漏洩を
防止することに効果がある。また本実施例1のようにす
べてのアカウント情報が論理データベース制御ブロック
13に保持される場合は、本実施例7のように、クライ
アント39の外部記憶装置に保持されたアカウント情報
を用いて自動ログインを行なうことはできないが、実施
例4または5において、論理データベースアクセス機能
を使用せずに特定の物理データベース1へアクセスする
場合(例えば、ステップS515(図5に図示)または
後述するステップS1909(図19に図示))にも、
クライアント39の外部記憶装置に保持されたアカウン
ト情報を用いてログインするようにしてもよい。
【0195】(実施例8)つぎに、論理データベース4
を構成する物理データベース1への自動ログイン処理の
第2の方法を用いた実施例を説明する。
【0196】上記各実施例1〜7において、テーブル位
置検索部7は、論理データベース4を構成する各物理デ
ータベース1へログインし(S506)、テーブルアク
セス構文を転送した後(S507)、物理データベース
1からのアクセス結果を判定することでテーブル位置を
決定する。このときアクセス対象のテーブルが存在しな
い物理データベース1からはログアウトするものとして
いる(S509)。
【0197】しかし、次にアプリケーションプログラム
実行手段2から送られたテーブルアクセス構文によりア
クセスを要求されたテーブルが、ステップS509にお
いて要求されたテーブルが存在しないとしてログアウト
された物理データベース1に存在する場合など、すでに
ステップS509においてログアウトされた後に、該物
理データベース1にアクセス要求がなされることがあ
る。
【0198】そこで、本実施例8では、アクセス対象の
テーブルが存在しない物理データベース1に関してもロ
グインしたままで処理を続け、論理データベース4から
のログアウトを指示するDISCONNECT構文をアプリケーシ
ョンプログラム実行手段2から受けたとき、ログインし
ている全ての物理データベース1からログアウトする手
段が提供される。
【0199】すなわち、本実施例8のテーブル位置検索
部7は、あらかじめ定められた接続モードに応じて、論
理データベース4へのログイン時に論理データベース4
を構成する全ての物理データベース1にログインする処
理(ストリクト(strict)モードの自動ログイン処理)
と、テーブル位置検索処理ごとに物理データベース1に
ログインする処理との二種類の自動ログイン処理(ルー
ズ(loose)モードの自動ログイン処理)を行なう。な
お、本実施例8では分散データベースアクセス管理部3
はコンフィギュレーションファイル(図示せず)を備
え、本実施例8の該コンフィギュレーションファイル
は、接続モードを定義するための接続モード情報格納領
域を有する。本実施例8では、この接続モード情報格納
領域に、接続モードを示す符号があらかじめ格納されて
いる。
【0200】つぎに、本実施例8のテーブル位置検索部
7の処理について説明する。なお、本実施例8の分散デ
ータベースアクセス管理部3の構成は実施例5の場合と
同様であり、各構成要素の処理の流れも、ここに説明す
るテーブル位置検索部7の処理の他は実施例5と同様で
ある。
【0201】A.テーブル位置検索部の処理 図19に、本実施例8におけるテーブル位置検索部7の
処理手順を示す。ステップS1901〜S1904の処
理は、実施例5におけるステップS501〜S504と
同様である。また、ステップS1908〜S1910の
処理は、実施例5におけるステップS514〜S516
と同様である。すなわち、本実施例8のテーブル位置検
索部7は、まず、構文バッファ6に格納したCONNECT構
文から論理データベース名を抽出し(S1901)、処
理対象の論理データベース制御ブロック19を検索する
(S1902)。求める論理データベース制御ブロック
19を検出すると、テーブル位置検索部7は、処理をS
1903に進める。求める制御ブロック19が検出され
なかった場合、テーブル位置検索部7は、DISCONNECT構
文を受け取るまで(S1910)、全ての構文をそのま
ま物理データベース1へ転送する(S1909)。
【0202】処理対象の論理データベース制御ブロック
19が検出されると、テーブル位置検索部7は、CONNEC
T構文から論理データベースアカウントを抽出し、該ア
カウントを論理データベースアカウント格納領域20a
に保持する論理アカウント制御ブロック20を検出する
(S1904)。検出できない場合、テーブル位置検索
部7は、アプリケーションプログラム実行手段2へアク
セスの拒否を通知し(S1908)、処理を終了する。
もしくは、実施例5で説明したように、検出できない場
合には、論理データベース4を構成するすべての物理デ
ータベース1に対して、CONNECT構文に記述された論理
データベースアカウントを書き換えることなく、そのま
まログインしてもよい。
【0203】論理アカウント制御ブロック20が検出さ
れると、テーブル位置検索部7は、データベースアクセ
スを要求したOSユーザに該論理データベース4の使用
許可が与えられているかどうか、S1904で検出され
た論理アカウント制御ブロック20のアクセス権限格納
領域20bを参照して確認する(S1903)。
【0204】アクセス権限が確認されれば、本実施例8
のテーブル位置検索部7は、コンフィギュレーションフ
ァイルの接続モード情報格納領域を参照する。テーブル
位置検索部7は、接続モードが「ストリクト(strict)
モード」ならばS1906に処理を進めstrictモードの
自動ログイン処理を実行し、「ルーズ(loose)モー
ド」ならばS1907に処理を進め、looseモードの自
動ログイン処理を実行する。
【0205】(1)strictモードの自動ログイン処理
(ステップS1906) strictモードは、論理データベース4へのログイン時に
論理データベース4を構成する全てのデータベース1に
ログインする処理である。図20にその処理手順を示
す。
【0206】strictモードの自動ログイン処理(ステッ
プS1906)では、テーブル位置検索部7は、あらか
じめ、論理データベース4を構成する全ての物理データ
ベース1へ、論理データベースディクショナリ8に格納
された物理データベースアカウントを用いたログインを
試行する(S2001〜2004)。
【0207】全物理データベース1へのログインを正常
に処理できた場合、アプリケーションプログラム実行手
段2に対し論理データベース4へのログインを受け付け
たことを通知し(S2005)、次にアプリケーション
プログラム実行手段2から受け取ったテーブルアクセス
構文のテーブル位置検索処理を実行する(S2006〜
S2010)。ステップS2006、S2007、S2
008、S2009、S2010の処理は、それぞれ、
実施例5のステップS507、S508、S510、S
511、S512と同様である。ただし、実施例5の場
合とは異なり、本実施例8のテーブル位置検索部7は、
ステップS2007でアクセス不可と判断しても(すな
わち、アクセスの指定されたテーブルがアクセス対象の
物理データベース1に存在しなくても)、ログアウト処
理(S509)は行なわない。また、ステップS200
8において処理対象を次に登録された物理データベース
1としたのち、本実施例8では、テーブル位置検索部7
は、ログイン処理(S506)は行なわず、構文転送処
理(S2006)を実行する。
【0208】テーブル位置検索部7は、全てのテーブル
アクセス構文に対する処理を終え、S2010において
DISCONNECT構文を受け取ると、ログイン中の全物理デー
タベース1からログアウトして(S2011)、処理を
終える。
【0209】一方、S2002において論理データベー
ス4を構成する何れかの物理データベース1へのログイ
ンが失敗したことを検知すると、テーブル位置検索部7
は、ログイン中の全物理データベース1からログアウト
した後(S2012)、アプリケーションプログラム実
行手段2に対し論理データベース4へのログインを拒否
したことを通知し(S2013)、処理を終える。
【0210】なお、実施例5におけるログイン処理(S
506)、本実施例8におけるstrictモードのログイン
処理(S2001)、実施例5におけるログアウト処理
(S509およびS513)の1回の処理の処理対象の
物理データベースは1つであるが、本実施例8における
strictモードのログアウト処理(S2011およびS2
012)では、処理対象の論理データベース4に属する
すべての物理データベース1がログアウトされる。
【0211】つぎに、strictモードの自動ログイン処理
(ステップS1906)において、アプリケーションプ
ログラム実行手段2、分散データベースアクセス管理部
3、物理データベース1の間で交換される情報のシーケ
ンス例を、図21を用いて説明する。
【0212】図21に示す例では、パブリック論理デー
タベース制御ブロック格納領域201に、論理データベ
ース名格納領域19aに論理データベース名LDB_Aを保
持する論理データベース制御ブロック19が保持されて
いる。該論理データベース制御ブロック19の論理デー
タベースアカウント格納領域19bには、NULLが格納さ
れており、物理データベース名格納領域19cには、物
理データベースDB_aおよびDB_bの名称が格納されてい
る。なお、物理データベース名格納領域19cのリンク
の接続順は、DB_aが先でDB_bが後となっている。
【0213】論理アカウント制御ブロック格納領域20
4には、論理データベースアカウント格納領域20aに
user_Aを保持する論理アカウント制御ブロック20が保
持されている。該論理アカウント制御ブロック20の物
理データベース名格納領域20cには、物理データベー
スDB_aおよびDB_bが格納されており、物理データベース
アカウント格納領域20dには、DB_aの物理データベー
スアカウントとしてuser_aが、DB_bの物理データベース
アカウントとしてuser_bが、それぞれ格納されている。
なお、図1に示すように、物理データベースDB_aはテー
ブルa1およびa2を備え、物理データベースDB_bはb1およ
びb2を備えている。
【0214】最初に、分散データベースアクセス管理部
3のテーブル位置検索部7は、アプリケーションプログ
ラム実行手段2から論理データベースLDB_Aに対するCON
NECT構文(CONNECT(LDB_A,user_A))の通知を受け付け
る(D200)。すると、テーブル位置検索部7は、論
理データベースアカウントがuser_Aである論理アカウン
ト制御ブロック20を検索し、検出する(S190
4)。つぎに、該CONNECT構文を発行したOSユーザ
(ユーザID:user1、グループID:group1)に対す
るアクセス権限を確認する(S1903)。
【0215】つぎに、テーブル位置検索部7は、論理デ
ータベースLDB_Aに含まれる物理データベース1のう
ち、最も優先順位の高い物理データベースDB_aに、物理
データベースアカウントuser_aを用いてログインするCO
NNECT構文(CONNECT(DB_a,user_a))を作成し、DB_aに
ログインする(S2001:D201)。DB_aからログ
インに成功した応答(D202)を受け取ると、テーブ
ル位置検索部7は、次に優先順位の高い物理データベー
スDB_bに、物理データベースアカウントuser_bを用いて
ログインするCONNECT構文(CONNECT(DB_b,user_b))を
作成し、DB_bにログインする(S2001:D20
3)。
【0216】DB_bを管理する物理データベース管理シス
テム270からログインに成功した応答(D204)を
受け取ると、テーブル位置検索部7は、アプリケーショ
ンプログラム実行手段2へアクセス許可通知を発行する
(S2005:D205)。これを受けて、アプリケー
ションプログラム実行手段2は、テーブルアクセス構文
(図21の例ではテーブルb1に対するSELECT構文(SELE
CT(b1)))をテーブル位置検索部7へ発行する(D2
06)。テーブルアクセス構文を受け付けたテーブル位
置検索部7は、これを物理データベースDB_aに発行する
(S2006:D207)。しかし、このSELECT構文に
対し、テーブルb1が格納されていない物理データベース
DB_aは、アクセス不可を示す情報(D208)で応答す
る。そこで、テーブル位置検索部7は、次に優先順位の
高い物理データベースDB_bへSELECT構文(SELECT(b
1))を発行する(S2006:D209)。
【0217】このSELECT構文に応じて、物理データベー
スDB_bを管理する物理データベース管理システムは、格
納されたテーブルb1を検索し処理結果(D210)を返
す。これを受けたテーブル位置検索部7は、この応答を
アプリケーションプログラム実行手段2に通知(D21
1)する。また、この応答により、テーブル位置検索部
7は、物理データベースDB_bを、テーブルb1が格納され
た物理データベース1として認識し、その後のアプリケ
ーションプログラム実行手段2から受け取ったアクセス
構文(図21の例ではテーブルb1を対象とする更新のた
めのUPDATE構文(UPDATE(b1))(D212)を、物理デ
ータベースDB_bへ発行する(D213)。また、これに
対する物理データベースDB_bを管理する物理データベー
ス管理システムの応答(D214)は、アプリケーショ
ンプログラム実行手段2に通知(D215)される。
【0218】アプリケーションプログラム実行手段2の
物理データベース1との接続を切ることを指示するDISC
ONNECT構文の発行(D216)を受け付けると、テーブ
ル位置検索部7は、物理データベースDB_aへ、DISCONNE
CT構文を発行し(D217)、さらに、接続の切断(D
218)を確認すると、物理データベースDB_bへDISCON
NECT構文を発行(D219)し、これによる接続の切断
(D220)を確認すると、これをアプリケーションプ
ログラム実行手段2に通知(D221)する。
【0219】(2)looseモードによる自動ログイン処
理(ステップS1907) looseモードは、テーブル位置検索時に物理データベー
ス1にログインする処理である。図22にその処理手順
を示す。
【0220】looseモードによる自動ログイン処理(ス
テップS1907)では、本実施例8のテーブル位置検
索部7は、まず、アプリケーションプログラム実行手段
2に対し論理データベース4へのログインを受け付けた
ことを通知する(S2201)。次に、テーブル位置検
索部7は、アプリケーションプログラム実行手段2から
テーブルアクセス構文を受け取り、すでに物理データベ
ース1への接続が行なわれているかどうか確認(S22
02)する。接続されていなければ、テーブル位置検索
部7は、優先順位の高い物理データベース1(後述する
図23ではDB_a)に、論理アカウント制御ブロック
20の物理データベースアカウント格納領域20dに保
持された物理データベースアカウントを用いてログイン
した後(S2203)、接続に成功すれば(S220
4)、受け取ったテーブルアクセス構文を発行する(S
2205)。
【0221】なお、S2202において接続が確認され
れば、テーブル位置検索部7は直接処理をS2205に
進め、テーブルアクセス構文を発行する。これにより、
既にログイン済みの物理データベース1に対するS22
03のログイン処理を省くことができる。
【0222】S2203において接続に失敗した場合、
テーブル位置検索部7はログイン中の全物理データベー
ス1からログアウトした後(S2211)、アプリケー
ションプログラム実行手段2に対しテーブルへのアクセ
スに失敗したことを通知し(S2212)、処理を終え
る。
【0223】S2205における構文転送の結果、物理
データベース1からアクセス不可を示す情報を受け取っ
た場合には(S2206)、処理対象を次に優先順位の
高い物理データベース1(後述する図23ではDB_
b)にし(S2207)、処理をS2202に戻す。
【0224】テーブル位置検索部7は、以上のテーブル
位置検索処理を全てのテーブルアクセス構文に関して実
行する。S2209においてDISCONNECT構文を受け取る
と、テーブル位置検索部7は、ログイン中の全物理デー
タベース1からログアウトして(S2210)、処理を
終える。
【0225】なお、looseモードでは、ログイン処理
(S2201)の1回の処理対象物理データベースは1
つであるが、ログアウト処理(S2210およびS22
11)では、処理対象の論理データベース4に属するす
べての物理データベース1がログアウトされる。
【0226】つぎに、looseモードによる自動ログイン
処理(ステップS1906)において、アプリケーショ
ンプログラム実行手段2、分散データベースアクセス管
理部3、物理データベース1の間で交換される情報のシ
ーケンス例を図23を用いて説明する。なお、図23に
示す例の論理データベースディクショナリ8は、図21
に示した例と同様である。
【0227】アプリケーションプログラム実行手段2か
ら論理データベースLDB_Aに対するCONNECT構文(CONNEC
T(LDB_A,user_A))の通知(D230)を受け付けた分
散データベースアクセス管理部3のテーブル位置検索部
7は、図21に示したstrictモードの自動ログイン処理
の場合と同様、S1901〜S1905の処理を実行す
る。この後、テーブル位置検索部7は、該アプリケーシ
ョンプログラム実行手段2に対して、アクセス許可(S
2201:D231)を通知する。これを受けたアプリ
ケーションプログラム実行手段2は、テーブルアクセス
構文(図23の例ではテーブルb1に対するSELECT構文
(SELECT(b1))をテーブル位置検索部7へ発行する
(D232)。
【0228】テーブルアクセス構文を受け付けたテーブ
ル位置検索部7は、論理データベースLDB_Aに含まれる
物理データベース1のうち、最も優先順位の高い物理デ
ータベースDB_aが未接続であることを確認し(S220
2)、DB_aに、物理データベースアカウントuser_aを用
いてログインするCONNECT構文(CONNECT(DB_a,user_
a))を作成して、DB_aにログインする(S2203:D
233)。DB_aからログインに成功した応答(D23
4)を受け取ると(S2204)、D232のテーブル
アクセス構文を物理データベースDB_aに発行する(S2
205:D235)。しかし、このSELECT構文に対し、
テーブルb1が格納されていない物理データベースDB_a
は、アクセス不可を示す情報(D236)で応答する。
そこで、テーブル位置検索部7は、次に優先順位の高い
物理データベースDB_bが未接続であることを確認し(S
2202)、該物理データベースDB_bに、物理データベ
ースアカウントuser_bを用いてログインするCONNECT構
文(CONNECT(DB_b,user_b))を作成して、DB_bにログイ
ンする(S2203:D238)。
【0229】DB_bからログインに成功した応答(D23
9)を受け取ると、テーブル位置検索部7は、物理デー
タベースDB_bへD232のテーブルアクセス構文である
SELECT構文(SELECT(b1))を発行する(S2205:
D240)。
【0230】このSELECT構文に応じて、物理データベー
スDB_bを管理する物理データベース管理システムは、格
納されたテーブルb1を検索し処理結果(D241)を返
す。これを受けたテーブル位置検索部7は、この応答を
アプリケーションプログラム実行手段2に通知(D24
2)する。この通知を受けたアプリケーションプログラ
ム実行手段2が、テーブルアクセス構文(図23の例で
はテーブルb1を対象とする更新のためのUPDATE構文(UP
DATE(b1))(D243)を発行すると、テーブル位置検
索部7は、これを物理データベースDB_bへ発行する(D
244)。また、これに対する物理データベースDB_bを
管理する物理データベース管理システムの応答(D24
5)は、アプリケーションプログラム実行手段2に通知
(D246)される。
【0231】アプリケーションプログラム実行手段2の
DISCONNECT構文(D247)を受け付けると、テーブル
位置検索部7は、まず、優先順位の高い物理データベー
スDB_aへ、DISCONNECT構文を発行し(D248)、これ
による接続の切断(D249)を確認すると、物理デー
タベースDB_bへDISCONNECT構文を発行(D250)し
て、これによる接続の切断(D251)を確認すると、
これをアプリケーションプログラム実行手段2に通知
(D252)する。
【0232】B.本実施例8の効果 上記各実施例1〜7において、誤った物理データベース
アカウントが論理データベース制御ブロック13または
17あるいは論理アカウント制御ブロック20に登録さ
れた場合、テーブル位置検索部7による自動ログイン処
理は、物理データベース1の接続拒否により失敗する。
また、誤った物理データベース名が論理データベースデ
ィクショナリ8に登録された場合や、物理データベース
1が稼働していない場合等にも、自動ログイン処理は失
敗する。上記各実施例1〜7では、個々のテーブルアク
セス構文の実行ごとにログイン、ログアウトを行なうた
め、複数のテーブルアクセス構文を含む一連の処理の実
行中に、稼働していない、あるいは登録されたアカウン
ト情報が誤っている物理データベース1へのアクセスが
あれば、該処理の途中でログイン処理の失敗により、処
理が中止されることになる。
【0233】一方、本実施例8のstrictモードの自動ロ
グイン処理によれば、分散データデータベースアクセス
管理部3からのアクセス許可通知(S2005)があれ
ば、指定した論理データベース4に属するすべての物理
データベース1について、ディクショナリ8に登録した
各種情報の誤りや物理データベース1の未稼働がなく、
ログインが成功したことになる。これは、アクセスを要
求した論理データベース4に属するすべての物理データ
ベース1について、あらかじめ接続を確保してから構文
転送処理を行なうため、ひとつでもアカウント情報等が
誤っているためアクセスのできない物理データベース1
や未稼働の物理データベース1があると、構文転送処理
の実行の前にそれがアプリケーションプログラム実行手
段2に通知されるからである。従って、本実施例8のst
rictモードでは、同一論理データベース4に属する複数
の物理データベース1への複数のテーブルアクセス構文
を含む一連の処理の実行中に、ログインの失敗によるエ
ラーが発生することはない。
【0234】また、looseモードの自動ログイン処理で
は、テーブル位置を検索する上で必要な物理データベー
ス1に限りログインされ、テーブル位置として決定した
物理データベース1より優先順位の低い物理データベー
ス1に対してはログイン処理が実行されない。このた
め、strictモードによる自動ログイン処理に比べ、オー
バヘッドが少ない。このモードでは、ユーザは、論理デ
ータベースディクショナリ8に登録した情報の誤りや物
理データベース1の未稼働状態を、テーブルアクセス構
文の結果応答で知ることになる。
【0235】ところで、本実施例8のテーブル位置検索
部7は、looseモードによる自動ログイン処理の実行
時、S2204において何れかの物理データベース1へ
の接続に失敗した場合、処理を中断する(S2211、
2212)。しかし、例えば論理データベース4を構成
する物理データベース1の中に未稼働の物理データベー
ス1が存在しても、それを無視してテーブル位置検索を
続けさせたいというユーザニーズもある。これに対処す
るには、テーブル位置検索部7が、S2204において
何れかの物理データベース1への接続に失敗しても処理
を終えずに、S2207に移行して次に優先順位の高い
物理データベース1からテーブル位置検索処理を続行す
るよう制御すればよい。
【0236】(実施例9)本実施例9では、分散システ
ムカタログ機能が提供される。システムカタログとは、
各物理データベース1に登録された物理データベースア
カウント情報、アクセス権限情報、格納されたテーブル
の名称や構造に関する情報、ビューに関する情報、イン
デクスに関する情報等、物理データベース管理システム
の制御情報であり、データディクショナリとも呼ばれ
る。物理データベース管理システムは、システムカタロ
グをシステム専用の物理データベーステーブルとして記
憶管理し、アプリケーションプログラム実行手段2から
SELECT構文を受けると、その内容を通知する機能をもつ
ものが多い。
【0237】本実施例9によれば、論理データベース4
にログインしてシステムカタログを対象としたSELECT構
文を発行したアプリケーションプログラム実行手段2
は、ログインを指示した論理データベース4、およびそ
れに属するすべての物理データベース1についてのシス
テムカタログの内容の通知を受けることができる。これ
は、実施例9のテーブル位置検索部7が、論理データベ
ース4にログインしたアプリケーションプログラム実行
手段2からシステムカタログを対象としたSELECT構文を
受け取ると、該論理データベース4を構成するすべての
物理データベース1へログインした後、受け取ったSELE
CT構文を発行(S506〜S510)したのち、全物理
データベース1からの処理結果を結合して、アプリケー
ションプログラム実行手段2へ返す(S511、S20
09、またはS2208)からである。
【0238】すなわち、本実施例9のテーブル位置検索
部7は、ステップS508において、構文バッファ6に
保持された構文がシステムカタログを対象としたSELECT
構文であれば、主記憶装置、または、ゲートウエイサー
バ40が外部記憶装置を備えていれば、該外部記憶装置
に、領域を確保してその応答を格納し(ただし、アクセ
ス不可のときは格納しない)、処理をステップS509
に進める。また、本実施例9のテーブル位置検索部7
は、ステップS508において、処理対象の論理データ
ベース4に属するすべての物理データベース1を処理し
終わると、処理をステップS511に進める。
【0239】ステップS511では、本実施例9のテー
ブル位置検索部7は、構文バッファ6に保持された構文
がシステムカタログを対象としたSELECT構文であれば、
ステップS508において格納された応答(各物理デー
タベース1についてのシステムカタログの内容)を結合
して、ログインした論理データベース4全体の情報を示
すシステムカタログ情報を作成し、これを、該SELECT構
文を発行したアプリケーションプログラム実行手段2に
通知する。
【0240】ステップS508において格納される情報
と、ステップS511におけるシステムカタログ情報の
結合とを、図13に示す具体例を用いて説明する。図1
3に示す例では、各物理データベース1が保持するテー
ブルに関する情報はシステムカタログ23で管理され
る。
【0241】例えばアプリケーションプログラム実行手
段2が、論理データベースLDB_Bに対してテーブル名称
リストに関するシステムカタログの参照を要求するSELE
CT構文を発行した場合、テーブル位置検索部7は、LDB_
Bの論理データベース制御ブロック132を参照し、そ
こに登録された物理データベースDB_b、DB_cへ、順次、
物理データベースアカウントuser_b、user_cを用いてロ
グインし(S506)、受け取ったSELECT構文を発行す
る(S507)。これに対し、物理データベースDB_bを
管理する物理データベース管理システム270は、DB_b
のシステムカタログ23であるシステムカタログ134
を参照し、user_bがアクセス可能なテーブル名としてb
1、b2を返す。また、物理データベースDB_cを管理する
物理データベース管理システム270は、DB_cのシステ
ムカタログ23であるシステムカタログ135を参照
し、user_cがアクセス可能なテーブル名としてc1を返
す。テーブル位置検索部7は、DB_aのシステムカタログ
23であるシステムカタログ134を参照し、これらの
結果を一旦新たに確保した記憶領域に格納した後(S5
08)、すべての物理データベース1の処理が済むと、
物理データベースDB_bおよびDB_cの処理結果を結合し、
さらに格納された物理データベース1の名称を加え、論
理データベースLDB_Bのシステムカタログ24としてテ
ーブル137をアプリケーションプログラム実行手段2
へ通知する(S511)。
【0242】また、アプリケーションプログラム実行手
段2が、論理データベースLDB_Aに対してテーブル名称
リストに関するシステムカタログの参照を要求するSELE
CT構文を発行した場合、テーブル位置検索部7は、LDB_
Aの論理データベース制御ブロック131を参照し、そ
こに登録された物理データベースDB_a、DB_bへ、順次、
物理データベースアカウントuser_a、user_bを用いてロ
グインし(S506)、受け取ったSELECT構文を発行す
る(S507)。これに対し、物理データベースDB_aを
管理する物理データベース管理システム270は、DB_a
のシステムカタログ23であるシステムカタログ133
を参照し、user_aがアクセス可能なテーブル名としてa
1、a2を返す。また、物理データベースDB_bを管理する
物理データベース管理システム270は、DB_bのシステ
ムカタログ23であるシステムカタログ134を参照
し、user_bがアクセス可能なテーブル名としてb1、b2を
返す。テーブル位置検索部7は、これらの結果を一旦新
たに確保した記憶領域に格納した後(S508)、すべ
ての物理データベース1の処理が済むと、物理データベ
ースDB_aおよびDB_bの処理結果を結合し、さらに格納さ
れた物理データベース1の名称を加え、論理データベー
スLDB_Aのシステムカタログ24としてテーブル136
をアプリケーションプログラム実行手段2へ通知する
(S511)。
【0243】なお、ここに説明したもの以外の処理は、
実施例1の場合と同様である。さらに、分散データベー
スアクセス管理部3の、テーブル位置検索部7以外の構
成要素、およびその処理も、実施例1と同様である。上
記実施例1〜8のいずれのテーブル位置検索部7も、ス
テップS508(実施例8ではS2007またはS22
06)およびS511(実施例8ではS2009または
S2208)を本実施例9のようにすれば、SELECT構文
に応じて、ログインした論理データベースに属するすべ
ての物理データベースのシステムカタログの内容を、論
理データベースのシステムカタログ内容として出力する
ことができる。
【0244】以上のように本実施例9によると、論理デ
ータベース4を構成する複数の物理データベース1に格
納されたシステムカタログ23の内容を結合し、あたか
も実体がある単一の物理データベースであるかのよう
に、論理データベースシステムカタログ24を合成して
ユーザに見せることができる。
【0245】(実施例10)本実施例10によれば、論
理データベース4を対象とした監査機能が実現される。
本実施例10の分散データベースアクセス管理部3の構
成要素、およびその内容は、実施例9の場合とほぼ同様
である。ただし、つぎの点で異なっている。
【0246】第1に、本実施例10の論理データベース
ディクショナリ8は、実施例9の場合と同様の構成要素
に加えて、論理データベース4に関するアクセス履歴情
報を格納するログ情報保存領域である、論理データベー
スアクセスログバッファ25(図14に図示する)をさ
らに有する。本実施例10の論理データベースアクセス
ログバッファ25は、論理データベース名、論理データ
ベースユーザID、テーブル名、物理データベース名、
物理データベースユーザID、およびアクセス日時の各
データを格納するための領域を有するテーブルである。
【0247】第2に、本実施例10のテーブル位置検索
部7は、アプリケーションプログラム実行手段2からの
論理データベースアクセス要求を受けて、論理データベ
ースアクセスに関する種々の履歴情報、例えば論理デー
タベース4の名称とログイン時の論理データベースユー
ザID、アクセスしたテーブル名とテーブル位置として
決定された物理データベース1の名称およびログイン時
の物理データベースユーザID、そしてアクセス日時等
を、論理データベースアクセスログバッファ25に逐次
保管する。また、本実施例10のテーブル位置検索部7
は、論理データベース4にログイン(論理データベース
4を指定したCONNECT構文を実行)したのち、システム
カタログを対象とするSELECT構文が入力された場合は、
論理データベースシステムカタログ情報24に加えて、
論理データベースアクセスログバッファ25に保管され
た情報を出力する。
【0248】本実施例10によれば、ユーザは、論理デ
ータベースアクセスログバッファ25に保管された情報
を参照し、論理データベース4に関するアクセス記録に
加え、実際にアクセスした物理データベース1の名称等
の情報を知ることができる。
【0249】(実施例11)本実施例11によれば、論
理データベースアクセス機能による分散検索処理が実現
される。本実施例11の分散データベースアクセス管理
部3は、異なる物理データベース1に格納されている複
数のテーブルを対象としたジョイン(分散検索)に関し
ても、テーブル位置を意識することなく実現できる。
【0250】A.テーブル位置検索部の処理 本実施例11の分散データベースアクセス管理部3の構
成は、実施例1の場合と同様であり、各構成要素の処理
の流れも実施例1の場合と同様である。ただし、分散デ
ータベースアクセス管理部3は、複数のSELECT構文を保
持することのできるSELECT構文格納領域(図示せず)
と、SELECT構文の処理結果を複数保持することのできる
SELECT構文結果格納領域(図示せず)と、SELECT構文の
分解処理中かどうかを示すフラグを保持するSELECT構文
処理中フラグ格納領域(図示せず)を、さらに備える。
なお、SELECT構文処理中フラグ格納領域の初期値は0で
ある。また、テーブル位置検索部7の処理が実施例1と
は異なっている。本実施例11のテーブル位置検索部7
の処理の流れを図35に示す。なお、実施例1で用いた
ものと同じ符号の付されたステップの処理は、実施例1
のそれと同様である。
【0251】(1)SELECT構文の分解(S350〜S3
54) 通常、ジョインには、複数のテーブル名称が記述された
1つのSELECT構文が使用される。そこで、本実施例11
のテーブル位置検索部7は、CONNECT構文による最初の
ログイン(S506)後、構文バッファ6に保持されて
いる、次に実行すべきテーブルアクセス構文が、複数の
テーブルの指定されたSELECT構文であるかどうか検査し
(S350)、複数のテーブルの指定されたSELECT構文
であれば、該SELECT構文を解釈、分解して、指定された
複数のテーブルの個々のテーブルをアクセスするSELECT
構文を作成し、これをSELECT構文格納領域に格納し(S
351)、SELECT構文処理中フラグ格納領域に1を格納
し(S352)、分解後のSELECT構文(ひとつのテーブ
ルの記述されたSELECT構文)をひとつ上記SELECT構文格
納領域から読み出して、構文バッファ6に、つぎに処理
すべき構文として格納して(S353)、つぎにログイ
ンすべき物理データベース1を、処理中の論理データベ
ース4に属する最も優先順位の高い物理データベース1
とし(S354)、構文転送処理(S507)に処理を
進める。また、ステップS350において、処理対象
が、複数のテーブルの指定されたSELECT構文ではない場
合、本実施例11のテーブル位置検索部7は、そのまま
処理を構文転送処理(S507)に進める。
【0252】(2)結果の蓄積(S355〜S359) 構文転送(S507)の結果、アクセス成功の応答を受
け付けると、本実施例11のテーブル位置検索部7は、
SELECT構文処理中フラグ格納領域に保持された値(SELE
CT構文処理中フラグ)が1かどうか検査し(S35
5)、1でなければ、そのまま処理をS511に進め
る。SELECT構文処理中フラグが1であれば、本実施例1
1のテーブル位置検索部7は、通知された処理結果をSE
LECT構文結果格納領域に格納する(S356)。
【0253】つぎに、本実施例11のテーブル位置検索
部7は、SELECT構文格納領域に、未処理の分解後SELECT
構文が残っているかどうか検査し(S357)、残って
いれば、つぎに処理すべき分解後SELECT構文をSELECT構
文格納領域から読み出して、構文バッファ6に格納し
(S358)、つぎにログインすべき物理データベース
1を、処理中の論理データベース4に属する最も優先順
位の高い物理データベース1として(S359)、処理
をステップS507に戻す。
【0254】(3)結果の結合(S360〜S361) ステップS357において、SELECT構文格納領域に、未
処理の分解後SELECT構文が残っていなければ、本実施例
11のテーブル位置検索部7は、SELECT構文結果格納領
域に蓄積されている処理結果を結合し(S360)、SE
LECT構文処理中フラグ格納領域に0を格納して(S36
1)、処理をステップS511に進める。
【0255】B.本実施例11の効果 以上のように、本実施例11の論理データベースアクセ
ス機能によると、単一の物理データベース1に格納され
たテーブルに対するジョインと同様のSELECT構文によ
り、同一論理データベース内の異なる物理データベース
1に格納された複数のテーブルをジョインできる。
【0256】(実施例12)本実施例12の分散データ
ベース管理システムは、論理データベース4に関するビ
ュー機能およびシノニム機能を提供する。本実施例12
の分散データベースアクセス管理部3によれば、複数の
物理データベース1に跨ったビューやシノニムに関して
も、論理データベース4を指定してアクセスすること
で、物理データベース1の存在を意識せずに、あたかも
ひとつのデータベースに格納されているかのように扱う
ことができる。
【0257】A.論理データベース制御ブロックの構成 本実施例12の論理データベース制御ブロック150を
図15に示す。本実施例12の論理データベース制御ブ
ロック150は、実施例1と同様の、論理データベース
名格納領域150a、アクセス権限格納領域150b、
論理データベースアカウント格納領域150c、物理デ
ータベース名格納領域150d、物理データベースアカ
ウント格納領域150eを備え、さらに、ビューに関す
る情報を格納する領域150fおよびシノニムに関する
情報を格納する領域150gを備える。なお、本実施例
12の分散データベースアクセス管理部3は、ここに説
明するもの以外は、実施例1と同様の構成を有する。
【0258】B.論理データベース定義部9の処理 アプリケーションプログラム実行手段2からの、論理デ
ータベース4に対するCREATE VIEW構文(ビューを定義
する構文)、またはCREATE SYNONYM構文(シノニムを定
義する構文)の発行を受け付けると、本実施例12の論
理データベース定義部9は、構文中の情報を論理データ
ベース制御ブロック13のビュー情報格納領域150f
またはシノニム情報格納領域150gに格納する。な
お、ここで、ビュー情報は、ビューの名称と実テーブル
に対するSELECT文を格納する領域からなり、シノニム情
報は、シノニムの名称と対応する語句を格納する領域か
らなる。
【0259】C.テーブル位置検索部7の処理 本実施例12のテーブル位置検索部7は、アプリケーシ
ョンプログラム実行手段2から受け取ったテーブルアク
セス構文から、テーブル名等を抽出し、ビュー情報格納
領域150fまたはシノニム情報格納領域150gに登
録された名称と一致するか確認する。一致する場合、登
録されている情報を基にテーブルアクセス構文を変換
し、ログインした物理データベース1へ発行する(S5
07)。
【0260】D.本実施例12の効果 例えば、複数の物理データベース1に格納された各テー
ブルを対象としたSELECT文を論理データベース4のビュ
ーとして定義すれば、単一テーブルに対する検索と同様
のアクセス方法で分散検索を実現できる。
【0261】また、本実施例12の論理データベース4
に関するビュー機能および/またはシノニム機能を、上
述の各実施例1〜11の分散データベースアクセス管理
部3に持たせることもできる。この場合、本実施例12
と同様に、各実施例1〜11の論理データベース制御ブ
ロック13、17または19、あるいは論理アカウント
制御ブロック18または20に、ビュー情報格納領域1
50fおよび/またはシノニム情報格納領域150gを
設け、論理データベース定義部9に、ビュー情報および
/またはシノニム情報を受け付けてビュー情報格納領域
150fおよび/またはシノニム情報格納領域150g
に格納する手段を設け、テーブル位置検索部7に、登録
されたビュー情報および/またはシノニム情報を用いて
テーブルアクセス構文を変換する手段を設ければよい。
【0262】(実施例13)つぎに、論理データベース
アクセス機能に関わる処理オーバヘッドを削減すること
のできる制御方法を用いた実施例を説明する。
【0263】上記各実施例1〜12のテーブル位置検索
部7は、論理データベース4を構成する各物理データベ
ース1に対して、優先順位に従い順番にテーブルの存否
を問い合わせる。このため、アクセス対象のテーブルが
最も優先順位の低い物理データベース1に格納されてい
る場合は、テーブル位置検索処理のオーバヘッドが増加
する。
【0264】そこで、本実施例13のテーブル位置検索
部7は、以下に説明する三種の何れかのテーブル位置予
測手段により、事前にテーブル位置を予測し、テーブル
位置の検索処理をバイパスする。
【0265】A.テーブル位置検索部7の構成 図24に、本実施例13のテーブル位置検索部7の構成
を示す。本実施例13のテーブル位置検索部7は、テー
ブル位置問合せ部36と、テーブル位置抽出部33と、
アクセステーブルバッファ37と、アクセステーブル比
較部34と、システムカタログバッファ38と、システ
ムカタログ参照部35とを備える。
【0266】テーブル位置問合せ部36は、上記各実施
例1〜12のテーブル位置検索部7と同様に、テーブル
アクセス構文を各物理データベース1へ転送し、アクセ
ス結果によりテーブル位置を決定する。
【0267】テーブル位置抽出部33は、テーブルアク
セス構文から、アクセス対象のテーブル100が格納さ
れた物理データベース1の名称を抽出し、その物理デー
タベース1にテーブルアクセス構文を発行する。
【0268】アクセステーブルバッファ37は、過去に
アクセスしたテーブル100の名称および該テーブル1
00の格納されている物理データベース1の名称を保持
する記憶領域であり、アクセステーブル比較部34は、
アクセス対象のテーブルが格納された物理データベース
1をアクセステーブルバッファ37で確認し、その物理
データベース1にテーブルアクセス構文を発行する。
【0269】システムカタログバッファ38は、論理デ
ータベース4を構成する各物理データベース1に格納さ
れたテーブル100の名称を保持する記憶領域であり、
システムカタログ参照部35は、アクセス対象のテーブ
ルが格納された物理データベース1を前記システムカタ
ログバッファ38で確認し、その物理データベース1に
テーブルアクセス構文を発行する。
【0270】B.テーブル位置抽出部によるテーブルア
クセス構文の変更 図25に、テーブル位置抽出部33の処理例を示す。本
実施例13において、あらかじめテーブル位置を知って
いるアプリケーションプログラム実行手段2は、テーブ
ルアクセス構文に、アクセス対象のテーブル100が格
納されている物理データベース1の名称を挿入すること
により、テーブル位置の検索を省略することができる。
ただし、本実施例13では、構文がSQL標準の枠から
外れないよう、物理データベース名は、テーブル名の前
にセパレータ(図25では「#」)を挟んで付加され
る。つまりSQL標準のシンタックスから言えば、付加
された物理データベース名とセパレータは、テーブル名
の一部と解釈される。
【0271】このアクセス対象のテーブル100を保持
する物理データベース名が直接指定されたテーブルアク
セス構文255、256を受け付けると、本実施例13
のテーブル位置抽出部33は、構文バッファ6に保持さ
れているテーブルアクセス構文255、256から物理
データベース名の指定を削除し、構文257、258を
作成し、アクセス対象として、構文255、256に指
定された物理データベース1(DB_a、DB_b)を、テーブ
ル位置問合せ部36に通知する。
【0272】C.テーブル位置検索部の処理 本実施例13の分散データベースアクセス管理部3の、
テーブル位置検索部7以外の構成要素は、実施例8と同
様である。また、本実施例13のテーブル位置検索部7
の処理は、実施例8の場合とほぼ同様である。ただし、
テーブル位置検索部7のstrictモード処理(図20に図
示)およびlooseモード処理(図22)が異なってい
る。本実施例13のstrictモード処理を図26に示し、
looseモード処理を図34に示す。また、本実施例13
の分散データベースアクセス管理部3は、実施例9と同
様のシステムカタログ機能を実現するための構成を、実
施例9と同様に有し、分散データベースアクセス管理部
3は、論理データベースシステムカタログ24(図13
に図示)を作成すると、これをアプリケーションプログ
ラム実行手段2へ通知するとともに、システムカタログ
バッファ38に格納する。
【0273】(1)strictモードの自動ログイン処理
(ステップS1906) strictモードの自動ログイン処理において、本実施例1
3のテーブル位置検索部7は、まず、テーブル位置問合
せ部36により、指定された論理データベース4に属す
るすべての物理データベース1にログインする。すなわ
ち、本実施例13のテーブル位置問合せ部36は、実施
例8のテーブル位置検索部7と同様、あらかじめ、論理
データベース4を構成する全ての物理データベース1
へ、論理データベースディクショナリ8に格納された物
理データベースアカウントを用いたログインを試行して
(S2601〜2604)、指定された論理データベー
ス4を構成する何れかの物理データベース1へのログイ
ンが失敗したことを検知すると、ログイン中の全物理デ
ータベース1からログアウトした後(S2618)、ア
プリケーションプログラム実行手段2に対し論理データ
ベース4へのログインを拒否したことを通知し(S26
19)、処理を終える。全物理データベース1へのログ
インを正常に処理できた場合、テーブル位置問合せ部3
6は、アプリケーションプログラム実行手段2に対し論
理データベース4へのログインを受け付けたことを通知
して(S2605)、制御をテーブル位置抽出部33に
渡す。
【0274】テーブル位置抽出部33は、構文バッファ
6に格納されたテーブルアクセス構文を解析し、テーブ
ル名を表す文字列中にセパレータ(本実施例13では
「#」)が存在するか確認して、セパレータを検出した
場合は、図25に示したように構文バッファ6に保持さ
れた該構文中のテーブル名から物理データベース名とセ
パレータを表す文字列を取り除いた後、テーブル位置問
合せ部36に物理データベース名を通知して、テーブル
位置問合せ部36に制御を渡す(S2606)。テーブ
ル位置問合せ部36は、通知された名称に相当する物理
データベース1へ、構文バッファ6中の処理対象の構文
を転送し(S2617)、その結果をアプリケーション
プログラム実行手段2に通知して(S2613)、次に
処理すべき構文がDISCONNECT構文でなければ、制御をテ
ーブル位置抽出部33に渡して処理をステップS260
6に戻し、次に処理すべき構文がDISCONNECT構文であれ
ば(S2614)、ログインしているすべての物理デー
タベース1からログアウトして(S2615)、処理を
終了する。
【0275】S2606においてセパレータを検出しな
かった場合は、テーブル位置抽出部33は、アクセステ
ーブル比較部34に制御を渡す。アクセステーブル比較
部34は、アクセステーブルバッファ37を参照するこ
とによりテーブル位置を決定する手段である。アクセス
テーブルバッファ37は、テーブル位置検索部7のテー
ブル位置問合せ部36およびシステムカタログ参照部3
5が、以前にアクセスしたテーブルの名称と格納されて
いる物理データベース1の名称とを関連付けて記憶する
領域である。
【0276】制御を渡されたアクセステーブル比較部3
4は、アクセステーブルバッファ37を参照し、構文バ
ッファ6に格納されたテーブルアクセス構文中のテーブ
ル名と一致するものが存在するか確認し、存在する場合
は、アクセステーブルバッファ37からテーブル名に対
応する物理データベース名を取り出し、その名称をテー
ブル位置問合せ部36に通知し、制御をテーブル位置問
合せ部36に渡して、処理を上述のステップS2617
に進める(S2607)。
【0277】S2607において、一致するテーブル名
がアクセステーブルバッファ37に存在しなかった場合
は、アクセステーブル比較部34は、システムカタログ
参照部35に制御を渡す。システムカタログ参照部35
は、システムカタログバッファ38を参照することによ
りテーブル位置を決定する手段である。システムカタロ
グバッファ38は、実施例9と同様のシステムカタログ
機能により作成された論理データベースシステムカタロ
グ24(図13に図示)の情報を記憶する領域であり、
論理データベース4を構成する各物理データベース1に
格納された全テーブルに関して、テーブル名と物理デー
タベース名が関連付けて記憶されている。
【0278】制御を渡されたシステムカタログ参照部3
5は、現在処理中の論理データベース4に関するシステ
ムカタログ24がシステムカタログバッファ38に格納
されているか確認する(S2608)。格納されている
場合、システムカタログ参照部35は、構文バッファ6
に格納されたテーブルアクセス構文中のテーブル名と一
致するものをシステムカタログバッファ38から見つ
け、指定されたテーブル名に対応する物理データベース
名を取り出し、アクセステーブルバッファ37にテーブ
ル名と共に登録して(S2616)、該物理データベー
ス名をテーブル位置問合せ部36に通知し、テーブル位
置問合せ部36に制御を渡して、処理を上述のステップ
S2617へ進める。
【0279】S2608において、現在処理中の論理デ
ータベース4に関するシステムカタログ24がシステム
カタログバッファ38に格納されていなかった場合、シ
ステムカタログ参照部35は、そのままテーブル位置問
合せ部36に制御を渡す。
【0280】制御を渡されたテーブル位置問合せ部36
は、実施例8のテーブル位置検索部の処理S2006〜
S2008と同様に、テーブルアクセス構文を各物理デ
ータベース1へ順次転送し(S2609〜2611)、
アクセス結果によりテーブル位置を決定する。なお、実
施例8では、構文転送(S2006)後、アクセス成功
の通知があると、すぐにテーブル位置検索部7は結果を
アプリケーションプログラム実行手段2へ通知する(S
2009)が、本実施例13のテーブル位置問合せ部3
6は、アクセス成功の通知があると、S2612におい
て、アクセスした物理データベース1の名称とテーブル
名とを、テーブル位置としてアクセステーブルバッファ
37に登録してから、アクセス結果をアプリケーション
プログラム実行手段2へ通知して(S2613)、上述
のステップS2614へ処理を進める。
【0281】(2)looseモードによる自動ログイン処
理(ステップS1907) looseモードによる自動ログイン処理(ステップS19
07)において、本実施例13のテーブル位置検索部7
は、まず、テーブル位置問合せ部36に制御を渡す。テ
ーブル位置問合せ部36は、実施例8のステップS22
01と同様に、アプリケーションプログラム実行手段2
に論理データベース4へのログインを受け付けたことを
通知し(S3401)、制御をテーブル抽出部33に渡
す。
【0282】制御を渡されたテーブル位置抽出部33
は、構文バッファ6に格納されたテーブルアクセス構文
を解析し、テーブル名を表す文字列中にセパレータが存
在するか確認して、セパレータを検出した場合は、図2
5に示したように構文バッファ6に保持された該構文中
のテーブル名から物理データベース名とセパレータを表
す文字列を取り除いた後、テーブル位置問合せ部36に
物理データベース名を通知して、テーブル位置問合せ部
36に制御を渡す(S3402)。テーブル位置問合せ
部36は、通知された名称に相当する物理データベース
1との接続がすでに行なわれているかどうか確認して
(S3418)、接続されていなければ、その物理デー
タベース1にログインした後(S3419)、接続に成
功すれば(S3420)、ログインした物理データベー
ス1へ構文バッファ6中の処理対象の構文を転送する
(S3421)。つぎに、テーブル位置問合せ部36
は、物理データベース1からの処理結果をアプリケーシ
ョンプログラム実行手段2に通知して(S3412)、
次に処理すべき構文がDISCONNECT構文でなければ、制御
をテーブル位置抽出部33に渡して処理をステップS3
402に戻し、次に処理すべき構文がDISCONNECT構文で
あれば(S3413)、ログインしているすべての物理
データベース1からログアウトして(S3414)、処
理を終了する。
【0283】S3402においてセパレータを検出しな
かった場合は、テーブル位置抽出部33は、アクセステ
ーブル比較部34に制御を渡す。アクセステーブル比較
部34は、アクセステーブルバッファ37を参照し、構
文バッファ6に格納されたテーブルアクセス構文中のテ
ーブル名と一致するものが存在するか確認し、存在する
場合は、アクセステーブルバッファ37からテーブル名
に対応する物理データベース名を取り出し、その名称を
テーブル位置問合せ部36に通知し、制御をテーブル位
置問合せ部36に渡して、処理を上述のステップS34
18に進める(S3403)。
【0284】S3403において、一致するテーブル名
がアクセステーブルバッファ37に存在しなかった場合
は、アクセステーブル比較部34は、システムカタログ
参照部35に制御を渡す。システムカタログ参照部35
は、現在処理中の論理データベース4に関するシステム
カタログ24がシステムカタログバッファ38に格納さ
れているか確認する(S3404)。格納されている場
合、システムカタログ参照部35は、構文バッファ6に
格納されたテーブルアクセス構文中のテーブル名と一致
するものをシステムカタログバッファ38から見つけ、
指定されたテーブル名に対応する物理データベース名を
取り出し、アクセステーブルバッファ37に登録して
(S3417)、該物理データベース名をテーブル位置
問合せ部36に通知し、テーブル位置問合せ部36に制
御を渡して、処理を上述のステップS3416へ進め
る。
【0285】S3404において、現在処理中の論理デ
ータベース4に関するシステムカタログ24がシステム
カタログバッファ38に格納されていなかった場合、シ
ステムカタログ参照部35は、そのままテーブル位置問
合せ部36に制御を渡し、処理をステップS3405に
進める。
【0286】制御を渡されたテーブル位置問合せ部36
は、優先順位の高い物理データベースへの接続がすでに
行なわれているかどうか確認して(S3405)、接続
されていなければ、その物理データベース1に、ログイ
ンした後(S3406)、接続に成功すれば(S340
7)、ログインした物理データベース1へ、構文バッフ
ァ6に保持された処理対象の構文を転送する(S340
8)。転送の結果、物理データベース1からアクセス不
可を示す情報を受け取った場合には(S3409)、処
理対象を次に優先順位の高い物理データベース1にし
(S3410)、処理をS3405に戻す。
【0287】転送の結果、アクセスが成功すれば、テー
ブル位置問合せ部36は、アクセスした物理データベー
ス1の名称を、テーブル位置としてアクセステーブルバ
ッファ37に登録してから(S3411)、上述のステ
ップS3412へ処理を進める。
【0288】なお、S3407またはS3420におい
て物理データベース1への接続に失敗した場合、テーブ
ル位置問合せ部36は、実施例8のステップS2211
〜S2212と同様に、ログイン中の全物理データベー
ス1からログアウトした後(S3415)、アプリケー
ションプログラム実行手段2にアクセスに失敗したこと
を通知し(S3416)、処理を終える。
【0289】D.本実施例13の効果 以上に説明したように、本実施例13のテーブル位置検
索部7は、アプリケーションプログラム2が発行したテ
ーブルアクセス構文が、テーブルが格納されている物理
データベース名を明示しているテーブルアクセス構文、
以前にアクセスしたテーブルと同一のテーブルに対する
テーブルアクセス構文、論理データベースシステムカタ
ログ24の作成以降に受け取ったテーブルアクセス構文
の何れかである場合、論理データベース4を構成する各
物理データベース1にテーブルの存否を問い合わせる前
にテーブル位置を判定し、決定した物理データベース1
にテーブルアクセス構文を転送する。これにより、テー
ブル位置検索処理のオーバヘッドを軽減可能である。
【0290】また本実施例13のテーブル位置検索部7
は、アプリケーションプログラム2からテーブルを新た
に生成するCREATE TABLE構文を受けた場合、論理データ
ベース4を構成する物理データベース1の内、最も優先
順位の高い物理データベース1に該構文を転送する。こ
のときテーブル名と、構文を転送した物理データベース
1の名称とを、アクセステーブルバッファ37およびシ
ステムカタログバッファ38に登録するよう制御しても
よい。また本実施例13のテーブル位置検索部7は、ア
プリケーションプログラム2からテーブルを削除するDR
OP TABLE構文を受けた場合、削除対象のテーブルが格納
された物理データベース1に該構文を転送した後、テー
ブル名と構文を転送した物理データベース1の名称と
を、アクセステーブルバッファ37およびシステムカタ
ログバッファ38から削除するよう制御してもよい。以
上のように制御することで、本実施例13のアクセステ
ーブルバッファ37およびシステムカタログ38バッフ
ァに登録されたテーブル位置情報を常に最新に保つこと
ができる。
【0291】なお、本実施例13のテーブル位置検索部
7は、アクセステーブルバッファ37またはシステムカ
タログバッファ38に登録された情報を、論理データベ
ース4からのログアウト毎に消去してもよいし、二次記
憶装置で常にあるいは一定期間保管してもよい。
【0292】(各実施例1〜13の他の態様)以上の各
実施例1〜13において、図3の論理データベース生成
構文14は、論理データベース4を構成する各物理デー
タベース1に関する情報の記述順序が暗黙的に優先順位
を表すものとして説明したが、構文14の物理データベ
ース1に関する情報中に優先順位を記述するパラメータ
を設け、記述順序と関係なく明示的に優先順位値を指定
可能としても良い。また図2、図7、図15、図16の
論理データベース制御ブロック13、17、または1
9、および図9の論理アカウント制御ブロック20は、
物理データベース1に関する情報の格納順序が優先順位
を表すものとして説明したが、各物理データベース1に
関する情報中に優先順位値を記憶する領域を設けても良
い。
【0293】(各実施例1〜13の効果)以上、本発明
の分散データベース管理システムの実施例を説明した。
従来の分散データベース管理システムは、ユーザにより
予め登録されたテーブル位置情報を参照して、アクセス
対象のテーブルが格納された物理データベース1を決定
する。このためディクショナリに登録していないテーブ
ルを、位置透過にアクセスすることはできない。これに
対し上記各実施例1〜13の分散データベース管理シス
テムは、テーブルのアクセス時点で、論理データベース
4を構成する各物理データベース1に対象テーブルの存
否を問い合わせることでテーブル位置を決定する。この
ため、各物理データベース1に格納された全てのテーブ
ルを透過的に扱うことが可能である。
【0294】また、上記各実施例1〜13の分散データ
ベース管理システムによれば、ユーザは、各物理データ
ベース1のアカウントの違いを意識せずに、単一の論理
データベースアカウントを知るだけで、分散データベー
ス環境における所望の物理データベース1にログイン可
能である。
【0295】なお、上記各実施例1〜13の分散データ
ベース管理システムは、論理データベースディクショナ
リ8に記憶した物理データベースアカウントを用いて各
物理データベース1へログインした後、テーブルアクセ
ス構文を発行する。テーブルアクセス構文を受け付けた
物理データベース1を管理する物理データベース管理シ
ステム270は、アクセス対象のテーブルを確認し、さ
らにテーブルに設定された物理データベースユーザのア
クセス権限を検査する。ログインした物理データベース
ユーザに対して該テーブルのアクセス権限が割り当てら
れていない場合、物理データベース1を管理する物理デ
ータベース管理システム270はアクセスを拒否する。
このように本実施例によると、論理データベース4を構
成する物理データベース1に異なるユーザが作成した同
一名称のテーブルが存在しても、自動的にアクセス対象
から除外できる。
【0296】ただし異なるユーザが作成した同一名称の
テーブルでも、テーブルアクセス権限が委譲されると、
1つの論理データベース4内にアクセス可能な同一名称
のテーブルが存在することになる。しかし上記各実施例
1〜13の分散データベース管理システムによると、論
理データベース4を構成する各物理データベース1に優
先順位を付与することで、異なる物理データベース1に
格納された重複名称のテーブルの内、何れのテーブルを
アクセスするか特定することができる。
【0297】また、上記各実施例1〜13の分散データ
ベース管理システムによれば、テーブルに限らず、物理
データベース1に登録された仮想的なテーブルであるビ
ューや長い語句に別名を定義するシノニムに関しても、
格納された物理データベース1を意識せずにアクセスで
きる。
【0298】
【発明の効果】本発明の分散データベース管理システム
によれば、ユーザは、必要最小限の情報を登録するだけ
で、論理データベースを構成する複数の物理データベー
スに格納されたテーブル、および今後新たに格納される
テーブルに関して、テーブル位置およびアカウントを意
識することなく、透過的にアクセスできる。
【図面の簡単な説明】
【図1】 実施例1の分散データベース管理システムの
構成図である。
【図2】 実施例1における論理データベースディクシ
ョナリの構成を示す説明図である。
【図3】 実施例1の論理データベースの定義、変更、
削除に用いられる構文を示す説明図である。
【図4】 実施例1のテーブル位置検索部のデータベー
ス接続構文変換処理を示す説明図である。
【図5】 実施例1のテーブル位置検索部の処理手順を
示すフローチャートである。
【図6】 実施例1においてテーブル位置検索部が交換
する情報のシーケンスを示す図である。
【図7】 実施例2における論理データベースディクシ
ョナリの構成を示す説明図である。
【図8】 実施例3の動作を説明する図である。
【図9】 実施例4における論理データベースディクシ
ョナリの構成を示す説明図である。
【図10】 実施例4の動作を説明する図である。
【図11】 実施例6のパスワード暗号化機能を説明す
る図である。
【図12】 実施例1の分散データベース管理システム
を用いた障害対策を説明する図である。
【図13】 実施例9の分散システムカタログ機能を説
明する図である。
【図14】 実施例10の論理データベースアクセスロ
グバッファの構成を示す説明図である。
【図15】 実施例12におけるビュー情報およびシノ
ニム情報を説明する図である。
【図16】 実施例5の論理データベースディクショナ
リの構成を示す説明図である。
【図17】 実施例5の分散データベースアクセス管理
部の動作を説明する図である。
【図18】 実施例4の論理データベースおよび論理ア
カウントの定義、変更、削除に用いられる構文を示す説
明図である。
【図19】 実施例8のテーブル位置検索部の自動ログ
イン処理全体の手順を示すフローチャートである。
【図20】 実施例8のテーブル位置検索部の、strict
モードの自動ログイン処理の手順を示すフローチャート
である。
【図21】 実施例8におけるstrictモードの自動ログ
イン処理によりテーブル位置検索部が交換する情報のシ
ーケンスを示す図である。
【図22】 実施例8のテーブル位置検索部の、loose
モードの自動ログイン処理の手順を示すフローチャート
である。
【図23】 実施例8におけるlooseモードの自動ログ
イン処理によりテーブル位置検索部が交換する情報のシ
ーケンスを示す図である。
【図24】 実施例13のテーブル位置検索部の構成図
である。
【図25】 実施例13のテーブル位置抽出部によるデ
ータベース接続構文変換処理を示す説明図である。
【図26】 実施例13におけるstrictモードの自動ロ
グイン処理の手順を示すフローチャートである。
【図27】 本発明の分散データベースシステムの適用
されるシステム構成例を示すハードウエア図である。
【図28】 本発明の分散データベースシステムの適用
されるシステム構成例を示すハードウエア構成図であ
る。
【図29】 本発明の分散データベースシステムの適用
されるシステム構成例を示すハードウエア構成図であ
る。
【図30】 実施例4の論理データベース定義部の論理
データベース登録処理の手順を示すフローチャートであ
る。
【図31】 実施例1の論理データベース定義部の論理
データベース登録処理の手順を示すフローチャートであ
る。
【図32】 実施例4の論理データベース定義部の論理
データベース変更処理の手順を示すフローチャートであ
る。
【図33】 実施例4の論理データベース定義部の論理
アカウント制御ブロック変更処理の手順を示すフローチ
ャートである。
【図34】 実施例13におけるlooseモードの自動ロ
グイン処理の手順を示すフローチャートである。
【図35】 実施例11のテーブル位置検索部の処理手
順を示すフローチャートである。
【符号の説明】
1…物理データベース、 2…アプリケーションプログ
ラム、 3…分散データベースアクセス管理部、 4…
論理データベース、 5…データベースインタフェース
部、 6…構文バッファ、 7…テーブル位置検索部、
8…論理データベースディクショナリ、 9…論理デ
ータベース定義部、 10…論理データベースアクセス
制御部、 11…ユーザインタフェース、 12…構文
生成部、13,17…論理データベース制御ブロック、
14…論理データベース生成構文、 15…論理デー
タベース削除構文、 16…論理データベースアクセス
権限委譲構文、 18…論理アカウント制御ブロック、
19…論理データベース制御ブロック、 20…論理
アカウント制御ブロック、 21…暗号化制御部、 2
2…復号化制御部、 23…物理データベースシステム
カタログ、 24…論理データベースシステムカタロ
グ、 25…論理データベースアクセスログバッファ、
26…論理データベース生成構文、 27…論理デー
タベース変更構文、 28…論理データベース削除構
文、 29…論理データベースアクセス権限委譲構文、
30…論理アカウント登録構文、 31…論理アカウ
ント変更構文、 32…論理アカウント削除構文、 3
3…テーブル位置抽出部、 34…アクセステーブル比
較部、 35…システムカタログ参照部、 36…テー
ブル位置問合せ部、 37…アクセステーブルバッフ
ァ、 38…システムカタログバッファ、 39…クラ
イアント、 40…ゲートウェイサーバ、 41…デー
タベースサーバ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 橋本 尚 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 西山 英作 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】テーブルを保持する一以上の物理データベ
    ースに、該物理データベースを管理する物理データベー
    ス管理システムを介して接続され、さらに、該物理デー
    タベースをアクセスするアプリケーションプログラム実
    行手段に接続され、該アプリケーションプログラム実行
    手段の発行した物理データベースをアクセスするための
    アクセス構文を受け付け、上記物理データベースのいず
    れかをアクセス対象として、該物理データベースを管理
    する物理データベース管理システムに該アクセス構文を
    転送する情報処理装置である分散データベース管理シス
    テムにおいて、 上記物理データベースのうちの一以上をグループ化した
    ものである論理データベースに関する情報を保持するた
    めの論理データベースディクショナリと、 上記論理データベースに関する情報を上記論理データベ
    ースディクショナリに登録する論理データベース定義部
    と、 上記アクセス構文を保持するための構文バッファと、 上記アプリケーションプログラム実行手段からのアクセ
    ス構文を受け付け、上記構文バッファに格納する論理デ
    ータベースアクセス制御部と、 上記構文バッファに保持された上記アクセス構文を、上
    記物理データベースのいずれかをアクセス対象として、
    該物理データベースを管理する物理データベース管理シ
    ステムに転送するテーブル位置検索部とを有し、 上記テーブル位置検索部は、 データベースへのログインを指示するアクセス構文を受
    け付けると、接続を指示されたデータベースが上記論理
    データベースとして上記論理データベースディクショナ
    リに登録されていれば、 上記アクセス構文のアクセス対象を、指示された論理デ
    ータベースに属する上記物理データベースのいずれかと
    し、 上記アクセス構文の転送に対して、アクセス不可の応答
    があれば、 上記アクセス構文のアクセス対象を、指示された論理デ
    ータベースに属する他の上記物理データベースのいずれ
    かとして、再度、上記構文バッファに保持された上記ア
    クセス構文を転送する手段を有することを特徴とする分
    散データベース管理システム。
  2. 【請求項2】請求項1において、 前記論理データベースに関する情報は、 前記論理データベースの識別情報と、該論理データベー
    スに属する一以上の物理データベースの各々の識別情報
    と、それらの物理データベースの優先順位とを備え、 前記テーブル位置検索部は、 上記アクセス構文のアクセス対象を、前記論理データベ
    ースディクショナリに保持された、上記指示された論理
    データベースに関する上記情報に含まれる上記物理デー
    タベースの優先順位に従って決定する手段を有すること
    を特徴とする分散データベース管理システム。
  3. 【請求項3】請求項1において、 前記論理データベースに関する情報は、 前記論理データベースの識別情報と、該論理データベー
    スに属する一以上の物理データベースの各々の識別情報
    と、それらの物理データベースの優先順位とを備え、 前記テーブル位置検索部は、 転送の対象である上記アクセス構文が、テーブルの生成
    を指示する構文であるときは、上記アクセス構文のアク
    セス対象を、前記論理データベースディクショナリに保
    持された、上記指示された論理データベースに関する上
    記情報に含まれる上記物理データベースの優先順位に従
    って、最も優先順位の高い上記物理データベースとする
    手段を有することを特徴とする分散データベース管理シ
    ステム。
  4. 【請求項4】請求項1において、 前記論理データベースに関する情報は、 上記論理データベースに対するアクセス権限情報を含
    み、 前記テーブル位置検索部は、 上記アクセス構文の転送に先立ち、前記論理データベー
    スディクショナリの保持する上記アクセス権限情報を用
    いて、該アクセス構文を発行した上記アプリケーション
    プログラム実行手段のアクセス権限を検査し、アクセス
    権限がなければ、該アクセス構文の転送を拒否する手段
    を有することを特徴とする分散データベース管理システ
    ム。
  5. 【請求項5】請求項1において、 前記論理データベースに関する情報は、 前記論理データベースの識別情報と、該論理データベー
    スに属する一以上の前記物理データベースの各々の識別
    情報とを備え、 前記テーブル位置検索部は、 前記転送される前記アクセス構文が、論理データベース
    の識別情報を指定してログインを指示するものであると
    きは、 前記構文バッファに保持されたアクセス構文の、ログイ
    ンの対象である論理データベースの識別情報を、前記決
    定した物理データベースの識別情報に書き換え、 上記書き換えたアクセス構文を、前記決定した物理デー
    タベースをアクセス対象として、該物理データベースを
    管理する物理データベース管理システムへ転送する手段
    を有することを特徴とする分散データベース管理システ
    ム。
  6. 【請求項6】請求項5において、 前記論理データベースに関する情報は、 該論理データベースへのアクセスを許される一以上のユ
    ーザの識別子およびパスワードを備える、一以上の論理
    データベースアカウントを、さらに備え、 前記テーブル位置検索部は、 前記アクセス構文の転送に先立ち、該アクセス構文中に
    記述された論理データベースアカウントが、前記論理デ
    ータベースディクショナリの保持する上記論理データベ
    ースアカウントのいずれかと一致するかどうか検査し、
    一致しなければ、前記構文転送を拒否する手段を有する
    ことを特徴とする分散データベース管理システム。
  7. 【請求項7】請求項5において、 前記論理データベースに関する情報は、 前記物理データベースの各々の識別情報に対応して、該
    物理データベースへのアクセスを許されるユーザの識別
    子およびパスワードを備える物理データベースアカウン
    トを、さらに備え、 前記テーブル位置検索部は、 前記転送される前記アクセス構文が、データベースへの
    ログインを指示するものであるときは、 前記構文転送前に、前記構文バッファに保持されたアク
    セス構文の論理データベースの論理データベースアカウ
    ントを、前記論理データベースディクショナリの保持す
    る上記物理データベースアカウントに書き換える手段
    を、さらに有することを特徴とする分散データベース管
    理システム。
  8. 【請求項8】請求項6において、 前記論理データベースに関する情報は、 前記物理データベースの各々の識別情報に対応して、該
    物理データベースへのアクセスを許されるユーザの識別
    子およびパスワードを備える物理データベースアカウン
    トを、さらに備え、 前記テーブル位置検索部は、 前記転送される前記アクセス構文が、データベースへの
    ログインを指示するものであるときは、 前記構文転送前に、前記構文バッファに保持されたアク
    セス構文の論理データベースアカウントを、前記論理デ
    ータベースディクショナリの保持する上記物理データベ
    ースアカウントに書き換える物理データベースアカウン
    ト書き換え手段を、さらに有することを特徴とする分散
    データベース管理システム。
  9. 【請求項9】請求項8において、 前記論理データベースディクショナリは、 上記論理データベースに関する情報の格納領域として、
    論理データベース制御ブロックと、論理アカウント制御
    ブロックとを備え、 上記論理データベース制御ブロックは、上記論理データ
    ベースごとに備えられ、少なくとも、該論理データベー
    スの識別情報と、該論理データベースに属する一以上の
    物理データベースの識別情報とを保持し、 上記論理アカウント制御ブロックは、前記論理データベ
    ースアカウントごとに備えられ、少なくとも、該論理デ
    ータベースアカウントによりアクセスを許される上記論
    理データベースに属する上記物理データベースの識別情
    報と、該物理データベースへのアクセスを許されるユー
    ザの識別子およびパスワードを備える物理データベース
    アカウントとを保持し、 前記テーブル位置検索部は、 前記アクセス構文に、上記論理データベースの識別情報
    と、上記論理データベースアカウントが記述されていれ
    ば、 前記アクセス対象を、上記記述された論理データベース
    識別情報を保持する上記論理データベース制御ブロック
    と、上記記述された論理アカウントを保持する上記論理
    アカウント制御ブロックとに共通して保持されている物
    理データベース識別情報の示す物理データベースとする
    手段を有することを特徴とする分散データベース管理シ
    ステム。
  10. 【請求項10】請求項8において、 前記論理データベース定義部は、 前記論理データベースに関する情報を上記論理データベ
    ースに登録する際、 前記論理データベースアカウントの入力を受け付け、該
    論理データベースアカウントをキーとして用いて、上記
    情報に含まれる物理データベースアカウントを暗号化し
    て、上記論理データベースディクショナリに格納する手
    段を有し、 前記テーブル位置検索部の物理データベースアカウント
    書き換え手段は、 前記論理データベースアカウントの入力を受け付け、転
    送対象として決定された物理データベースの識別情報に
    対応して前記論理データベースディクショナリに保持さ
    れている、暗号化された物理データベースアカウント
    を、前記入力された論理データベースアカウントをキー
    として用いて、復号化し、前記論理データベースアカウ
    ントの書き換えに用いる手段を有することを特徴とする
    分散データベース管理システム。
  11. 【請求項11】請求項10において、 前記テーブル位置検索部は、 前記論理データベースディクショナリに格納された物理
    データベースアカウントの復号化が失敗すると、前記ア
    クセス構文の転送を拒否する手段を有することを特徴と
    する分散データベース管理システム。
  12. 【請求項12】請求項1において、 前記テーブル位置検索部は、 前記転送対象のアクセス構文が、前記論理データベース
    を指定してシステムカタログの参照を指示するものであ
    るとき、 上記指定された論理データベースに属する一以上の物理
    データベースのそれぞれをアクセス対象として上記アク
    セス構文を該物理データベースを管理する物理データベ
    ース管理システムに転送し、該転送に対する応答として
    入力された各物理データベースのシステムカタログ情報
    を1つに結合してテーブルを作成し、該テーブルの内容
    を、上記アクセス構文を発行した前記アプリケーション
    プログラム実行手段に通知する手段を有することを特徴
    とする分散データベース管理システム。
  13. 【請求項13】請求項1において、 前記論理データベースごとに、該論理データベースへの
    アクセスに関するログ情報を保持するためのログ情報保
    存領域を、さらに有し、 前記テーブル位置検索部は、 実行した論理データベースアクセスに関するログ情報を
    上記ログ情報保存領域に格納する手段と、 前記アプリケーションプログラム実行手段からの要求に
    応じて、前記ログ情報保存領域に保持された情報を通知
    する手段とを有することを特徴とする分散データベース
    管理システム。
  14. 【請求項14】請求項13において、 前記ログ情報は、アクセス対象の、前記論理データベー
    スの識別情報、前記物理データベースの識別情報、およ
    び、テーブルの識別情報と、前記受け付けたアクセス構
    文に記述されていた論理データベースのユーザの識別子
    と、前記転送したアクセス構文に記述した物理データベ
    ースのユーザの識別子とのうちの、少なくともいずれか
    を含むことを特徴とする分散データベース管理システ
    ム。
  15. 【請求項15】請求項1において、 前記テーブル位置検索部は、 前記アクセス構文がテーブルの指定を含むとき、該アク
    セス構文の転送前に、該テーブルを保持する前記物理デ
    ータベースをあらかじめ予測し、上記アクセス構文のア
    クセス対象を、上記予測した物理データベースとするテ
    ーブル位置予測手段を有することを特徴とする分散デー
    タベース管理システム。
  16. 【請求項16】請求項15において、 前記テーブル位置予測手段は、 前記アクセス構文から、該アクセス構文にあらかじめ記
    述された物理データベース識別情報を抽出して、該物理
    データベース識別情報の示す前記物理データベースを、
    アクセス対象とする手段であることを特徴とする分散デ
    ータベース管理システム。
  17. 【請求項17】請求項15において、 前記物理データベースの識別情報と、該物理データベー
    スの保持するテーブルの識別情報とを、対応付けて保持
    するためのアクセステーブルバッファをさらに備え、 前記テーブル位置予測手段は、 上記アクセステーブルバッファ内で、前記指定されたテ
    ーブルの識別情報を検索し、該テーブル識別情報に対応
    する物理データベースを検出して、該物理データベース
    をアクセス対象とする手段であり、 前記テーブル位置検索部は、 前記テーブルを指定したアクセス構文を転送により、ア
    クセス対象として決定した上記物理データベースの識別
    情報と、上記指定されたテーブルの識別情報とを、上記
    アクセステーブルバッファに格納する手段を、さらに有
    することを特徴とする分散データベース管理システム。
  18. 【請求項18】請求項15において、 前記論理データベースの識別情報と、該論理データベー
    スに属する物理データベースの識別情報と、該物理デー
    タベースの保持するテーブルの識別情報とを、対応付け
    て保持するためのシステムカタログバッファをさらに備
    え、 前記テーブル位置検索部は、 前記転送対象のアクセス構文が、前記論理データベース
    を指定してシステムカタログの参照を指示するものであ
    るとき、 上記指定された論理データベースに属する一以上の物理
    データベースのそれぞれをアクセス対象として該物理デ
    ータベースを管理する物理データベース管理システムに
    対して上記アクセス構文を転送し、 該転送に対する応答として入力された各物理データベー
    スのシステムカタログ情報を1つに結合して、論理デー
    タベースの識別情報と、該論理データベースに属する物
    理データベースの識別情報と、該物理データベースの保
    持するテーブルの識別情報とを備えるテーブルを作成
    し、該テーブルの内容を、上記アクセス構文を発行した
    前記アプリケーションプログラム実行手段に通知し、該
    テーブルの内容を上記システムカタログバッファに格納
    する手段を、さらに有し、 前記テーブル位置予測手段は、 上記システムカタログテーブルバッファ内で、前記指定
    されたテーブルの識別情報を検索し、該テーブル識別情
    報に対応する物理データベースを検出して、該物理デー
    タベースをアクセス対象とする手段であることを特徴と
    する分散データベース管理システム。
  19. 【請求項19】請求項18において、 前記物理データベースの識別情報と、該物理データベー
    スの保持するテーブルの識別情報と、対応付けて保持す
    るためのアクセステーブルバッファをさらに備え、 前記テーブル位置検索部は、 前記テーブルを指定したアクセス構文を転送すると、該
    転送のアクセス対象の上記物理データベースの識別情報
    と、上記指定されたテーブルの識別情報とを、上記アク
    セステーブルバッファに格納する手段を、さらに有する
    ことを特徴とする分散データベース管理システム。
  20. 【請求項20】請求項5において、 前記論理データベースディクショナリは、 前記論理データベースに関する情報の格納領域として、 上記論理データベースごとに、少なくとも、該論理デー
    タベースの識別情報と、該論理データベースに属する一
    以上の物理データベースの識別情報とを保持する論理デ
    ータベース制御ブロックを備え、 前記テーブル位置検索部は、 前記論理データベースの識別情報の書き換えは、 前記指定された論理データベースの識別情報を保持する
    上記論理データベース制御ブロックに保持された物理デ
    ータベース識別情報のうちの、アクセス対象として決定
    された物理データベースの識別情報に書き換えることで
    あることを特徴とする分散データベース管理システム。
  21. 【請求項21】請求項8において、 前記論理データベースディクショナリは、 上記論理データベースに関する情報の、前記物理データ
    ベースアカウントの格納領域として、 前記論理データベースアカウントごとに、少なくとも、
    該論理データベースアカウントによりアクセスを許され
    る上記論理データベースに属する上記物理データベース
    の識別情報と、該物理データベースの物理データベース
    アカウントとを保持する論理アカウント制御ブロックを
    備え、 前記データベースアカウントの書き換えは、 前記アクセス構文に、上記論理データベースアカウント
    が記述されていれば、 前記構文バッファに保持されたアクセス構文の、上記論
    理データベースのアカウントを、該記述された論理デー
    タベースアカウントを保持する上記論理アカウント制御
    ブロックに保持された物理データベースアカウントのう
    ちの、アクセス対象として決定された物理データベース
    識別情報に対応するものに書き換えることであることを
    特徴とする分散データベース管理システム。
  22. 【請求項22】請求項20において、 前記テーブル位置検索部は、 前記記述された論理データベース識別情報を保持する上
    記論理データベース制御ブロックが、前記論理データベ
    ースディクショナリ内に存在しないときは、 前記論理データベース識別情報の書き換えを行なわずに
    転送する手段を有することを特徴とする分散データベー
    ス管理システム。
  23. 【請求項23】請求項21において、 前記テーブル位置検索部は、 前記記述された論理データベースアカウントを保持する
    上記論理アカウント制御ブロックが、前記論理データベ
    ースディクショナリ内に存在しないときは、 前記論理データベースアカウントの書き換えを行なわず
    に転送する手段を有することを特徴とする分散データベ
    ース管理システム。
  24. 【請求項24】テーブルを保持する一以上の物理データ
    ベースに、該物理データベースを管理する物理データベ
    ース管理システムを介して接続され、さらに、該物理デ
    ータベースをアクセスするアプリケーションプログラム
    実行手段に接続され、該アプリケーションプログラム実
    行手段の発行した物理データベースをアクセスするため
    のアクセス構文を受け付け、上記物理データベースのい
    ずれかをアクセス対象として、該物理データベースを管
    理する物理データベース管理システムに該アクセス構文
    を転送する情報処理装置である分散データベース管理シ
    ステムにおいて、 上記物理データベースのうちの一以上をグループ化した
    ものである論理データベースに関する情報を保持するた
    めの論理データベースディクショナリと、 上記論理データベースに関する情報を上記論理データベ
    ースディクショナリに登録する論理データベース定義部
    と、 上記アクセス構文を保持するための構文バッファと、 上記アプリケーションプログラム実行手段からのアクセ
    ス構文を受け付け、上記構文バッファに格納する論理デ
    ータベースアクセス制御部と、 上記構文バッファに保持された上記アクセス構文を、上
    記物理データベースのいずれかをアクセス対象として、
    該物理データベースを管理する物理データベース管理シ
    ステムに転送するテーブル位置検索部とを有し、 上記テーブル位置検索部は、 物理データベースへのログインを指示するアクセス構文
    を受け付けると、 前記構文バッファに保持された処理対象のアクセス構文
    が、複数のテーブルの指定を含んでいれば、該アクセス
    構文に指定された個々のテーブルをひとつずつ指定し
    た、該アクセス構文と同様の操作を指示するアクセス構
    文を作成し、 上記アクセス対象を、指示された論理データベースに属
    する上記物理データベースのいずれかとして、上記作成
    したアクセス構文をそれぞれ転送し、 上記転送に対する応答を結合して新たにテーブルを作成
    し、 上記作成したテーブルの内容を、上記アクセス構文を発
    行した前記アプリケーションプログラム実行手段へ通知
    する手段を有することを特徴とする分散データベース管
    理システム。
  25. 【請求項25】請求項1において、 前記テーブル位置検索部は、 前記構文バッファに保持された処理対象のアクセス構文
    が、複数のテーブルの指定を含んでいれば、該アクセス
    構文を基に、該アクセス構文に指定された個々のテーブ
    ルをひとつずつ指定した、該アクセス構文と同様の操作
    を指示する新たなアクセス構文を作成し、それぞれ前記
    転送の処理対象とする手段と、 上記新たなアクセス構文の転送それぞれに対する応答を
    ひとつに結合して、テーブルを作成し、該作成したテー
    ブルの内容を、上記アクセス構文を発行した前記アプリ
    ケーションプログラム実行手段へ通知する手段とを、さ
    らに有することを特徴とする分散データベース管理シス
    テム。
  26. 【請求項26】請求項21において、 前記テーブル位置検索部は、 前記記述された論理データベースアカウントを保持する
    前記論理アカウント制御ブロックに、アクセス対象とし
    て決定された物理データベースアカウントが存在しない
    ときは、前記論理データベースアカウントの書き換えを
    行なわずに、アクセス構文を転送する手段を、さらに有
    することを特徴とする分散データベース管理システム。
JP6118517A 1993-08-05 1994-05-31 分散データベース管理システム Pending JPH0798669A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6118517A JPH0798669A (ja) 1993-08-05 1994-05-31 分散データベース管理システム
US08/285,534 US6457007B1 (en) 1993-08-05 1994-08-05 Distributed database management system including logical database constituted by a group of physical databases

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-194470 1993-08-05
JP19447093 1993-08-05
JP6118517A JPH0798669A (ja) 1993-08-05 1994-05-31 分散データベース管理システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP11257395A Division JP2000082080A (ja) 1993-08-05 1999-09-10 分散デ―タベ―ス管理システム

Publications (1)

Publication Number Publication Date
JPH0798669A true JPH0798669A (ja) 1995-04-11

Family

ID=26456440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6118517A Pending JPH0798669A (ja) 1993-08-05 1994-05-31 分散データベース管理システム

Country Status (2)

Country Link
US (1) US6457007B1 (ja)
JP (1) JPH0798669A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286960A (ja) * 1995-04-19 1996-11-01 Nec Corp 分散データベース問い合わせ方式
JPH1063670A (ja) * 1996-08-16 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> 文書検索システム
JPH10116293A (ja) * 1996-10-11 1998-05-06 Mitsubishi Electric Corp 分散型データベース管理システム
JPH10161962A (ja) * 1996-03-05 1998-06-19 Digital Vision Lab:Kk マルチメディアネットワークシステムおよびその通信方法
JPH10241290A (ja) * 1997-02-24 1998-09-11 Victor Co Of Japan Ltd 情報再生方法及び装置
JP2000311140A (ja) * 1999-04-27 2000-11-07 Nec Corp リソース管理装置及びプログラムを記録した機械読み取り可能な記録媒体
JP2001188699A (ja) * 1999-12-28 2001-07-10 Ibm Japan Ltd アクセス制御機構を備えたデータ処理システム
JP2001216329A (ja) * 2000-02-04 2001-08-10 Ntt Docomo Inc データベースシステム及びその構成方法
JP2002132555A (ja) * 2000-10-19 2002-05-10 Nec Corp データベースアクセス方式,方法,および記録媒体
WO2002091236A1 (fr) * 2001-05-07 2002-11-14 I-Ze Communications, Inc. Systeme d'integration de bases de donnees
WO2003062994A1 (fr) * 2002-01-23 2003-07-31 Fujitsu Limited Dispositif, procede et programme de partage d'informations
EP1405217A1 (en) * 2001-06-14 2004-04-07 Ubs Ag A flexible virtual database system including a hierarchical application parameter repository
US9164253B2 (en) 2012-03-08 2015-10-20 Fujifilm Corporation Composite molded lens and method for producing the same

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937312B1 (en) * 1995-04-26 2011-05-03 Ebay Inc. Facilitating electronic commerce transactions through binding offers
WO1999049394A1 (en) 1998-03-23 1999-09-30 Microsoft Corporation Application program interfaces in an operating system
JP2000082064A (ja) * 1998-09-04 2000-03-21 Casio Comput Co Ltd データアクセス装置
US7673323B1 (en) 1998-10-28 2010-03-02 Bea Systems, Inc. System and method for maintaining security in a distributed computer network
US6158010A (en) * 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US6823348B2 (en) * 1999-01-29 2004-11-23 International Business Machines Corporation File manager for storing several versions of a file
JP2000268014A (ja) * 1999-03-16 2000-09-29 Hitachi Ltd 分散システム制御方法及びその実施装置
US6754661B1 (en) * 1999-07-13 2004-06-22 Microsoft Corporation Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems
US8335775B1 (en) 1999-08-05 2012-12-18 Oracle International Corporation Versioning in internet file system
US6847959B1 (en) * 2000-01-05 2005-01-25 Apple Computer, Inc. Universal interface for retrieval of information in a computer system
JP3844933B2 (ja) * 2000-02-16 2006-11-15 株式会社日立製作所 データベースサーバ処理方法
GB2366051B (en) * 2000-05-02 2005-01-05 Ibm Method, system and program product for private data access or use based on related public data
AR028459A1 (es) * 2000-05-18 2003-05-07 Nagravision Sa Metodo de gestion de bases de datos distribuidas
US7702913B2 (en) * 2000-08-10 2010-04-20 Shield Security Systems, Llc Interactive security control system with real time activity reports
US7844823B2 (en) * 2000-08-10 2010-11-30 Shield Security Systems, Llc Interactive security control system with conflict checking
US7120935B2 (en) * 2000-08-10 2006-10-10 Shield Security Systems, Llc Interactive key control system and method of managing access to secured locations
US7536686B2 (en) * 2000-09-08 2009-05-19 Oracle International Corporation Techniques for automatically installing and configuring database applications
JP4497691B2 (ja) * 2000-09-27 2010-07-07 株式会社日立製作所 データベース管理方法及び管理システム
US7051069B2 (en) * 2000-09-28 2006-05-23 Bea Systems, Inc. System for managing logical process flow in an online environment
US6804680B2 (en) * 2001-02-09 2004-10-12 Hewlett-Packard Development Company, L.P. Extensible database
EP1381979A4 (en) * 2001-03-30 2005-01-26 Goldman Sachs & Co PROCESS AND SYSTEM FOR PROCESSING INQUIRIES REQUIRING COORDINATED ACCESS TO DISTRIBUTED DATABASES
US7499948B2 (en) 2001-04-16 2009-03-03 Bea Systems, Inc. System and method for web-based personalization and ecommerce management
US7392546B2 (en) 2001-06-11 2008-06-24 Bea Systems, Inc. System and method for server security and entitlement processing
US6938031B1 (en) * 2001-10-19 2005-08-30 Data Return Llc System and method for accessing information in a replicated database
US7472342B2 (en) 2001-10-24 2008-12-30 Bea Systems, Inc. System and method for portal page layout
JP2003162439A (ja) * 2001-11-22 2003-06-06 Hitachi Ltd ストレージシステム及びその制御方法
US7350226B2 (en) 2001-12-13 2008-03-25 Bea Systems, Inc. System and method for analyzing security policies in a distributed computer network
US20030145012A1 (en) * 2002-01-31 2003-07-31 Kurth Hugh R. Shared resource virtual queues
US6985904B1 (en) * 2002-02-28 2006-01-10 Oracle International Corporation Systems and methods for sharing of execution plans for similar database statements
US7725560B2 (en) 2002-05-01 2010-05-25 Bea Systems Inc. Web service-enabled portlet wizard
WO2003093964A1 (en) 2002-05-01 2003-11-13 Bea Systems, Inc. Enterprise application platform
US7092931B1 (en) 2002-05-10 2006-08-15 Oracle Corporation Methods and systems for database statement execution plan optimization
US7577580B2 (en) * 2002-08-19 2009-08-18 Ims Software Services Ltd. System and method for providing pharmaceutical data in a secure and affordable manner
US7591000B2 (en) 2003-02-14 2009-09-15 Oracle International Corporation System and method for hierarchical role-based entitlements
US7486649B2 (en) * 2003-02-14 2009-02-03 Marsico Robert G Telephone management system and method
US8831966B2 (en) 2003-02-14 2014-09-09 Oracle International Corporation Method for delegated administration
US20040205244A1 (en) 2003-02-14 2004-10-14 Marsico Robert G. Network device management
US7653930B2 (en) * 2003-02-14 2010-01-26 Bea Systems, Inc. Method for role and resource policy management optimization
US7171194B2 (en) * 2003-02-14 2007-01-30 Maxon, Llc Network device management
US20040167880A1 (en) * 2003-02-20 2004-08-26 Bea Systems, Inc. System and method for searching a virtual repository content
US7562298B2 (en) 2003-02-20 2009-07-14 Bea Systems, Inc. Virtual content repository browser
US7293286B2 (en) 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US7483904B2 (en) 2003-02-20 2009-01-27 Bea Systems, Inc. Virtual repository content model
US7840614B2 (en) 2003-02-20 2010-11-23 Bea Systems, Inc. Virtual content repository application program interface
US7415478B2 (en) 2003-02-20 2008-08-19 Bea Systems, Inc. Virtual repository complex content model
US7810036B2 (en) 2003-02-28 2010-10-05 Bea Systems, Inc. Systems and methods for personalizing a portal
US7457828B2 (en) * 2003-08-29 2008-11-25 Sap Ag System and method for synchronizing distributed buffers when committing data to a database
US20050262362A1 (en) * 2003-10-10 2005-11-24 Bea Systems, Inc. Distributed security system policies
US7774601B2 (en) 2004-04-06 2010-08-10 Bea Systems, Inc. Method for delegated administration
US7246138B2 (en) * 2004-04-13 2007-07-17 Bea Systems, Inc. System and method for content lifecycles in a virtual content repository that integrates a plurality of content repositories
US7236975B2 (en) * 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for controlling access to anode in a virtual content repository that integrates a plurality of content repositories
US7475091B2 (en) * 2004-04-13 2009-01-06 Bea Systems, Inc. System and method for viewing a virtual content repository
US20050251512A1 (en) * 2004-04-13 2005-11-10 Bea Systems, Inc. System and method for searching a virtual content repository
US20050240714A1 (en) * 2004-04-13 2005-10-27 Bea Systems, Inc. System and method for virtual content repository deployment
US7580953B2 (en) * 2004-04-13 2009-08-25 Bea Systems, Inc. System and method for schema lifecycles in a virtual content repository that integrates a plurality of content repositories
US7236990B2 (en) 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for information lifecycle workflow integration
US7240076B2 (en) * 2004-04-13 2007-07-03 Bea Systems, Inc. System and method for providing a lifecycle for information in a virtual content repository
US7236989B2 (en) 2004-04-13 2007-06-26 Bea Systems, Inc. System and method for providing lifecycles for custom content in a virtual content repository
US7849106B1 (en) 2004-12-03 2010-12-07 Oracle International Corporation Efficient mechanism to support user defined resource metadata in a database repository
US8131766B2 (en) 2004-12-15 2012-03-06 Oracle International Corporation Comprehensive framework to integrate business logic into a repository
US7921076B2 (en) 2004-12-15 2011-04-05 Oracle International Corporation Performing an action in response to a file system event
US7716260B2 (en) 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US7548918B2 (en) 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7627574B2 (en) 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7840010B2 (en) * 2004-12-21 2010-11-23 Shield Security Systems, Llc Interactive security control system with conflict checking
US20060268758A1 (en) * 2005-04-28 2006-11-30 Shield Security Systems, L.L.C. Interactive security control system with audit capabilities
US7743255B2 (en) * 2005-06-17 2010-06-22 Tanmoy Dutta Trust model for a database management system supporting multiple authorization domains
US7747597B2 (en) * 2005-06-29 2010-06-29 Microsoft Corporation Security execution context for a database management system
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
US7653630B2 (en) * 2005-08-24 2010-01-26 Oracle International Corporation Method and apparatus for facilitating privileged object stores in a database
US7953734B2 (en) 2005-09-26 2011-05-31 Oracle International Corporation System and method for providing SPI extensions for content management system
US7917537B2 (en) 2005-09-26 2011-03-29 Oracle International Corporation System and method for providing link property types for content management
US7752205B2 (en) 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US7818344B2 (en) 2005-09-26 2010-10-19 Bea Systems, Inc. System and method for providing nested types for content management
US8356053B2 (en) 2005-10-20 2013-01-15 Oracle International Corporation Managing relationships between resources stored within a repository
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
US20070156752A1 (en) * 2005-12-30 2007-07-05 Ralf Becker Systems and methods for data retrieval and data maintenance for business (sub)objects
US7650367B2 (en) * 2006-01-13 2010-01-19 Tekelec Methods, systems, and computer program products for detecting and restoring missing or corrupted data in a distributed, scalable, redundant measurement platform database
US20070214491A1 (en) * 2006-03-07 2007-09-13 Shield Security Systems, L.L.C. Interactive security control system and method with automated order submission and approval process
US8463852B2 (en) 2006-10-06 2013-06-11 Oracle International Corporation Groupware portlets for integrating a portal with groupware systems
US9183321B2 (en) 2006-10-16 2015-11-10 Oracle International Corporation Managing compound XML documents in a repository
US7827177B2 (en) * 2006-10-16 2010-11-02 Oracle International Corporation Managing compound XML documents in a repository
US7620526B2 (en) * 2006-10-25 2009-11-17 Zeugma Systems Inc. Technique for accessing a database of serializable objects using field values corresponding to fields of an object marked with the same index value
US7761485B2 (en) * 2006-10-25 2010-07-20 Zeugma Systems Inc. Distributed database
US8150870B1 (en) * 2006-12-22 2012-04-03 Amazon Technologies, Inc. Scalable partitioning in a multilayered data service framework
US8458166B2 (en) * 2008-10-09 2013-06-04 International Business Machines Corporation Dynamic context definitions in distributed databases
US8285710B2 (en) 2008-10-09 2012-10-09 International Business Machines Corporation Automated query path reporting in distributed databases
US8145652B2 (en) 2008-10-09 2012-03-27 International Business Machines Corporation Automated propagation of non-conflicting queries in distributed databases
US8458208B2 (en) * 2008-10-09 2013-06-04 International Business Machines Corporation Automated data source assurance in distributed databases
US9183260B2 (en) 2008-10-09 2015-11-10 International Business Machines Corporation Node-level sub-queries in distributed databases
US8301583B2 (en) * 2008-10-09 2012-10-30 International Business Machines Corporation Automated data conversion and route tracking in distributed databases
US8364722B2 (en) * 2010-01-19 2013-01-29 Microsoft Corporation Hosting multiple logical databases contained in physical database
TWI474700B (zh) * 2011-10-06 2015-02-21 Hope Bay Technologies Inc 網路位址自動分配方法及其所適用之資料中心
US9015798B1 (en) * 2012-02-16 2015-04-21 Google Inc. User authentication using pointing device
US9390154B1 (en) 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US10747753B2 (en) 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
PT3539026T (pt) 2016-11-10 2022-03-08 Swirlds Inc Métodos e aparelhos para uma base de dados distribuída que inclui entradas anónimas
KR102454779B1 (ko) 2016-12-19 2022-10-13 스월즈, 인크. 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치
KR102208336B1 (ko) * 2017-07-11 2021-01-27 스월즈, 인크. 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
US10698883B2 (en) 2017-10-25 2020-06-30 International Business Machines Corporation Data coherency between trusted DBMS and untrusted DBMS
US10540356B2 (en) * 2017-10-25 2020-01-21 International Business Machines Corporation Transparent analytical query accelerator over encrypted data
SG10202107812YA (en) 2017-11-01 2021-09-29 Swirlds Inc Methods and apparatus for efficiently implementing a fast-copyable database
AU2020279389A1 (en) 2019-05-22 2021-10-14 Hedera Hashgraph, Llc Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
CN113434535B (zh) * 2021-08-25 2022-03-08 阿里云计算有限公司 数据处理方法、通信系统、设备、产品及存储介质
US11669630B1 (en) * 2022-09-30 2023-06-06 Snowflake Inc. Background service to generate data dictionary metadata

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5247575A (en) * 1988-08-16 1993-09-21 Sprague Peter J Information distribution system
US5181238A (en) * 1989-05-31 1993-01-19 At&T Bell Laboratories Authenticated communications access service
AU631276B2 (en) * 1989-12-22 1992-11-19 Bull Hn Information Systems Inc. Name resolution in a directory database
US5426747A (en) * 1991-03-22 1995-06-20 Object Design, Inc. Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system
US5412806A (en) * 1992-08-20 1995-05-02 Hewlett-Packard Company Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database
AU681433B2 (en) * 1993-08-03 1997-08-28 Sun Microsystems, Inc. Flexible multi-platform partitioning for computer applications

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08286960A (ja) * 1995-04-19 1996-11-01 Nec Corp 分散データベース問い合わせ方式
JPH10161962A (ja) * 1996-03-05 1998-06-19 Digital Vision Lab:Kk マルチメディアネットワークシステムおよびその通信方法
JPH1063670A (ja) * 1996-08-16 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> 文書検索システム
JPH10116293A (ja) * 1996-10-11 1998-05-06 Mitsubishi Electric Corp 分散型データベース管理システム
JPH10241290A (ja) * 1997-02-24 1998-09-11 Victor Co Of Japan Ltd 情報再生方法及び装置
JP2000311140A (ja) * 1999-04-27 2000-11-07 Nec Corp リソース管理装置及びプログラムを記録した機械読み取り可能な記録媒体
US6928439B2 (en) 1999-12-28 2005-08-09 International Business Machines Corporation Computer system with access control mechanism
JP2001188699A (ja) * 1999-12-28 2001-07-10 Ibm Japan Ltd アクセス制御機構を備えたデータ処理システム
JP2001216329A (ja) * 2000-02-04 2001-08-10 Ntt Docomo Inc データベースシステム及びその構成方法
JP2002132555A (ja) * 2000-10-19 2002-05-10 Nec Corp データベースアクセス方式,方法,および記録媒体
WO2002091236A1 (fr) * 2001-05-07 2002-11-14 I-Ze Communications, Inc. Systeme d'integration de bases de donnees
EP1405217A1 (en) * 2001-06-14 2004-04-07 Ubs Ag A flexible virtual database system including a hierarchical application parameter repository
EP1405217A4 (en) * 2001-06-14 2007-07-11 Ubs Ag FLEXIBLE VIRTUAL DATABASE SYSTEM WITH A HIERARCHIC APPLICATION PARAMETER BEARING
WO2003062994A1 (fr) * 2002-01-23 2003-07-31 Fujitsu Limited Dispositif, procede et programme de partage d'informations
JPWO2003062994A1 (ja) * 2002-01-23 2005-05-26 富士通株式会社 情報共有装置、情報共有方法および情報共有プログラム
US9164253B2 (en) 2012-03-08 2015-10-20 Fujifilm Corporation Composite molded lens and method for producing the same

Also Published As

Publication number Publication date
US6457007B1 (en) 2002-09-24

Similar Documents

Publication Publication Date Title
JPH0798669A (ja) 分散データベース管理システム
JP3426091B2 (ja) パスワード同期を与えるシステム
JP3696639B2 (ja) ディレクトリサービスのファイルシステムサービスとの統一
US5838903A (en) Configurable password integrity servers for use in a shared resource environment
US6275939B1 (en) System and method for securely accessing a database from a remote location
US7865537B2 (en) File sharing system and file sharing method
JP4130684B2 (ja) データベースへのアクセスを制御するための方法及び装置
US7167982B2 (en) Securing decrypted files in a shared environment
US7080224B2 (en) Data processing method with restricted data arrangement, storage area management method, and data processing system
CN100511203C (zh) 数据库访问控制方法、控制装置及代理处理服务器装置
EP0501701A2 (en) Data library system
CN108280367A (zh) 数据操作权限的管理方法、装置、计算设备及存储介质
US20030204752A1 (en) System and method for securely accessing a database from a remote location
US20030005333A1 (en) System and method for access control
JP6573044B1 (ja) データ管理システム
CN103095720B (zh) 一种基于会话管理服务器的云存储系统的安全管理方法
US11228597B2 (en) Providing control to tenants over user access of content hosted in cloud infrastructures
JP2003280990A (ja) 文書処理装置及び文書を管理するためのコンピュータプログラム
JPH05250247A (ja) アクセスの制御方法及びデータ処理装置
US20110161370A1 (en) Apparatus, program, and method for file management
WO2016054498A1 (en) Securing a distributed file system
US6697811B2 (en) Method and system for information management and distribution
JP2002297606A (ja) 問合せ内容を隠蔽可能なデータベースのアクセス方法およびシステム
KR100218623B1 (ko) 네트워크 시스템 서버, 패스워드 동기 제공 방법, 컴퓨터 프로그램 제품 및 패스워드 구성 체크 수행 방법
JP2000082080A (ja) 分散デ―タベ―ス管理システム