(57)【要約】【課題】従来の基本５列表の特性を保持しつつ検索速度を向上させる。【解決手段】本発明に係るデータベースのデータ構造は、元となるRDBにおいて定義されている1又は複数の項目について値を含む、第1種類の各レコードについて、定義されている上記項目の項目名及びその値と当該レコードの識別データとを含む、第2種類のレコードを、上記項目の数だけ含む。第2種類のレコードには、検索時に第1種類の1のレコードに係る一群の第2種類のレコードを併せて抽出するためのフィルタ項目が、第1種類のレコードにおいて検索され得る各項目に対応して規定される。また、フィルタ項目には、対応する上記項目の値が一群の第2種類のレコードの全てについて設定されている。このようにフィルタ項目を検索すれば、元の1のレコードに対応する一群のレコードの全てを1度の検索で抽出できるため、検索速度を高速化できる。【選択図】図４
2008003974.tif 000002
【特許請求の範囲】
【請求項１】
元となるリレーショナル・データベースにおいて定義されている１又は複数の項目について値を含む、第１の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第２の種類のレコードを、前記項目の数だけ含み、
前記第２の種類のレコードには、検索時に前記第１の種類の１のレコードに係る一群の前記第２の種類のレコードを併せて抽出するためのフィルタ項目が、前記第１の種類のレコードにおいて検索され得る各前記項目に対応して規定され、
前記フィルタ項目には、対応する前記項目の値が前記一群の前記第２の種類のレコードの全てについて設定されている
データベースにおけるデータ構造。
【請求項２】
元となる前記リレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応する前記フィルタ項目には、前記承継元の項目の値が格納されるデータ格納領域へのポインタが設定されている
請求項１記載のデータベースにおけるデータ構造。
【請求項３】
データベースの検索方法であって、
前記データベースは、
元となるリレーショナル・データベースにおいて定義されている１又は複数の項目について値を含む、第１の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第２種類のレコードを、前記項目の数だけ含み、
前記第２の種類のレコードには、検索時に前記第１の種類の１のレコードに係る一群の前記第２の種類のレコードを併せて抽出するためのフィルタ項目が、前記第１の種類のレコードにおいて検索され得る各前記項目に対応して規定され、
前記フィルタ項目には、対応する前記項目の値が前記一群の前記第２の種類のレコードの全てについて設定されており、
検索され得る前記項目のうち少なくともいずれかについて検索条件の指定を受け付けるステップと、
前記検索条件が指定された前記項目に対応する前記フィルタ項目について、前記検索条件に従って検索を行うステップと、
前記検索によって抽出された前記第２の種類のレコードに関するデータを出力する出力ステップと、
を含み、コンピュータにより実行される検索方法。
【請求項４】
前記出力ステップが、
前記検索によって抽出された前記第２の種類のレコードを、前記第１の種類のレコードの形式に変換するステップ
を含む請求項３記載の検索方法。
【請求項５】
元となる前記リレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応する前記フィルタ項目には、前記承継元の項目の値が格納されるデータ格納領域へのポインタが設定されており、
前記出力ステップが、
前記検索によって抽出された前記第２の種類のレコードにおいて他のレコードへのポインタを含む場合、フィルタ項目の定義及び承継関係を規定したフィルタ定義データ格納部から前記他のレコードへのポインタに係る承継の承継元に関連するフィルタ項目を特定するステップと、
特定された前記フィルタ項目について、前記検索条件に従って第２の検索を行うステップと、
前記第２の検索によって抽出された前記第２の種類のレコードと、前記検索によって抽出された前記第２の種類のレコードとを、承継関係を反映させた形で統合する統合ステップと、
を含む請求項３記載の検索方法。
【請求項６】
前記出力ステップが、
前記承継関係を反映させた形で統合された前記第２の種類のレコードを、前記承継関係を反映させた形の前記第１の種類のレコードの形式に変換するステップ
をさらに含む請求項５記載の検索方法。
【請求項７】
元となるリレーショナル・データベースから、当該リレーショナル・データベースにおいて定義されている１又は複数の項目について値を含む、第１の種類の各レコードを読み出すステップと、
前記第１の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第２の種類のレコードを、前記項目の数だけ生成する生成ステップと、
を含み、
前記生成ステップが、
元となる前記リレーショナル・データベースにおいて定義されており且つ検索し得る項目の項目名と前記第１の種類の１のレコードに係る一群の前記第２の種類のレコードを併せて抽出するためのフィルタ項目とが対応付けられて予め格納されているフィルタ定義データ格納部に格納された項目を処理する場合に、当該項目についての前記第２の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定するステップと、
前記項目の値が設定された前記第２の種類のレコードに関連する他の前記第２の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定するステップと、
含み、コンピュータにより実行されるデータベース構成方法。
【請求項８】
前記生成ステップが、
前記フィルタ定義データ格納部に、承継先の前記項目の項目名及び前記フィルタ項目に対応してさらに承継元が格納されており、前記承継先の前記項目を処理する場合に、当該項目に対応する前記フィルタ項目に、前記承継元の承継される項目の値が格納されるデータ格納領域へのポインタを格納するステップ
をさらに含む請求項７記載のデータベース構成方法。
【請求項９】
前記生成ステップが、
前記フィルタ定義データ格納部に、承継先の前記項目の項目名及び前記フィルタ項目に対応してさらに承継元が格納されており、前記承継先の前記項目を処理する際に、前記承継元の承継される項目の値が格納されるデータ格納領域が存在しない場合には、前記項目に対応する前記フィルタ項目に、ポインタの未設定を表すフラグを設定するステップと、
前記承継元の承継される項目の値が特定のデータ格納領域に格納された後に、前記承継元の承継される項目の値が格納されている前記第２の種類のレコードにおける前記特定のデータ格納領域を特定し、前記フラグに代わって前記特定のデータ格納領域へのポインタを格納するステップと、
を含む請求項８記載のデータベース構成方法。
【請求項１０】
請求項３乃至６のいずれか１つ記載の検索方法をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項７乃至９のいずれか１つ記載のデータベース構成方法をコンピュータに実行させるためのプログラム。
【請求項１２】
元となるリレーショナル・データベースにおいて定義されている１又は複数の項目について値を含む、第１の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第２種類のレコードを、前記項目の数だけ含み、前記第２の種類のレコードには、検索時に前記第１の種類の１のレコードに係る一群の前記第２の種類のレコードを併せて抽出するためのフィルタ項目が、前記第１の種類のレコードにおいて検索され得る各前記項目に対応して規定されており、前記フィルタ項目には、対応する前記項目の値が前記一群の前記第２の種類のレコードの全てについて設定されているデータベースと、
検索され得る前記項目のうち少なくともいずれかについて検索条件の指定を受け付ける手段と、
前記検索条件が指定された前記項目に対応する前記フィルタ項目について、前記検索条件に従って検索を行う手段と、
前記検索によって抽出された前記第２の種類のレコードに関するデータを出力する出力手段と、
を有するデータ検索装置。
【請求項１３】
元となるリレーショナル・データベースから、当該リレーショナル・データベースにおいて定義されている１又は複数の項目について値を含む、第１の種類の各レコードを読み出す手段と、
前記第１の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第２の種類のレコードを、前記項目の数だけ生成する生成手段と、
を含み、
前記生成手段が、
元となる前記リレーショナル・データベースにおいて定義されており且つ検索し得る項目の項目名と前記第１の種類の１のレコードに係る一群の前記第２の種類のレコードを併せて抽出するためのフィルタ項目とが対応付けられて予め格納されているフィルタ定義データ格納部に格納された項目を処理する場合に、当該項目についての前記第２の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定し、
前記項目の値が設定された前記第２の種類のレコードに関連する他の前記第２の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定する
データベース構成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースに関し、より詳しくは新規なデータベース構造、当該データベース構造の構成技術並びに当該データベース構造を利用した検索技術に関する。
【背景技術】
【０００２】
例えば、「基本５列表によるマルチメディアデータ管理」，池田秀人，データベース・システム，６６−３，１９９８．７．２２には、基本５列表と呼ばれるデータベース構成を採用する技術が開示されている。具体的には、図１乃至図３のようなリレーショナル・データベースから、図４に示すような基本５列表（なお以下でも述べるがデータ型の列については省略されて４列となっている）を生成するものである。図１では、Ｔａｒｇｅｔ１というリレーショナル・データベースのデータ例を示しており、Ａ１乃至Ａｉという項目が定義されており、Ｒ１乃至Ｒｊというレコードが含まれている。なお、Ａ１は、識別データ項目であり、Ａｉは検索されない非検索データ項目である。また、図２では、Ｔａｒｇｅｔ２というリレーショナル・データベースのデータ例を示しており、Ｂ１乃至Ｃ１という項目が定義されており、Ｒ１乃至Ｒｊというレコードが含まれている。なお、Ｂ１は識別データ項目であり、Ｂ３及びＢｉは非検索データ項目である。さらに、図３では、Ｔａｒｇｅｔ３というリレーショナル・データベースのデータ例を示しており、Ｃ１乃至Ｃｉという項目が定義されており、Ｒ１乃至Ｒｊというレコードが含まれている。なお、Ｃ１は識別データ項目であり、Ｃ３及びＣｉは非検索データ項目である。
【０００３】
図４に示した基本５列表は、値の列と、属性の列と、実体の列と、期間の列とを含んでいる。上記論文では、データ型の列を加えて５列としているが、ここではデータ型の列については省略している。値の列には、図１乃至図３に示したリレーショナル・データベースにおいて定義されている各項目の値が、例えばレコード内では左から右へ順番に、さらにレコードの順番で格納される。属性の列には、値の列に格納されている値の項目名が格納される。実体の列には、元となるリレーショナル・データベースの１レコード毎に、当該レコードの識別データ項目の値が格納される。例えば、図１におけるレコードＲ１に相当する図４のレコードＲ１乃至Ｒ５には、図１におけるレコードＲ１の項目Ａ１の値が格納されている。期間の列には、データの有効期間などが格納される。
【０００４】
なお、図１乃至図３のリレーショナル・データベースの各項目を管理するためのＤ／Ｄ（データディクショナリ）テーブルも設けられている。Ｄ／Ｄテーブルの一例を図５に示す。図５の例では、図１乃至図３のリレーショナル・データベースにおいて定義されている項目名の列と、データベース名を表す実体の列と、項目の性質（識別／検索／非検索）の列と、データ型の列とが設けられている。このように基本５列表で省略されたデータ型の列は、このＤ／Ｄテーブルに規定されている。
【０００５】
図１乃至図３から分かるように、項目数が異なるリレーショナル・データベースを１つに統合して基本５列表を生成すれば、元のリレーショナル・データベースの各レコードを、常に同じ４列（又は５列）の複数のレコードで管理することができるようになる。もし元のリレーショナル・データベースにおいて項目数が増減するような事態が発生しても、基本５列表では列構成は変更されず、レコード数が増減するだけなので、基本５列表に対して検索などを実施するアプリケーションを改変する必要がないという利点がある。但し、元のリレーショナル・データベースにおける項目数分のレコードが生成されるので、元のリレーショナル・データベースに比してレコード数は増加する。
【０００６】
次に、図４に示した基本５列表に対する検索処理について説明する。例えば、Ｔａｒｇｅｔ２でＣ１＝「あ」であるレコードを抽出することを考える。図２のようなリレーショナル・データベースに対する検索であれば、項目Ｃ１の列を走査して「あ」が登録されているレコードＲ１及びＲｊを特定すればよい。一方、図４に示した基本５列表では、まず、値の列を走査して「あ」が登録されているレコードを特定する。この例では、レコードＲ２０、Ｒ３０及びＲ３１が特定される。但し、このためには基本５列表の全てのレコードを走査する必要がある。さらに、特定された各レコードにおける実体の値をキーとしてさらに実体の列を走査する。そうするとレコードＲ２０についてはレコードＲ１６乃至Ｒ１９が特定され、さらにレコードＲ３０についてはレコードＲ２６乃至Ｒ２９が特定され、レコードＲ３１についてはレコードＲ３２乃至Ｒ３４が特定される。いずれにせよ、さらに少なくとも１回は再度基本５列表の全てのレコードを走査する必要がある。
【０００７】
図４ではレコード数が４２しかないので大きな負荷とは言えないが、通常基本５列表には膨大な数のレコードが含まれ、少なくとも２回走査するだけでも相当な処理負荷となる。すなわち、検索のレスポンスが遅くなってしまい、実際の利用には耐えられないものであった。
【非特許文献１】「基本５列表によるマルチメディアデータ管理」，池田秀人，データベース・システム，６６−３，１９９８．７．２２
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上で述べたように、リレーショナル・データベースにおける項目数の増減が困難という問題や、定義されている項目が異なるリレーショナル・データベースを統合するのが困難という問題を解決するためには基本５列表を採用すればよいが、実際に利用できなければ意味がない。
【０００９】
そこで本発明の目的は、基本５列表の特性を保持しつつ検索速度を向上させるための新規な技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明に第１の態様に係るデータベースにおけるデータ構造は、元となるリレーショナル・データベースにおいて定義されている１又は複数の項目について値を含む、第１の種類の各レコードについて、定義されている上記項目の項目名及びその値と当該レコードの識別データとを含む、第２の種類のレコードを、上記項目の数だけ含む。そして、第２の種類のレコードには、検索時に第１の種類の１のレコードに係る一群の第２の種類のレコードを併せて抽出するためのフィルタ項目が、第１の種類のレコードにおいて検索され得る各項目に対応して規定される。また、フィルタ項目には、対応する上記項目の値が一群の第２の種類のレコードの全てについて設定されている。
【００１１】
このようにフィルタ項目が付加される構成が採用されれば、フィルタ項目を検索することによって、元の１のレコードに対応する一群のレコードの全てを１度の検索で抽出することができるため、従来の基本５列表に比して検索速度を高速化することができるようになる。
【００１２】
また、本発明の第１の態様において、元となるリレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応するフィルタ項目には、承継元の項目の値が格納されるデータ格納領域へのポインタが設定されているようにしてもよい。このように、データの承継についても適切に対応できるようになっている。
【００１３】
本発明の第２の態様に係る検索方法は、本発明の第１の態様に係るデータ構造を有するデータベースに対する検索方法であって、検索され得る上記項目のうち少なくともいずれかについて検索条件の指定を受け付けるステップと、検索条件が指定された上記項目に対応するフィルタ項目について、検索条件に従って検索を行うステップと、上記検索によって抽出された第２の種類のレコードに関するデータを出力する出力ステップとを含む。このように検索自体は非常に簡略化され高速化が図られている。
【００１４】
上で述べた出力ステップは、上記検索によって抽出された第２の種類のレコードを、第１の種類のレコードの形式に変換するステップを含むようにしてもよい。第２の種類のレコードでは、分かりにくい場合があるためである。
【００１５】
さらに、本発明の第１の態様に係るデータ構造に、元となるリレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応するフィルタ項目には、承継元の項目の値が格納されるデータ格納領域へのポインタが設定されていることがある。その場合には、上で述べた出力ステップが、上記検索によって抽出された第２の種類のレコードにおいて他のレコードへのポインタを含む場合、フィルタ項目の定義及び承継関係を規定したフィルタ定義データ格納部から他のレコードへのポインタに係る承継の承継元に関連するフィルタ項目を特定するステップと、特定されたフィルタ項目について、検索条件に従って第２の検索を行うステップと、第２の検索によって抽出された第２の種類のレコードと、検索によって抽出された第２の種類のレコードとを、承継関係を反映させた形で統合する統合ステップとを含むようにしてもよい。このように承継元と承継先とを統合することが容易に行うことができるようになる。
【００１６】
さらに、上で述べた出力ステップが、承継関係を反映させた形で統合された第２の種類のレコードを、承継関係を反映させた形の第１の種類のレコードの形式に変換するステップをさらに含むようにして。
【００１７】
本発明の第３の態様に係るデータベース構成方法は、元となるリレーショナル・データベースから、当該リレーショナル・データベースにおいて定義されている１又は複数の項目について値を含む、第１の種類の各レコードを読み出すステップと、第１の種類の各レコードについて、定義されている上記項目の項目名及びその値と当該レコードの識別データとを含む、第２の種類のレコードを、上記項目の数だけ生成する生成ステップとを含む。そして本生成ステップが、元となるリレーショナル・データベースにおいて定義されており且つ検索し得る項目の項目名と第１の種類の１のレコードに係る一群の第２の種類のレコードを併せて抽出するためのフィルタ項目とが対応付けられて予め格納されているフィルタ定義データ格納部に格納された項目を処理する場合に、当該項目についての第２の種類のレコードにおいて上記項目に対応するフィルタ項目に、上記項目の値を設定するステップと、上記項目の値が設定された第２の種類のレコードに関連する他の第２の種類のレコードにおいて上記項目に対応するフィルタ項目に、上記項目の値を設定するステップと含む。このようにフィルタ項目に値を設定することによって、上で述べた本発明の第１の態様に係るデータ構造を生成することができ、本発明の第２の態様に係る検索方法を実施することができる。
【００１８】
また、上で述べた生成ステップは、フィルタ定義データ格納部に、承継先の上記項目の項目名及びフィルタ項目に対応してさらに承継元が格納されており、承継先の上記項目を処理する場合に、当該項目に対応するフィルタ項目に、承継元の承継される項目の値が格納されるデータ格納領域へのポインタを格納するステップをさらに含むようにしても良い。このようにすれば承継関係が規定されている場合にも対処することができる。
【００１９】
なお、上で述べた生成ステップは、フィルタ定義データ格納部に、承継先の上記項目の項目名及びフィルタ項目に対応してさらに承継元が格納されており、承継先の上記項目を処理する際に、承継元の承継される項目の値が格納されるデータ格納領域が存在しない場合には、上記項目に対応するフィルタ項目に、ポインタの未設定を表すフラグを設定するステップと、承継元の承継される項目の値が特定のデータ格納領域に格納された後に、承継元の承継される項目の値が格納されている第２の種類のレコードにおける特定のデータ格納領域を特定し、フラグに代わって特定のデータ格納領域へのポインタを格納するステップとをさらに含むようにしてもよい。
【００２０】
本発明に係る方法をコンピュータに実行させるためのプログラムを作成することも可能であり、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【発明の効果】
【００２１】
本発明によれば、基本５列表の特性を保持しつつ検索速度を向上させることができるようになる。
【発明を実施するための最良の形態】
【００２２】
本発明の一実施の形態に係るシステムの機能ブロック図を図６に示す。例えば、ＬＡＮ（Local Area Network）その他のネットワーク１には、複数の検索者端末３と、ＤＢサーバ５と、ＤＢサーバ５の管理者が操作する１又は複数の管理者端末７とが接続されている。検索者端末３及び管理者端末７は、例えば通常のパーソナル・コンピュータであってもよい。
【００２３】
ＤＢサーバ５は、以下で説明する拡張基本５列表を生成する拡張基本５列表生成部５１と、拡張基本５列表に対する検索処理を実施する検索処理部５２と、図５に示したようなＤ／Ｄテーブルを格納するＤ／Ｄ格納部５３と、拡張基本５列表を生成するにあたって管理者により定義されるフィルタディクショナリを格納するフィルタディクショナリ格納部５５と、図１乃至図３のようなリレーショナル・データベースのデータを格納するオリジナルＤＢ格納部５４と、拡張基本５列表を格納する拡張基本５列表格納部５６とを含む。なお、オリジナルＤＢ格納部５４は、例えばネットワーク１に接続された他のコンピュータによって管理されているものであってもよい。ここでは説明を簡単にするためにＤＢサーバ５によって管理されているものとする。
【００２４】
図１乃至図３のようなリレーショナル・データベースが処理対象の場合に、フィルタディクショナリ格納部５５に格納されるフィルタディクショナリは例えば図７に示すようなデータを含む。すなわち、拡張基本５列表で旧来の基本５列表に付加されるフィルタのフィルタ名と、データベースを特定する実体と、検索対象となる項目の項目名と、当該項目の性質と、承継関係が定義されていればその承継元、及びコメントとが含まれる。今回の例では、フィルタはＦ１乃至Ｆｎであり、検索者が検索し得る項目毎にフィルタが規定される。承継元については、当該項目が承継する承継元のデータベースである実体を指定しているが、実際には承継元として指定されたデータベースにおける同じ項目名の項目であってその性質が「識別」である項目の項目値を承継先が、承継する。図７の例では、フィルタＦ６においてＴａｒｇｅｔ３を承継元として指定しているが、フィルタＦ６は項目Ｃ１についてのフィルタであるから、Ｔａｒｇｅｔ３についてのフィルタであって項目Ｃ１（性質「識別」）のフィルタであるＦ７が関連付けられている。このようなフィルタディクショナリは、管理者によって元のリレーショナル・データベースに基づき予め設定されるものである。
【００２５】
図８に拡張基本５列表の一例を示す。図８に示した拡張基本５列表は、図１及び図２について以下で説明する処理を実施した後の状態を表している。図８に示すように、値の列、属性の列、実体の列、及び期間の列については、図４に示した旧来の基本５列表と同様である。この旧来の基本５列表の列に加え、Ｆ１乃至Ｆｎというフィルタの列が追加されている。フィルタの列は、上で述べたフィルタディクショナリにおけるフィルタに対応して設けられる。このフィルタは、検索を行う場合に用いられ、元のリレーショナル・データベースにおける１レコードに対応する、拡張基本５列表のレコード群を一括して取り出すために設定される。具体的には、図８の拡張基本５列表においてレコードＲ１乃至Ｒ５は、図１に示したＴａｒｇｅｔ１のレコードＲ１に対応するため、拡張基本５列表のレコードＲ１乃至Ｒ５におけるフィルタＦ１の列には同じ値（項目名Ａ１の値）が格納されており、フィルタＦ２の列にも同じ値（項目名Ａ２の値）が格納されており、フィルタＦ３の列にも同じ値（項目名Ａ３の値）が格納されている。
【００２６】
このような拡張基本５列表を構成する方法を図９乃至図１６を用いて説明する。この処理は、拡張基本５列表生成部５１により実施される。
【００２７】
まず、オリジナルＤＢ格納部５４において未処理のデータベース（実体）を１つ特定する（ステップＳ１）。また、特定されたデータベースにおいて未処理のレコードＲｊを１つ特定する（ステップＳ３）。さらに、特定されたレコードにおいて未処理の項目を特定する（ステップＳ５）。
【００２８】
そして、フィルタディクショナリ格納部５５に格納されているフィルタディクショナリから、特定されたデータベース（実体）及び特定された項目の項目名に対応するフィルタ名、当該項目の性質及び規定されている場合には承継元を特定する（ステップＳ７）。例えば図１に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ１）におけるレコードＲ１の項目Ａ１が特定されたとすると、図７に示したフィルタディクショナリを参照すると、フィルタ名Ｆ１と性質「識別（識別データ項目）」とが特定される。但し、承継元は定義されていない。項目の性質については、Ｄ／Ｄ格納部５３に格納されているＤ／Ｄテーブルを用いても特定できる。承継元についてはフィルタディクショナリを参照する必要がある。
【００２９】
なお、フィルタディクショナリはフィルタを定義するものであり、フィルタは検索対象について規定されるので、性質が「非検索」である項目についてはフィルタディクショナリには定義されていない。従って、フィルタディクショナリにおいて性質が特定できなければ「非検索」と特定する。フィルタ及び承継元も特定されない。例えば、図１に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ１）におけるレコードＲ１の項目Ａｉが特定されたとすると、図７に示したフィルタディクショナリを参照しても、対応するデータは特定されない。この場合には、項目Ａｉは「非検索」と特定される。
【００３０】
そして、承継元が指定されているか判断する（ステップＳ９）。承継元が指定されている場合には、処理ＩＶを実施する（ステップＳ１１）。この処理ＩＶについては、他の処理を説明した後に説明する。なおステップＳ１１の後にはステップＳ２３に移行する。一方、承継元が指定されていない場合には、性質が「識別」と特定されたか判断する（ステップＳ１３）。例えば図１に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ１）におけるレコードＲ１の項目Ａ１のように、性質が「識別」と判断された場合には、処理Ｉを実施する（ステップＳ１５）。処理Ｉについては、図１０を用いて説明する。なお、ステップＳ１５の後にはステップＳ２３に移行する。
【００３１】
処理Ｉでは、特定された項目についての、特定されたレコードＲｊの値を、特定されたフィルタＦｉの欄（列と同じ）、値の欄及び実体の欄に登録し、特定された項目の項目名を属性の欄に登録し、有効期間を期間の欄に登録する（ステップＳ３１）。
【００３２】
例えば図１に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ１）におけるレコードＲ１の項目Ａ１の場合には、図８のレコードＲ１のように、フィルタＦ１の欄、値の欄及び実体の欄には、「Ｅａ１（Ｔａｒｇｅｔ１）」が登録され、特定された項目の項目名であるＡ１が属性の欄に登録され、有効期間Ｔ１−Ｔ２が期間の欄に登録される。なお、この段階ではまだＦ２及びＦ３の欄には値は登録されず、フィルタについてはハッチングが付されたフィルタＦ１の欄にのみ値が登録される。
【００３３】
図９の説明に戻って、性質が「識別」ではない場合には、性質が「検索」であるか判断する（ステップＳ１７）。性質が「検索」ではある場合には、処理ＩＩを実施する（ステップＳ１９）。処理ＩＩについては図１１を用いて説明する。なお、ステップＳ１９の後にはステップＳ２３に移行する。
【００３４】
処理ＩＩでは、特定された項目についての、特定されたレコードＲｊの値をフィルタＦｉの欄及び値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードＲｊの識別データ（識別という性質を有する項目の値）を実体の欄に登録し、有効期間を期間の欄に登録する（ステップＳ４１）。
【００３５】
例えば図１に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ１）におけるレコードＲ１の項目Ａ２の場合には、図８のレコードＲ２のように、フィルタＦ２の欄及び値の欄には、「Ｖａ２（Ｅａ１）」が登録され、属性の欄には、特定された項目の項目名であるＡ２が登録され、実体の欄にはＴａｒｇｅｔ１のレコードＲ１の識別データである「Ｅａ１（Ｔａｒｇｅｔ１）」が登録され、有効期間Ｔ１−Ｔ２が期間の欄に登録される。なお、この段階ではまだＦ１及びＦ３の欄には値は登録されず、フィルタについてはハッチングが付されたフィルタＦ２の欄にのみ値が登録される。
【００３６】
また、図１に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ１）におけるレコードＲ１の項目Ａ３の場合には、図８のレコードＲ３のように、フィルタＦ３の欄及び値の欄には「Ｖａ３（Ｅａ１）」が登録され、実体の欄にはＴａｒｇｅｔ１のレコードＲ１の識別データである「Ｅａ１（Ｔａｒｇｅｔ１）」が登録され、属性の欄には、特定された項目の項目名であるＡ３が登録され、有効期間Ｔ１−Ｔ２が期間の欄に登録される。なお、この段階ではまだＦ１及びＦ２の欄には値は登録されず、フィルタについてはハッチングが付されたフィルタＦ３の欄にのみ値が登録される。
【００３７】
図９の説明に戻って、性質が「検索」ではない場合には、本実施の形態では性質は「非検索」であるので、そのまま処理ＩＩＩを実施する（ステップＳ２１）。処理ＩＩＩについては図１２を用いて説明する。なお、ステップＳ２１の後にはステップＳ２３に移行する。
【００３８】
処理ＩＩＩでは、特定された項目についての、特定されたレコードＲｊの値を値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードＲｊの識別データ（識別という性質を有する項目の値）を実体の欄に登録し、有効期間を期間の欄に登録する（ステップＳ５１）。
【００３９】
例えば図１に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ１）におけるレコードＲ１の項目Ａｉの場合には、図８のレコードＲ５のように、値の欄には「Ｖａｉ（Ｅａ１）」が登録され、属性の欄には、特定された項目の項目名であるＡｉが登録され、実体の欄にはＴａｒｇｅｔ１のレコードＲ１の識別データである「Ｅａ１（Ｔａｒｇｅｔ１）」が登録され、有効期間Ｔ１−Ｔ２が期間の欄に登録される。なお、この段階ではまだＦ１乃至Ｆ３の欄には値は登録されない。
【００４０】
その後、特定されたレコードＲｊについて全ての項目を処理したか判断する（ステップＳ２３）。未処理の項目が存在する場合にはステップＳ５に戻る。一方、特定されたレコードＲｊについて全ての項目を処理した場合には、フィルタ補完処理を実施する（ステップＳ２５）。このステップでは、特定されたレコードＲｊについて生成された、拡張基本５列表におけるいずれかのレコードにおいてフィルタの値が設定されている場合には、当該フィルタの値を他のレコードの同じフィルタの欄にコピーする。図８の例では、リレーショナル・データベースの同じレコードに対応するレコードＲ１乃至Ｒ５において、レコードＲ１にはフィルタＦ１に「Ｅａ（Ｔａｒｇｅｔ１）」が、レコードＲ２にはフィルタＦ２に「Ｖａ２（Ｅａ１）」が、レコードＲ３にはフィルタＦ３に「Ｖａ３（Ｅａ１）」がそれぞれ登録されている。そこで、「Ｅａ（Ｔａｒｇｅｔ１）」をレコードＲ２乃至Ｒ５におけるフィルタＦ１の欄にコピーし、「Ｖａ２（Ｅａ１）」をレコードＲ１及びＲ３乃至Ｒ５におけるフィルタＦ２の欄にコピーし、「Ｖａ３（Ｅａ１）」をレコードＲ１及びＲ２、Ｒ４及びＲ５にコピーする。このように図８ではハッチングが付されていない欄に値が登録される。
【００４１】
そして、特定されたデータベース内における全てのレコードを処理したか判断する（ステップＳ２７）。未処理のレコードが存在する場合にはステップＳ３に戻る。一方、未処理のレコードがない場合には、端子Ａを介して図１５の処理に移行する。
【００４２】
ここで上で説明を省略した処理ＩＶを図１３を用いて説明しておく。処理ＩＶでは、フィルタディクショナリにおいて、承継元として指定されたデータベース（実体）において特定された項目の項目名がセットされているフィルタを特定する（ステップ６１）。例えば、図２に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ２）におけるレコードＲ１の項目Ｃ１の場合には、フィルタディクショナリ（図７）においてフィルタＦ６が特定されるが、承継元としてＴａｒｇｅｔ３も特定される。ステップＳ６１では、実体が承継元のＴａｒｇｅｔ３であって項目名がＣ１であるフィルタを探すと、フィルタＦ７が特定される。
【００４３】
次に、ステップＳ６１で特定され且つ承継元に係るフィルタに、特定された項目の値がセットされているか確認する（ステップＳ６３）。例えば、図８のような状態のように、図３に示したＴａｒｇｅｔ３の処理を行っていなければ、そもそもフィルタＦ７には値がセットされていない。但し、Ｔａｒｇｅｔ３ではなく、例えばＴａｒｇｅｔ１が承継元として指定されていれば、何らかの値がセットされている。
【００４４】
そして、承継元に係るフィルタに、特定された項目の値がセットされていなければ（ステップＳ６５：Ｎｏルート）、承継元にレコードがないことを表すフラグ及び特定された項目の値を、フィルタＦｉ欄に登録し、特定された項目の特定されたレコードＲｊの値を値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードＲｊの識別データ（識別という性質を有する項目の値）を登録し、有効期間を期間の欄に登録する（ステップＳ６７）。
【００４５】
例えば、図２に示したリレーショナル・データベース（実体：Ｔａｒｇｅｔ２）におけるレコードＲ１の項目Ｃ１の場合には、図８のレコードＲ２０のように、フィルタＦ６の欄には、承継元にレコードがないことを表すフラグ「＊」及び特定された項目の値「Ｖｃ１（Ｅｂ１）＝あ」が登録され、値の欄には特定された項目の値「Ｖｃ１（Ｅｂ１）＝あ」が登録され、属性の欄には特定された項目の項目名「Ｃ１」が登録され、実体の欄には特定されたレコードＲ１の識別データ「Ｅｂ１（Ｔａｒｇｅｔ２）」が登録され、期間の欄には「Ｔ３−Ｔ４」が登録される。そして元の処理に戻る。
【００４６】
元の処理に戻ると、ステップＳ２５のフィルタ補完処理によって、図８に示すように、レコードＲ１６乃至Ｒ１９については、フィルタＦ６の欄に、「＊Ｖｃ１（Ｅｂ１）＝あ」が登録されるようになる。また、レコードＲ２１乃至Ｒ２５についても「＊Ｖｃ１（Ｅｂ２）＝い」がフィルタＦ６の欄に登録され、レコードＲ２６乃至Ｒ３０についても「＊Ｖｃ１（Ｅｂｊ）＝あ」がフィルタＦ６の欄に登録される。なお、フィルタＦ４及びＦ５についても上で述べた処理と同様に登録が行われる。
【００４７】
一方、承継元に係るフィルタに、特定された項目の値がセットされていれば（ステップＳ６５：Ｙｅｓルート）、特定された項目の値がセットされているフィルタに係るレコードのうち属性の欄に、特定された項目の項目名が登録されているレコードの値の欄へのポインタ及び特定された項目の値をフィルタＦｉの欄に登録し、特定された項目の特定されたレコードＲｊにおける値を値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードＲｊの識別データを（識別という性質を有する項目の値）を実体の欄に登録し、有効期間を期間の欄に登録する（ステップＳ６９）。
【００４８】
例えば、図３のＴａｒｇｅｔ３についてのデータを、図２のＴａｒｇｅｔ２についてのデータより先に拡張基本５列表に登録した場合には、図１４に示すように、レコードＲ２０のフィルタＦ６の欄には、特定された項目「Ｃ１」の値「あ」がセットされており且つ承継元Ｔａｒｇｅｔ３に係るフィルタＦ７についてのレコードＲ３１乃至Ｒ３５のうち、属性の欄に、特定された項目の項目名「Ｃ１」が登録されているレコードＲ３１の値の欄へのポインタ「＊Ｒ３１」と項目の値「あ」とが登録されている。ステップＳ２５のフィルタ補完処理によってレコードＲ１６乃至Ｒ１９についても同様の値がフィルタＦ６の欄に登録される。
【００４９】
次に、図１５の処理の説明に移行して、オリジナルＤＢ格納部５４に格納されている全てのＤＢについて処理したか判断する（ステップＳ７１）。未処理のＤＢが存在する場合には端子Ｂを介してステップＳ１に戻る。一方、全てのＤＢを処理した場合には、フィルタディクショナリに承継元が登録されているか判断する（ステップＳ７３）。例えば図７に示したように承継元の列に値がセットされているか判断する。承継元の列に値がセットされている場合には、処理の順番によってはフラグがフィルタにセットされた状態のままである場合があるためである。
【００５０】
承継元の列に値がセットされていなければ拡張基本５列表は完成となり、拡張基本５列表の構成処理は終了する。一方、承継元の列に値がセットされている場合には、ポインタ設定処理を実施する（ステップＳ７５）。
【００５１】
ポインタ設定処理については図１６を用いて説明する。まず、承継元が登録されている未処理のフィルタＦｉをフィルタディクショナリから特定する（ステップＳ８１）。図７の例では、フィルタＦ６が特定される。また、拡張基本５列表において、特定された未処理フィルタＦｉを走査して、フラグの有無を確認する（ステップＳ８３）。そして、フラグを検出したか判断する（ステップＳ８５）。フラグが検出されていない場合には、承継元が登録されているフィルタを全て処理したか判断する（ステップＳ９３）。まだ全てを処理していない場合にはステップＳ８１に戻る。一方、全てを処理した場合には、元の処理に戻る。
【００５２】
一方、フラグを検出した場合には、フィルタディクショナリにおいて承継元に係るフィルタを特定すると共に、拡張基本５列表において当該フィルタが設定されているレコードのうち、特定された未処理フィルタに係る項目の項目名が属性の欄に登録されており且つ特定された未処理フィルタに係る項目の値と値の欄における値とが一致するレコードを特定する（ステップＳ８７）。ステップＳ８１でフィルタＦ６が特定されると、フィルタＦ７が特定され、当該フィルタＦ７に係る、拡張基本５列表のレコードは、図１４の場合レコードＲ３１乃至Ｒ４２である。そして、フィルタＦ６に係る項目の項目名Ｃ１が属性の欄に登録されており且つ項目Ｃ１の値「あ」が登録されているレコードは、レコードＲ３１である。
【００５３】
そして、特定されたレコードの値の欄へのポインタを、検出されたフラグの登録されたフィルタＦｉに登録する（ステップＳ８９）。ここでは、特定された未処理フィルタに係る項目についてのレコードのフィルタＦｉの欄に登録する。そして、実体の欄が同じ値である他のレコードのフィルタＦｉの欄にポインタをコピーするフィルタ補完処理を実施する（ステップＳ９１）。その後、ステップＳ８３に戻る。
【００５４】
なお、ポインタ設定処理の代わりに、例えば処理ＩＶを実施するようにしても良い。
【００５５】
このような処理を実施すれば、図１４に示すような拡張基本５列表が構成されるようになる。また、データの承継関係が存在する場合においても、承継元へのポインタが設定されるので、簡単に承継元の項目値を読み出すことができるようになる。
【００５６】
次に、拡張基本５列表を検索する場合の処理を図１７乃至図３２を用いて説明する。検索処理は検索処理部５２により実施される。
【００５７】
まず、検索処理部５２は、フィルタディクショナリ格納部５５に格納されているフィルタディクショナリをベースに検索条件入力のためのページ・データを生成し、例えば検索者端末３に送信する。検索者端末３は、ＤＢサーバ５から検索条件入力のためのページ・データを受信し、表示装置に表示する。例えば、図１７に示すような検索条件入力画面が表示される。図１７の例では、検索対象のデータベースと検索項目とが対で提示されており、該当するデータベース及び項目の下の欄に、検索条件を入力するようになっている。図１７の例では、データベースＴａｒｇｅｔ２の項目Ｃ１に対して「あ」という条件が入力されている。なお、検索条件は、データベースと項目とそれに対する条件とを含む。
【００５８】
このように検索者端末３は、検索者から条件の入力を受け付け、ＤＢサーバ５に検索条件データを送信する。ＤＢサーバ５の検索処理部５２は、検索者端末３から検索条件のデータを受信し、例えばメインメモリなどの記憶装置に格納する（図１８：ステップＳ１０１）。そして、検索処理部５２は、検索条件に従って、該当レコードを抽出する（ステップＳ１０３）。この際、データベースと項目に対応するフィルタをフィルタディクショナリから特定し、拡張基本５列表格納部５６に格納された拡張基本５列表における当該フィルタの列を、指定された条件で１度走査すればよい。例えば、図８のような拡張基本５列表が拡張基本５列表格納部５６に格納されている場合には、Ｔａｒｇｅｔ２の項目Ｃ１が検索条件として指定されると、フィルタＦ６が走査の対象となり、「あ」が登録されているレコードを探索することになる。そうすると、図１９に示すようなレコードＲ１６乃至Ｒ２０とレコードＲ２６乃至Ｒ３０とが抽出される。
【００５９】
ここで抽出されたレコードにポインタが含まれるか判断する（ステップＳ１０５）。図８の例ではまだポインタが登録される前の段階なので、ポインタは含まれないと判断される。ポインタが含まれないと判断された場合には、拡張基本５列表のデータフォーマットから元のデータベースのフォーマットに変換するか判断する（ステップＳ１０９）。この判断についてはユーザの指定に従っても良いし、システム側の設定によって判断するようにしても良い。
【００６０】
フォーマットの変換を実施する場合には、検索処理部５２は変換処理を実施する（ステップＳ１１１）。変換処理については図２０及び図２１を用いて説明する。まず、未処理の抽出レコードを１つ特定する（ステップＳ１２１）。また、Ｄ／Ｄ格納部５３に格納されたＤ／Ｄテーブルを用いて、未処理の抽出レコードにおける属性の欄に登録された項目の性質を特定する（ステップＳ１２３）。そして、特定された性質が識別であるか判断する（ステップＳ１２５）。特定された性質が識別であれば、値の欄に登録された値を、識別のための当該未処理の抽出レコードの項目の列に登録する（ステップＳ１２７）。そしてステップＳ１３１に移行する。一方、特定された性質が識別ではないと判断された場合には、値の欄に登録された値を、実体の欄に登録された値と同一行における未処理の抽出レコードの項目の列に登録する（ステップＳ１２９）。そしてステップＳ１３１に移行する。
【００６１】
例えば、図１９の例で、レコードＲ１６を処理する場合、属性の欄に登録されている項目名Ｂ１には、Ｄ／Ｄテーブル（図５）では「識別」という性質が規定されているので、値の欄に登録された値「Ｅｂ１（Ｔａｒｇｅｔ２）」を、項目Ｂ１の欄に登録する。また、レコードＲ１７を処理する場合には、属性の欄に登録されている項目名Ｂ２には、Ｄ／Ｄテーブルでは「検索」という性質が規定されているので、値の欄に登録された値「Ｖｂ２（Ｅｂ１）」を、実体の欄に登録されている値「Ｅｂ１（Ｔａｒｇｅｔ２）」と同一行の当該項目Ｂ２の欄に登録する。
【００６２】
このような処理を繰り返し実施すれば、図２１に示すような元のリレーショナル・データベース形式のデータが生成される。
【００６３】
そして抽出レコードを全て処理したか判断し（ステップＳ１３１）、未処理の抽出レコードが存在する場合にはステップＳ１２１に戻る。一方、全ての抽出レコードについて処理を行った場合には元の処理に戻る。
【００６４】
図１８の処理の説明に戻って、ステップＳ１１１の変換結果又はステップＳ１０３で抽出されたデータを、検索者端末３に送信する（ステップＳ１１３）。検索者端末３は、ＤＢサーバ５からステップＳ１１１の変換結果又はステップＳ１０３で抽出されたデータを受信し、表示装置に表示する。例えば図２１に示すようなデータ又は図１９に示すようなデータが表示される。
【００６５】
また、図１４に示したような拡張基本５列表が拡張基本５列表格納部５６に格納されている場合に、図２２に示すような検索条件入力画面で、Ｔａｒｇｅｔ３の項目Ｃ１において「あ」という検索条件が指定されると、拡張基本５列表におけるフィルタＦ７を「あ」で走査する。そうすると、図２３に示すようにレコードＲ３１乃至Ｒ３４が抽出される。図２３に示すようなデータをそのまま出力しても良いし、図２０で示した変換処理を実施して、図２４のような元のリレーショナル・データベース形式のデータを生成して出力するようにしても良い。
【００６６】
以上の例は、承継関係が関係しない場合における検索処理である。一方、図１４に示したような拡張基本５列表が拡張基本５列表格納部５６に格納されている場合に、図１７に示すような検索条件入力画面で、Ｔａｒｇｅｔ２の項目Ｃ１において「あ」という検索条件が指定されると、図２５に示すようにポインタを含むレコードＲ１６乃至Ｒ２０とレコードＲ２６乃至Ｒ３０とが抽出される。このような場合には、承継処理を実施する（図１８：ステップＳ１０７）。承継処理については図２６乃至図３２を用いて説明する。
【００６７】
まず、抽出レコードからフィルタについてのリストを生成する（図２６：ステップＳ１４１）。図２５に示すようなレコード群が抽出されている場合には、２つのフィルタ・パターンが存在するので、図２７に示すようなリストが生成される。
【００６８】
次に、フィルタディクショナリから、検索に用いられた検索フィルタに係る項目名を取得し、当該項目名が属性の欄に登録されている抽出レコードを削除して第１の結合元データを生成する（ステップＳ１４５）。図２５に示したようなレコード群が抽出された場合、走査されたフィルタはＦ６であり、当該フィルタＦ６に係る項目名はＣ１で、Ｃ１が実体の欄に登録されているレコードＲ２０及びＲ３０を削除する。これらのレコードのためのデータについては後の処理で生成するためである。さらに、ポインタを実際の値に置換する（ステップＳ１４７）。ポインタはレコードＲ３１の値の欄を指しているので、この欄に格納されている「Ｅｃ１（Ｔａｒｇｅｔ３）」で、フィルタＦ６の値を置換する。そうすると、図２８に示すような第１の結合元データが生成される。
【００６９】
その後、ステップＳ１４１で生成したリスト内の未処理レコードを１つ特定する（ステップＳ１４９）。そして、拡張基本５列表から承継元フィルタにおいて、指定された条件と一致するレコードを抽出する（ステップＳ１５１）。フィルタＦ６の承継元フィルタはＦ７であるから、フィルタＦ７において条件「あ」に合致するレコードＲ３１乃至Ｒ３４を抽出する。そして、リスト内の特定された未処理レコードを、ステップＳ１５１で抽出したレコードにコピーする（ステップＳ１５３）。さらに、フィルタディクショナリから、検索フィルタの識別に該当するフィルタを特定し、当該フィルタの値で抽出レコードにおける実体の欄の値を置換して第２の結合元データを生成する（ステップＳ１５５）。例えば図７の例では、フィルタＦ６と同じ実体であって性質が識別であるフィルタはＦ４であるから、当該フィルタＦ４の値「Ｅｂ１（Ｔａｒｇｅｔ２）」で、実体の欄の値を置換する。
【００７０】
また、ポインタが含まれる場合には当該ポインタを実際の値に置換する（ステップＳ１５６）。そうすると、図２９に示すようなデータを得ることができる。図２９において、フィルタＦ４及びＦ５は、図２７に示したリストの１行目をコピーしたものである。フィルタＦ６については、図２７に示したリストの１行目がポインタとなっているので、それを実際の値に置換したものである。フィルタＦ７及びＦ８並びに値の欄、属性の欄及び期間の欄はステップＳ１５１で抽出したレコードである。実体の欄については、フィルタＦ４の値がコピーされたものである。
【００７１】
そして、リスト内のレコードを全て処理したか判断する（ステップＳ１５７）。リスト内に未処理のレコードが存在する場合には、ステップＳ１４９に戻る。図２７の例では、第２レコードが残っているので、第２レコードについて処理する必要がある。この場合、ステップＳ１５１で抽出されるレコードは同じであり、ステップＳ１５３では第２レコードがコピーされる。ステップＳ１５５では同じくフィルタＦ４の値が実体の欄に格納され、フィルタＦ６のポインタが実際の値に置換される。そうすると、図３０に示すような第２結合元データが生成される。
【００７２】
リスト内に未処理のレコードが残っていない場合には、生成された全ての結合元データを結合することによって出力データを生成する（ステップＳ１５９）。そうすると、図３１に示すような統合されたデータが生成される。そして元の処理に戻る。
【００７３】
図３１のようなデータをそのままステップＳ１１３で出力するようにしてもよいし、変換処理を実施して図３２のようなデータを生成して出力するようにしてもよい。図３２は図２０で説明した処理を実施すれば得ることができるが、元のリレーショナル・データベースの形式とは異なる。Ｔａｒｇｅｔ２とＴａｒｇｅｔ３のフォーマットを統合した形となっている。
【００７４】
以上述べたような処理を実施することによって、検索処理が実施される。承継関係が規定されていなければ、拡張基本５列表を１回走査するだけで検索処理を実施することができる。上で述べたように承継関係が規定されている場合には、拡張基本５列表を走査する回数が増加するが、通常は同じレコードを抽出することになるので１回走査した結果を保持しておけば走査回数を減らすことはできる。従って、レコード数が増加しても検索処理速度を高速化することができ、旧来の基本５列表が有する利点を享受することができるようになる。
【００７５】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図６に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュールに対応しない。
【００７６】
また、図６ではクライアント・サーバ・システムを一例として示しているが、スタンドアロン・システムとして構成される場合もある。
【００７７】
なお、検索者端末３、管理者端末７、ＤＢサーバ５はコンピュータ装置であって、図３３に示すように当該コンピュータ装置においては、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ）及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【図面の簡単な説明】
【００７８】
【図１】リレーショナル・データベースの第１のデータ例を示す図である。
【図２】リレーショナル・データベースの第２のデータ例を示す図である。
【図３】リレーショナル・データベースの第３のデータ例を示す図である。
【図４】旧来の基本５列表の一例を示す図である。
【図５】Ｄ／Ｄテーブルの一例を示す図である。
【図６】本発明の一実施の形態に係るシステム概要図である。
【図７】フィルタディクショナリの一例を示す図である。
【図８】拡張基本５列表の一例を示す図である。
【図９】本発明の一実施の形態におけるメインの処理フロー（第１部分）を示す図である。
【図１０】処理Ｉの処理フローを示す図である。
【図１１】処理ＩＩの処理フローを示す図である。
【図１２】処理ＩＩＩの処理フローを示す図である。
【図１３】処理ＩＶの処理フローを示す図である。
【図１４】拡張基本５列表の第２の例を示す図である。
【図１５】本発明の一実施の形態におけるメインの処理フロー（第２部分）を示す図である。
【図１６】ポインタ設定処理の処理フローを示す図である。
【図１７】検索条件入力画面の第１の例を示す図である。
【図１８】検索処理の処理フローを示す図である。
【図１９】検索処理の第１の例において抽出されるレコードの例を示す図である。
【図２０】変換処理の処理フローを示す図である。
【図２１】第１の例における変換処理後のデータの一例を示す図である。
【図２２】検索条件入力画面の第２の例を示す図である。
【図２３】検索処理の第２の例において抽出されるレコードの例を示す図である。
【図２４】第２の例における変換処理後のデータの一例を示す図である。
【図２５】検索処理の第３の例において抽出されるレコードの例を示す図である。
【図２６】承継処理の処理フローを示す図である。
【図２７】検索処理の第３の例において生成されるリストの一例を示す図である。
【図２８】検索処理の第３の例における第１結合元データの一例を示す図である。
【図２９】検索処理の第３の例における第２結合元データ（１つ目）の一例を示す図である。
【図３０】検索処理の第３の例における第２結合元データ（２つ目）の一例を示す図である。
【図３１】検索処理の第３の例における統合データの一例を示す図である。
【図３２】変換処理後の統合データの一例を示す図である。
【図３３】コンピュータの機能ブロック図である。
【符号の説明】
【００７９】
１  ネットワーク    ３  検索者端末    ５  ＤＢサーバ
７  管理者端末
５１  拡張基本５列表生成部    ５２  検索処理部
５３  Ｄ／Ｄ格納部    ５４  オリジナルＤＢ格納部
５５  フィルタディクショナリ格納部    ５６  拡張基本５列表格納部
【図１】
2008003974.tif 000003
【図２】
2008003974.tif 000004
【図３】
2008003974.tif 000005
【図４】
2008003974.tif 000006
【図５】
2008003974.tif 000007
【図６】
2008003974.tif 000008
【図７】
2008003974.tif 000009
【図８】
2008003974.tif 000010
【図９】
2008003974.tif 000011
【図１０】
2008003974.tif 000012
【図１１】
2008003974.tif 000013
【図１２】
2008003974.tif 000014
【図１３】
2008003974.tif 000015
【図１４】
2008003974.tif 000016
【図１５】
2008003974.tif 000017
【図１６】
2008003974.tif 000018
【図１７】
2008003974.tif 000019
【図１８】
2008003974.tif 000020
【図１９】
2008003974.tif 000021
【図２０】
2008003974.tif 000022
【図２１】
2008003974.tif 000023
【図２２】
2008003974.tif 000024
【図２３】
2008003974.tif 000025
【図２４】
2008003974.tif 000026
【図２５】
2008003974.tif 000027
【図２６】
2008003974.tif 000028
【図２７】
2008003974.tif 000029
【図２８】
2008003974.tif 000030
【図２９】
2008003974.tif 000031
【図３０】
2008003974.tif 000032
【図３１】
2008003974.tif 000033
【図３２】
2008003974.tif 000034
【図３３】
2008003974.tif 000035