JP4255624B2 - データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム - Google Patents
データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム Download PDFInfo
- Publication number
- JP4255624B2 JP4255624B2 JP2001046318A JP2001046318A JP4255624B2 JP 4255624 B2 JP4255624 B2 JP 4255624B2 JP 2001046318 A JP2001046318 A JP 2001046318A JP 2001046318 A JP2001046318 A JP 2001046318A JP 4255624 B2 JP4255624 B2 JP 4255624B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- function
- query
- management system
- external
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、データベース管理システム、データベース管理システムにおける問い合わ方法、データベース管理システムにおける問い合わせ実行プログラムに関し、とくにそれらにおける問合せの最適化に関するものである。
【0002】
【従来の技術】
従来の問合せの最適化方法は、米国特許第5590321号に示すように、問合せで参照するデータが全て一つの外部のデータベースに含まれるかどうかを評価するステップと、該問合せ中の機能が前記一つの外部のデータベースで実行できるかどうかを評価するステップを含み、該問合せに含まれるデータが全て一つのデータベースに含まれ、かつ該問合せ中の機能が全て前記外部のデータベースで評価できる場合に、該問合せを前記外部のデータベースで実行する方法がある。
【0003】
【発明が解決しようとする課題】
問合せ中の機能が外部のデータベースで実行できるかどうか、実行することが望ましいどうかは、機能名称だけではなく、外部のデータベースに含まれるデータの形式や、問合せ内で該機能をどのように使用しているかなど、利用者の経験と知見にもとづいて最適化のために利用者がデータベースをどのように利用するか決定しうることが望ましい。しかし、上記従来技術では、問合せに含まれる機能が外部のデータベースで実行できるかどうかは予め外部のデータベースにアクセスする機能を持つデータベース管理システムに内蔵されている。このため、利用者が意図したような問合せの最適化を実現することができず、問合せの実行性能が悪くなる場合があるという問題があった。
【0004】
本発明の目的は、利用者が、問合せ中の機能の実行場所を指定しうるようになすことにより、利用者の意図したデータベースの利用方法を問合せの最適化に適用することができるデータベース管理システム、データベース管理システムにおける問い合わせ方法、データベース管理システムにおける問い合わせ実行プログラムを提供することにあり、とくにそれらにおける問合せの最適化を実現するにある。
【0005】
本発明の他の目的は、利用者が、上記問合せ中の機能の実行場所の指定を、データベース管理システムの種類、データベース管理システムの種類及びバージョン、及びデータベース毎に指定することができる、問合せの最適化方法を提供することである。
【0006】
上記の目的は、
1つ又はそれ以上の外部のデータベースにアクセスする機能を有するデータベース管理システムにおいて、
利用者から送られた問合せ中の機能を外部のデータベースにおいて実行するかどうかを指定する手段と、
前記利用者から送られた前記問合せにおいて参照されるデータが 1 つの外部データベースへのアクセスによって処理可能かどうかを評価する手段と、
前記問合せにおいて参照される全ての機能が前記1つの外部データベースへのアクセスにより処理可能であと評価され且つ前記利用者が前記1つの外部データベースにおける実行を指定しているときには、前記問合せは前記1つの外部データベースにおいて処理され、
前記問合せにおいて参照される全ての機能が前記1つの外部データベースへのアクセスにより処理可能でないと評価されるときは、前記問合せに含まれ前記1つの外部データベースにおいて実行されると指定される機能を前記1つの外部データベースにおいて実行した後、前記1つの外部データベースでは実行されない前記問合せ中の他の機能を、前記1つの外部データベースから実行結果を内部データベースに取り込んでその内部データベースにおいて実行することを特徴とするデータベース管理システムによって達成される。
【0007】
本発明の目的は、
1つ又はそれ以上の外部のデータベースにアクセスする機能を有するデータベース管理システムおける問合せ方法であって、
(1)利用者から送られた問合せ中の機能を外部のデータベースで実行するかどうかの指定を取得するステップと、
(2)前記問合せにおいて参照される前記機能が1つの外部データベースへのアクセスによって処理可能かどうかおよび前記利用者によって前記1つの外部データベースにおいて実行するように指定されているかどうかを評価するステップと、
(3)記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより処理可能であると評価されしかも前記利用者により実行が指定されているならば、前記問合せを前記1つの外部データベースにおいて処理するためのアクセス手順を生成するステップと、
(4)前記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより実行可能でないと評価されるときは、前記問合せに含まれ前記1つの外部データベースにおいて処理できない機能を前記データベース管理システム内の内部データベースにおいて処理するためのアクセス手順を生成するステップと、を有することを特徴とするデータベース管理システムにおける問合せ方法によって達成される。
【0010】
さらに上記の目的は
1つ又はそれ以上の外部のデータベースにアクセスする機能を有するデータベース管理システムおける問合せ実行プログラムであって、
(1)利用者から送られた問合せ中の機能を外部のデータベースで実行するかどうかの指定を取得する手順と、
(2)前記問合せにおいて参照される前記機能が1つの外部データベースへのアクセスによって処理可能かどうかおよび前記利用者によって前記1つの外部データベースにおいて実行するように指定されているかどうかを評価する手順と、
(3)前記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより処理可能であると評価されしかも前記利用者により実行が指定されているならば、前記問合せを前記1つの外部データベースにおいて処理するためのアクセス手順を生成する手順と、
(4)前記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより実行可能でないと評価されるときは、前記問合せに含まれ前記1つの外部データベースにおいて処理できない機能を前記データベース管理システム内の内部データベースにおいて処理するためのアクセス手順を生成する手順と、
を有することを特徴とするデータベース管理システムにおける問合せ実行プログラム
によって達成される。
【0011】
【発明の実施の形態】
以下、図1〜図11を用いて本発明の実施の形態について説明する。
図1は、本発明の実施の形態である外部のデータベースにアクセスする機能を有するデータベース管理システムの構成を示すものである。該外部のデータベースにアクセスする機能を有するデータベース管理システムは、問合せを行うクライアント101、クライアント101より問合せを受付け、問合せの実行を行う外部のデータベースにアクセスする機能を有するデータベース管理システム102、データベース110を管理するデータベース管理システム109を含むデータベースサーバ108、及び上記クライアント101、及びデータベースサーバ108を接続するネットワーク107、内部データベース112から構成される。外部のデータベースにアクセスする機能を有するデータベース管理システム102は、問合せの中の機能の実行場所を記述した定義ファイル106を読込み、機能実行可否設定表104を作成する定義情報取得ステップ103、外部のデータベースにアクセスする機能を有するデータベース管理システム102で使用する外部のデータベース管理システムの情報及び表定義情報を記憶するディクショナリ表111、及び機能実行可否設定表及びディクショナリ表111を参照してクライアント101から投入された問合せの最適化を行う最適化処理ステップ105を含む。
【0012】
なお、図1ではクライアント101、外部のデータベースにアクセスする機能を有するデータベース管理システム102、データベース管理システム109は、それぞれ異なるマシンに存在し、それらがネットワーク107で接続されているが、これらクライアント101、外部のデータベースにアクセスする機能を有するデータベース管理システム102、データベース管理システム109が同一のマシンに配置してもよい。この場合、ネットワーク107は不要である。
【0013】
図2は、定義ファイル106に記述する定義情報の記述例を示している。ユーザは、外部のデータベース管理システムの動作についての知見を元に、定義ファイル106を作成する。すなわち、ユーザの意図した最適化の方法がここで定義される。次に、定義ファイル106の構成について説明する。定義ファイル106は、該定義ファイルがデータベース管理システムの種類毎の定義であるのか、データベース管理システム及びバージョン毎の定義であるのか、あるいはデータベース毎の定義であるのかを示すレコード201と、問合せ中の各機能が外部のデータベースで実行できるかどうかを記述するレコード202とから構成される。図2の例では、定義ファイル106aはレコード201aの値がdbms=DBX1であるが、これは定義ファイル106aに記述された内容がDBX1という種類のデータベース管理システムに対して有効であることを示している。定義ファイル106bのレコード201bの値はdbms=DBX1,ver=5.0であり、これは定義ファイル106bがDBX1という種類のデータベース管理システムのバージョン5.0に対して有効であるということを示している。定義ファイル106cのレコード201cの値はfs=db01であり、これは定義ファイル106cに記述された定義が外部のデータベースdb01に対して有効であることを示している。
【0014】
図3は、機能実行可否設定表104の構成例を示した図である。機能実行可否設定表104は、データベース管理システムの種類毎の定義情報309を指すポインタ301、データベース管理システムの種類及びバージョン毎の定義情報309を指すポインタ302、及び外部のデータベース毎の定義情報309を指すポインタ303を持つ。定義情報309は、データベース管理システムの種類を記憶する領域304、バージョンを記憶する領域305、外部のデータベース名を記憶する領域306、他の定義情報へのポインタを記憶する領域307、問合せ中の機能名と該機能が外部のデータベースで実行できるかどうかの値を記憶するレコード308とから構成される。レコード308は、さらに機能名を格納する領域310と、値を記憶する領域311とから構成される。図3に示したステップにより、図2の定義ファイル106に定義された内容が、図1のデータベース管理システム102の機能実行可否設定表104に取り込むことが可能になる。この結果、ユーザの意図した最適化の方法をデータベース管理システム102に取込むことが可能となる。
【0015】
図4は、図1の外部のデータベースにアクセスする機能を有するデータベース管理システム102で使用する、外部のデータベースの定義及び表定義を記憶するディクショナリ表111のテーブル構成例を示した図である。ディクショナリ表111は、列名を格納するフィールド401、表名を格納するフィールド402、外部のデータベース名を格納するフィールド403、外部のデータベースを管理するデータベース管理システムの種類を格納するフィールド404、及び該データベース管理システムのバージョンを格納するフィールド405から構成される。
【0016】
図5は、定義情報取得ステップ103で実行される処理の例を示した図である。本処理では、全ての定義ファイル106を対象に次の処理を行う。まず、定義ファイル106に記述されたレコード201を取得する(ステップ501)。次に、定義情報309を作成し、レコード201の値を定義情報309に設定する。レコード201がデータベース管理システムの種類を示している場合(図2の106aの場合)は、データベース管理システムの種類を記憶するフィールド304に該レコード201で指定されたデータベース管理システムの種類を格納する。レコード201がデータベース管理システムの種類及びバージョンを示している場合(図2の106bの場合)は、データベース管理システムの種類を記憶するフィールド304に該レコード201で指定されたデータベース管理システムの種類を格納し、データベース管理システムのバージョンを格納するフィールド305にレコード201で指定された該データベース管理システムのバージョンを格納する。レコード201が外部のデータベースの名称を示している場合(図2の106cの場合)は、外部のデータベースの名称を記憶するフィールド306に該レコード201で指定された外部のデータベースの名称を格納する(ステップ502)。
【0017】
その後、現在処理している定義ファイル106のレコード202のそれぞれについて、次の処理繰返し行う(ステップ503a、503b)。まず、定義情報309内に、問合せの機能毎の実行先を表すレコード308を作成する。次に、レコード202のコロン(:)の左辺に記述された値をレコード308の機能名領域310に、右辺に記述された値をレコード308の設定値領域311にそれぞれ格納する(ステップ504)。
【0018】
現在処理している定義ファイル106の全てのレコード202についてステップ504の処理が完了したら、レコード201がデータベース管理システムの種類を示している場合は機能実行可否設定表のフィールド301から、レコード201がデータベース管理システムの種類とバージョンを示している場合は機能実行可否設定表のフィールド302から、レコード201が外部のデータベースの名称を示している場合は機能実行可否設定表のフィールド303から、作成した定義情報309をそれぞれポイントする。既にフィールド301、302、303から定義情報309がポイントされている場合は、ポイントされている先の定義情報309の次ポインタフィールド307から、次の定義情報309をさすように構成されている。
【0019】
図6は、最適化処理ステップ105で実行される処理の例を示した図である。まず、定義定義情報取得ステップ103を用いて、定義ファイル106を機能実行可否設定表104に設定する(ステップ601)。クライアント101から問合せが入力されると(ステップ602)、入力された問合せに対して、問合せが含む外部のデータベース数が一つかつ問合せが含む全ての機能が外部サーバで実行と指定されているかどうかを判定する(ステップ603)。ステップ603が成立する場合はステップ601で入力された問合せを外部のデータベースで実行するためのコードを生成し(ステップ604)、問合せを外部のデータベースで実行する(ステップ605)。そうでない場合には、外部のデータベースで実行すると指定された機能を外部のデータベースで実行し、それ以外の機能を自システム102にデータを取得して実行するためのコードを生成し(ステップ606)、外部のデータベースで実行すると指定された機能を外部のデータベースで実行し、結果を内部データベース112に取得し、外部のデータベースで実行できない機能を実行し結果を得る(ステップ607)。
【0020】
図7は、問合せの実行可否判定ステップ603で実行される処理の例を示した図である。まず、問合せに含まれる外部サーバの数を0に初期化する(ステップ701)。次に、問合せ中の各機能について、以下の処理を繰り返す(ステップ702a、702b)。
【0021】
図9の問合せを例に説明する。図9は、表T1を探索条件length(T1.c1)=10で探索した結果と、表T2を探索条件length(T2.c2)>15で探索した結果とを条件T2.c2>T1.c1で結合した結果を取得するという問合せである。また、この問合せの探索条件機能902b(=)及び902e(>)は、図2の定義ファイル106に、外部のデータベース管理システムDBX1で実行するように定義されている。また、機能902a(length)は、外部のデータベースdb01で実行するように定義されている(図2の定義ファイル106c)。一方、機能902dのlengthは、外部のデータベースでは実行しないように定義されている(図2の定義ファイル106b)。
【0022】
問合せの内容が図9の内容の場合、まず、該機能902aに含まれる機能が、図3の309で外部のデータベースで実行可と指定されているかどうかを調べる。この場合length機能902aには列T1.c1のみが含まれるが、列は機能ではないため、該機能902aは外部サーバで実行不可のマークが付与された機能を含まないと判定する(ステップ708)。
【0023】
次に、機能が含むデータが一つの外部のデータベースに閉じているかどうかを判定する。これは、ディクショナリ表111を参照し、該機能に含まれる列指定が属する外部のデータベースの数を数え上げることにより行う(ステップ703)。該機能が複数の外部のデータベースにまたがる場合は、機能に「外部サーバで実行不可」をマークし、次の機能の判定を行う(ステップ706)。該機能が一つの外部のデータベースに閉じている場合は、機能を実行する先の外部のデータベース毎、該外部のデータベースを管理するデータベース管理システムの種類及びバージョンの毎、及び及び該データベース管理システムの種類毎の定義情報309を、機能実行可否設定表104より取得し(ステップ705)、該機能が外部サーバで実行されるよう指定されているかどうかを判定する(ステップ705)。該機能が外部のデータベース毎の定義情報309で実行可能と定義されている場合(該機能の名称を機能名フィールド310に持つレコード308が存在し、該レコード308の設定値フィールド311の値がYESの場合)、当該機能は外部のデータベースで実行するよう指定されていると判断する。一方、該レコード308の設定値フィールド311の値がNOの場合は、当該機能は外部のデータベースで実行するよう指定されていないと判断する。外部のデータベース毎の定義情報309に、該機能の名称を機能名フィールド310に持つレコード308が存在しない場合は、ステップ704で取得したデータベース管理システム及びバージョン毎の定義情報309を用いて、同様に該機能が外部のデータベースで実行可能と指定されているかどうかを判断する。データベース管理システムの種類及びバージョン毎の定義情報309にも、該機能の名称を機能名フィールド310に持つレコード308が存在しない場合は、ステップ704で取得したデータベース管理システム毎の定義情報309を用いて、同様に該機能が外部のデータベースで実行可能と指定されているかどうかを判断する。データベース管理システムの種類毎の定義情報309にも、該機能の名称を機能名フィールド310に持つレコード308が存在しない場合は、該機能は外部のデータベースで実行可能と指定されていると判断する(ステップ705)。その後、機能中の外部サーバとこれまで出現した外部のデータベースを比較し、異なっていればその数だけ問合せに含まれる外部サーバの数を増加する(ステップ707)。
【0024】
図8は、機能実行先の外部のデータベースの定義情報309を取得するステップ704で実施される処理の例を示した図である。まず、ディクショナリ表111から定義情報を取得する対象の列が属する外部のデータベース名、該データベースを管理するデータベース管理システムの種類及びバージョンを取得する(ステップ801)。次に、機能実行可否設定表104のポインタ303からチェーンされている定義情報309のそれぞれについて、ステップ801で取得した外部のデータベース名と該定義情報309の外部のデータベース名フィールド306の値を比較する(ステップ802)。比較結果が等しい場合、該定義情報309を取得情報の対象とする(ステップ805)。次に、機能実行可否設定表104のポインタ302からチェーンされている定義情報309のそれぞれについて、ステップ801で取得したデータベース管理システムの種類と該定義情報309のデータベース管理システム種類フィールド304の値、及びステップ801で取得したバージョンと該定義情報309のバージョンフィールド305の値、をそれぞれ比較する(ステップ803)。両方の比較結果が等しい場合、該定義情報309を取得情報の対象とする(ステップ806)。次に、機能実行可否設定表104のポインタ301からチェーンされている定義情報309のそれぞれについて、ステップ801で取得したデータベース管理システムの種類と該定義情報309のデータベース管理システム種類フィールド304の値を比較する(ステップ804)。比較結果が等しい場合、該定義情報309を取得情報の対象とする(ステップ807)。最後に呼出し元は、ステップ805〜807で取得情報の対象とした定義情報309を取得する(ステップ808)。
【0025】
以下、図2に示した定義ファイル106a〜106cから、図3に示す機能実行可否設定表104を作成する処理の例について説明する。該処理は、定義情報取得ステップ103を用いて行う。まずステップ501で定義ファイル106aのレコード201aを読む。レコード201aには、dbms=DBX1と記述されているが、ここでdbms=は定義ファイルがデータベース管理システムの種類毎の定義であることを示しており、さらにデータベース管理システムの種類がDBX1であることを示している。従って、ステップ502により、定義情報309aのデータベース管理システムの種類フィールド304aにDBX1が設定される。次に、ステップ504でレコード202aを取得し、機能名=とそれが外部のデータベース(この場合はデータベース管理システムがDBX1である外部のデータベース)で実行可能であるかどうかを示した値(レコード202aの場合はYES)をレコード308aの機能名フィールド310a及び設定値フィールド311aにそれぞれ設定する。同様に、レコード202bも取得し、レコード308bを作成する。次に、ステップ505で該定義情報309aのアドレスを機能実行可否設定表104に設定する。定義ファイル106aの場合、レコード201aにはdbms=DBX1と書かれていることから、該定義ファイルはデータベース管理システムの種類ごとの定義と判断し、フィールド301にアドレスを設定する。
【0026】
定義ファイル106bの場合は、レコード201bに書かれている値はdbms=DBX1,ver=5.0であることから、定義情報309bのデータベース管理システムの種類フィールド304bにDBX1を、バージョンフィールド305bに5.0を設定する(ステップ501、502)。その後、レコード202cを読込み、レコード308cを作成する(ステップ504)。最後に、レコード201bにデータベース管理システムの種類とバージョンの両方が記述されていることから、該定義ファイル106bはデータベース管理システムの種類およびバージョンごとの定義(定義ファイル106bの場合はDBX1 5.0)と判断し、機能実行可否設定表104のポインタ302から該定義情報309bをポイントする(ステップ505)。
【0027】
定義ファイル106cの場合は、レコード201cに書かれている値はfs=db01であることから、定義情報309cの外部のデータベース名フィールド306cにdb01を設定する(ステップ501、502)。その後、レコード202dを読込み、レコード308dを作成する(ステップ504)。最後に、レコード201cに外部のデータベースの名称が記述されていることから、該定義ファイル106cは外部のデータベースごとの定義(定義ファイル106cの場合はデータベースdb01)と判断し、機能実行可否設定表104のポインタ303から該定義情報309cをポイントする(ステップ505)。
【0028】
以下、図9に示した問合せ901を例に、図6の問合せの外部サーバ実行可否判定がどのように判定されるかを示す。問合せ901に含まれる、判定対象となる機能902は、スカラ関数length(902a)、=比較演算(902b)、>比較処理(902c)、length(902d)、>比較処理(902e)である。外部のデータベースへのアクセス機能を有するデータベース管理システム102は、クライアント101からの問合せ901を、ステップ601で受け取り、ステップ603で該問合せの実行可否判定をステップ603で行う。ステップ603では、図7に示すフローが実行される。
【0029】
まず、問合せに含まれる外部のデータベース数を0に初期化した後、問合せの各機能について判定を行う。問合せ901の例では、まずlength機能902aが含むデータがいくつの外部サーバにあるかを判定するが(ステップ703)、この場合length機能902aに含まれる列の数が1であるため、ステップ703の判定結果はYとなる。
【0030】
次に、ステップ704でlength機能902aの実行先の外部のデータベースの定義情報を取得する。ステップ704では図8に示したフローが実施される。まず、ステップ801で、ディクショナリ表111より判定対象の列が属する外部のデータベース、該データベースを管理するデータベース管理システムの種類、及びバージョンを取得する。この場合、列c1は図4に示すように表T1に属しているため、同一の列名及び表名を持つディクショナリ表111のレコード410aの外部サーバ名、データベース管理システムの種類、及びバージョンが求めるデータであり、値はそれぞれdb01、DBX1、5.0となる。次にステップ802で、外部サーバ実行可否判定表104のフィールド303からのチェーンに繋がれている定義情報309cを参照する。定義情報309cの外部のデータベース名フィールド306cの値はdb01であり、これは先ほどステップ801で取得した外部のデータベース名の値と等しいため、定義情報309cを、返却対象とする(ステップ805)。次に、外部サーバ実行可否判定表104のフィールド302からの定義情報309bを参照する。定義情報309bのデータベース管理システム種類フィールド304bの値、及びバージョンフィールド305bの値はそれぞれDBX1、5.0であるが、これはステップ801で取得したデータベース管理システムの種類、及びバージョンとそれぞれ等しいため、定義情報309bを取得情報の対象とする(ステップ806)。次に、外部サーバ実行可否判定表104のフィールド301からの定義情報309aを参照する。定義情報309aのデータベース管理システム種類フィールド304aの値はDBX1であるが、これはステップ801で取得したデータベース管理システムの種類と等しいため、定義情報309bを、取得情報の対象とする(ステップ806)。これらの処理の結果、ステップ704で、定義情報309c、309b、309aを実行先の外部のデータベースの定義情報と取得する。
【0031】
次に、ステップ705で、length機能902aが外部のデータベースで実行するよう指定されているかどうかを調べる。定義情報309c、309b、309aの順に、機能名310にlength()を持つレコード308を検索し、見つかった最初のレコードをの設定値フィールド311の値が外部サーバで実行されるかどうかを示している。この場合、レコード308dが最初に見つかるレコードになるが、該レコード308dの設定値はYESであり、該機能は外部サーバで実行できると判定する。次にステップ707で、これまで出現した外部のデータベースの数を計算するが、この場合初めて出てきたので1とする。
【0032】
次に、機能=(902b)について、同様の判定を行う。この場合、ステップ708で該機能902bが外部のデータベースで実行不可とマークされた機能を含んでいるかどうかを判定するが、機能length(901a)は外部のデータベースで実行可能であるので含んでいないと判定する。次に、ステップ703で、該機能902bが含む外部のデータベース数を求めるが、該機能902bは列を含まず、該機能902aは列はT1.c1を含むのみであるため、1と判定する。次にステップ704で該列T1.c1が含まれる外部のデータベースの定義情報を取得するが、この場合は、機能902aの場合と同様定義情報309c、309b、309aが実行先の外部のデータベースの定義情報として返却される。次に、ステップ705で該機能902bが外部のデータベースで実行されるよう指定されているかどうかを判定するが、この場合レコード308aが最初に見つかるレコードであり、308aの設定値フィールド311aの値がYESであるため該機能902bも外部のデータベースで実行できると判定する。最後にステップ707で外部のデータベースの数を増加するが、この場合列T1.c1は先のlength機能902aと同じ外部のデータベースであり、外部のデータベースの数の増加は行わない。
【0033】
次に、機能>(902c)について同様の判定を行う。この場合、ステップ708で該機能902cが外部のデータベースで実行できるかどうかは、レコード308bの設定値フィールド3111aで判定するが、該フィールド311aの値はYESのため、外部のデータベースで実行不可とマークされた機能を含んでいないと判定する。ステップ703で該機能902cが含む外部のデータベースの数が一つかどうかを、ディクショナリ表111を参照して判定する。該機能902cに含まれる列は、T1.c1とT2.c2の2つである。列T1.c1が参照する外部のデータベースは、レコード410aよりdb01、列T2.c2が参照する外部のデータベースは、レコード410bよりdb02であり異なっているため、ステップ703の判定結果はNとなり、該機能902cに外部のデータベースで実行不可のマークを付与する(ステップ706)。その後、ステップ707で外部のデータベースの数を増加させるが、新たにdb02が出現しており、問合せが参照する外部のデータベースの数は2となる(ステップ707)。
【0034】
次に、ステップ705で、length機能(902d)が外部のデータベースで実行するよう指定されているかどうかを調べる。この場合、レコード308cが最初に見つかるレコードになるが、該レコード308dの設定値フィールド311bの値はNOであり、該機能は外部サーバで実行できないので該機能902dに外部のデータベースで実行不可のマークを付与する。次にステップ707で、これまで出現した外部のデータベースの数を計算するが、該機能は列T2.c2のみを含み、かつ該列T2.c2は既に出現しているため外部のデータベースの数は2のままとする。
【0035】
最後に、機能=(902e)について、同様の判定を行う。この場合、ステップ708で該機能902eが外部サーバで実行不可とマークされた機能を含んでいるかどうかを判定するが、既に機能902dが外部のデータベースで実行不可とマークされているため、該機能902eにも、外部サーバで実行不可のマークを付与する(ステップ706)。
【0036】
次に、ステップ603で問合せが含む外部のデータベースが一つかどうかを判定するが、外部のデータベースの数が2であるため、図10の1003に示すようなアクセス手順を生成する(ステップ605)。901に示す問合せの場合、データベース管理システム自身が持つデータベースにアクセスする場合は図10の1001に示すように、表T1を条件length(T1.c1)=10でスキャンするコード(1001b)、表T2を条件length(T2.c2)>15でスキャンするコード(1001c)、及びコード1001bと1001cの実行結果を条件T1.c1>T2.c2で結合するコード1001aを生成する。ステップ605では、該コードのうち、表をスキャンする処理を、外部のデータベース上の表からデータを取得するSQL文に置換えたコードを生成する。この時、スキャンの条件が外部のデータベースで実行できる条件の場合は該条件を該SQL文に付与し、外部のデータベースで実行できない条件の場合は、外部のデータベースから取得したデータに対して、該外部のデータベースで実行できない条件で選択するコードを付与する。問合せ901の例では、表T1のデータを外部のデータベースから条件length(T1.c1=10で取得するSQL文を持つコード1003bと、外部のデータベース上の表T2からデータを取得するコード1003dと1003dから取得したデータを条件length(T2.c2)>15で選択するコード1003cと、コード1003bと1003cの実行結果を条件T1.c1>T2.c2で結合するコード1003aを生成する。
【0037】
また、問合せ901が参照する外部のデータベースの数が一つであり、かつ全ての機能が外部のデータベースで実行できる場合は、ステップ604で、1002に示すように、問合せ901全体を外部のデータベースで実行するコード1002を生成する。
【0038】
本発明を持たないデータベース管理システムの場合、スカラ関数length()を外部のデータベースで実行するかどうかをユーザの指定で切替えられないため、データベース管理システムにおいてlength()が外部のデータベースで実行できないように組み込まれていると、外部のデータベースdb01ではlength()を実行することが可能であってもlength()を含む条件(機能902a、902b)を外部のデータベースで実行することができない。そのため、該問合せ901に対して生成するコードは図11の1101に示すように、表T1から条件なしでデータを取得するコード1101c、1101cを実行した結果から条件length(T1.c1)=10でデータを絞り込むコード1101b、表T2から条件なしでデータを取得するコード1101e、1101eで取得したデータを条件length(T2.c2)>15で絞り込むコード1101d、及び1101bと1101dの実行結果を条件T1.c1>T2.c2で結合するコード1101aを生成する。この結果外部のデータベースdb01から取得する表T1のデータを絞り込むことができず、問合せの性能が劣化する。
本発明では、ユーザがどの機能を外部のデータベースで実行するかを指定できるようになっているため、外部のデータベースdb01で該機能length()を実行するよう指定することで、外部のデータベースdb01から取得するデータの量を絞り込むことが可能となり、結果として問合せの性能を向上させることが可能となる。
【0039】
【発明の効果】
本発明によれば、外部のデータベースにアクセスする機能を有するデータベース管理システムに、問合せ中のどの機能を外部のデータベースで実行させるかをユーザが指定できる手段を設けたため、利用者が意図したように問合せの最適化を実現することができ、問合せの実行性能を高速化することが可能となる。
【0040】
本発明のさらに他の様態によれば、データベース管理システムの種類毎、データベース管理システムの種類・バージョン毎、および外部のデータベース毎に、問合せ中の機能を外部のデータベースで実行するかどうかを指定することができるため、指定に要する作業量を削減することが可能になる。また、データベース管理システムのバージョンや外部のデータベースによって指定の異なる部分のみに着目し、共通する項目を取出して定義できるため、指定に要する作業量を削減することが可能になる。
【図面の簡単な説明】
【図1】本発明が実施される外部のデータベースへのアクセス機能を有するデータベースシステムの構成例である。
【図2】定義ファイルの記述例である。
【図3】機能実行可否設定表の構成例である。
【図4】ディクショナリ表の構成例である。
【図5】定義情報取得ステップ103で実行される処理の例である。
【図6】最適化処理ステップ105で実行される処理の例である。
【図7】問合せの実行可否判定ステップ603で実施される処理の例である。
【図8】定義情報取得ステップ704で実施される処理の例である。
【図9】問合せの例である。
【図10】問合せで生成されるアクセス手順を示したコードの例である。
【図11】本発明で示した機能を持たない場合に問合せで生成されるアクセス手順を示したコードの例である。
【符号の説明】
101…クライアント
102…外部のデータベースへのアクセス機能を有するデータベース管理システム
103…定義情報取得ステップ
104…機能実行可否設定表
105…最適化処理ステップ
106…定義ファイル
107…ネットワーク
108…データベースサーバ
109…データベース管理システム
110…データベース
111…ディクショナリ表
112…内部データベース
Claims (7)
- 1つ又はそれ以上の外部のデータベースにアクセスする機能を有するデータベース管理システムにおいて、
問合せに含まれる各機能が外部のデータベースにおいて実行されるものか否かを事前に定義設定する手段と、
利用者から送られた前記問合せにおいて参照される機能が1つの外部データベースへのアクセスによって処理可能かどうかを評価する手段と、
前記問合せにおいて参照される全ての機能が前記1つの外部データベースへのアクセスにより処理可能であると評価され且つ前記定義設定する手段により前記1つの外部データベースにおける実行が定義されているときには、前記問合せは前記1つの外部データベースにおいて処理され、
前記問合せにおいて参照される機能のうち一部の機能が前記1つの外部データベースへのアクセスにより処理可能でないと評価されるときは、前記問合せに含まれ前記1つの外部データベースにおいて実行されると設定される機能を前記1つの外部データベースにおいて実行した後、前記1つの外部データベースでは実行されない前記問合せ中の他の機能について、少なくとも1つの外部データベースで実行された結果を前記データベース管理システムに付属する内部データベースに取り込んでその内部データベースにおいて残された機能処理を実行することを特徴とするデータベース管理システム。 - 1つ又はそれ以上の外部のデータベースにアクセスする機能を有するデータベース管理システムにおける問合せ方法であって、
(1)問合せに含まれる各機能が外部のデータベースで実行されるものか否かの設定情報を取得するステップと、
(2)取得された前記設定情報を参照することによって、前記問合せにおいて参照される前記機能が1つの外部データベースへのアクセスによって処理可能か否か評価するステップと、
(3)前記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより処理可能であると評価されるならば、前記問合せにおいて参照される機能を前記1つの外部データベースにおいて処理するためのアクセス手順を生成するステップと、
(4)前記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより実行可能でないと評価されるときは、前記問合せに含まれ前記1つの外部データベースにおい処理できない機能を前記データベース管理システムに付属する内部データベースにおいて処理するためのアクセス手順を生成するステップと、
を有することを特徴とするデータベース管理システムにおける問合せ方法。 - 請求項2に記載のデータベース管理システムにおける問合せ方法であって、
(1)あらかじめ設定された定義情報に基づいて、利用者から送られた前記問合せにある全ての機能が1つの外部データベースにおいて処理可能と判定されるときに、前記問合せを前記1つの外部データベースにおいて処理するためのアクセス手順を生成するステップと、
(2)前記定義情報に基づいて、前記問合せに含まれる機能が前記1つの外部データベースにおいて処理不可能と判定されるときには、外部データベースにアクセスする機能を有する前記データベース管理システム内の前記内部データベースにおいて前記機能を実行するアクセス手順を生成するステップと、
を有することを特徴とするデータベース管理システムにおける問合せ方法。 - 請求項2に記載のデータベース管理システムにおける問合せ方法であって、
前記定義情報は、外部データベースを管理するデータベース管理システムの種類ごとに、問合せに含まれる機能が外部データベースにおいて実行可能かどうかを定義するものであ ることを特徴とするデータベース管理システムにおける問合せ方法。 - 請求項4に記載のデータベース管理システムにおける問合せ方法であって、
前記定義情報は、外部データベースを管理するデータベース管理システムの種類およびバージョンごとに、問合せに含まれる機能が外部データベースにおいて実行可能かどうかを定義するものであることを特徴とするデータベース管理システムにおける問合せ方法。 - 1つ又はそれ以上の外部のデータベースにアクセスする機能を有するデータベース管理システムにおける問合せ実行プログラムであって、
(1)問合せに含まれる各機能が外部のデータベースで実行されるものか否かの設定情報を取得する手順と、
(2)取得された前記設定情報を参照することによって、前記問合せにおいて参照される前記機能が1つの外部データベースへのアクセスによって処理可能か否か評価する手順と、
(3)前記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより処理可能であると評価されるならば、前記問合せにおいて参照される機能を前記1つの外部データベースにおいて処理するためのアクセス手順を生成する手順と、
(4)前記問合せにおいて参照される機能が前記1つの外部データベースへのアクセスにより実行可能でないと評価されるときは、前記問合せに含まれ前記1つの外部データベースにおい処理できない機能を前記データベース管理システムに付属する内部データベースにおいて処理するためのアクセス手順を生成する手順と、
を有することを特徴とするデータベース管理システムにおける問合せ実行プログラム。 - 1つ又はそれ以上の外部のデータベースにアクセスする機能を有するデータベース管理システムにおける問合せ実行プログラムであって、
(1)あらかじめ設定された定義情報に基づいて、利用者から送られた前記問合せにある全ての機能が1つの外部データベースにおいて処理可能と判定されるときに、前記問合せを前記1つの外部データベースにおいて処理するためのアクセス手順を生成するステップと、
(2)前記定義情報に基づいて、前記問合せに含まれる機能が前記1つの外部データベースにおいて処理不可能と判定されるときには、外部データベースにアクセスする機能を有する前記データベース管理システムに付属する内部データベースにおいて前記機能を実行するアクセス手順を生成するステップと、
を有することを特徴とするデータベース管理システムにおける問合せ実行プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001046318A JP4255624B2 (ja) | 2001-02-22 | 2001-02-22 | データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム |
US10/041,577 US6925462B2 (en) | 2001-02-22 | 2002-01-10 | Database management system, and query method and query execution program in the database management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001046318A JP4255624B2 (ja) | 2001-02-22 | 2001-02-22 | データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002251307A JP2002251307A (ja) | 2002-09-06 |
JP2002251307A5 JP2002251307A5 (ja) | 2005-11-04 |
JP4255624B2 true JP4255624B2 (ja) | 2009-04-15 |
Family
ID=18907968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001046318A Expired - Fee Related JP4255624B2 (ja) | 2001-02-22 | 2001-02-22 | データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6925462B2 (ja) |
JP (1) | JP4255624B2 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925246B2 (en) | 2002-12-11 | 2011-04-12 | Leader Technologies, Inc. | Radio/telephony interoperability system |
US8195714B2 (en) | 2002-12-11 | 2012-06-05 | Leaper Technologies, Inc. | Context instantiated application protocol |
US20040236726A1 (en) * | 2003-05-19 | 2004-11-25 | Teracruz, Inc. | System and method for query result caching |
US8166101B2 (en) | 2003-08-21 | 2012-04-24 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system |
US8131739B2 (en) * | 2003-08-21 | 2012-03-06 | Microsoft Corporation | Systems and methods for interfacing application programs with an item-based storage platform |
US7401104B2 (en) | 2003-08-21 | 2008-07-15 | Microsoft Corporation | Systems and methods for synchronizing computer systems through an intermediary file system share or device |
US8238696B2 (en) | 2003-08-21 | 2012-08-07 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system |
US7529753B1 (en) | 2004-09-03 | 2009-05-05 | Crossroads Systems, Inc. | Providing application-layer functionality between one or more database clients and one or more database servers |
US7509330B2 (en) | 2004-09-03 | 2009-03-24 | Crossroads Systems, Inc. | Application-layer monitoring of communication between one or more database clients and one or more database servers |
JP4671738B2 (ja) * | 2005-04-01 | 2011-04-20 | 株式会社日立製作所 | ストレージシステム及び記憶領域割当て方法 |
US7908589B2 (en) * | 2006-08-29 | 2011-03-15 | Sap Ag | Deployment |
US7827528B2 (en) * | 2006-08-29 | 2010-11-02 | Sap Ag | Delta layering |
US7912800B2 (en) | 2006-08-29 | 2011-03-22 | Sap Ag | Deduction engine to determine what configuration management scoping questions to ask a user based on responses to one or more previous questions |
US8065661B2 (en) | 2006-08-29 | 2011-11-22 | Sap Ag | Test engine |
US20080127082A1 (en) * | 2006-08-29 | 2008-05-29 | Miho Emil Birimisa | System and method for requirements-based application configuration |
US20080071839A1 (en) * | 2006-08-29 | 2008-03-20 | Juergen Sattler | Content authoring |
US20080082517A1 (en) * | 2006-08-29 | 2008-04-03 | Sap Ag | Change assistant |
US20080071555A1 (en) * | 2006-08-29 | 2008-03-20 | Juergen Sattler | Application solution proposal engine |
US20080059630A1 (en) * | 2006-08-29 | 2008-03-06 | Juergen Sattler | Assistant |
US8131644B2 (en) * | 2006-08-29 | 2012-03-06 | Sap Ag | Formular update |
US20080059537A1 (en) * | 2006-08-29 | 2008-03-06 | Juergen Sattler | Content subscription |
US7823124B2 (en) | 2006-08-29 | 2010-10-26 | Sap Ag | Transformation layer |
US7831568B2 (en) * | 2006-08-29 | 2010-11-09 | Sap Ag | Data migration |
US7831637B2 (en) * | 2006-08-29 | 2010-11-09 | Sap Ag | System on the fly |
US20080097952A1 (en) * | 2006-10-05 | 2008-04-24 | Integrated Informatics Inc. | Extending emr - making patient data emrcentric |
US8135659B2 (en) | 2008-10-01 | 2012-03-13 | Sap Ag | System configuration comparison to identify process variation |
US8396893B2 (en) * | 2008-12-11 | 2013-03-12 | Sap Ag | Unified configuration of multiple applications |
US8255429B2 (en) | 2008-12-17 | 2012-08-28 | Sap Ag | Configuration change without disruption of incomplete processes |
US8584087B2 (en) | 2009-12-11 | 2013-11-12 | Sap Ag | Application configuration deployment monitor |
JP5454201B2 (ja) * | 2010-02-15 | 2014-03-26 | 富士通株式会社 | データストア切替装置、データストア切替方法およびデータストア切替プログラム |
WO2016127851A1 (en) | 2015-02-12 | 2016-08-18 | Huawei Technologies Co., Ltd. | Method and query optimization server for associating functions with columns for optimizing query execution |
JP6644637B2 (ja) * | 2016-05-25 | 2020-02-12 | 株式会社日立製作所 | 高速化装置、計算機システム及びデータ処理方法 |
US11675761B2 (en) * | 2017-09-30 | 2023-06-13 | Oracle International Corporation | Performing in-memory columnar analytic queries on externally resident data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06231181A (ja) | 1993-02-05 | 1994-08-19 | Hokkaido Nippon Denki Software Kk | 分散データベース制御方式 |
US5544355A (en) | 1993-06-14 | 1996-08-06 | Hewlett-Packard Company | Method and apparatus for query optimization in a relational database system having foreign functions |
US5588150A (en) | 1994-09-29 | 1996-12-24 | International Business Machines Corporation | Push down optimization in a distributed, multi-database system |
US5884321A (en) * | 1995-03-22 | 1999-03-16 | Meffert; Gregory John | Document image and query management system for application databases |
US5968115A (en) * | 1997-02-03 | 1999-10-19 | Complementary Systems, Inc. | Complementary concurrent cooperative multi-processing multi-tasking processing system (C3M2) |
-
2001
- 2001-02-22 JP JP2001046318A patent/JP4255624B2/ja not_active Expired - Fee Related
-
2002
- 2002-01-10 US US10/041,577 patent/US6925462B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20020116373A1 (en) | 2002-08-22 |
JP2002251307A (ja) | 2002-09-06 |
US6925462B2 (en) | 2005-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4255624B2 (ja) | データベース管理システム、データベース管理システムにおける問合せ方法、およびデータベース管理システムにおける問い合わせ実行プログラム | |
US11341155B2 (en) | Mapping instances of a dataset within a data management system | |
US9141678B2 (en) | Distributed query cache in a database system | |
KR101517460B1 (ko) | 데이터 관계의 그래픽 표현 | |
JP3742177B2 (ja) | 並列データベースシステムルーチン実行方法 | |
US20120221571A1 (en) | Efficient presentation of comupter object names based on attribute clustering | |
US20060101001A1 (en) | Method, system and program for executing a query having a UNION operator | |
US20030033597A1 (en) | Method for selecting a set of patches to update a system of programs | |
CN109344230A (zh) | 代码库文件生成、代码搜索、联结、优化以及移植方法 | |
US20030069656A1 (en) | Part selection aiding system | |
CN111737295B (zh) | 数据库游标查询方法、装置、设备和存储介质 | |
US20050171934A1 (en) | System and method for generating a parameterized query | |
CN112506999B (zh) | 基于云计算和人工智能的大数据挖掘方法及数字内容服务器 | |
CN116501938A (zh) | 数据采集方法、装置、设备及存储介质 | |
US10810196B2 (en) | Materialized view generation | |
US20210397745A1 (en) | Data providing server device and data providing method | |
EP0394172A2 (en) | Method of performing file services given partial file names | |
JP2005190212A (ja) | データベースシステム、データ処理方法及びプログラム | |
CN112733274A (zh) | 一种汽车热管理一维仿真数据的管理方法、存储介质及管理系统 | |
US7149758B2 (en) | Data processing apparatus, data processing method, and data processing program | |
Krogh et al. | The Query Optimizer | |
JPH09265419A (ja) | バージョン管理装置及び方法 | |
JP2003036170A (ja) | クロスリファレンス構築装置、クロスリファレンス構築方法及びクロスリファレンス構築用プログラム | |
CN118069479A (zh) | 一种sql语句的性能评价方法、装置、设备及存储介质 | |
CN117853059A (zh) | 流程管理方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050818 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050818 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050818 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081121 |
|
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: 20090106 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120206 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120206 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130206 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130206 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140206 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |