JPH09305622A - 文書検索機能を有するデータベース管理方法およびシステム - Google Patents

文書検索機能を有するデータベース管理方法およびシステム

Info

Publication number
JPH09305622A
JPH09305622A JP8117311A JP11731196A JPH09305622A JP H09305622 A JPH09305622 A JP H09305622A JP 8117311 A JP8117311 A JP 8117311A JP 11731196 A JP11731196 A JP 11731196A JP H09305622 A JPH09305622 A JP H09305622A
Authority
JP
Japan
Prior art keywords
document
record
index
data
identifier
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.)
Granted
Application number
JP8117311A
Other languages
English (en)
Other versions
JP3653333B2 (ja
Inventor
Norihiro Hara
憲宏 原
Nobuo Kawamura
信男 河村
Kenichi Kitamura
健一 北村
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 Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP11731196A priority Critical patent/JP3653333B2/ja
Publication of JPH09305622A publication Critical patent/JPH09305622A/ja
Application granted granted Critical
Publication of JP3653333B2 publication Critical patent/JP3653333B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 テーブルおよびそのテーブルに関連付けられ
た文書を格納したデータベースに対して、効率の高い文
書検索機能付きリレーショナルデータベース管理方法を
提供すること、かつ文書検索の際に用いる文書索引の容
量を削減することを課題とする。 【解決手段】 検索要求において文書検索条件に合致し
た文書145の文書番号集合を取得し、文書登録に際して
は登録文書の文書番号を登録する文書索引142と、文書
番号と対応するデータ144を一意に識別するデータ識別
子とを関連付け、検索処理において文書索引142を参照
することにより取得された文書番号集合を対応するデー
タ識別子集合に変換する変換テーブル141とからなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文書検索機能を有
するデータベース管理方法およびデータベース管理シス
テムに関する。
【0002】
【従来の技術】文書情報の蓄積、再利用の重要性に伴
い、売り上げデータ等と同じように文書情報そのものを
テーブル形式のデータベースとして格納管理し、任意の
文字列を入力して種々の条件で文書検索を行うデータベ
ース管理システムが望まれている。このため、データベ
ース内の論理的構造がテーブルの、行(ロー)、列(カ
ラム)から構成されるリレーショナルデータベースにお
いて、列に含まれるデータ型として文書格納のための文
書型を対応させ、その文書型列に対する検索処理という
形態で上記要求に応えるシステムが提供されている。そ
れらデータベース管理システムでは、行の格納形態であ
るレコード内のカラム対応部分に文書格納領域へのポイ
ンタを格納することによって、あたかも文書実体が行内
に存在しているかのように見せている。
【0003】一方、一般の文書検索システムでは、大量
の文書を高速に検索するために、前処理で索引を作成す
る。文字列を入力して検索条件を満たす文書を確定する
ために、文書本体をすべてアクセスするのでは検索効率
が悪いからである。文書に含まれる文字列を文書から切
り出して、その文字列をキーとして索引を構成し、検索
時にその索引を用いることにより、文書本体へのアクセ
ス無しに効率的に検索条件を満たす文書を確定する。そ
の場合、文書からの文字列の切り出し方、すなわちキー
の構成方法が索引の容量に大きく影響する。切り出し文
字列として一文字を用いると、索引キーから文書へのポ
インタ付けが漏れなく行われ、検索条件判定の際に文書
本体をアクセスする必要がなくなる。しかし、索引容量
が莫大になり、結局検索効率の向上は十分には得られな
い。また、切り出し文字列長を増やしていくと、文書へ
のポインタ付けが荒くなり、それを補うため文書本体を
アクセスしなければならなくなってしまう。検索効率を
向上させるためには、文書へのポインタ付けの漏れがな
いように索引を作成し、かつその容量を減らすことが重
要となる。
【0004】通常のリレーショナルデータベース管理シ
ステムでは、各行の列値をキーとする索引(インデクス)
を用いて検索効率の向上を図っている。索引の構造とし
てB木構造を持つB木インデクスがよく用いられる。イ
ンデクスキーから行(ロー)への関連付けは、行(ロ
ー)を一意に識別できる「行(ロー)識別子」によって
行われる。すなわち、インデクスはキーと行(ロー)識
別子から成るインデクスエントリによって構成される。
この「行(ロー)識別子」は、インデクスエントリの構
成要素であるとともに検索結果集合に対する集合演算処
理のような、リレーショナルデータベースに対するデー
タ処理の対象データである行の識別子として用いられ
る。「行(ロー)識別子」を用いて行本体への高速アク
セスが可能なように、「行(ロー)識別子」は、データ
ベースを格納するファイルのアクセス単位であるページ
のページ番号とページ内の行格納位置情報で構成される
ことが多い。
【0005】
【発明が解決しようとする課題】従来、文書検索機能付
きリレーショナルデータベース管理システムでは、文書
索引の構成要素である文書へのポインタとして、B木イ
ンデクスと同様に、関連文書が属する行の「行(ロー)
識別子」を用いていた。そのため、文書索引から検索条
件を満たす「行(ロー)識別子」集合を取得し、これと
他カラムに対する検索条件からの結果集合との集合演算
等が可能となる。しかし、その場合、文書管理システム
の文書索引内で管理される文書へのポインタ、または文
書識別手段に比べ、一般にファイル全体の中の格納位置
を示す「行(ロー)識別子」のサイズの方が大きいた
め、文書索引の容量が莫大になり、結果的に検索効率の
低下を招いてしまうという問題があった。
【0006】本発明は、これらの問題を解決するため、
格納文書を一意に認識でき、行識別子よりサイズの小さ
い「文書番号」を文書索引に用いることにより、文書索
引の容量を削減すると共に文書検索条件を伴う問合せ要
求に対する検索効率の高い文書検索機能付きリレーショ
ナルデータベース管理方法を提供することを目的として
いる。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明におけるデータベース管理システムは、以下
の構成を有する。
【0008】データベースの文書に文書オブジェクトを
登録する際に、当該文書オブジェクトを一意に識別し
て、文書索引に用いられる文書番号の割当てを行う手段
を有する文書番号管理部と、検索要求の際に、文書に対
応して作成された文書索引に基づいて、文書検索条件に
合致した文書オブジェクトの文書番号を集合の形で取得
する手段と、文書登録の際に書索引を管理する手段とを
有する文書索引管理部と、文書番号管理部によって格納
文書中の各文書オブジェクトに割り当てられた文書番号
と、文書オブジェクトに関連付けられているデータ中の
各データオブジェクトを一意に識別するためのデータ識
別子とを関連付ける変換テーブルを設け、検索操作の際
に文書索引管理部により取得された文書番号集合を関連
付けられているデータ識別子に変換する手段とを有する
変換テーブル管理部と、を備える。
【0009】
【発明の実施の形態】以下、図を用いて本発明の実施の
一形態を詳細に説明する。本発明は、図14に示す計算
機システムで実施される。図4の計算機システムは、中
央処理装置(CPU)100、入出力端末(VDT)200、
及びディスク装置300からなり、ディスク装置には、後
述するデ−タベ−ス(DB)4、及び本発明による処理
手順を実行するプログラム500が格納されている。プロ
グラム500は、CPUの主記憶に読み込まれて実行され
る。
【0010】まず、図13の本発明の概念図を説明す
る。本発明のデータベース管理システムでは、データの
属性値に対する条件式およびキーワードを伴う問合せ元
からの検索要求1を受け付けた際、キーワードを元に文
書145に対応して作成された文書索引142を参照し、その
キーワードを含む文書オブジェクトの文書番号(文書N
O.)(群)を取得する。そして、文書NO.に対応する変換テ
ーブル141のエントリ(文書NO.から算出される格納位置)
内に記憶してあるレコード識別子51(レコードID)(群)を
取得する。レコ−ド識別子51は、デ−タ144におけるデ
−タレコ−ド23の格納位置を示す情報であり、デ−タ内
のペ−ジの識別子とペ−ジ内の格納位置を格納したスロ
ットの番号とで構成される。取得したレコード識別子51
を持つ変換テーブル141の行には、検索要求1のキーワー
ドを含む文書オブジェクトがデ−タ144を介して関連付
けられている。
【0011】また、検索要求1の条件式に含まれるデー
タの属性値に対応して作成された索引143を用いて、条
件式に合致した行のレコードID(群)を取得する。ここ
で、変換テーブル141を参照して得られたレコードIDの
集合を、先の索引143から得られたレコードIDを用いて
絞り込む。
【0012】ここで、絞り込まれた結果に含まれるレコ
ードIDからページ20内に格納されているデータレコード
23(テーブルの行の格納形態)をアクセスし、検索結果と
して文書オブジェクトへのポインタなどを出力する
(5)。
【0013】次に図1には、本発明のデータベース管理
システムの構成図が示してある。図1に示すように、本
発明のデータベース管理システムは、問合せ元からの問
合せ要求1を受付けて解析し、問い合わせ要求に応じて
データベース4の検索処理および更新処理を行うデータ
ベース処理部3から構成される。問合せ要求・結果処理
部2は、利用者からの問合せ要求1を受付けて解析し(12
1)、問合せ要求に対応したデータ処理の実行をデータベ
ース処理部3に要求し(122)、データベース処理部3から
問い合わせ結果を処理して(123)、問合せ元に問合せ結
果5を出力する。
【0014】データベース処理部3は、問合せ要求・結
果処理部2からの要求に応じて、データベース4を検索
あるいは更新し、その結果を問合せ要求・結果処理部2
に返す。データベース4の検索あるいは更新処理を担当
するのが、文書索引管理部131、索引管理部133、データ
管理部134、変換テーブル管理部132、そして文書番号管
理部135である。
【0015】ここで、図1における矢印は、検索要求の
際の処理の主な流れを示す。文書索引管理部131および
索引管理部133を用いることにより効率よく検索結果を
絞り込む。要求によっては、データ管理部134が検索結
果として絞り込まれたデータを参照する。文書番号管理
部は、文書登録の際に文書番号の割り当てを行う。
【0016】本発明のデータベース管理システムで管理
されるデータベース4は、データベース操作対象である
データオブジェクトの集まりから成るデータ144、デー
タ144に対応して作成された索引143、データ144のデー
タオブジェクトそれぞれに関連付けられた文書オブジェ
クトの集まりから成る文書145、文書145に対応して作成
された文書索引142、そして上記文書145の文書オブジェ
クトとデータ144のデータオブジェクトとを論理的に結
び付けるための変換テーブル141からなる。
【0017】データ144のデータオブジェクトの一例と
して、リレーショナル管理システムにおけるデータモデ
ルであるテーブルの構成要素である行が挙げられる。デ
ータ144のデータオブジェクト、すなわち本形態におけ
る行は、データベース4へのアクセス単位であるページ
中に、データレコードという形態で格納される。そのデ
ータレコードに対して、問合せ要求・結果処理部2の問
合せ処理実行制御122の指示によって、格納/読み出し等
を担当するのがデータベース処理部3のデータ管理部13
4である。検索高速化のためにしばしばデータに対して
索引143を作成し、検索時参照する。その索引143の参照
および更新処理を行うのが、索引管理部133である。
【0018】本発明のデータベース管理システムでは、
文書をテーブルの列の属性値として提供するに当たり、
データ144と文書145とをそれぞれ別領域に格納して互い
に関連付ける。その関連付けの手段が変換テーブル141
である。また、文書高速検索手段として文書索引142を
有し、文書索引の維持管理をデータベース処理部3内の
文書索引管理部131が担当する。文書索引管理部131は、
文書検索要求に際し、文書索引142を参照することによ
り文書検索条件に合致した文書に関する情報を取得す
る。文書145内の文書オブジェクトは、データベース格
納時に文書番号管理部135によって割り当てられた文書
オブジェクトを一意に認識するための文書番号によって
識別される。文書索引管理部131は、文書オブジェクト
に関する情報として文書番号を取得する。
【0019】テーブルの行の識別手段として、ある条件
等に合致した行集合に対して集合演算を施したり、特定
行をアクセスしたりするために、行に対応する格納デー
タレコードのレコード識別子(データ識別子)を用い
る。データオブジェクトと文書オブジェクトの関連付け
は、上記文書番号とレコード識別子を用いて行う。
【0020】図2は、データ144の各ページ内における
データレコードの格納構造の一形態を示す図である。1
つのページ20内には、複数のデータレコード23が格納可
能であり、データレコード23のページ内の格納位置は、
スロット21により指示される。スロット21の領域には指
示するデータレコード23が格納されているページ20の先
頭からの格納位置が記憶される。ページ制御情報22は、
スロットの割当て状況などのスロット管理およびページ
内領域管理を行うためのものである。データレコード23
は、文書を属性値として持つ列(カラム)に対応する文書
フィールド24を含む。文書フィールド24は、文書を一意
に認識するための文書番号25および、文書本体をアクセ
スするためのポインタ(文書格納位置情報)26から成
る。文書番号25は、データレコード23と文書145中の各
文書オブジェクトとを論理的に結び付けるために用いら
れる。その文書番号25に対し、文書オブジェクトへのポ
インタ26は両者(データレコードと文書オブジェクト)を
物理的に結び付けるために用いられる。
【0021】図3は変換テーブル141に格納されている
各レコード識別子の構成の一形態を示す図である。レコ
ード識別子51は、データレコード(図2の23)が格納され
るページ(図2の20)を一意に識別するためのページ識別
子31と、ページ内のデータレコード格納位置を特定する
ためのスロット(図2の21)を示すスロット番号32から成
る。スロット番号32は、ページ格納構造においてページ
制御情報(図2の22)側から順次番号付けされる。図3で
は、「ページ識別子+スロット番号」という構造を採っ
ているが、「スロット番号+ページ識別子」でもなんら
問題はない。レコード識別子51を用いてデータレコード
をアクセスする。データレコードへのアクセスは、この
レコード識別子のページ識別子51を用いて格納ページを
アクセスし、スロット番号32に対応するスロットに記録
されているデータレコード格納位置を取得することによ
って高速に行われる。
【0022】図4は、文書索引および索引の具体例を示
す図である。図4のa)は、図1のデータベース4内の文
書索引142(図13の概念図にも記述)の詳細構成例であ
る。また図4のb)は、図1のデータベース4内の索引143
(図13の概念図にも記述)の詳細構成例である。
【0023】文書索引142の中には各インデクスキーワ
ードに対応した複数の索引41が含まれる。ここで、先頭
の“本”はインデクスキーワードであり、それに続く文
書番号11、12、…、1nは、インデクスキーワード“本”
を含む文書オブジェクトの文書番号である。同様に、
“発”および“明”について図示のように登録されてい
る。この構造によりどんなキーワードが検索列としてや
ってきても文書オブジェクト本体をアクセスすることな
しに検索条件に合致した文書番号を取得できる。
【0024】索引143の中には、属性値とその属性値を
持つ列(カラム)の行を示すレコードID(レコード識別子)
(群)から成る索引エントリ42が記録されている。属性値
を指定すると、容易にその属性値を持つレコードIDを取
得することができる。ここでは、索引エントリはテーブ
ル構造をとっているが、B木構造やハッシングを用いた
構造でもよい。
【0025】図5は、変換テーブルの一例を示す図であ
る。これは、図1のデータベース4内の変換テーブル141
(図13の概念図にも記述)の詳細例である。本変換テー
ブルは、上記文書索引によって取得した検索条件に合致
する文書番号を、リレーショナルデータベース管理シス
テムが種々の演算において採用するレコード識別子(図
3の30)に変換するためのものである。変換テーブル141
は、変換テーブルエントリ51により構成される。本形態
において変換テーブルエントリ51はレコード識別子(図
3の30)から構成される。
【0026】そして、テーブル141は、複数の変換テー
ブルエントリ51の格納位置を文書番号から計算により容
易に特定できるような構造になっている。さらに具体的
に述べると、文書番号を1から順に格納領域をインクリ
メンタルに割り当てることにより、そのシリアルな文書
番号に対応するレコード識別子30が変換テーブルの対応
するエントリにマッピングされるようにする。その結
果、文書番号より変換テーブルのエントリをアクセス
し、エントリに記録してある対応レコード識別子を取得
できる。
【0027】各変換テーブルエントリの構成要素がペー
ジ識別子とスロット番号からなるレコード識別子のみで
あり、文書番号やエントリ自身の情報などを必要としな
いことから、変換テーブルの容量を必要最小限に抑える
ことができる。さらに、文書索引内にレコード識別子を
持つ場合、文書索引内には同一レコード識別子が大量に
存在しそれがアクセス効率の低下を招く要因になること
から、変換テーブルを参照し文書番号からレコード識別
子に最終的に変換する方が効率よくアクセスすることが
できる。さらなる変換テーブルアクセス効率向上のた
め、変換テーブルはメモリに常駐させる方が望ましい。
【0028】次に図2から図5で説明した一構成形態の
もとで、図6および図7を用いてデータベースの検索処
理について詳細に説明する。
【0029】図6は、検索要求が問合せ元から入力され
た際の、データベース処理の詳細を示すフローチャート
であり、図1における問合せ実行制御122以降の処理に
ついて示している。まず、ステップ601において、要求
検索操作は文書索引を使用する検索であるかどうかを判
定する(図1の122)。文書索引の使用不使用の指定は、
図1の問合せ要求受付け・解析121において問合せ要求
に含まれる検索条件により決定される。(ここで図1で
のデータベース処理部3に制御が渡る。)ステップ601に
おいて文書索引使用指定の場合、ステップ602以降に進
み文書検索条件による検索実行を行う。文書索引の使用
の指定がない場合、ステップ609に進み、索引による検
索を行うかどうかの判断を行う。
【0030】ステップ602に進んだ場合、図1の文書索
引管理部131が以下の処理を行う。文書索引をアクセス
し(ステップ602)、文書検索条件を満たす文書番号集合
を取得する(ステップ603)。次に、取得した文書番号の
集合を対応するレコード識別子の集合に変換するため
に、文書番号一つ一つを評価する。すなわち、ステップ
604において、文書番号集合に要素すなわち文書番号が
存在するかを判定する。文書番号が存在しない場合、文
書番号集合はすべてレコード識別子集合に変換完了した
とみなし、ステップ609に進む。
【0031】集合要素である文書番号が存在する場合、
ステップ605以降により一文書番号の変換処理を行う。
変換処理は、図1の変換テーブル管理を通して行う。ス
テップ605において文書番号集合から一文書番号を取り
出す。そして、文書番号から変換テーブルの対応するエ
ントリの格納位置を算出し、変換テーブルの対応するエ
ントリをアクセスする(ステップ606)。そして、変換テ
ーブルのエントリからレコード識別子を取得する(ステ
ップ607)。取得したレコード識別子を変換結果としてレ
コード識別子集合1に追加する(ステップ608)。そし
て、ステップ604に戻り、残りの文書番号の変換を続行
する。
【0032】文書番号集合の変換処理がすべて終了後、
または文書索引による検索処理を行わなかった場合、ス
テップ609において、索引を使った検索を行うかどうか
を判定する。索引を使った検索を行う場合、図1の索引
管理部133に処理制御が渡り以下の処理を行う。ステッ
プ610に進み索引をアクセスし、検索条件を満たすレコ
ード識別子集合2を取得する(ステップ611)。ステップ6
09において、索引を使用しないと判断した場合、ステッ
プ612に進む。ステップ612において、検索条件の組合せ
による集合演算を行う。具体的には、文書に対する検索
条件と索引を使うような検索条件のAND条件で問合せ要
求がなされている場合は、レコード識別子集合1とレコ
ード識別子集合2の積集合を結果レコード識別子集合と
する。
【0033】また、OR条件の問合せ集合の場合には、レ
コード識別子集合1とレコード識別子集合2の和集合を
結果レコード識別子集合とする。どちらかの条件のみの
場合はレコード識別子集合の集合演算は行わず、そのま
ま結果レコード識別子集合とする。その後、ステップ61
3において、結果レコード識別子集合を用いて要求に応
じレコードをアクセスし(ステップ613)、結果として問
合せ元に返す(ステップ614)。
【0034】図7は、本発明の検索動作説明図を示して
いる。これは、図6のフローチャートに従って説明した
検索時の具体例である。データベース4には、データ144
および文書145として、図7に示す「著者」列および
「文書」列(文書型)を持つテーブルが格納管理されて
いる。問合せ元が問合せ要求1として、「著者=HARA」
かつ「"データベース"を含む」行の検索を要求する。処
理122において上記問合せ要求を受付けて解析し、アク
セス手段の決定を行う。本具体例では、「著者」列に索
引が定義され、文書索引が用意されているので、索引お
よび文書索引を用いて検索処理を行うことを決定する。
【0035】そして、処理122において決定されたアク
セス手段に従って検索処理を以下のように制御する。ま
ず、文書索引管理部131において文書索引142をアクセス
し、検索条件合致文書番号(文書番号1、文書番号2)を
取得する(図6のステップ603に相当)。そして、変換テ
ーブル管理部132において、変換テーブル141を参照し、
先に取得した文書番号集合をレコード識別子集合(レコ
ード識別子n、レコード識別子m)に変換する(図6のス
テップ605からステップ608に相当)。次に、検索条件
「著者=HARA」より、索引管理部133において索引143を
アクセスし、検索条件合致レコード識別子(レコード識
別子m、レコード識別子k)を取得する。検索結果処理部
123において、上記結果レコード識別子集合をマージし
(本実施例の場合、積集合を求める)(図6のステップ612
に相当)、最終結果レコード識別子mを取得し、検索結果
709として問合せ元に返す(図6のステップ614に相当)。
【0036】以上によって、文書が格納された列「文
書」に対する文書検索条件を含む検索操作を、文書番号
からレコード識別子への容易な変換を用いて、他の列に
作成されている索引を利用するのと同じ要領で実行する
ことができた。また、索引と併用することで、結果集合
の縛り込みが効率的に行えた。ここでは、「文書」列以
外の列に作成されている一索引の利用例を示したが、検
索条件によっては複数索引を用いてもよい。また、デー
タベースへのI/O数等を加味して最適化を図り、適切な
索引を組合せて使用するようにしてもよい。
【0037】次に、図8および図9を用いてデータベー
スへの登録操作について詳細に説明する。図9は、本発
明の登録操作フローチャートであり、図6同様に図1に
おける問合せ実行制御122以降の処理について示してい
る。
【0038】新規データおよび新規文書の登録の際に、
まずデータベース処理部3では、ステップ801にて新規
文書番号の割り付けを行う。これは、図1の文書番号管
理部135が行う。文書番号の管理方法の一形態として、
文書番号を「採番カウンタ」で管理し、新規文書の登録
において「採番カウンタ」に+1した値を文書番号とし
て割り当てる。その際「採番カウンタ」の値は+1す
る。ここで、文書番号(採番カウンタ)を実現するために
必要なビット数(サイズ)は、レコード識別子を構成す
るページ識別子およびスロット番号を実現するためのビ
ット数(サイズ)よりも小さい。これは、レコード識別
子の割当てがまばらになるのに対して、文書番号は常に
順番に割り当てられることからも分かる。
【0039】次に、データベース4に新規文書オブジェ
クトを格納する(ステップ802)。先程の新規文書番号お
よび新規文書格納位置を用いて、新規データレコードを
作成する(ステップ803)。新規データレコードの作成に
当たり、図2を用いて説明したデータレコード23の文書
フィールド24の文書番号25および文書オブジェクトへの
ポインタ26(文書オブジェクト格納位置)を設定する。
そして、新規データレコードを格納するためのページを
決定し(ステップ804)、格納ページ内のページ制御情報
から新規データレコードのためのスロットを割り当てて
もらい(ステップ805)、新規データレコードをページ内
に格納する(ステップ806)。格納ページおよびスロット
番号決定時、レコード識別子が確定する。
【0040】データレコード格納後、文書列以外の列に
索引が存在するかを判定し(ステップ807)、存在する場
合その索引のメンテナンスをレコード識別子を用いて行
う(ステップ808)。さらに、ステップ809において、ステ
ップ801で割当てた文書番号を用いて文書索引のメンテ
ナンスを行う。文書番号から変換テーブルエントリの位
置を算出し(ステップ810)、変換テーブルエントリにス
テップ805までに確定したレコード識別子を設定する(ス
テップ811)。
【0041】ここでは、索引のメンテナンス処理の後
に、文書索引のメンテナンスを行っているが、文書番号
の割当ておよびレコード識別子の確定が完了していさえ
すれば、索引および文書索引のメンテナンスの順序に制
約はない。もちろん両メンテナンス処理は処理高速化の
ため並列に実行することが望ましい。また、変換テーブ
ルエントリのメンテナンスも文書番号および対応レコー
ド識別子が確定した段階で行って構わない。
【0042】図9は、本発明の登録操作説明図を示して
いる。これは、図8のフローチャートに従って説明した
登録時の具体例である。データベース4には、図7と同
様に「著者」列および「文書」列を持つテーブルがデー
タ144および文書145として格納管理されている。問合せ
元が問合せ要求1として、「著者=NISHI」であり文書オ
ブジェクト「…。インターネットは、…。」を伴う新規
データの登録を要求する。処理121において上記問合せ
要求を受付けて解析する。そして、処理122において登
録処理を以下のように制御する。
【0043】まず、データ管理部134において文書格納
を行うが、それに先立ち文書番号管理部135において文
書番号の割り付けを行い、「文書番号4」を取得する
(図8のステップ801に相当)。次に新規文書オブジェク
トをデータベース4に格納し(図8のステップ802に相
当)、そのポインタと「文書番号4」を用いてデータレ
コードの格納を行う(図8のステップ806に相当)。その
際、「レコード識別子p」が確定される。「著者」列に
索引が作成されていることから、インデクスキー「NISH
I」および「レコード識別子p」を用いて索引管理部133
において索引143のメンテナンス処理を行う(図8のステ
ップ808に相当)。それとともに、「文書番号4」を用い
て文書索引131において文書索引142のメンテナンス処理
を行う(図8のステップ809に相当)。またそれとともに、
変換テーブル管理部132において、「文書番号4」から
変換テーブルエントリ位置を算出し、エントリに「レコ
ード識別子p」を設定することにより、新エントリ設定
を完了する(図8のステップ811に相当)。
【0044】以上によって、「著者=NISHI」を含むデ
ータレコードと新規文書オブジェクト「…。インターネ
ットは、…。」とを関連付けて登録することができる。
【0045】次に、図10および図11を用いてデータ
ベースからの削除操作について詳細に説明する。図10
は、本発明の削除操作フローチャートであり、図6と同
様に図1における問合せ実行制御122以降の処理につい
て示している。データおよびそれに関連する文書の削除
の際に、まず、データベース処理部では、ステップ1001
にてレコード識別子を用いて削除対象となっているデー
タレコードの削除を行う。その際、関連する文書オブジ
ェクトの文書番号および文書格納ポインタを記憶してお
く。
【0046】次に、ステップ1002にて先に記憶しておい
た文書格納ポインタを用いて文書オブジェクトの削除を
行う。そして、ステップ1003において削除データレコー
ドに関連する索引のメンテナンスを行う。すなわち、ス
テップ1003で索引が作成されているかどうかを判定す
る。索引がある場合、ステップ1004において列の値およ
び削除対象レコード識別子を用いて索引メンテナンス
(索引エントリの削除)を行い、ステップ1005に進む。索
引が存在しない場合、そのままステップ1005に進む。次
に、削除データレコードから記憶しておいた文書番号を
用いて文書索引のメンテナンスを行う(ステップ1005)。
さらに文書番号から変換テーブル位置を算出し(ステッ
プ1006)、変換テーブルエントリ内のレコード識別子を
初期化することにより、対応変換テーブルエントリを無
効化する(ステップ1007)。
【0047】図11は、本発明の削除操作説明図を示し
ている。これは、図10のフローチャートに従って説明
した削除時の具体例である。データベース4には、図7
および図9と同様に「著者」列および「文書」列を持つ
テーブルがデータ144および文書145として格納管理され
ている。問合せ元が問合せ要求1として、「著者=NISH
I」であるデータ(行)の削除を要求する。処理121におい
て上記問合せ要求を受付けて解析する。そして、処理12
2において削除処理を以下のように制御する。
【0048】まず、データ管理部134において削除対象
レコードの「レコード識別子p」を確定し、データレコ
ードの削除を行う(図10のステップ1001に相当)。そし
て、データレコードに格納されていた関連文書オブジェ
クトへのポインタを用い、対応する文書オブジェクトの
削除を行う(図10のステップ1002に相当)。図11に示
すように、データ144および文書145の削除対象レコード
および文書オブジェクトを点線で示してある。
【0049】削除データレコードの「レコード識別子
p」、索引がはられている列の値、および削除データレ
コードに格納されていた関連文書オブジェクトの「文書
番号4」を用いて、索引管理部133にて索引メンテナン
ス処理を、文書索引管理部131において文書索引メンテ
ナンス処理を、さらに変換テーブル管理部132において
対応エントリの初期化をそれぞれ行う(図10のステッ
プ1001、ステップ1004、ステップ1005にそれぞれ相
当)。対応エントリの初期化において、「文書番号4」か
ら変換テーブルの位置を算出しエントリ内の「レコード
識別子p」を初期化する。
【0050】以上によって、削除要求処理を完了する。
図11の流れからも分かるように、データレコード削除
の後、関連する文書番号および削除文書格納ポインタ、
索引キーが確定されているので、それらの処理を順次実
行する理由はない。これは、並列処理による高速化を意
味する。
【0051】上述の実施形態では、文書番号割当て処理
を文書番号管理部135が行っているが、データベースへ
の文書格納を行うためのデータ管理部134が行っても構
わない。また、変換テーブルの実施形態に関しても、上
述のようなエントリの配列構造ではなく、B木構造であ
ってももちろん構わない。
【0052】また、図12に文書索引のさらなる一実施
形態を示す。図12は、ビットマップ・インデクスを用
いた文書索引の例を示す図である。これは、図4におけ
る文書索引例とは別の実施形態である。図4の例では文
書索引が文字列をキーとする文書番号リストより構成さ
れていたのに対し、図12の例では、文字列に対してビ
ットマップ・インデクスを作成する。格納文書オブジェ
クトそれぞれに1ビットを割り当てる。また、各ビット
は文書オブジェクト中の文字列に対応する。例えば、文
字列が“本”のビットマップ・インデクスにおいて、1
番目とn番目のビットが1であれば、1番目とn番目の
文書オブジェクトに“本”が含まれていることを意味す
る(1200)。
【0053】ビットマップ・インデクスを用いた場合、
ビットマップの中の位置によって文書を識別する。最初
のビットが文書番号1を指し、n番目のビットが文書番
号nを指す。本実施形態において、文書番号は1からシ
リアルに割当てられるため、ビットマップ・インデクス
による実現は容易であり、アクセスも効率的である。ま
た、ビットマップ・インデクスを用いた場合、検索結果
は一時的にビットマップの形態をとることになる。これ
は、テーブルに複数の文書列が定義され、その列おのお
のに検索条件が指定された問合せ要求が入力された場
合、複数の文書索引を用いた検索結果のAND/OR演算は、
レコード識別子に一旦変換しなくとも、ビットマップ同
士のビット演算で効率良く実現できることを意味する。
また、以上のことは、文書索引を用いた文書検索に縛ら
れることなく、ビットマップ・インデクスを用いた列に
おける高速検索への拡張も意味する。
【0054】すなわち、文書属性を持たない列に対する
索引をビットマップ・インデクスで構築した場合でも、
本発明における変換テーブルを用いることにより、レコ
ード識別子(行識別子)とビットマップ・インデクス内
のビット位置との対応が容易にでき、かつ索引中にレコ
ード識別子を持たないことから索引の容量も小さく抑え
ることができる。
【0055】文書は多数の文字列を含むため、文書索引
内には、同一文書番号が多数存在する。変換テーブルを
導入することにより、文書番号として最小サイズのもの
を採用することができ、レコード識別子を用いて文書索
引を構成するよりも、文書索引の容量を削減することが
できた。また、変換テーブルは、文書番号から対応レコ
ード識別子を取得する目的のみに用い、種々の問合せよ
りに関してレコード識別子から文書番号への逆変換はフ
ローチャートからも分かるように不要である。しかも、
文書番号からレコード識別子への変換は容易に実行する
ことができることから、文書を伴うデータの検索、登
録、又は削除操作が効率良く行うことができる。
【0056】本発明における一形態として、データオブ
ジェクトと文書オブジェクトが1対1に対応する形態を
説明したが、別形態として、データオブジェクトと文書
オブジェクトとの関連は、多対1、1対多、多対多でも
構わない。また、データオブジェクト新規格納時におい
て、関連文書オブジェクトが決定あるいは格納されてい
なくともよい。その場合、データオブジェクトの文書フ
ィールドに、文書オブジェクト未決定情報(具体的には
null値)を記録しておけばよい。これらのことは、デー
タオブジェクトと文書オブジェクトとが、ユティリティ
におけるデータ一括登録などにおいて独立した運用が可
能であることを示している。文書オブジェクトの登録に
は一般にデータオブジェクトの格納に比べ多数のI/Oを
伴うため、データオブジェクトのみを先に一括登録し、
文書オブジェクトの登録は後回しにしておく、等という
運用も容易である。
【0057】
【発明の効果】以上説明したように、本発明によれば、
格納文書の識別手段としてレコード識別子よりサイズの
小さい「文書番号」を採用し、文書索引内において文書
番号を用いて索引文字列との関連を管理し、検索時にそ
の「文書番号」と関連する行の「レコード識別子」とを
変換テーブルを用いて容易に「文書番号」から「レコー
ド識別子」に変換し、レコード識別子に条件式を適用す
ることにより、文書検索条件を伴う問合せ要求に対し効
率よく検索することができる。さらに、索引を併用する
ことにより、レコード識別子の絞り込みを効率的に行う
ことができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】データレコードの格納構造の一形態を示す図で
ある。
【図3】レコード識別子の構成の一形態を示す図であ
る。
【図4】文書索引の一形態を示す図である。
【図5】本発明の文書番号レコード識別子変換テーブル
構造の一例を示す図である。
【図6】発明の検索操作フローチャートである。
【図7】本発明の検索操作説明図である。
【図8】本発明の登録操作フローチャートである。
【図9】本発明の登録操作説明図である。
【図10】本発明の削除操作フローチャートである。
【図11】本発明の削除操作説明図である。
【図12】ビットマップ・インデクスを用いた文書索引
の例である。
【図13】本発明の概念図である。
【図14】本発明を実施する計算機システムの構成図で
ある。
【符号の説明】
1:問合せ要求、131:文書索引管理部、132:変
換テーブル管理部、133:索引管理部、134:デー
タ管理部、135:文書番号管理部、2:問合せ要求・
結果処理部、3:データベース処理部、4:データベー
ス、141:変換テーブル、142:文書索引、14
3:索引、144:データ、145:文書、5:問合せ
結果
───────────────────────────────────────────────────── フロントページの続き (72)発明者 河村 信男 神奈川県川崎市幸区鹿島田890番地の12 株式会社日立製作所情報・通信開発本部内 (72)発明者 北村 健一 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウェアエンジニアリング株式会 社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】計算機を用いて、文書オブジェクト、およ
    び前記文書オブジェクトと関連付けられたデータオブジ
    ェクトを管理するデータベース管理方法において、 a)入力手段から入力された検索要求に含まれるキ−ワ
    −ドを含む少なくとも1つの文書の番号に対応する少な
    くとも1つの第1のレコ−ド識別子を抽出し、 b)前記検索要求に含まれる条件式を満たす属性値に対
    応する少なくとも1つのデ−タレコ−ドの第2のレコ−
    ド識別子を抽出し、 c)前記第2のレコ−ド識別子に合致する前記第1のレ
    コ−ド識別子を選択し、 d)前記ステップc)で選択
    されたレコ−ド識別子に対応するデ−タレコ−ド、及び
    前記デ−タレコ−ドと関連付けられた文書オブジェクト
    を抽出することを特徴とする文書検索機能を有するデー
    タベース管理方法。
  2. 【請求項2】前記ステップa)は、 a1)前記キ−ワ−ドによって文書索引を検索して少な
    くとも1つの文書番号を抽出し、 a2)前記抽出された文書番号に対応する格納位置に格
    納された前記第1のレコ−ド識別子を変換テ−ブルから
    抽出することを特徴とする請求項1記載の文書検索機能
    を有するデータベース管理方法。
  3. 【請求項3】文書オブジェクト、および前記文書オブジ
    ェクトと関連付けられたデータオブジェクトを管理する
    データベース管理システムは、 a)入力手段から入力された検索要求に含まれるキ−ワ
    −ドを含む少なくとも1つの文書の番号に対応する少な
    くとも1つの第1のレコ−ド識別子を抽出する手段、 b)前記検索要求に含まれる条件式を満たす属性値に対
    応する少なくとも1つのデ−タレコ−ドの第2のレコ−
    ド識別子を抽出する手段、 c)前記第2のレコ−ド識別子に合致する前記第1のレ
    コ−ド識別子を選択する手段、及び d)前記選択されたレコ−ド識別子に対応するデ−タレ
    コ−ド、及び前記デ−タレコ−ドと関連付けられた文書
    オブジェクトを抽出する手段を有することを特徴とする
    文書検索機能を有するデータベース管理システム。
  4. 【請求項4】文書オブジェクト、および前記文書オブジ
    ェクトと関連付けられたデータオブジェクトを管理する
    ための、計算機で読み出し可能な記録媒体に格納された
    データベース管理方法のプログラムは、 a)入力手段から入力された検索要求に含まれるキ−ワ
    −ドを含む少なくとも1つの文書の番号に対応する少な
    くとも1つの第1のレコ−ド識別子を抽出し、 b)前記検索要求に含まれる条件式を満たす属性値に対
    応する少なくとも1つのデ−タレコ−ドの第2のレコ−
    ド識別子を抽出し、 c)前記第2のレコ−ド識別子に合致する前記第1のレ
    コ−ド識別子を選択し、 d)前記ステップc)で選択
    されたレコ−ド識別子に対応するデ−タレコ−ド、及び
    前記デ−タレコ−ドと関連付けられた文書オブジェクト
    を抽出することを特徴とする文書検索機能を有するデー
    タベース管理方法プログラム。
JP11731196A 1996-05-13 1996-05-13 データベース管理方法およびシステム Expired - Fee Related JP3653333B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11731196A JP3653333B2 (ja) 1996-05-13 1996-05-13 データベース管理方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11731196A JP3653333B2 (ja) 1996-05-13 1996-05-13 データベース管理方法およびシステム

Publications (2)

Publication Number Publication Date
JPH09305622A true JPH09305622A (ja) 1997-11-28
JP3653333B2 JP3653333B2 (ja) 2005-05-25

Family

ID=14708618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11731196A Expired - Fee Related JP3653333B2 (ja) 1996-05-13 1996-05-13 データベース管理方法およびシステム

Country Status (1)

Country Link
JP (1) JP3653333B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004019227A1 (en) * 2002-08-23 2004-03-04 Lg Electronics, Inc. Electronic document request/supply method based on xml
JP2006092515A (ja) * 2004-09-27 2006-04-06 Microsoft Corp 索引キーを使用して検索を絞込むシステムおよび方法
JP2006252102A (ja) * 2005-03-10 2006-09-21 Kotohaco:Kk Sql分割式並列検索装置および方法
US7398466B2 (en) 2002-11-14 2008-07-08 Lg Electronics, Inc. Electronic document versioning method and updated document supply method using version number based on XML
KR101082024B1 (ko) * 2008-12-08 2011-11-10 한국전자통신연구원 디지털 포렌식 시스템에서 증거 이미지의 색인 관리 장치 및 방법
JP2013058108A (ja) * 2011-09-08 2013-03-28 Fujitsu Ltd タグ管理装置およびタグ管理プログラム
JP2013525881A (ja) * 2010-04-06 2013-06-20 ジャストワン・データベース・インコーポレイテッド データベースモデル非依存、スキーマ非依存および作業負荷非依存のデータ記憶ならびにアクセスモデルに基づくデータ記憶および/または検索
JP2016539417A (ja) * 2013-12-06 2016-12-15 華為技術有限公司Huawei Technologies Co.,Ltd. 列指向データベース処理方法および処理デバイス

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496834B2 (en) 2002-08-23 2009-02-24 Lg Electronics, Inc. Electronic document request/supply method based on XML
GB2408610A (en) * 2002-08-23 2005-06-01 Lg Electronics Inc Electronic document request/supply method based on xml
US8677231B2 (en) 2002-08-23 2014-03-18 Lg Electronics, Inc. Electronic document request/supply method based on XML
WO2004019227A1 (en) * 2002-08-23 2004-03-04 Lg Electronics, Inc. Electronic document request/supply method based on xml
US7584421B2 (en) 2002-08-23 2009-09-01 Lg Electronics, Inc. Electronic document request/supply method based on XML
US8631318B2 (en) 2002-11-14 2014-01-14 Lg Electronics, Inc. Electronic document versioning method and updated document supply method using version number based on XML
US7484171B2 (en) 2002-11-14 2009-01-27 Lg Electronics, Inc. Electronic document versioning method and updated document supply method using version number based on XML
US7398466B2 (en) 2002-11-14 2008-07-08 Lg Electronics, Inc. Electronic document versioning method and updated document supply method using version number based on XML
JP2012069152A (ja) * 2004-09-27 2012-04-05 Microsoft Corp 索引キーを使用して検索を絞込む方法および記録媒体
JP2006092515A (ja) * 2004-09-27 2006-04-06 Microsoft Corp 索引キーを使用して検索を絞込むシステムおよび方法
JP2014222538A (ja) * 2004-09-27 2014-11-27 マイクロソフト コーポレーション 索引キーを使用して検索を絞込むシステムおよび方法
JP2006252102A (ja) * 2005-03-10 2006-09-21 Kotohaco:Kk Sql分割式並列検索装置および方法
KR101082024B1 (ko) * 2008-12-08 2011-11-10 한국전자통신연구원 디지털 포렌식 시스템에서 증거 이미지의 색인 관리 장치 및 방법
JP2013525881A (ja) * 2010-04-06 2013-06-20 ジャストワン・データベース・インコーポレイテッド データベースモデル非依存、スキーマ非依存および作業負荷非依存のデータ記憶ならびにアクセスモデルに基づくデータ記憶および/または検索
US9965481B2 (en) 2010-04-06 2018-05-08 Edge Intelligence Software, Inc. Apparatus, systems and methods for data storage and/or retrieval based on a database model-agnostic, schema-agnostic and workload-agnostic data storage and access models
JP2013058108A (ja) * 2011-09-08 2013-03-28 Fujitsu Ltd タグ管理装置およびタグ管理プログラム
JP2016539417A (ja) * 2013-12-06 2016-12-15 華為技術有限公司Huawei Technologies Co.,Ltd. 列指向データベース処理方法および処理デバイス
US10303691B2 (en) 2013-12-06 2019-05-28 Huawei Technologies Co., Ltd. Column-oriented database processing method and processing device

