JP3777666B2 - データベース処理方法およびシステム - Google Patents

データベース処理方法およびシステム Download PDF

Info

Publication number
JP3777666B2
JP3777666B2 JP22640796A JP22640796A JP3777666B2 JP 3777666 B2 JP3777666 B2 JP 3777666B2 JP 22640796 A JP22640796 A JP 22640796A JP 22640796 A JP22640796 A JP 22640796A JP 3777666 B2 JP3777666 B2 JP 3777666B2
Authority
JP
Japan
Prior art keywords
module
information
user
database
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP22640796A
Other languages
English (en)
Other versions
JPH1069489A (ja
Inventor
憲宏 原
洋一 山本
挙 小林
正士 土田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP22640796A priority Critical patent/JP3777666B2/ja
Priority to US08/917,711 priority patent/US5930800A/en
Publication of JPH1069489A publication Critical patent/JPH1069489A/ja
Priority to US09/759,254 priority patent/US20010007986A1/en
Priority to US10/176,582 priority patent/US20020194169A1/en
Priority to US10/629,582 priority patent/US20040024741A1/en
Application granted granted Critical
Publication of JP3777666B2 publication Critical patent/JP3777666B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データベース処理システムに関し、特にユーザがデータ型およびその振る舞いを定義することが可能なデータベース処理方法に関する。
【0002】
【従来の技術】
現在、データベース言語SQLではSQL3(ISO,ANSI)の規格が進められている。ADT(Abstract Data Type、抽象データ型)は、SQL3の主要機能の1つである。ADTとは、ユーザ定義のデータ型であり、オブジェクト指向の概念を取り入れ、ADTに対する操作もメソッド(関数、手続き)としてユーザが定義する。ADTは、複雑な構造を持つことができ、自分自身の振る舞い(付随する機能)をADT関数として定義の中に含んでいる。ADTの定義では、値を表現するための属性(群)の仕様と、その振る舞いを規定する一群の操作を規定する。
【0003】
ADTの新しいインスタンス(実現値)を生成するADT関数が、コンストラクタ関数である。また、ADTの属性へのアクセスは、observer関数によって行い、変更は、mutator関数によって行う。こうした関数の定義には、SQL自身を用いることができる。またさらに、この関数の定義には、C言語などの一般プログラミング言語で記述しコンパイルしたモジュール(外部)を指定することもできる。これらモジュールとADT関数との関連は、ADTを定義するためのADT定義文に記述される。すなわち、モジュールとは、ADT関数の内部的実現形態である。そして、それらADT定義情報は、表定義などと同様にディクショナリ情報としてデータベース管理システムにおいて管理されるのが実装として一般的である。
【0004】
図12に、ADT関数に関連するモジュールの起動の仕掛けを有したデータベース管理システムの構成例を示す。
リレーショナルデータベース管理システムにおいて、SQLは非手続き言語であるため、まずユーザ問合わせを解析し内部処理手順を決定し実行する。問合わせ実行前に、問合わせ解析と内部処理手順を決定するのが、プリプロセス処理10である。ここで、内部処理手順の一実現形態として、実行手順指示30を用いている。ユーザ問合わせ2にADT関数が記述されている場合、解析時にディクショナリに格納されているADT定義情報200を参照して、そのADT関数を実現するための関連モジュールの情報40を実行手順指示30に付加する。
【0005】
問合わせ実行時に、実行制御50は実行手順指示30にしたがって実際のDBアクセス処理を担当するDBアクセス機能70を用いて問合わせ処理を行う。その際、実行手順指示に、ADT関数の実行が指示されている場合、対応するモジュール90を起動する(80)。起動はモジュール起動情報40を基に行う。
【0006】
ここで例として、次のSQL文の処理を説明する。
SELECT NAME,AGE(MOTHER) FROM CLASS_A WHERE AGE(MOTHER)<25
このSQL文は、テーブルCLASS_Aで、母(MOTHER列属性)の年齢が25未満である行の名前(NAME列)とその母の年齢を取出す要求を示している。MOTHER列のデータ型はPERSON型であり、年齢を返すADT関数AGEが定義されているものとする。AGE関数は、モジュール_p_person_calculate_ageを起動することにより実現されるものとする。
【0007】
このSQL文に対して問合わせ実行処理では、行データを一件取出して、そのMOTHER列データに対してAGE関数を適用し(モジュール_p_person_calculate_age起動)、WHERE句の評価を行い、その結果によってNAME列等を取出す。その後次の行データの処理に移る。上記の説明のように、従来ADT関数は、SQL文において一行のADTデータに対する評価関数という位置付けなので、データベース管理システム内部でも一件ずつ処理されていた。
【0008】
【発明が解決しようとする課題】
以上説明したように、ユーザが定義した振る舞いは、その振る舞いのためのADT関数をSQL文中に記述することにのみ、実現することができる。SQL文でのADT関数記述がその振る舞いを実行する契機である。例えば、SELECT句の後に記述されるメソッドの場合、WHERE句により限定された行一つ一つに対してADT関数が適用される。また、WHERE句の後に記述されるADT関数の場合、条件判定のタイミングでADT関数が適用される。見方を変えると、SQL文における明示的なADT関数記述以外に、ユーザが定義したADT関数を実行する契機は存在しない。
【0009】
一方、あるADT特有の評価(検索)や高速な評価(検索)のために、そのADT専用のインデクスを利用することが考えられる。ここで言う専用インデクスとは、通常データベース管理システムにて一般的に検索高速化手段として用いられるB木インデクスに限定するものではない。ADT関数を実現するために必要な種々の情報群等も含まれる。
【0010】
この専用インデクスをADT関数にて利用するためには、ADTデータに対する変更が生じた際に、それに応じてこの専用インデクスを更新しなければならない。SQL文でのADT関数記述だけではなく、ADT関数を通さないADTデータに対する操作(INSERT,DELETEなど)や、システム開始/終了、トランザクション開始/完了などの契機にて、専用インデクスに対する操作の必要が生じてくる。また、その専用インデクスを用いて特有の検索(評価)機能を実現するモジュールの実行は、必ずしも従来のADT関数に対する内部処理が前提となるような一件ずつのデータを対象とする処理ではない。ある検索(評価)条件に対して、その条件を満足するデータをまとめて(集合として)返すような専用インデクスも考えられる。その場合、データベース中の評価(条件判定)対象データ数分、対応モジュールを実行しなくとも1回だけの実行で済む。実行すなわちモジュール起動のためのオーバヘッドも抑えられる。
【0011】
現状のADTの枠組みで、専用インデクスを利用するような機能を実現しようとすると、
(1)専用インデクスを保持する契機が、ADT関数実行しかないため不十分
(2)ADT関数の内部処理が一件データに対する処理に限定
という問題があった。
【0012】
本発明は、これらの問題を解決するため、以下の項目が課題である。
(1)SQL文でのADT関数実行以外の契機で、ユーザ定義関数(モジュール)を実行する仕掛けを提供すること
(2)ADT関数を実現するモジュールの実行結果が集合で返るような仕様においても、適切な実行手順指示を作成し実行できる仕掛けを提供すること。
【0013】
【課題を解決するための手段】
上記課題を解決するために、本発明におけるデータベース管理方法は、
ユーザが固有のデータ型を定義する際に、そのデータ型の振る舞いを実現するモジュールの評価形態に関する情報および起動契機に関する情報をデータベース管理システムに登録する手段と、
ユーザからの問合わせを解析し実行手順指示を作成する際に、上記評価形態に関する情報から、一つ一つの行に対してモジュール起動による評価を行う手順か、モジュール起動により複数の評価結果を取得する手順かを選定する手段と、
ユーザからの問合わせを解析し実行手順を作成する際に、上記起動契機に関する情報から、対応する契機に起動するモジュールに関する情報を実行手順指示に付加する手順と、
実行手順指示にしたかってデータベース処理を実行する際に、実行手順指示に付加されたモジュールに関する情報により、指示された契機に対応モジュールを起動する手順とを備える。
【0014】
【発明の実施の形態】
以下、図を用いて本発明の実施の一形態を詳細に説明する。
まず、本発明の概念を図1を用いて簡単に説明する。本発明が適応されたデータベース管理システム1では、プリプロセス処理10において、ユーザ問合わせ2に含まれるADT関数を実現するための組込みモジュールに関する「評価形態」に応じて、組込みモジュールの評価結果(集合)の一つずつに処理をするか、データ一件一件に対して組込みモジュールによる評価をするかという実行手順を選定し、選定結果を基に実行手順指示を作成する。そして、問合わせ実行処理11において、実行手順指示にしたがって組込みモジュールを起動することによりADT関数を実行する。また、モジュール定義情報20に指定されている契機60において、対応する組込みモジュールを起動する(80)。ここで、「評価形態」とは、モジュールにて行う処理が1件データに対するものなのか?複数データに対するものでその結果を集合として返すものなのか?という属性のことを言う。
【0015】
次に図1を用い、本発明が適応されたデータベース管理システムの構成について詳細に説明する。
【0016】
本発明が適応されたデータベース管理システム1は、問合わせ実行前に行われるプリプロセス処理10と問合わせ実行を実現する問合わせ実行処理11から構成される。プリプロセス処理10は、ユーザからの問合わせ2を受け付けて解析し実行のための実行手順指示を作成する。そのプリプロセス処理10は、入力された問合わせ2の構文解析、意味解析を行う問合わせ解析110と、 ADT関数解析120と、 ADT関数外起動型モジュール解析130と、実行手順指示作成140とから成る。
【0017】
ADT関数解析120では、問合わせ解析110の結果明らかになった問合わせ2に記述されたADT関数に関して、モジュール定義情報20に含まれる評価形態を基に対応するモジュールの起動手順を選定する。選定結果は、実行手順指示作成140にて加味される。
【0018】
ADT関数外起動型モジュール解析130では、問合わせを実現するデータ操作の種別(検索操、挿入、削除、更新など)により、モジュール定義情報20に含まれる起動契機にて起動される組込みモジュール90に関する情報(モジュール起動情報40)を準備する。モジュール起動情報40は、実行手順指示30に付加される。実行手順指示作成140では、上記解析結果を基にモジュール起動情報40を付加した実行手順指示30を生成する。
【0019】
組込みモジュールに関する起動契機、評価形態などを含んだモジュール定義情報20は、ユーザがADTを定義する際に、ユーザによりデータベース管理システム1に登録される。登録場所の一つとして各種定義情報を格納保持しているディクショナリが挙げられる。
【0020】
問合わせ実行処理11は、表データやインデクスなどが格納されているデータベース4を参照したり更新したりするためのDBアクセス機能70と、上記過程140で生成された実行手順指示30に指示されている実行手順指示にしたがって随時対応するDBアクセス機能70を呼出すことによりデータベース処理を実現する実行制御50と、ユーザがADT定義の際に組込んだ組込みモジュール90と、実行手順指示30およびモジュール起動情報40にて指示された起動契機に組込みモジュール90を起動するための組込みモジュール起動部80とから成る。
【0021】
組込みモジュール90は、専用インデクスなどの専用リソースをアクセスする機能を有するものもある。実行制御50およびDBアクセス機能70は、それぞれ組込みモジュールを起動するための起動口60を有する。
【0022】
データベース処理が行われている中、DBアクセス機能内の起動口がモジュール起動情報40の起動契機に指定されている場合、対応するモジュール90を組込みモジュール起動部80を通じて起動する。以上の仕掛けにより、ユーザ問合わせ2にADT関数として陽に記述されない場合でも、モジュール定義情報20により指定された起動契機により、その契機にて対応するモジュールを起動することが可能なる。
【0023】
図2は、モジュール定義情報20の構成の一形態を示す図である。モジュール定義情報20は、組込みモジュール90がどの契機で起動されるか、その評価結果はどのような形態で返されるのかを示すものである。
【0024】
モジュール定義情報20は、組込みモジュール90数分のモジュール定義情報レコード21から成る。モジュール定義情報レコード21は、それぞれある組込みモジュール90に関連するモジュール名22、ADT名23、モジュール種別24、起動ADT関数名25、評価形態26、起動契機27より構成される。
【0025】
ADT名23は、その関連するモジュール(モジュール名22により識別される)が、どのADTの振る舞いを実現するために起動されるか、またはどのADTに対する操作を行った際に起動されるかを示している。もし、その関連するモジュールがADTの振る舞いを実現するためのもの、すなわち問合わせ2に明示的に記述されるADT関数を実現するためにのものである場合、モジュール種別24には、“ADT関数起動型”をユーザは登録時に指定する。その場合、起動ADT関数名25に、モジュール名22に関連するADT関数名を指定する。
【0026】
さらに、その関連するモジュールを起動した結果が集合として返される場合、評価形態26に“集合評価”と指定する。その関連するモジュールを起動することにより評価する対象が一つ行内の一つのADTデータである場合、評価形態26に“逐次評価”と指定する。これら評価形態26は、ユーザ問合わせ2をプリプロセス処理10にて解析し実行手順指示30を作成する際の重要な実行手順指示の雛形の選定基準になる。
【0027】
モジュール種別24に、“ADT関数起動型”を指定する場合、起動契機27には、問合わせ2に記述される「ADT関数実行時に」モジュール名22により識別される組込みモジュール90が起動されるという意味で、“AS_FUNCTION”を指定する。また、モジュール名22により識別される組込みモジュール90がADT関数実行以外の契機で起動される場合、モジュール種別24に“ADT関数外起動型”をユーザは指定する。そして、そのモジュールの起動契機に関する情報を起動契機27に指定する。またその場合、起動ADT関数名25および評価形態26には何も指定しない。
【0028】
以下に、ユーザによるモジュール定義情報の登録の際のユーザインタフェースの一例を上げる。本例は、図2におけるモジュール定義情報の例に対応している。
【0029】
Figure 0003777666
図2における例では、組込みモジュール"_p_text_contains"は、ADT関数"CONTAINS"を実現するために起動され、評価結果として集合を返すことを示している。組込みモジュール"_p_text_at_insert"は、TEXT型データの挿入時(“AS_INSERT_TRIGGER”が挿入時が起動契機であることを示す)に起動されることを示している。また、組込みモジュール"_p_text_at_delete"は、TEXT型データを含む行の削除時(“AS_DELETE_TRIGGER”が削除時が起動契機であることを示す)に起動されることを示している。
【0030】
起動契機は、上記例“AS_FUNCTION”、“AS_INSERT_TRIGGER”、“AS_DELETE_TRIGGER”以外に一例として以下に示すものが挙げられる。
【0031】
(1) AS_FUNCTION:ADT関数起動時
(2)AS_INSERT_TRIGGER:ADTデータ挿入時
(3)AS_DELETE_TRIGGER:ADTデータ削除時
(4)AS_UPDATE_TRIGGER:ADTデータ更新時
(5)AS_DROP_TABLE_TRIGGER:テーブル削除時
(6)AS_BEGIN_TRANSACTION:トランザクション開始時
(7)AS_PREPARE_COMMIT:プリペアコミット時
(8)AS_COMMIT:コミット時
(9)AS_START_ROLLBACK_TRIGGER:トランザクションロールバック処理開始時
(10)AS_TERMINATE_ROLLBACK_TRIGGER:トランザクションロールバック処理終了時
(11)AS_START_SYSTEM_TRIGGER:システム開始時
(12)AS_TERMINATE_SYSTEM_TRIGGER:システム終了時
(13)AS_START_RECOVERY_TRIGGER:全面回復処理開始時
(14)AS_TERMINATE_RECOVERY_TRIGGER:全面回復処理終了時
(15)AS_START_PROCESS_TRIGGER:プロセス開始時
(16)AS_TERMINATE_PROCESS_TRIGGER:プロセス終了時
(17)AS_BEGIN_SESSION_TRIGGER:セッション開始時
(19)AS_CLOSE_SESSION_TRIGGER:セッション終了時
(20)AS_CURSOR_OPEN_TRIGGER:カーソルオープン時
(21)AS_CURSOR_CLOSE_TRIGGER:カーソルクローズ時
図3は、ADT関数解析120におけるWHERE句以降に出てくるADT関数に関する解析処理の流れの一例を示すフローチャートである。ADT関数解析120の一部であるADT解析(WHERE句 以降)121では、モジュール定義情報20で指定されている評価形態26により、WHERE句以降の実行手順指示の雛形を選定する。雛形には二種類存在する。まず一つ目は、組込みモジュールを実行してからその結果を一つずつ取出しデータ操作を施す手順を示す雛形。もう一つは、一つずつデータを取出しその各々に対して組込みモジュールを実行する手順を示す雛形である。
【0032】
まず、ステップ122において、図1の問合わせ解析110の結果から得られた問合わせ2のWHERE以降に出現したADT関数に関するモジュール定義情報20を取得する。これは、モジュール定義情報20を構成するエントリ21の起動ADT関数名25に対して、出現ADT関数名をキーに検索をかけることにより実現する。
【0033】
次にステップ123に進み、モジュール定義情報内の評価形態の判定を行う。評価形態が集合評価である場合(判定結果Yesの場合)、「集合評価の後一つ一つにデータ操作」の手順雛形を選定する(ステップ124)。この手順雛形は、集合として得られるモジュールの評価結果一つ一つを取出し、そのSELECT句後に記述されているデータ操作を適用する手順を提供する。
【0034】
また、判定123において評価形態が逐次評価であると判断された場合(判定結果Noの場合)、「一行データに対する逐次評価後データ操作」の手順雛形を選定する(ステップ125)。この手順雛形は、表データの逐次アクセスまたはB木インデクスなどの索引をアクセスして得られた一つの行データに対してモジュールの評価を適用する手順を提供する。従来は常にステップ125のパスを踏んでいたが、本発明では評価形態からステップ124の集合評価型モジュールの組込みも可能になった。
【0035】
ステップ124、ステップ125の後、作成される実行手順指示に付加するモジュール起動情報をメモリ上に保持する(スキップ127)。
【0036】
図4は、ADT関数外起動型モジュール解析130における処理の流れの一例を示すフローチャートである。ADT関数外起動型モジュール解析130では、問合せ2の内容によってモジュール定義情報20に指示されている起動契機を基に、ADT関数実行以外の起動契機のモジュールを起動するための情報をメモリ上に保持する。
【0037】
まず、ステップ131において、図1の問合せ解析110の結果からユーザからの問合せ2がデータ更新操作要求かどうかを判定する。データ更新操作要求ではない場合(判定結果Noの場合)、ステップ135に進み本問合せの契機において、起動される組込みモジュールが存在するかの判定を行う。具体的には、関連起動契機でモジュール定義情報を取得(検索)する。ここでなにも起動モジュールがなければ、ステップ136に進み処理を終了する。 起動モジュールがある場合、ステップ134に進み、取得したモジュール定義情報を基に組込みモジュールを起動するための情報をメモリ上に保持する。
【0038】
戻ってステップ131において、データ更新操作用であると判定した場合(判定結果Yes)、ステップ132に進み、操作対象データにADTが含まれているかどうかを判定する。含まれていない場合は、組込みモジュールの起動はないと判断して、ステップ136に進み処理を終了する。ADTが含まれている場合、ステップ133に進む。ステップ133では、データ更新操作に関連する起動契機およびADT名でモジュール定義情報を取得する。そして、取得したモジュール定義情報を基に組込みモジュールを起動するための情報をメモリ上に保持する(ステップ134)。
【0039】
図5は、実行手順指示作成140における処理の流れの一例を示すフローチャートである。まず、ステップ141において、選定した雛形を準備する。そして、ステップ142で、雛形を基に問い合わせ解析結果から実行手順指示を作成する。次にステップ143にて、ADT関数解析(WHERE句以降)121およびADT関数外起動型モジュール解析130においてメモリ上に保持しておいたモジュールを起動するための情報を基にモジュール起動情報を作成し、ステップ142にて作成した実行手順指示に付加する(ステップ144)。
【0040】
図6は、実行手順指示およびそれに付加されたモジュール起動情報の一具体例を示す図である。図1の実行制御11は、この実行手順指示を参照しながら、実行手順指示に示されている処理312を処理No311の順に実行する。実行にあたっては、その処理を担当するDBアクセス機能(図1の70)により実現する。313の付加情報は、処理312の処理対象等に関する情報である。その中には、関連するモジュール起動情報を指し示す情報(図6の例:モジュール起動情報1)や、アクセス対象のテーブル、カラムに関する情報などが設定されている。もちろん、あくまで本実行手順指示例は、具体例の一つにすぎない。本例のようにテーブル構造ではなく、例えば木構造を持ったバイナリ形式でも構わない。モジュール情報との関連も付加情報313を用いて実現することを制限するものではない。
【0041】
図7は、組込みモジュール起動処理部80における処理の流れの一例を示すフローチャートである。実行制御11において、実行手順指示の付加情報(図6の313)にモジュール情報への関連が出てきた場合、あるいはDBアクセス機能70内の起動口60にきた場合、本組込みモジュール起動処理80を以下のように行う。
【0042】
まず、ステップ800において今行っている処理がデータ操作系処理であるかを判定する。データ操作系(挿入、削除、更新)である場合(判定結果Yesの場合)、ステップ810に進みその操作対象ADT型名の取得を行う。ステップ810の次に、操作対象データにADTが含まれているかを判定する(ステップ811)、ADTが含まれていない場合、ステップ820に進み処理を終了する。すなわち組込みモジュールの起動はなかった。
【0043】
また、ステップ811においてADTが含まれている(複数の場合も有り)と判定した場合、そのADT型名の一つを取出す(ステップ812)。そして、今行っている処理における起動契機および取出したADT型名で実行手順指示30に付加されているモジュール起動情報40を取得し(ステップ814)、対応するモジュール起動情報40が存在するならば(ステップ814)、モジュール起動情報40を用いて組込みモジュールの起動を行う(ステップ815)。もし、モジュール起動情報がなければ、次のADTに関する処理として、ステップ811のADT型名の取出しへ戻る(ステップ814の判定結果Noの場合)。
【0044】
ステップ800において今行っている処理がデータ操作系処理ではない場合(判定結果Noの場合)、ステップ816に進み現処理における起動契機でモジュール起動情報40を取得する。取得したモジュール起動情報は複数の場合もありうる。各モジュール起動情報を用い対応する組込みモジュールの起動を行う。フローチャートでは、まずステップ817でモジュール起動情報の存在判定を行う。存在しない場合は、ステップ820へ進み処理を終了する。存在する場合、ステップ818にてモジュール起動情報の一つを取出し、ステップ819にて対応する組込みモジュールの起動を行う。そして、次のモジュール起動のため、ステップ817へ戻る。
【0045】
以上の仕掛けで、モジュール起動情報40を基に、関連起動契機およびADT操作において、ADT関数には関連しない組込みモジュール(ADT関数外起動型モジュール)の起動が行われる。
【0046】
次に図1で説明した一構成形態のもとで、図8から図11にてユーザ組込みモジュールについて具体的なコマンド例を用いて詳細に説明する。
【0047】
図8は、一検索操作の処理例を説明する図である。ユーザ問合せ2として、SQL文「SELECT C1 FROM T1 WHERE CONTAINS(TEXT_C,"オリンピック")」は、「テーブルT1からTEXT_C列のデータ内に"オリンピック"という文字列を含む行のC1列値を取出す」という要求を示している。ここで、TEXT_C列はデータ型が、TEXT型(ADT型)で定義されているものとする。TEXT型データの値としては文書が格納されている。CONTAINSは、このADT型であるTEXT型のADT関数であり、その振る舞いは、指定TEXT型列データに指定文字列が含まれるかどうかを評価するものとする。
【0048】
モジュール定義情報20から分かるように、このADT関数を実現する組込みモジュールは、_p_text_containsであり、その評価結果は集合として返される(評価形態=集合評価より)。ここでは、_p_text_contains組込みモジュールは、指定TEXT列に定義される専用の文書インデクス5をアクセスすることにより上記機能を実現しているものとする。
【0049】
モジュール定義情報20の評価形態=集合評価より、実行手順指示作成10において、「集合評価の後一つ一つにデータ操作」の手順雛形が選定され(図3のステップ124に対応)、図に示すような実行手順指示30およびモジュール起動情報40が作成される。ここで、図の矢印7は、モジュール定義情報の情報が関係している箇所を指し示している。
【0050】
そして、実行制御50にて以下のように問合せを実行する。まず、実行手順指示30の「(1)組込みモジュールコール」指示および関連するモジュール起動情報40に従って組込みモジュール90_p_text_containsを起動する(511)。モジュール_p_text_containsでは、TEXT_C列に対応する文書インデクス5をアクセスすることにより、評価結果として行に関する情報(行識別子)を集合の形態で返す(図8中の評価結果集合91)。その評価結果が空でない場合(判定512の結果「有り」の場合)、実行手順指示30の「(2)評価結果一件取出し」に従い、その評価結果集合から一つ行識別子を取出す(513)。
【0051】
そして次に実行手順指示30の「(3)列値取出し」に従い、その行識別子を用いて指定データ(列C1)の値を取出す(514)。その実現は、DBアクセス機能70にて表データ4をアクセスすることにより実現する。この図7ではデータ値をして「文書m」(71)が取出されている様子を示している。そして、取出し結果をユーザに出力する(515)。さらに、他の評価結果に対しても同様の処理を行うため、処理は512へ戻る。最終的に結果出力として6がユーザに出力される。
【0052】
以上説明したように、評価結果を集合をして返すようなモジュールもADT関数実現のために用いることができ、適切な実行手順指示を作成しADT関数として実行することができる。
【0053】
図9は、別の一検索操作の処理例を説明する図である。ユーザ問合せ2として、SQL文「SELECT C1 FROM T1 WHERE WCG(TEXT_C,1000)」は、「テーブルT1からTEXT_C列のデータの単語数が1000より大きい行のC1列を取出す」という要求を示している。ここで、TEXT_C列は図7同様データ型が、TEXT型(ADT型)で定義されているものとする。WCGは、指定TEXT列データに含まれる単語数が指定数よりも大きいかどうかを評価するものとする。
【0054】
モジュール定義情報20から分かるように、このADT関数を実現する組込みモジュールは、_p_text_wordcount_greaterであり、その処理対象は一つのADT型データである(評価形態=逐次評価より)。ここでは、_p_text_wordcount_greater組込みモジュールは、TEXT型データを読み込んで単語数をカウントすることにより上記機能を実現しているものとする。
【0055】
モジュール定義情報20の評価形態=逐次評価より、プリプロセス処理10において、「一行データに対する逐次評価後データ操作」の手順雛形が選定され(図3のステップ125に対応)、図に示すような実行手順指示30およびモジュール起動情報40が作成される。ここで、矢印7は、モジュール定義情報の情報が関係している箇所を指し示している。そして、実行制御50にて以下のように問合せを実行する。まず、実行手順指示30の「(1)一行取出し」指示に従って未評価の行を一行取出す(521および522)。
【0056】
次に実行手順指示30の「(2)組込みモジュール起動」指示および関連するモジュール起動情報に従って組込みモジュール90_p_text_wordcount_greaterを起動する(523)。その行の指定ADT列データに対して評価を行い結果として、TRUEまたはFALSEを返す。その評価結果がFALSEである場合、次の未評価行の評価のために521へ戻る。評価結果がTRUEである場合、実行手順指示30の「(370)列値取出し」指示に従って指定データ(列C1)の値を取出す(525)。その実現は図8での例と同様DBアクセス機能70にて表データ4をアクセスすることにより実現する。この図9ではデータ値をして「文書m」(71)が取出されている様子を示している。そして、取出し結果をユーザに出力する(526)。最終的に出力結果として6がユーザに出力される。
【0057】
以上説明したように、一件ずつのADTデータに対する評価を行うモジュールに関しても、適切な実行手順指示を作成しADT関数として実行することができる。
【0058】
図10は、一挿入操作の処理例を説明する図である。ユーザ問合せ2として、SQL文「INSERT INTO T1 VALUES(100,TEXT("…"))」は、「テーブルT1への新規データの登録(挿入)」を示している。ADT関数TEXTは、TEXT型データのコンストラクタ関数であり、TEXTインスタンス(データ値)を生成するものである。モジュール定義情報20から分かるように、TEXT型カラムを含む行が挿入された契機にて組込みモジュール90_p_text_at_insertが起動されることを指示している(起動契機=AS_INSERT_TRIGGERによる)。
【0059】
プリプロセス処理10において、図に示すような実行手順指示30およびモジュール起動情報40が作成される。ここで、矢印7は、モジュール定義情報の情報が関係している箇所を指し示している。そして、実行制御50にて以下のように問合せを実行する。実行手順30の「(1)行挿入」指示に従って表データの挿入を行う(531)。実現は、DBアクセス機能70(表データ(行)挿入機能)により実現する。このDBアクセス機能70では、表データ4に対してデータの追加を行うが、挿入における組込みモジュール起動口60において、モジュール起動情報40を基に組込みモジュール90_p_text_at_insertを起動する。ここでのモジュール_p_text_at_insertでは、TEXT型列に対応する文書インデクス5に対する追加文書データに関する情報の追加を行う。この、ADT関数外起動型モジュール_p_text_at_insertによる文書インデクスの維持、すなわちデータ操作に伴う文書インデクス情報の追加、削除によって図7で説明したCONTAINS関数の機能が実現可能となる。
【0060】
図11は、コミット処理例を説明する図である。ユーザ問合せ2として、SQL文「COMMIT」は、それまでのトランザクションのコミットすなわち確定の要求を示している。モジュール定義情報20から分かるように、コミットの契機にて組込みモジュール90_p_text_at_commitが起動されることを示している(起動契機=AS_COMMITによる)。
【0061】
プリプロセス処理10において、図に示すような実行手順指示30およびモジュール起動情報40が作成される。ここで、矢印7は、モジュール定義情報の情報が関係している箇所を指し示している。そして、実行制御50にて以下のように問合せを実行する。実行手順30の「(1)コミット処理」指示に従ってコミット処理を行う(541)。実現は、トランザクション処理70により実現する。このトランザクション処理70における組込みモジュール起動口60において、モジュール起動情報40を基に組込みモジュール90_p_text_at_commitを起動する。ここでのモジュール_p_text_at_commitでは、TEXT型列に対応する文書インデクス5に対する排他の解除などを行う。
【0062】
もちろん、文書インデクス排他解除は一具体例であり、組込みモジュール90の機能を規定するものではない。これらコミット契機等のAS_FUNCTION以外の契機では、関連するADT関数の振る舞いを支援するような特殊インデクス(例えば文書インデクス)、データリソースなどの保持をする機能を有するモジュールを起動するのが機能上望ましい。組込みモジュール90の機能および起動契機等は、ADT定義を行うユーザに委ねるものとする。
【0063】
【発明の効果】
以上説明したように、本発明によれば、組込みモジュールの評価形態をデータベース管理システムに登録しておき、実行手順指示を作成する時に、評価形態によって雛形を選定することにより、評価結果を集合の形態で返す組込みモジュールの場合、適切な処理手順指示を作成し実行することができる。
【0064】
また、組込みモジュールの起動契機をデータベース管理システムの登録しておき、実行手順指示に対応する起動契機に関連するモジュール情報を付加することにより、ADT関数起動以外の契機でも組込みモジュールを起動することができる。 さらに以上のことから、専用インデクスなどを実現手段とするADT関数の定義が可能になる。これは、従来より多彩な機能を持ったADT定義が可能なデータベース管理方法の提供を意味する。
【図面の簡単な説明】
【図1】本発明が適用されたデータベース管理システムの処理例を示す機能図である。
【図2】本発明におけるモジュール定義情報の一形態を示す図である。
【図3】本発明におけるADT関数解析の処理の流れの一例を示すフローチャートである。
【図4】本発明におけるADT関数外起動型モジュール解析の流れの一例を示すフローチャートである。
【図5】本発明における実行手順指示作成の流れの一例を示すフローチャートである。
【図6】実行手順指示の一例を示す図である。
【図7】組込みモジュール起動の処理の流れの一例を示すフローチャートである。
【図8】本発明が適用された一検索操作の処理例を説明する図である。
【図9】本発明が適用された別の一検索操作の処理例を説明する図である。
【図10】本発明が適用された一挿入操作の処理例を説明する図である。
【図11】本発明が適用されたコミット処理例を説明する図である。
【図12】従来ADT機能を有したデータベース処理方法の一構成例を示す図である。
【符号の説明】
20:モジュール定義情報
30:実行手順指示
40:モジュール起動情報
120:ADT関数解析
130:ADT関数外起動型モジュール解析
60:起動契機
80:組込みモジュール起動

Claims (9)

  1. データベースに対するユーザからの問合せを解析して対応する実行手順指示を作成するプリプロセス処理部と、当該実行手順指示に従って処理を行う実行処理部とからなるデータベース処理システムにおけるデータベース処理方法であって、
    ユーザ定義データ型の操作を実行するモジュールを実行する契機に関する情報を含むモジュール定義情報が前記データベース処理システムに格納されており、
    前記プリプロセス処理部は、ユーザからの問合わせを解析し、前記モジュール定義情報から、前記解析した問い合わせの内容に関連する契機に実行する前記モジュールを抽出し、前記抽出したモジュールに関するモジュール起動情報を付加した実行手順指示を作成し、
    前記実行処理部は、
    処理がデータ操作系処理であるかどうかを判定し、
    前記判定結果がデータ操作系処理である場合には、操作対象にユーザ定義データ型が含まれているか判定し、含まれている場合には、操作対象のユーザ定義データ型に応じて、前記実行手順指示に付加されているモジュール起動情報を取得し、前記モジュール起動情報により指示された契機に対応するモジュールを実行し、
    前記判定結果がデータ操作系処理でない場合には、前記モジュール起動情報を取得し、前記モジュール起動情報により指示された契機に対応するモジュールを実行する
    ことを特徴とするデータベース処理方法。
  2. 請求項1記載のデータベース処理方法であって、
    前記実行処理部は、前記対応モジュールを実行し、専用インデクスから情報を得ることを特徴とするデータベース処理方法。
  3. 請求項1又は2に記載のデータベース処理方法であって、
    前記判定結果がデータ操作系処理である場合の、操作対象のユーザ定義データ型に応じて取得されたモジュール起動情報は、複数のモジュール起動情報であり、前記複数のモジュール起動情報により、各モジュールを起動することを特徴とするデータベース処理方法。
  4. 請求項1乃至3のいずれか1に記載のデータベース処理方法であって、
    前記データ操作系処理とは、データベースに対する挿入、削除、更新の処理のうちの少なくとも1であることを特徴とするデータベース処理方法。
  5. データベースに対するユーザからの問合せを解析して対応する実行手順指示を作成し、当該実行手順指示に従って処理を行うデータベース処理システムであって、
    ユーザ定義データ型の操作を実行するモジュールを実行する契機に関する情報を含むモジュール定義情報を格納する格納部と、
    ユーザからの問合わせを解析し、前記モジュール定義情報から、前記解析した問い合わせの内容に関連する契機に実行する前記モジュールを抽出し、前記抽出したモジュールに関するモジュール起動情報を付加した実行手順指示を作成するプリプロセス処理部と、
    前記実行手順指示に付加されたモジュールに関する前記モジュール起動情報により、指示された契機に対応するモジュールを実行する実行処理部と、を有し、
    前記実行処理部は、
    処理がデータ操作系処理であるかどうかを判定し、
    前記判定結果がデータ操作系処理である場合には、操作対象にユーザ定義データ型が含まれているか判定し、含まれている場合には、操作対象のユーザ定義データ型に応じて、前記実行手順指示に付加されているモジュール起動情報を取得し、前記モジュール起動情報により指示された契機に対応するモジュールを実行し、
    前記判定結果がデータ操作系処理でない場合には、モジュール起動情報を取得し、前記モジュール起動情報により指示された契機に対応するモジュールを実行する
    ことを特徴とするデータベース処理システム。
  6. 請求項5に記載のデータベース処理システムであって、
    前記モジュール定義情報は、モジュールを実行する契機に関する情報と、問い合わせに記述されるユーザ定義データ型を実行するモジュールであるかどうかを示す情報と、関連するユーザ定義データ型関数名とを各モジュールと対応づけて格納した情報であることを特徴とするデータベース処理システム。
  7. 請求項5又は6に記載のデータベース処理システムであって、
    前記実行処理部は、前記対応モジュールを実行し、専用インデクスから情報を得ることを特徴とするデータベース処理システム。
  8. 請求項5乃至7のいずれか1に記載のデータベース処理システムであって、
    前記判定結果がデータ操作系処理である場合の、操作対象のユーザ定義データ型に応じて取得されたモジュール起動情報は、複数のモジュール起動情報であり、前記対応モジュールを実行する手段は、前記複数のモジュール起動情報により、各モジュールを起動することを特徴とするデータベース処理システム。
  9. 請求項5乃至8のいずれか1に記載のデータベース処理システムであって、
    前記データ操作系処理とは、データベースに対する挿入、削除、更新の処理のうちの少なくとも1であることを特徴とするデータベース処理システム。
JP22640796A 1996-08-28 1996-08-28 データベース処理方法およびシステム Expired - Fee Related JP3777666B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP22640796A JP3777666B2 (ja) 1996-08-28 1996-08-28 データベース処理方法およびシステム
US08/917,711 US5930800A (en) 1996-08-28 1997-08-26 Execution of user defined ADT function implemented by embedded module in a database management method
US09/759,254 US20010007986A1 (en) 1996-08-28 2001-01-16 Database processing method
US10/176,582 US20020194169A1 (en) 1996-08-28 2002-06-24 Database processing method
US10/629,582 US20040024741A1 (en) 1996-08-28 2003-07-30 Database processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22640796A JP3777666B2 (ja) 1996-08-28 1996-08-28 データベース処理方法およびシステム

Publications (2)

Publication Number Publication Date
JPH1069489A JPH1069489A (ja) 1998-03-10
JP3777666B2 true JP3777666B2 (ja) 2006-05-24

Family

ID=16844643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22640796A Expired - Fee Related JP3777666B2 (ja) 1996-08-28 1996-08-28 データベース処理方法およびシステム

Country Status (2)

Country Link
US (4) US5930800A (ja)
JP (1) JP3777666B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3747525B2 (ja) 1996-08-28 2006-02-22 株式会社日立製作所 並列データベースシステム検索方法
JP3777666B2 (ja) * 1996-08-28 2006-05-24 株式会社日立製作所 データベース処理方法およびシステム
JP3836928B2 (ja) * 1997-02-26 2006-10-25 株式会社日立製作所 データベース処理方法
JPH11338875A (ja) * 1998-05-27 1999-12-10 Hitachi Ltd 多重定義ルーチン解決方法及びその実施装置並びにその処理プログラムを記録した媒体
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
JP2004206459A (ja) * 2002-12-25 2004-07-22 Matsushita Electric Ind Co Ltd セッション管理装置
US7702658B2 (en) * 2006-01-27 2010-04-20 International Business Machines Corporation Method for optimistic locking using SQL select, update, delete, and insert statements
US10403533B2 (en) * 2015-05-04 2019-09-03 Applied Materials, Inc. Substrate rotary loader
US10936681B2 (en) * 2017-08-03 2021-03-02 International Business Machines Corporation Generalized search engine for abstract data types with skimming and approximate retrieval
US11294938B2 (en) 2019-01-03 2022-04-05 International Business Machines Corporation Generalized distributed framework for parallel search and retrieval of unstructured and structured patient data across zones with hierarchical ranking

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5839341A (ja) * 1981-09-02 1983-03-08 Toshiba Corp デ−タベ−スマネジメントシステムにおけるデ−タのアクセス制御方法及び装置
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
JP2780996B2 (ja) * 1989-03-10 1998-07-30 富士通株式会社 問い合わせ最適化処理方法
DE69031191T2 (de) * 1989-05-15 1998-02-12 Ibm System zur Steuerung von Zugriffsprivilegien
DE69033121T2 (de) * 1989-09-01 1999-10-28 Amdahl Corp Betriebssystem und Datenbank mit einer Regelsprache zum bedingungsgesteuerten Rechnerbetrieb
US5257366A (en) * 1990-03-27 1993-10-26 International Business Machines Corporation Query language execution on heterogeneous database servers using a bind-file bridge between application and database languages
US5761493A (en) * 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
JPH0743700B2 (ja) * 1990-07-17 1995-05-15 三菱電機株式会社 データ駆動型情報処理装置
US5361351A (en) * 1990-09-21 1994-11-01 Hewlett-Packard Company System and method for supporting run-time data type identification of objects within a computer program
US5566330A (en) * 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
US5426780A (en) * 1992-02-28 1995-06-20 Intergraph Corporation System for dynamic segmentation analysis using conversion of relational data into object-oriented data
US5630114A (en) * 1993-01-22 1997-05-13 Serra; Bill Database management system embedded in an operating system command
CA2159000C (en) * 1993-03-31 1999-12-14 John Martin Browne Data processing system for communications network
US5551029A (en) * 1993-08-18 1996-08-27 Lucent Technologies Inc. Method for associating integrity maintenance constraints with data object classes in an object-oriented database
US5519859A (en) * 1993-11-15 1996-05-21 Grace; John A. Method and apparatus for automatic table selection and generation of structured query language instructions
US5568639A (en) * 1993-11-24 1996-10-22 Menai Corporation Method and apparatus for providing an object-oriented file structuring system on a computer
US5572673A (en) * 1993-12-01 1996-11-05 Sybase, Inc. Secure multi-level system for executing stored procedures
DE19515020A1 (de) * 1994-07-01 1996-01-04 Hewlett Packard Co Verfahren und Vorrichtung zum Optimieren von Abfragen mit Gruppieren-nach-Operatoren
US5812996A (en) * 1994-07-12 1998-09-22 Sybase, Inc. Database system with methods for optimizing query performance with a buffer manager
US5542078A (en) * 1994-09-29 1996-07-30 Ontos, Inc. Object oriented data store integration environment for integration of object oriented databases and non-object oriented data facilities
JPH0895996A (ja) * 1994-09-29 1996-04-12 Meidensha Corp データベース
US5694598A (en) * 1994-10-12 1997-12-02 U S West Technologies, Inc. Method for mapping data between a relational format and an object-oriented format
US5671403A (en) * 1994-12-30 1997-09-23 International Business Machines Corporation Iterative dynamic programming system for query optimization with bounded complexity
US5615361A (en) * 1995-02-07 1997-03-25 International Business Machines Corporation Exploitation of uniqueness properties using a 1-tuple condition for the optimization of SQL queries
US5590324A (en) * 1995-02-07 1996-12-31 International Business Machines Corporation Optimization of SQL queries using universal quantifiers, set intersection, and max/min aggregation in the presence of nullable columns
US5619692A (en) * 1995-02-17 1997-04-08 International Business Machines Corporation Semantic optimization of query order requirements using order detection by normalization in a query compiler system
US5689698A (en) * 1995-10-20 1997-11-18 Ncr Corporation Method and apparatus for managing shared data using a data surrogate and obtaining cost parameters from a data dictionary by evaluating a parse tree object
US5794250A (en) * 1995-10-20 1998-08-11 Ncr Corporation Method and apparatus for extending existing database management system for new data types
US5754841A (en) * 1995-10-20 1998-05-19 Ncr Corporation Method and apparatus for parallel execution of user-defined functions in an object-relational database management system
US5875334A (en) * 1995-10-27 1999-02-23 International Business Machines Corporation System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements
US5664173A (en) * 1995-11-27 1997-09-02 Microsoft Corporation Method and apparatus for generating database queries from a meta-query pattern
US5819251A (en) * 1996-02-06 1998-10-06 Oracle Corporation System and apparatus for storage retrieval and analysis of relational and non-relational data
US5778355A (en) * 1996-06-11 1998-07-07 International Business Machines Corp. Database method and apparatus for interactively retrieving data members and related members from a collection of data
JP3777666B2 (ja) * 1996-08-28 2006-05-24 株式会社日立製作所 データベース処理方法およびシステム
JP3747525B2 (ja) * 1996-08-28 2006-02-22 株式会社日立製作所 並列データベースシステム検索方法
US6041344A (en) * 1997-06-23 2000-03-21 Oracle Corporation Apparatus and method for passing statements to foreign databases by using a virtual package
US5987455A (en) * 1997-06-30 1999-11-16 International Business Machines Corporation Intelligent compilation of procedural functions for query processing systems
US5873075A (en) * 1997-06-30 1999-02-16 International Business Machines Corporation Synchronization of SQL actions in a relational database system

Also Published As

Publication number Publication date
US20040024741A1 (en) 2004-02-05
US20020194169A1 (en) 2002-12-19
US5930800A (en) 1999-07-27
US20010007986A1 (en) 2001-07-12
JPH1069489A (ja) 1998-03-10

Similar Documents

Publication Publication Date Title
JP3836928B2 (ja) データベース処理方法
JP3747525B2 (ja) 並列データベースシステム検索方法
US6708186B1 (en) Aggregating and manipulating dictionary metadata in a database system
US8886686B2 (en) Making and using abstract XML representations of data dictionary metadata
EP1109116A1 (en) Method for visually filtering a database
JPH06195352A (ja) 多レベル部品表データフアイルの処理方法
JP2644728B2 (ja) データディクショナリ・ディレクトリシステム
JPH07244605A (ja) データベースシステム及びその更新方法
US6735598B1 (en) Method and apparatus for integrating data from external sources into a database system
JP3777666B2 (ja) データベース処理方法およびシステム
US20040078355A1 (en) Information management system
JPS62173545A (ja) デ−タデイクシヨナリ・デイレクトリの維持管理方式
JP3763982B2 (ja) データベース処理方法及びその実施装置並びにその処理プログラムを記録した媒体
US8903846B2 (en) Method and apparatus for integrating data from external sources into a database system
US20060190476A1 (en) Database storage system and associated method
US8738600B2 (en) String searches in a computer database
JP3882835B2 (ja) データベース管理方法および並列データベース管理システム
MacDonald et al. LINQ
Barskiy Code-First Development with Entity Framework
JP4033207B2 (ja) データベース管理方法
KR19980050164A (ko) 소프트웨어 재사용을 위한 객체기반 라이브러리 검색방법
JPH0256036A (ja) リレーショナルデータベースに於ける更新履歴採取機構
JPH04353943A (ja) データベース問い合わせ対象属性特定方式
Zehoo Retrieving and Manipulating Data with ODP. NET
JPH02253451A (ja) データベース管理方式

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060104

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090310

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140310

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees