(57)【特許請求の範囲】
【請求項１】
複数のデータを蓄積するデータ蓄積手段と、
該データ蓄積手段から読み込まれるデータを格納する格納手段と、
該格納手段に格納されたデータの中から検索条件に合うデータを抽出する検索手段とを具備するデータベース装置において、
前記データ蓄積手段に蓄積された複数のデータの中で予め設定されたデータの集合を読み込みパターンとして記憶するパターン記憶手段と、
前記検索手段でのデータの抽出に先立って、前記パターン記憶手段に記憶された読み込みパターンの中から所望する読み込みパターンが指定されると、これを認識する認識手段と、
該認識手段で読み込みパターンが認識されると、認識された読み込みパターンによって特定されるデータのみを前記データ蓄積手段から読み込んで前記格納手段に格納させる読み込み手段と
を備えてなることを特徴とするデータベース装置。
【請求項２】
複数のデータを蓄積するデータ蓄積手段と、
該データ蓄積手段から読み込まれるデータを格納する格納手段と、
該格納手段に格納されたデータの中から検索条件に合うデータを抽出する検索手段とを具備するデータベース装置を用いて行うデータベース検索方法であって、
前記データ蓄積手段に蓄積された複数のデータの中における任意のデータの集合を読み込みパターンとして設定する処理と、
設定した読み込みパターンを前記複数のデータとともに前記データ蓄積手段に記憶させる処理と、
前記データ蓄積手段に記憶させた読み込みパターンの中から所望する読み込みパターンを指定する処理と、
指定した読み込みパターンによって特定されるデータのみを前記データ蓄積手段から読み込んで前記格納手段に格納させる処理と、
前記格納手段に格納したデータに対して前記検索条件に合うか否かを判断する処理と
からなることを特徴とするデータベース検索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースを運用するためのデータベース装置及びこのデータベース装置を用いて行うデータベース検索方法に係わり、特にオブジェクト指向型のデータベース装置とそのデータベース検索方法に関するものである。
【０００２】
【従来の技術】
データベース装置とは、データベースを運用するためのハードウエア及びソフトウエアを有したコンピュータシステムであり、体系的なデータ構造を有するデータ群の蓄積や、蓄積されたデータに対する検索等を行うものである。
従来、データベース装置としては、テーブル（表）形式のデータ構造を有するリレーショナル（関係型）データベース装置が広く知られている。ただし、リレーショナルデータベース装置では、必要とされる全ての業務に対応することができず、また高速処理の実現が困難であるといった問題がある。そこで、近年では、リレーショナルデータベース装置に代わり、複雑なデータ構造であっても高速処理をすることが可能であるオブジェクト指向型データベース装置が用いられるようになってきている。
【０００３】
オブジェクト指向型データベース装置は、データとこれに関する手続きとを合わせたオブジェクトデータを、一つのモジュール（単位）としてデータベースを構築するものである。よって、オブジェクト指向型データベース装置では、リレーショナルデータベース装置が数値や文字だけしか蓄積できなかったのに対して、グラフィックスや動画像など多様なデータを蓄積することができ、またデータ構造が関係型であろうと、階層型、ネットワーク型であろうと疑似的にサポートすることができ、さらにはデータの操作手続きを論理的データと一体にしてデータベースとして蓄積することができるようになっている。
【０００４】
また、オブジェクト指向型データベース装置は、その内部機能として、二次記憶管理機能、配列等の構造体をもてる複合オブジェクト、オブジェクトＩＤによるデータ関連付け、「継承」等のオブジェクト指向特有の機能サポート、等の特徴を備えているものである。
オブジェクトＩＤとは、オブジェクトデータの一つ一つに付与された識別子（ＩＤ）のことであり、例えば図５に示すように、各オブジェクトデータ間のデータ関連付けを行うためのものである。
【０００５】
このようなオブジェクト指向型データベース装置では、通常、磁気ディスクやＭＯ（Ｍａｇｎｅｔ  Ｏｐｔｉｃａｌ  Ｄｉｓｋ；光磁気ディスク）等の記憶部と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ  ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の組み合わせからなる検索処理部とを備えており、データベースを構築するために記憶部に蓄積されたオブジェクトデータの中から、検索処理部が検索条件に従ってデータ検索を行うようになっている。
【０００６】
例えば、図６に示すように、記憶部が、複数のレコード（列）と複数のフィールド（行）とからなるテーブル形式でオブジェクトデータを蓄積している場合に、検索処理部では、図７のフローチャートに示すような手順によってデータ検索を行う。ただし、図６において、テーブル形式のオブジェクトデータは、１レコード分（図中太線内）のデータ量が３８バイトであるものとする。また、検索処理部が有するＲＡＭ等のメモリは、そのデータ領域の容量が３００バイトであるものとする。
【０００７】
図７に示すように、このオブジェクト指向型データベース装置の利用者（以下、ユーザと称す）等によって検索条件が指示されると、検索処理部は、この検索処理部が有するメモリに、記憶部に蓄積されている全オブジェクトデータの読み込みを開始する（ステップ２０１、以下ステップをＳと略す）。
このとき、検索処理部では、記憶部に蓄積されているオブジェクトデータを、テーブル形式の各レコード毎に読み込むようになっている（図６参照）。したがって、オブジェクトデータの１レコード分のデータ量が３８バイトであり、メモリのデータ容量が３００バイトであれば、検索処理部では、このメモリに格納可能な３００バイト分のオブジェクトデータ、すなわち７レコード分のオブジェクトデータ（３８バイト×７＝２６６バイト）を、記憶部から読み込んでメモリに格納する。
【０００８】
ここで、検索処理部は、この検索処理部が有するＣＰＵ等によって、メモリに格納した７レコード分のオブジェクトデータと、指示された検索条件とを比較し、この検索条件との間で一致するオブジェクトデータがあるか否かを判断する（Ｓ２０２）。この判断の結果、検索条件と一致するオブジェクトデータがあると、検索処理部は、そのオブジェクトデータをメモリ内に残留させ、また、検索条件と一致しないオブジェクトデータをスワップアウトする（Ｓ２０３）。
スワップアウトとは、例えば図８に示すように、記憶部から検索処理部のメモリへ読み込んだオブジェクトデータを、再び記憶部内のデータベースへ送出して記憶させることである。
【０００９】
また図７において、検索条件と一致しないオブジェクトデータをスワップアウトすると、検索処理部は、スワップアウトしたデータ量分のオブジェクトデータを新たに記憶部から読み込んで、再び検索処理部のメモリに格納する。すなわち、検索処理部は、８レコード目以降のオブジェクトデータを記憶部から読み込んで、そのオブジェクトデータについて上述の処理を繰り返す（Ｓ２０１〜Ｓ２０３）。
そして、記憶部に蓄積された全オブジェクトデータについて、検索条件との比較と、この比較の結果によるオブジェクトデータの残留若しくはスワップアウトとが終了したら、検索処理部は、メモリ内に格納しているオブジェクトデータをデータ検索結果として、この検索処理部と接続するＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等に送出して、その画面に表示させる（Ｓ２０４）。
【００１０】
このように、オブジェクト指向型データベース装置では、記憶部に蓄積されたオブジェクトデータの中から、指定された検索条件と一致するオブジェクトデータの検索を行うようになっている。このとき、オブジェクト指向型データベース装置では、記憶部に蓄積されているそれぞれのオブジェクトデータが、オブジェクトＩＤにより互いに関連付けられているので、これら全てのオブジェクトデータを記憶部から検索処理部のメモリに読み込むことによって、ナビゲーショナルな検索が可能となっている。
【００１１】
【発明が解決しようとする課題】
ところで、上述のオブジェクト指向型データベース装置では、データ検索を行う際に、記憶部に蓄積されている全てのオブジェクトデータを、一旦検索処理部のメモリに読み込むようになっている。したがって、記憶部に多くのオブジェクトデータが蓄積されていると、検索処理部のメモリ容量不足が生じる可能性が高くなってしまい、そのためにスワップアウトが多発してしまう。これは、例えば記憶部に蓄積された中から２〜３のオブジェクトデータのみを検索したい場合であっても同様である。
【００１２】
すなわち、このオブジェクト指向型データベース装置では、例えば２〜３のオブジェクトデータのみが必要な場合であっても、記憶部内の全オブジェクトデータを一旦メモリに読み込むようになっているので、メモリの容量不足及びスワップアウトの多発が生じてしまい、結果としてデータ検索の効率（レスポンス）が低下してしまう。
【００１３】
そこで、本発明は、上記の問題点に鑑みて、メモリ容量不足やスワップアウトの多発を抑えることができ、データ検索を効率良く行うことのできるデータベース装置を提供することを目的とする。
また、本発明は、上記の問題点に鑑みて、メモリ容量不足やスワップアウトの多発を抑えることができ、データ検索を効率良く行うことのできるデータベース検索方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明は、上記目的を達成するために案出されたデータベース装置で、複数のデータを蓄積するデータ蓄積手段と、このデータ蓄積手段から読み込まれるデータを格納する格納手段と、この格納手段に格納されたデータの中から検索条件に合うデータを抽出する検索手段とを具備するものにおいて、さらに、前記データ蓄積手段に蓄積された複数のデータの中で予め設定されたデータの集合を読み込みパターンとして記憶するパターン記憶手段と、前記検索手段でのデータの抽出に先立って、前記パターン記憶手段に記憶された読み込みパターンの中から所望する読み込みパターンが指定されると、これを認識する認識手段と、この認識手段で読み込みパターンが認識されると、認識された読み込みパターンによって特定されるデータのみを前記データ蓄積手段から読み込んで前記格納手段に格納させる読み込み手段とを備えてなるものである。
【００１５】
上記構成のデータベース装置によれば、パターン記憶手段は、データ蓄積手段内の複数のデータに対する読み込みパターンを記憶している。ここで、その読み込みパターンの中から所望する読み込みパターンが指定されると、認識手段がこれを認識し、さらに、読み込み手段がその読み込みパターンによって特定されるデータのみを、データ蓄積手段から読み込んで格納手段に格納させる。
これにより、格納手段には、認識手段で認識された読み込みパターンによって特定されるデータのみが格納されるとともに、検索手段では、格納手段内のデータの中から検索条件に合うデータを抽出する。
つまり、このデータベース装置では、検索手段がデータの抽出を行う検索条件に対応する読み込みパターンが指定されれば、データ蓄積手段内の全データではなく、その読み込みパターンによって特定されるデータの中から、前記検索条件に合うデータの抽出を行う。
【００１６】
また、本発明は、上記目的を達成するために案出されたデータベース検索方法で、複数のデータを蓄積するデータ蓄積手段と、このデータ蓄積手段から読み込まれるデータを格納する格納手段と、この格納手段に格納されたデータの中から検索条件に合うデータを抽出する検索手段とを具備するデータベース装置を用いて行う方法であって、前記データ蓄積手段に蓄積された複数のデータの中における任意のデータの集合を読み込みパターンとして設定する処理と、設定した読み込みパターンを前記複数のデータとともに前記データ蓄積手段に記憶させる処理と、前記データ蓄積手段に記憶させた読み込みパターンの中から所望する読み込みパターンを指定する処理と、指定した読み込みパターンによって特定されるデータのみを前記データ蓄積手段から読み込んで前記格納手段に格納させる処理と、前記格納手段に格納したデータに対して前記検索条件に合うか否かを判断する処理とからなることを特徴とする。
【００１７】
上記手順のデータベース検索方法によれば、データ蓄積手段と格納手段と検索手段とを具備するデータベース装置を用いて、先ず、データ蓄積手段内の複数のデータに対する読み込みパターンを設定して、これをデータ蓄積手段に記憶させる。次に、データ蓄積手段に記憶させた読み込みパターンの中から所望する読み込みパターンを指定する。読み込みパターンが指定されると、その読み込みパターンによって特定されるデータのみを、データ蓄積手段から読み込んで格納手段に格納させるとともに、検索手段が格納手段内のデータの中から検索条件に合うデータを抽出する。
つまり、データベース検索方法によれば、データ蓄積手段内の全データではなく、指定した読み込みパターンによって特定されるデータのみの中から、検索手段によるデータの抽出が行われる。
【００１８】
【発明の実施の形態】
以下、図面に基づき本発明に係わるデータベース装置と、このデータベース装置におけるデータベース検索方法について説明する。
【００１９】
本実施の形態のデータベース装置は、図１に示すように、入力部１と、出力部２と、二次記憶部３と、検索処理部４とから構成されているものである。ただし、このデータベース装置は、データベースを構築するそれぞれのデータがオブジェクトＩＤにより互いに関連付けられている（図５参照）オブジェクト指向型データベース装置であるものとする。
【００２０】
入力部１は、例えばキーボードやマウスからなるものであり、ユーザの操作により、データベースを構築するオブジェクトデータの入力や、データ検索を行う際の検索条件の指示や、後述する読み込みパターンの指定あるいは設定等を行うためのものである。
出力部２と、例えばＣＲＴやプリンタからなるものであり、データ検索の結果をユーザに対して表示（出力）するためのものである。
【００２１】
二次記憶部３は、例えば磁気ディスクやＭＯからなるものであり、データベースを構築する複数のオブジェクトデータを蓄積するものである。すなわち、二次記憶部３は、本発明におけるデータ蓄積手段として機能するものである。
また、この二次記憶部３では、本発明におけるパターン記憶手段としての機能も有しており、複数のオブジェクトデータと共に入力部１等からユーザによって設定された、複数の読み込みパターンを記憶するようになっている。
【００２２】
読み込みパターンとは、ユーザ等により設定されるオブジェクトデータの集合からなるものであり、例えばテーブル形式で蓄積されたオブジェクトデータの中で、特定フィールド内にあるオブジェクトデータの集合からなるものである。この読み込みパターンは、特定フィールドに対応したフラグ等によって表されるものであり、このフラグの相違によって、互いに異なる読み込みパターンが識別されるようになっている。
具体的には、二次記憶部３では、図２に示すように、テーブル形式のデータ構造を二次元ではなく三次元的に考えて、その三次元方向にそれぞれ異なる読み込みパターンを、特定フィールドに対応するフラグによって識別可能に記憶するようになっている。
【００２３】
なお、二次記憶部３では、オブジェクトデータを必ずしも三次元的なテーブル形式で蓄積する必要はなく、例えばオブジェクトデータと読み込みパターンとの対応を表すマトリックスを、オブジェクトデータとは別に記憶することにより、パターン記憶手段としての機能を果たすものであってもよい。
また、読み込みパターンは、特定のフィールド内にあるオブジェクトデータの集合でなくとも、例えば、特定のレコード内にあるオブジェクトデータの集合や、テーブル形式内の任意のオブジェクトデータの集合であってもよい。
【００２４】
また図１において、検索処理部４は、このデータベース装置全体の制御や、二次記憶部３に蓄積されたオブジェクトデータに対するデータ検索を行うものである。そのために、検索処理部４では、制御部４ａと、メモリ部４ｂと、演算部４ｃとを備えている。
【００２５】
制御部４ａは、例えばＣＰＵからなるものであり、入力部１等から受け取った命令語を解釈するとともに、入力部１、出力部２、二次記憶部３、メモリ部４ｂ、及び演算部４ｃに対して制御信号を与えることにより、これらにおける動作を制御するものである。また、制御部４ａは、データ検索を行う際に、入力部１から読み込みパターンの指定があると、その読み込みパターンを認識するものである。さらに、制御部４ａは、データ検索を行う際に、認識した読み込みパターンに従って、その読み込みパターンによって特定されるオブジェクトデータのみを、二次記憶部３から読み込むものである。すなわち、制御部４ａは、本発明における認識手段及び読み込み手段としての機能とを有しているものである。
【００２６】
メモリ部４ｂは、例えばＲＡＭ等の半導体メモリからなるものであり、制御部４ａが二次記憶部３から読み込んだオブジェクトデータを格納するものである。すなわち、メモリ部４ｂは、本発明における格納手段として機能するものである。
演算部４ｃは、例えばＣＰＵからなるものであり、メモリ部４ｂに格納されたオブジェクトデータの中から、入力部１で指示された検索条件に合うオブジェクトデータを、四則演算や論理演算等の実行によって抽出するものである。すなわち、演算部４ｃは、本発明における検索手段として機能するものである。
【００２７】
次に、以上のように構成されたデータベース装置を用いて行うデータベース検索方法について説明する。
ただし、ここでは、図３に示すようなテーブル形式の「社員」に関するオブジェクトデータが二次記憶部３に蓄積されており、さらにこのテーブル形式のオブジェクトデータは、１レコード分のデータ量が３８バイトであり、全データのデータ量が５３２バイトであるものとする。
また、ここでは、検索処理部４のメモリ部４ｂのデータ領域の容量が３００バイトであるものとする。
【００２８】
このデータベース装置では、データ検索を行う前に、予め読み込みパターンを設定しておく。すなわち、ユーザは、入力部１を操作して、二次記憶部３に蓄積されているオブジェクトデータの中から、任意のオブジェクトデータの集合を読み込みパターンとして設定する。そして、二次記憶部３は、設定された読み込みパターンをオブジェクトデータと共に記憶する。
例えば、二次記憶部３内のオブジェクトデータの中で「社員Ｎｏ．  」、「社員名」、「入社年月日」、「住所」といったフィールドに該当するオブジェクトデータからなる集合を、一つの読み込みパターンとして設定した場合に、この二次記憶部３では、これらのオブジェクトデータの集合を各フィールド（項目）に対応するフラグによって識別可能にするとともに、その読み込みパターンを例えば「Ａパターン」として登録する。
【００２９】
ここで、ユーザが入力部１を操作して検索条件の指示及び読み込みパターンの指定を行うと、データベース装置では、検索処理部４がこの指示及び指定に従って、図４のフローチャートに示すようにデータ検索を行う。
例えば、ユーザが「入社年月日が１９９０年４月１日以降の社員Ｎｏ．  と社員名と住所」という検索条件を指示し、さらにこの検索条件に対応する読み込みパターンとして「Ａパターン」を指定すると、検索処理部４の制御部４ａでは、指定された「Ａパターン」という読み込みパターンを認識し（Ｓ１０１）、その読み込みパターンによって特定されるデータ、すなわち「社員Ｎｏ．  」、「社員名」、「入社年月日」、「住所」といったフィールドに該当するオブジェクトデータを、二次記憶部３から読み込んでメモリ部４ｂに格納する（Ｓ１０２）。
【００３０】
このとき、これらのオブジェクトデータのデータ量は、「社員Ｎｏ．  」が２バイト、「社員名」が４バイト、「入社年月日」が８バイト、「住所」が６バイトとなっている。したがって、制御部４ａは、全レコード分のオブジェクトデータ（（２バイト＋４バイト＋８バイト＋６バイト）×１４＝２８０バイト）を、二次記憶部３から読み込んでメモリ部４ｂに格納することができる。
【００３１】
全レコード分のオブジェクトデータがメモリ部４ｂに格納されると、続いて、演算部４ｃは、このメモリ部４ｂに格納されたオブジェクトデータを、「入社年月日が１９９０年４月１日以降の社員Ｎｏ．  と社員名と住所」という検索条件と比較し、この検索条件に一致するオブジェクトデータがあるか否かを判断する（Ｓ１０３）。この判断の結果、検索条件と一致するオブジェクトデータがあると、検索処理部は、そのオブジェクトデータをメモリ内に残留させ、また、検索条件と一致しないオブジェクトデータをスワップアウトする。
そして、メモリ部４ｂ内の全てのオブジェクトデータについて、残留あるいはスワップアウトの判断が行われると、制御部４ａは、メモリ内に残留しているオブジェクトデータをデータ検索結果とし、出力部２に送出してユーザに対する表示を行わせる（Ｓ１０４）。
【００３２】
このように、本実施の形態のデータベース装置、及びこのデータベース装置を用いたデータ検索方法では、データ検索を行う際に、読み込みパターンによって特定されるオブジェクトデータのみを二次記憶部３からメモリ部４ｂに読み込むようになっている。
したがって、二次記憶部３に多くのオブジェクトデータが蓄積されている場合であっても、読み込みパターンを予め記憶させておき、かつ、データ検索時にその読み込みパターンを指定すれば、二次記憶部３内の全データではなく、その読み込みパターンによって特定されるデータ、すなわち必要なデータだけを読み込むようになる。これにより、メモリ部４ｂでのメモリ容量不足やスワップアウトの多発を抑えることが可能となるとともに、メモリ部４ｂのメモリ容量の節約を実現することができ、結果としてデータ検索のレスポンスの向上を図ることができる。
【００３３】
【発明の効果】
以上に説明したように、本発明のデータベース装置は、データ検索を行う際に、読み込みパターンによって特定されるデータのみをデータ蓄積手段から格納手段に読み込むようになっている。したがって、データ蓄積手段に多くのデータが蓄積されている場合であっても、読み込みパターンを予め記憶させておき、かつ、データ検索時にその読み込みパターンを指定すれば、データ蓄積手段内の全データではなく、その読み込みパターンによって特定されるデータだけを読み込むようになる。
これにより、このデータベース装置では、メモリ容量不足やスワップアウトの多発を抑えることが可能となり、結果としてデータ検索のレスポンスの向上を実現できる。
【００３４】
また、本発明のデータベース検索方法によれば、データ検索を行う際に、読み込みパターンによって特定されるデータのみをデータ蓄積手段から格納手段に読み込むようになっている。よって、データ蓄積手段に多くのデータが蓄積されている場合であっても、読み込みパターンを予め記憶させておき、かつ、データ検索時にその読み込みパターンを指定するので、データ蓄積手段内の全データではなく、その読み込みパターンによって特定されるデータだけを読み込むようになる。
したがって、このデータベース検索方法によりデータ検索を行えば、上述と同様の効果を得ることができる。
【図面の簡単な説明】
【図１】本発明に係わるデータベース装置の実施の形態の一例の概略構成を示すブロック図である。
【図２】図１のデータベース装置に蓄積されたデータ構造を示す説明図である。
【図３】図１のデータベース装置に蓄積されたデータの具体例を示す説明図である。
【図４】図１のデータベース装置を用いて行うデータ検索方法の手順を示すフローチャートである。
【図５】オブジェクト指向型データベース装置でのオブジェクトＩＤによるデータ関連付けを示す説明図である。
【図６】従来のデータベース装置に蓄積されたデータ構造の一例を示す説明図である。
【図７】従来のデータベース装置におけるデータ検索の手順を示すフローチャートである。
【図８】スワップアウトを説明する説明図である。
【符号の説明】
３  二次記憶部（データ蓄積手段、パターン記憶手段）
４ａ  制御部（認識手段、読み込み手段）    ４ｂ  メモリ部（格納手段）
４ｃ  演算部（検索手段）
【図１】
0003570082.tif 000002
【図２】
0003570082.tif 000003
【図３】
0003570082.tif 000004
【図４】
0003570082.tif 000005
【図５】
0003570082.tif 000006
【図６】
0003570082.tif 000007
【図７】
0003570082.tif 000008
【図８】
0003570082.tif 000009