Also Published As

Publication number Publication date
JP3653333B2 (ja) 2005-05-25

Similar Documents

Publication Publication Date Title
US5404510A (en) Database index design based upon request importance and the reuse and modification of similar existing indexes
US7158996B2 (en) Method, system, and program for managing database operations with respect to a database table
US6266660B1 (en) Secondary index search
US7240044B2 (en) Query optimization by sub-plan memoization
US5515531A (en) Parallel database processing system and retrieval method using secondary key
US6374232B1 (en) Method and mechanism for retrieving values from a database
US5649181A (en) Method and apparatus for indexing database columns with bit vectors
US6546394B1 (en) Database system having logical row identifiers
CA2388515C (en) System for managing rdbm fragmentations
US6122644A (en) System for halloween protection in a database system
EP3014488B1 (en) Incremental maintenance of range-partitioned statistics for query optimization
US9672241B2 (en) Representing an outlier value in a non-nullable column as null in metadata
JP3914662B2 (ja) データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体
US20060041606A1 (en) Indexing system for a computer file store
JPH10320423A (ja) データベースシステムにおいて結合質問を実行する方法及び装置
US6343286B1 (en) Efficient technique to defer large object access with intermediate results
JPH09212528A (ja) データベースを記憶する方法、データベースからレコードを検索する方法、および、データベース記憶/検索システム
JP4071816B1 (ja) 合成関係演算を利用したマルチオペレーション・プロセッシングを用いたデータベースのクエリー処理システム
US20040054683A1 (en) System and method for join operations of a star schema database
US8452757B2 (en) Index mechanism for finding nearest matches in a computer system
JP3653333B2 (ja) データベース管理方法およびシステム
JPH08235040A (ja) データファイル管理システム
US20020138464A1 (en) Method and apparatus to index a historical database for efficient multiattribute SQL queries
Durneková et al. Optimization of the SELECT statement containing window functions
JPH10269225A (ja) データベース分割方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040921

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041115

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: 20050222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050228

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: 20090304

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120304

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees