JP2008003974A - データベースにおけるデータ構造、検索方法及び装置、並びにデータベース構成方法及び装置 - Google Patents
データベースにおけるデータ構造、検索方法及び装置、並びにデータベース構成方法及び装置 Download PDFInfo
- Publication number
- JP2008003974A JP2008003974A JP2006174796A JP2006174796A JP2008003974A JP 2008003974 A JP2008003974 A JP 2008003974A JP 2006174796 A JP2006174796 A JP 2006174796A JP 2006174796 A JP2006174796 A JP 2006174796A JP 2008003974 A JP2008003974 A JP 2008003974A
- Authority
- JP
- Japan
- Prior art keywords
- item
- record
- type
- filter
- value
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】従来の基本5列表の特性を保持しつつ検索速度を向上させる。
【解決手段】本発明に係るデータベースのデータ構造は、元となるRDBにおいて定義されている1又は複数の項目について値を含む、第1種類の各レコードについて、定義されている上記項目の項目名及びその値と当該レコードの識別データとを含む、第2種類のレコードを、上記項目の数だけ含む。第2種類のレコードには、検索時に第1種類の1のレコードに係る一群の第2種類のレコードを併せて抽出するためのフィルタ項目が、第1種類のレコードにおいて検索され得る各項目に対応して規定される。また、フィルタ項目には、対応する上記項目の値が一群の第2種類のレコードの全てについて設定されている。このようにフィルタ項目を検索すれば、元の1のレコードに対応する一群のレコードの全てを1度の検索で抽出できるため、検索速度を高速化できる。
【選択図】図4
【解決手段】本発明に係るデータベースのデータ構造は、元となるRDBにおいて定義されている1又は複数の項目について値を含む、第1種類の各レコードについて、定義されている上記項目の項目名及びその値と当該レコードの識別データとを含む、第2種類のレコードを、上記項目の数だけ含む。第2種類のレコードには、検索時に第1種類の1のレコードに係る一群の第2種類のレコードを併せて抽出するためのフィルタ項目が、第1種類のレコードにおいて検索され得る各項目に対応して規定される。また、フィルタ項目には、対応する上記項目の値が一群の第2種類のレコードの全てについて設定されている。このようにフィルタ項目を検索すれば、元の1のレコードに対応する一群のレコードの全てを1度の検索で抽出できるため、検索速度を高速化できる。
【選択図】図4
Description
本発明は、データベースに関し、より詳しくは新規なデータベース構造、当該データベース構造の構成技術並びに当該データベース構造を利用した検索技術に関する。
例えば、「基本5列表によるマルチメディアデータ管理」,池田秀人,データベース・システム,66−3,1998.7.22には、基本5列表と呼ばれるデータベース構成を採用する技術が開示されている。具体的には、図1乃至図3のようなリレーショナル・データベースから、図4に示すような基本5列表(なお以下でも述べるがデータ型の列については省略されて4列となっている)を生成するものである。図1では、Target1というリレーショナル・データベースのデータ例を示しており、A1乃至Aiという項目が定義されており、R1乃至Rjというレコードが含まれている。なお、A1は、識別データ項目であり、Aiは検索されない非検索データ項目である。また、図2では、Target2というリレーショナル・データベースのデータ例を示しており、B1乃至C1という項目が定義されており、R1乃至Rjというレコードが含まれている。なお、B1は識別データ項目であり、B3及びBiは非検索データ項目である。さらに、図3では、Target3というリレーショナル・データベースのデータ例を示しており、C1乃至Ciという項目が定義されており、R1乃至Rjというレコードが含まれている。なお、C1は識別データ項目であり、C3及びCiは非検索データ項目である。
図4に示した基本5列表は、値の列と、属性の列と、実体の列と、期間の列とを含んでいる。上記論文では、データ型の列を加えて5列としているが、ここではデータ型の列については省略している。値の列には、図1乃至図3に示したリレーショナル・データベースにおいて定義されている各項目の値が、例えばレコード内では左から右へ順番に、さらにレコードの順番で格納される。属性の列には、値の列に格納されている値の項目名が格納される。実体の列には、元となるリレーショナル・データベースの1レコード毎に、当該レコードの識別データ項目の値が格納される。例えば、図1におけるレコードR1に相当する図4のレコードR1乃至R5には、図1におけるレコードR1の項目A1の値が格納されている。期間の列には、データの有効期間などが格納される。
なお、図1乃至図3のリレーショナル・データベースの各項目を管理するためのD/D(データディクショナリ)テーブルも設けられている。D/Dテーブルの一例を図5に示す。図5の例では、図1乃至図3のリレーショナル・データベースにおいて定義されている項目名の列と、データベース名を表す実体の列と、項目の性質(識別/検索/非検索)の列と、データ型の列とが設けられている。このように基本5列表で省略されたデータ型の列は、このD/Dテーブルに規定されている。
図1乃至図3から分かるように、項目数が異なるリレーショナル・データベースを1つに統合して基本5列表を生成すれば、元のリレーショナル・データベースの各レコードを、常に同じ4列(又は5列)の複数のレコードで管理することができるようになる。もし元のリレーショナル・データベースにおいて項目数が増減するような事態が発生しても、基本5列表では列構成は変更されず、レコード数が増減するだけなので、基本5列表に対して検索などを実施するアプリケーションを改変する必要がないという利点がある。但し、元のリレーショナル・データベースにおける項目数分のレコードが生成されるので、元のリレーショナル・データベースに比してレコード数は増加する。
次に、図4に示した基本5列表に対する検索処理について説明する。例えば、Target2でC1=「あ」であるレコードを抽出することを考える。図2のようなリレーショナル・データベースに対する検索であれば、項目C1の列を走査して「あ」が登録されているレコードR1及びRjを特定すればよい。一方、図4に示した基本5列表では、まず、値の列を走査して「あ」が登録されているレコードを特定する。この例では、レコードR20、R30及びR31が特定される。但し、このためには基本5列表の全てのレコードを走査する必要がある。さらに、特定された各レコードにおける実体の値をキーとしてさらに実体の列を走査する。そうするとレコードR20についてはレコードR16乃至R19が特定され、さらにレコードR30についてはレコードR26乃至R29が特定され、レコードR31についてはレコードR32乃至R34が特定される。いずれにせよ、さらに少なくとも1回は再度基本5列表の全てのレコードを走査する必要がある。
図4ではレコード数が42しかないので大きな負荷とは言えないが、通常基本5列表には膨大な数のレコードが含まれ、少なくとも2回走査するだけでも相当な処理負荷となる。すなわち、検索のレスポンスが遅くなってしまい、実際の利用には耐えられないものであった。
「基本5列表によるマルチメディアデータ管理」,池田秀人,データベース・システム,66−3,1998.7.22
「基本5列表によるマルチメディアデータ管理」,池田秀人,データベース・システム,66−3,1998.7.22
上で述べたように、リレーショナル・データベースにおける項目数の増減が困難という問題や、定義されている項目が異なるリレーショナル・データベースを統合するのが困難という問題を解決するためには基本5列表を採用すればよいが、実際に利用できなければ意味がない。
そこで本発明の目的は、基本5列表の特性を保持しつつ検索速度を向上させるための新規な技術を提供することである。
本発明に第1の態様に係るデータベースにおけるデータ構造は、元となるリレーショナル・データベースにおいて定義されている1又は複数の項目について値を含む、第1の種類の各レコードについて、定義されている上記項目の項目名及びその値と当該レコードの識別データとを含む、第2の種類のレコードを、上記項目の数だけ含む。そして、第2の種類のレコードには、検索時に第1の種類の1のレコードに係る一群の第2の種類のレコードを併せて抽出するためのフィルタ項目が、第1の種類のレコードにおいて検索され得る各項目に対応して規定される。また、フィルタ項目には、対応する上記項目の値が一群の第2の種類のレコードの全てについて設定されている。
このようにフィルタ項目が付加される構成が採用されれば、フィルタ項目を検索することによって、元の1のレコードに対応する一群のレコードの全てを1度の検索で抽出することができるため、従来の基本5列表に比して検索速度を高速化することができるようになる。
また、本発明の第1の態様において、元となるリレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応するフィルタ項目には、承継元の項目の値が格納されるデータ格納領域へのポインタが設定されているようにしてもよい。このように、データの承継についても適切に対応できるようになっている。
本発明の第2の態様に係る検索方法は、本発明の第1の態様に係るデータ構造を有するデータベースに対する検索方法であって、検索され得る上記項目のうち少なくともいずれかについて検索条件の指定を受け付けるステップと、検索条件が指定された上記項目に対応するフィルタ項目について、検索条件に従って検索を行うステップと、上記検索によって抽出された第2の種類のレコードに関するデータを出力する出力ステップとを含む。このように検索自体は非常に簡略化され高速化が図られている。
上で述べた出力ステップは、上記検索によって抽出された第2の種類のレコードを、第1の種類のレコードの形式に変換するステップを含むようにしてもよい。第2の種類のレコードでは、分かりにくい場合があるためである。
さらに、本発明の第1の態様に係るデータ構造に、元となるリレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応するフィルタ項目には、承継元の項目の値が格納されるデータ格納領域へのポインタが設定されていることがある。その場合には、上で述べた出力ステップが、上記検索によって抽出された第2の種類のレコードにおいて他のレコードへのポインタを含む場合、フィルタ項目の定義及び承継関係を規定したフィルタ定義データ格納部から他のレコードへのポインタに係る承継の承継元に関連するフィルタ項目を特定するステップと、特定されたフィルタ項目について、検索条件に従って第2の検索を行うステップと、第2の検索によって抽出された第2の種類のレコードと、検索によって抽出された第2の種類のレコードとを、承継関係を反映させた形で統合する統合ステップとを含むようにしてもよい。このように承継元と承継先とを統合することが容易に行うことができるようになる。
さらに、上で述べた出力ステップが、承継関係を反映させた形で統合された第2の種類のレコードを、承継関係を反映させた形の第1の種類のレコードの形式に変換するステップをさらに含むようにして。
本発明の第3の態様に係るデータベース構成方法は、元となるリレーショナル・データベースから、当該リレーショナル・データベースにおいて定義されている1又は複数の項目について値を含む、第1の種類の各レコードを読み出すステップと、第1の種類の各レコードについて、定義されている上記項目の項目名及びその値と当該レコードの識別データとを含む、第2の種類のレコードを、上記項目の数だけ生成する生成ステップとを含む。そして本生成ステップが、元となるリレーショナル・データベースにおいて定義されており且つ検索し得る項目の項目名と第1の種類の1のレコードに係る一群の第2の種類のレコードを併せて抽出するためのフィルタ項目とが対応付けられて予め格納されているフィルタ定義データ格納部に格納された項目を処理する場合に、当該項目についての第2の種類のレコードにおいて上記項目に対応するフィルタ項目に、上記項目の値を設定するステップと、上記項目の値が設定された第2の種類のレコードに関連する他の第2の種類のレコードにおいて上記項目に対応するフィルタ項目に、上記項目の値を設定するステップと含む。このようにフィルタ項目に値を設定することによって、上で述べた本発明の第1の態様に係るデータ構造を生成することができ、本発明の第2の態様に係る検索方法を実施することができる。
また、上で述べた生成ステップは、フィルタ定義データ格納部に、承継先の上記項目の項目名及びフィルタ項目に対応してさらに承継元が格納されており、承継先の上記項目を処理する場合に、当該項目に対応するフィルタ項目に、承継元の承継される項目の値が格納されるデータ格納領域へのポインタを格納するステップをさらに含むようにしても良い。このようにすれば承継関係が規定されている場合にも対処することができる。
なお、上で述べた生成ステップは、フィルタ定義データ格納部に、承継先の上記項目の項目名及びフィルタ項目に対応してさらに承継元が格納されており、承継先の上記項目を処理する際に、承継元の承継される項目の値が格納されるデータ格納領域が存在しない場合には、上記項目に対応するフィルタ項目に、ポインタの未設定を表すフラグを設定するステップと、承継元の承継される項目の値が特定のデータ格納領域に格納された後に、承継元の承継される項目の値が格納されている第2の種類のレコードにおける特定のデータ格納領域を特定し、フラグに代わって特定のデータ格納領域へのポインタを格納するステップとをさらに含むようにしてもよい。
本発明に係る方法をコンピュータに実行させるためのプログラムを作成することも可能であり、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
本発明によれば、基本5列表の特性を保持しつつ検索速度を向上させることができるようになる。
本発明の一実施の形態に係るシステムの機能ブロック図を図6に示す。例えば、LAN(Local Area Network)その他のネットワーク1には、複数の検索者端末3と、DBサーバ5と、DBサーバ5の管理者が操作する1又は複数の管理者端末7とが接続されている。検索者端末3及び管理者端末7は、例えば通常のパーソナル・コンピュータであってもよい。
DBサーバ5は、以下で説明する拡張基本5列表を生成する拡張基本5列表生成部51と、拡張基本5列表に対する検索処理を実施する検索処理部52と、図5に示したようなD/Dテーブルを格納するD/D格納部53と、拡張基本5列表を生成するにあたって管理者により定義されるフィルタディクショナリを格納するフィルタディクショナリ格納部55と、図1乃至図3のようなリレーショナル・データベースのデータを格納するオリジナルDB格納部54と、拡張基本5列表を格納する拡張基本5列表格納部56とを含む。なお、オリジナルDB格納部54は、例えばネットワーク1に接続された他のコンピュータによって管理されているものであってもよい。ここでは説明を簡単にするためにDBサーバ5によって管理されているものとする。
図1乃至図3のようなリレーショナル・データベースが処理対象の場合に、フィルタディクショナリ格納部55に格納されるフィルタディクショナリは例えば図7に示すようなデータを含む。すなわち、拡張基本5列表で旧来の基本5列表に付加されるフィルタのフィルタ名と、データベースを特定する実体と、検索対象となる項目の項目名と、当該項目の性質と、承継関係が定義されていればその承継元、及びコメントとが含まれる。今回の例では、フィルタはF1乃至Fnであり、検索者が検索し得る項目毎にフィルタが規定される。承継元については、当該項目が承継する承継元のデータベースである実体を指定しているが、実際には承継元として指定されたデータベースにおける同じ項目名の項目であってその性質が「識別」である項目の項目値を承継先が、承継する。図7の例では、フィルタF6においてTarget3を承継元として指定しているが、フィルタF6は項目C1についてのフィルタであるから、Target3についてのフィルタであって項目C1(性質「識別」)のフィルタであるF7が関連付けられている。このようなフィルタディクショナリは、管理者によって元のリレーショナル・データベースに基づき予め設定されるものである。
図8に拡張基本5列表の一例を示す。図8に示した拡張基本5列表は、図1及び図2について以下で説明する処理を実施した後の状態を表している。図8に示すように、値の列、属性の列、実体の列、及び期間の列については、図4に示した旧来の基本5列表と同様である。この旧来の基本5列表の列に加え、F1乃至Fnというフィルタの列が追加されている。フィルタの列は、上で述べたフィルタディクショナリにおけるフィルタに対応して設けられる。このフィルタは、検索を行う場合に用いられ、元のリレーショナル・データベースにおける1レコードに対応する、拡張基本5列表のレコード群を一括して取り出すために設定される。具体的には、図8の拡張基本5列表においてレコードR1乃至R5は、図1に示したTarget1のレコードR1に対応するため、拡張基本5列表のレコードR1乃至R5におけるフィルタF1の列には同じ値(項目名A1の値)が格納されており、フィルタF2の列にも同じ値(項目名A2の値)が格納されており、フィルタF3の列にも同じ値(項目名A3の値)が格納されている。
このような拡張基本5列表を構成する方法を図9乃至図16を用いて説明する。この処理は、拡張基本5列表生成部51により実施される。
まず、オリジナルDB格納部54において未処理のデータベース(実体)を1つ特定する(ステップS1)。また、特定されたデータベースにおいて未処理のレコードRjを1つ特定する(ステップS3)。さらに、特定されたレコードにおいて未処理の項目を特定する(ステップS5)。
そして、フィルタディクショナリ格納部55に格納されているフィルタディクショナリから、特定されたデータベース(実体)及び特定された項目の項目名に対応するフィルタ名、当該項目の性質及び規定されている場合には承継元を特定する(ステップS7)。例えば図1に示したリレーショナル・データベース(実体:Target1)におけるレコードR1の項目A1が特定されたとすると、図7に示したフィルタディクショナリを参照すると、フィルタ名F1と性質「識別(識別データ項目)」とが特定される。但し、承継元は定義されていない。項目の性質については、D/D格納部53に格納されているD/Dテーブルを用いても特定できる。承継元についてはフィルタディクショナリを参照する必要がある。
なお、フィルタディクショナリはフィルタを定義するものであり、フィルタは検索対象について規定されるので、性質が「非検索」である項目についてはフィルタディクショナリには定義されていない。従って、フィルタディクショナリにおいて性質が特定できなければ「非検索」と特定する。フィルタ及び承継元も特定されない。例えば、図1に示したリレーショナル・データベース(実体:Target1)におけるレコードR1の項目Aiが特定されたとすると、図7に示したフィルタディクショナリを参照しても、対応するデータは特定されない。この場合には、項目Aiは「非検索」と特定される。
そして、承継元が指定されているか判断する(ステップS9)。承継元が指定されている場合には、処理IVを実施する(ステップS11)。この処理IVについては、他の処理を説明した後に説明する。なおステップS11の後にはステップS23に移行する。一方、承継元が指定されていない場合には、性質が「識別」と特定されたか判断する(ステップS13)。例えば図1に示したリレーショナル・データベース(実体:Target1)におけるレコードR1の項目A1のように、性質が「識別」と判断された場合には、処理Iを実施する(ステップS15)。処理Iについては、図10を用いて説明する。なお、ステップS15の後にはステップS23に移行する。
処理Iでは、特定された項目についての、特定されたレコードRjの値を、特定されたフィルタFiの欄(列と同じ)、値の欄及び実体の欄に登録し、特定された項目の項目名を属性の欄に登録し、有効期間を期間の欄に登録する(ステップS31)。
例えば図1に示したリレーショナル・データベース(実体:Target1)におけるレコードR1の項目A1の場合には、図8のレコードR1のように、フィルタF1の欄、値の欄及び実体の欄には、「Ea1(Target1)」が登録され、特定された項目の項目名であるA1が属性の欄に登録され、有効期間T1−T2が期間の欄に登録される。なお、この段階ではまだF2及びF3の欄には値は登録されず、フィルタについてはハッチングが付されたフィルタF1の欄にのみ値が登録される。
図9の説明に戻って、性質が「識別」ではない場合には、性質が「検索」であるか判断する(ステップS17)。性質が「検索」ではある場合には、処理IIを実施する(ステップS19)。処理IIについては図11を用いて説明する。なお、ステップS19の後にはステップS23に移行する。
処理IIでは、特定された項目についての、特定されたレコードRjの値をフィルタFiの欄及び値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードRjの識別データ(識別という性質を有する項目の値)を実体の欄に登録し、有効期間を期間の欄に登録する(ステップS41)。
例えば図1に示したリレーショナル・データベース(実体:Target1)におけるレコードR1の項目A2の場合には、図8のレコードR2のように、フィルタF2の欄及び値の欄には、「Va2(Ea1)」が登録され、属性の欄には、特定された項目の項目名であるA2が登録され、実体の欄にはTarget1のレコードR1の識別データである「Ea1(Target1)」が登録され、有効期間T1−T2が期間の欄に登録される。なお、この段階ではまだF1及びF3の欄には値は登録されず、フィルタについてはハッチングが付されたフィルタF2の欄にのみ値が登録される。
また、図1に示したリレーショナル・データベース(実体:Target1)におけるレコードR1の項目A3の場合には、図8のレコードR3のように、フィルタF3の欄及び値の欄には「Va3(Ea1)」が登録され、実体の欄にはTarget1のレコードR1の識別データである「Ea1(Target1)」が登録され、属性の欄には、特定された項目の項目名であるA3が登録され、有効期間T1−T2が期間の欄に登録される。なお、この段階ではまだF1及びF2の欄には値は登録されず、フィルタについてはハッチングが付されたフィルタF3の欄にのみ値が登録される。
図9の説明に戻って、性質が「検索」ではない場合には、本実施の形態では性質は「非検索」であるので、そのまま処理IIIを実施する(ステップS21)。処理IIIについては図12を用いて説明する。なお、ステップS21の後にはステップS23に移行する。
処理IIIでは、特定された項目についての、特定されたレコードRjの値を値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードRjの識別データ(識別という性質を有する項目の値)を実体の欄に登録し、有効期間を期間の欄に登録する(ステップS51)。
例えば図1に示したリレーショナル・データベース(実体:Target1)におけるレコードR1の項目Aiの場合には、図8のレコードR5のように、値の欄には「Vai(Ea1)」が登録され、属性の欄には、特定された項目の項目名であるAiが登録され、実体の欄にはTarget1のレコードR1の識別データである「Ea1(Target1)」が登録され、有効期間T1−T2が期間の欄に登録される。なお、この段階ではまだF1乃至F3の欄には値は登録されない。
その後、特定されたレコードRjについて全ての項目を処理したか判断する(ステップS23)。未処理の項目が存在する場合にはステップS5に戻る。一方、特定されたレコードRjについて全ての項目を処理した場合には、フィルタ補完処理を実施する(ステップS25)。このステップでは、特定されたレコードRjについて生成された、拡張基本5列表におけるいずれかのレコードにおいてフィルタの値が設定されている場合には、当該フィルタの値を他のレコードの同じフィルタの欄にコピーする。図8の例では、リレーショナル・データベースの同じレコードに対応するレコードR1乃至R5において、レコードR1にはフィルタF1に「Ea(Target1)」が、レコードR2にはフィルタF2に「Va2(Ea1)」が、レコードR3にはフィルタF3に「Va3(Ea1)」がそれぞれ登録されている。そこで、「Ea(Target1)」をレコードR2乃至R5におけるフィルタF1の欄にコピーし、「Va2(Ea1)」をレコードR1及びR3乃至R5におけるフィルタF2の欄にコピーし、「Va3(Ea1)」をレコードR1及びR2、R4及びR5にコピーする。このように図8ではハッチングが付されていない欄に値が登録される。
そして、特定されたデータベース内における全てのレコードを処理したか判断する(ステップS27)。未処理のレコードが存在する場合にはステップS3に戻る。一方、未処理のレコードがない場合には、端子Aを介して図15の処理に移行する。
ここで上で説明を省略した処理IVを図13を用いて説明しておく。処理IVでは、フィルタディクショナリにおいて、承継元として指定されたデータベース(実体)において特定された項目の項目名がセットされているフィルタを特定する(ステップ61)。例えば、図2に示したリレーショナル・データベース(実体:Target2)におけるレコードR1の項目C1の場合には、フィルタディクショナリ(図7)においてフィルタF6が特定されるが、承継元としてTarget3も特定される。ステップS61では、実体が承継元のTarget3であって項目名がC1であるフィルタを探すと、フィルタF7が特定される。
次に、ステップS61で特定され且つ承継元に係るフィルタに、特定された項目の値がセットされているか確認する(ステップS63)。例えば、図8のような状態のように、図3に示したTarget3の処理を行っていなければ、そもそもフィルタF7には値がセットされていない。但し、Target3ではなく、例えばTarget1が承継元として指定されていれば、何らかの値がセットされている。
そして、承継元に係るフィルタに、特定された項目の値がセットされていなければ(ステップS65:Noルート)、承継元にレコードがないことを表すフラグ及び特定された項目の値を、フィルタFi欄に登録し、特定された項目の特定されたレコードRjの値を値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードRjの識別データ(識別という性質を有する項目の値)を登録し、有効期間を期間の欄に登録する(ステップS67)。
例えば、図2に示したリレーショナル・データベース(実体:Target2)におけるレコードR1の項目C1の場合には、図8のレコードR20のように、フィルタF6の欄には、承継元にレコードがないことを表すフラグ「*」及び特定された項目の値「Vc1(Eb1)=あ」が登録され、値の欄には特定された項目の値「Vc1(Eb1)=あ」が登録され、属性の欄には特定された項目の項目名「C1」が登録され、実体の欄には特定されたレコードR1の識別データ「Eb1(Target2)」が登録され、期間の欄には「T3−T4」が登録される。そして元の処理に戻る。
元の処理に戻ると、ステップS25のフィルタ補完処理によって、図8に示すように、レコードR16乃至R19については、フィルタF6の欄に、「*Vc1(Eb1)=あ」が登録されるようになる。また、レコードR21乃至R25についても「*Vc1(Eb2)=い」がフィルタF6の欄に登録され、レコードR26乃至R30についても「*Vc1(Ebj)=あ」がフィルタF6の欄に登録される。なお、フィルタF4及びF5についても上で述べた処理と同様に登録が行われる。
一方、承継元に係るフィルタに、特定された項目の値がセットされていれば(ステップS65:Yesルート)、特定された項目の値がセットされているフィルタに係るレコードのうち属性の欄に、特定された項目の項目名が登録されているレコードの値の欄へのポインタ及び特定された項目の値をフィルタFiの欄に登録し、特定された項目の特定されたレコードRjにおける値を値の欄に登録し、特定された項目の項目名を属性の欄に登録し、特定されたレコードRjの識別データを(識別という性質を有する項目の値)を実体の欄に登録し、有効期間を期間の欄に登録する(ステップS69)。
例えば、図3のTarget3についてのデータを、図2のTarget2についてのデータより先に拡張基本5列表に登録した場合には、図14に示すように、レコードR20のフィルタF6の欄には、特定された項目「C1」の値「あ」がセットされており且つ承継元Target3に係るフィルタF7についてのレコードR31乃至R35のうち、属性の欄に、特定された項目の項目名「C1」が登録されているレコードR31の値の欄へのポインタ「*R31」と項目の値「あ」とが登録されている。ステップS25のフィルタ補完処理によってレコードR16乃至R19についても同様の値がフィルタF6の欄に登録される。
次に、図15の処理の説明に移行して、オリジナルDB格納部54に格納されている全てのDBについて処理したか判断する(ステップS71)。未処理のDBが存在する場合には端子Bを介してステップS1に戻る。一方、全てのDBを処理した場合には、フィルタディクショナリに承継元が登録されているか判断する(ステップS73)。例えば図7に示したように承継元の列に値がセットされているか判断する。承継元の列に値がセットされている場合には、処理の順番によってはフラグがフィルタにセットされた状態のままである場合があるためである。
承継元の列に値がセットされていなければ拡張基本5列表は完成となり、拡張基本5列表の構成処理は終了する。一方、承継元の列に値がセットされている場合には、ポインタ設定処理を実施する(ステップS75)。
ポインタ設定処理については図16を用いて説明する。まず、承継元が登録されている未処理のフィルタFiをフィルタディクショナリから特定する(ステップS81)。図7の例では、フィルタF6が特定される。また、拡張基本5列表において、特定された未処理フィルタFiを走査して、フラグの有無を確認する(ステップS83)。そして、フラグを検出したか判断する(ステップS85)。フラグが検出されていない場合には、承継元が登録されているフィルタを全て処理したか判断する(ステップS93)。まだ全てを処理していない場合にはステップS81に戻る。一方、全てを処理した場合には、元の処理に戻る。
一方、フラグを検出した場合には、フィルタディクショナリにおいて承継元に係るフィルタを特定すると共に、拡張基本5列表において当該フィルタが設定されているレコードのうち、特定された未処理フィルタに係る項目の項目名が属性の欄に登録されており且つ特定された未処理フィルタに係る項目の値と値の欄における値とが一致するレコードを特定する(ステップS87)。ステップS81でフィルタF6が特定されると、フィルタF7が特定され、当該フィルタF7に係る、拡張基本5列表のレコードは、図14の場合レコードR31乃至R42である。そして、フィルタF6に係る項目の項目名C1が属性の欄に登録されており且つ項目C1の値「あ」が登録されているレコードは、レコードR31である。
そして、特定されたレコードの値の欄へのポインタを、検出されたフラグの登録されたフィルタFiに登録する(ステップS89)。ここでは、特定された未処理フィルタに係る項目についてのレコードのフィルタFiの欄に登録する。そして、実体の欄が同じ値である他のレコードのフィルタFiの欄にポインタをコピーするフィルタ補完処理を実施する(ステップS91)。その後、ステップS83に戻る。
なお、ポインタ設定処理の代わりに、例えば処理IVを実施するようにしても良い。
このような処理を実施すれば、図14に示すような拡張基本5列表が構成されるようになる。また、データの承継関係が存在する場合においても、承継元へのポインタが設定されるので、簡単に承継元の項目値を読み出すことができるようになる。
次に、拡張基本5列表を検索する場合の処理を図17乃至図32を用いて説明する。検索処理は検索処理部52により実施される。
まず、検索処理部52は、フィルタディクショナリ格納部55に格納されているフィルタディクショナリをベースに検索条件入力のためのページ・データを生成し、例えば検索者端末3に送信する。検索者端末3は、DBサーバ5から検索条件入力のためのページ・データを受信し、表示装置に表示する。例えば、図17に示すような検索条件入力画面が表示される。図17の例では、検索対象のデータベースと検索項目とが対で提示されており、該当するデータベース及び項目の下の欄に、検索条件を入力するようになっている。図17の例では、データベースTarget2の項目C1に対して「あ」という条件が入力されている。なお、検索条件は、データベースと項目とそれに対する条件とを含む。
このように検索者端末3は、検索者から条件の入力を受け付け、DBサーバ5に検索条件データを送信する。DBサーバ5の検索処理部52は、検索者端末3から検索条件のデータを受信し、例えばメインメモリなどの記憶装置に格納する(図18:ステップS101)。そして、検索処理部52は、検索条件に従って、該当レコードを抽出する(ステップS103)。この際、データベースと項目に対応するフィルタをフィルタディクショナリから特定し、拡張基本5列表格納部56に格納された拡張基本5列表における当該フィルタの列を、指定された条件で1度走査すればよい。例えば、図8のような拡張基本5列表が拡張基本5列表格納部56に格納されている場合には、Target2の項目C1が検索条件として指定されると、フィルタF6が走査の対象となり、「あ」が登録されているレコードを探索することになる。そうすると、図19に示すようなレコードR16乃至R20とレコードR26乃至R30とが抽出される。
ここで抽出されたレコードにポインタが含まれるか判断する(ステップS105)。図8の例ではまだポインタが登録される前の段階なので、ポインタは含まれないと判断される。ポインタが含まれないと判断された場合には、拡張基本5列表のデータフォーマットから元のデータベースのフォーマットに変換するか判断する(ステップS109)。この判断についてはユーザの指定に従っても良いし、システム側の設定によって判断するようにしても良い。
フォーマットの変換を実施する場合には、検索処理部52は変換処理を実施する(ステップS111)。変換処理については図20及び図21を用いて説明する。まず、未処理の抽出レコードを1つ特定する(ステップS121)。また、D/D格納部53に格納されたD/Dテーブルを用いて、未処理の抽出レコードにおける属性の欄に登録された項目の性質を特定する(ステップS123)。そして、特定された性質が識別であるか判断する(ステップS125)。特定された性質が識別であれば、値の欄に登録された値を、識別のための当該未処理の抽出レコードの項目の列に登録する(ステップS127)。そしてステップS131に移行する。一方、特定された性質が識別ではないと判断された場合には、値の欄に登録された値を、実体の欄に登録された値と同一行における未処理の抽出レコードの項目の列に登録する(ステップS129)。そしてステップS131に移行する。
例えば、図19の例で、レコードR16を処理する場合、属性の欄に登録されている項目名B1には、D/Dテーブル(図5)では「識別」という性質が規定されているので、値の欄に登録された値「Eb1(Target2)」を、項目B1の欄に登録する。また、レコードR17を処理する場合には、属性の欄に登録されている項目名B2には、D/Dテーブルでは「検索」という性質が規定されているので、値の欄に登録された値「Vb2(Eb1)」を、実体の欄に登録されている値「Eb1(Target2)」と同一行の当該項目B2の欄に登録する。
このような処理を繰り返し実施すれば、図21に示すような元のリレーショナル・データベース形式のデータが生成される。
そして抽出レコードを全て処理したか判断し(ステップS131)、未処理の抽出レコードが存在する場合にはステップS121に戻る。一方、全ての抽出レコードについて処理を行った場合には元の処理に戻る。
図18の処理の説明に戻って、ステップS111の変換結果又はステップS103で抽出されたデータを、検索者端末3に送信する(ステップS113)。検索者端末3は、DBサーバ5からステップS111の変換結果又はステップS103で抽出されたデータを受信し、表示装置に表示する。例えば図21に示すようなデータ又は図19に示すようなデータが表示される。
また、図14に示したような拡張基本5列表が拡張基本5列表格納部56に格納されている場合に、図22に示すような検索条件入力画面で、Target3の項目C1において「あ」という検索条件が指定されると、拡張基本5列表におけるフィルタF7を「あ」で走査する。そうすると、図23に示すようにレコードR31乃至R34が抽出される。図23に示すようなデータをそのまま出力しても良いし、図20で示した変換処理を実施して、図24のような元のリレーショナル・データベース形式のデータを生成して出力するようにしても良い。
以上の例は、承継関係が関係しない場合における検索処理である。一方、図14に示したような拡張基本5列表が拡張基本5列表格納部56に格納されている場合に、図17に示すような検索条件入力画面で、Target2の項目C1において「あ」という検索条件が指定されると、図25に示すようにポインタを含むレコードR16乃至R20とレコードR26乃至R30とが抽出される。このような場合には、承継処理を実施する(図18:ステップS107)。承継処理については図26乃至図32を用いて説明する。
まず、抽出レコードからフィルタについてのリストを生成する(図26:ステップS141)。図25に示すようなレコード群が抽出されている場合には、2つのフィルタ・パターンが存在するので、図27に示すようなリストが生成される。
次に、フィルタディクショナリから、検索に用いられた検索フィルタに係る項目名を取得し、当該項目名が属性の欄に登録されている抽出レコードを削除して第1の結合元データを生成する(ステップS145)。図25に示したようなレコード群が抽出された場合、走査されたフィルタはF6であり、当該フィルタF6に係る項目名はC1で、C1が実体の欄に登録されているレコードR20及びR30を削除する。これらのレコードのためのデータについては後の処理で生成するためである。さらに、ポインタを実際の値に置換する(ステップS147)。ポインタはレコードR31の値の欄を指しているので、この欄に格納されている「Ec1(Target3)」で、フィルタF6の値を置換する。そうすると、図28に示すような第1の結合元データが生成される。
その後、ステップS141で生成したリスト内の未処理レコードを1つ特定する(ステップS149)。そして、拡張基本5列表から承継元フィルタにおいて、指定された条件と一致するレコードを抽出する(ステップS151)。フィルタF6の承継元フィルタはF7であるから、フィルタF7において条件「あ」に合致するレコードR31乃至R34を抽出する。そして、リスト内の特定された未処理レコードを、ステップS151で抽出したレコードにコピーする(ステップS153)。さらに、フィルタディクショナリから、検索フィルタの識別に該当するフィルタを特定し、当該フィルタの値で抽出レコードにおける実体の欄の値を置換して第2の結合元データを生成する(ステップS155)。例えば図7の例では、フィルタF6と同じ実体であって性質が識別であるフィルタはF4であるから、当該フィルタF4の値「Eb1(Target2)」で、実体の欄の値を置換する。
また、ポインタが含まれる場合には当該ポインタを実際の値に置換する(ステップS156)。そうすると、図29に示すようなデータを得ることができる。図29において、フィルタF4及びF5は、図27に示したリストの1行目をコピーしたものである。フィルタF6については、図27に示したリストの1行目がポインタとなっているので、それを実際の値に置換したものである。フィルタF7及びF8並びに値の欄、属性の欄及び期間の欄はステップS151で抽出したレコードである。実体の欄については、フィルタF4の値がコピーされたものである。
そして、リスト内のレコードを全て処理したか判断する(ステップS157)。リスト内に未処理のレコードが存在する場合には、ステップS149に戻る。図27の例では、第2レコードが残っているので、第2レコードについて処理する必要がある。この場合、ステップS151で抽出されるレコードは同じであり、ステップS153では第2レコードがコピーされる。ステップS155では同じくフィルタF4の値が実体の欄に格納され、フィルタF6のポインタが実際の値に置換される。そうすると、図30に示すような第2結合元データが生成される。
リスト内に未処理のレコードが残っていない場合には、生成された全ての結合元データを結合することによって出力データを生成する(ステップS159)。そうすると、図31に示すような統合されたデータが生成される。そして元の処理に戻る。
図31のようなデータをそのままステップS113で出力するようにしてもよいし、変換処理を実施して図32のようなデータを生成して出力するようにしてもよい。図32は図20で説明した処理を実施すれば得ることができるが、元のリレーショナル・データベースの形式とは異なる。Target2とTarget3のフォーマットを統合した形となっている。
以上述べたような処理を実施することによって、検索処理が実施される。承継関係が規定されていなければ、拡張基本5列表を1回走査するだけで検索処理を実施することができる。上で述べたように承継関係が規定されている場合には、拡張基本5列表を走査する回数が増加するが、通常は同じレコードを抽出することになるので1回走査した結果を保持しておけば走査回数を減らすことはできる。従って、レコード数が増加しても検索処理速度を高速化することができ、旧来の基本5列表が有する利点を享受することができるようになる。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、図6に示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュールに対応しない。
また、図6ではクライアント・サーバ・システムを一例として示しているが、スタンドアロン・システムとして構成される場合もある。
なお、検索者端末3、管理者端末7、DBサーバ5はコンピュータ装置であって、図33に示すように当該コンピュータ装置においては、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS)及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
1 ネットワーク 3 検索者端末 5 DBサーバ
7 管理者端末
51 拡張基本5列表生成部 52 検索処理部
53 D/D格納部 54 オリジナルDB格納部
55 フィルタディクショナリ格納部 56 拡張基本5列表格納部
7 管理者端末
51 拡張基本5列表生成部 52 検索処理部
53 D/D格納部 54 オリジナルDB格納部
55 フィルタディクショナリ格納部 56 拡張基本5列表格納部
Claims (13)
- 元となるリレーショナル・データベースにおいて定義されている1又は複数の項目について値を含む、第1の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第2の種類のレコードを、前記項目の数だけ含み、
前記第2の種類のレコードには、検索時に前記第1の種類の1のレコードに係る一群の前記第2の種類のレコードを併せて抽出するためのフィルタ項目が、前記第1の種類のレコードにおいて検索され得る各前記項目に対応して規定され、
前記フィルタ項目には、対応する前記項目の値が前記一群の前記第2の種類のレコードの全てについて設定されている
データベースにおけるデータ構造。 - 元となる前記リレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応する前記フィルタ項目には、前記承継元の項目の値が格納されるデータ格納領域へのポインタが設定されている
請求項1記載のデータベースにおけるデータ構造。 - データベースの検索方法であって、
前記データベースは、
元となるリレーショナル・データベースにおいて定義されている1又は複数の項目について値を含む、第1の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第2種類のレコードを、前記項目の数だけ含み、
前記第2の種類のレコードには、検索時に前記第1の種類の1のレコードに係る一群の前記第2の種類のレコードを併せて抽出するためのフィルタ項目が、前記第1の種類のレコードにおいて検索され得る各前記項目に対応して規定され、
前記フィルタ項目には、対応する前記項目の値が前記一群の前記第2の種類のレコードの全てについて設定されており、
検索され得る前記項目のうち少なくともいずれかについて検索条件の指定を受け付けるステップと、
前記検索条件が指定された前記項目に対応する前記フィルタ項目について、前記検索条件に従って検索を行うステップと、
前記検索によって抽出された前記第2の種類のレコードに関するデータを出力する出力ステップと、
を含み、コンピュータにより実行される検索方法。 - 前記出力ステップが、
前記検索によって抽出された前記第2の種類のレコードを、前記第1の種類のレコードの形式に変換するステップ
を含む請求項3記載の検索方法。 - 元となる前記リレーショナル・データベースにおいてデータの承継が規定されている場合、承継先の項目に対応する前記フィルタ項目には、前記承継元の項目の値が格納されるデータ格納領域へのポインタが設定されており、
前記出力ステップが、
前記検索によって抽出された前記第2の種類のレコードにおいて他のレコードへのポインタを含む場合、フィルタ項目の定義及び承継関係を規定したフィルタ定義データ格納部から前記他のレコードへのポインタに係る承継の承継元に関連するフィルタ項目を特定するステップと、
特定された前記フィルタ項目について、前記検索条件に従って第2の検索を行うステップと、
前記第2の検索によって抽出された前記第2の種類のレコードと、前記検索によって抽出された前記第2の種類のレコードとを、承継関係を反映させた形で統合する統合ステップと、
を含む請求項3記載の検索方法。 - 前記出力ステップが、
前記承継関係を反映させた形で統合された前記第2の種類のレコードを、前記承継関係を反映させた形の前記第1の種類のレコードの形式に変換するステップ
をさらに含む請求項5記載の検索方法。 - 元となるリレーショナル・データベースから、当該リレーショナル・データベースにおいて定義されている1又は複数の項目について値を含む、第1の種類の各レコードを読み出すステップと、
前記第1の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第2の種類のレコードを、前記項目の数だけ生成する生成ステップと、
を含み、
前記生成ステップが、
元となる前記リレーショナル・データベースにおいて定義されており且つ検索し得る項目の項目名と前記第1の種類の1のレコードに係る一群の前記第2の種類のレコードを併せて抽出するためのフィルタ項目とが対応付けられて予め格納されているフィルタ定義データ格納部に格納された項目を処理する場合に、当該項目についての前記第2の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定するステップと、
前記項目の値が設定された前記第2の種類のレコードに関連する他の前記第2の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定するステップと、
含み、コンピュータにより実行されるデータベース構成方法。 - 前記生成ステップが、
前記フィルタ定義データ格納部に、承継先の前記項目の項目名及び前記フィルタ項目に対応してさらに承継元が格納されており、前記承継先の前記項目を処理する場合に、当該項目に対応する前記フィルタ項目に、前記承継元の承継される項目の値が格納されるデータ格納領域へのポインタを格納するステップ
をさらに含む請求項7記載のデータベース構成方法。 - 前記生成ステップが、
前記フィルタ定義データ格納部に、承継先の前記項目の項目名及び前記フィルタ項目に対応してさらに承継元が格納されており、前記承継先の前記項目を処理する際に、前記承継元の承継される項目の値が格納されるデータ格納領域が存在しない場合には、前記項目に対応する前記フィルタ項目に、ポインタの未設定を表すフラグを設定するステップと、
前記承継元の承継される項目の値が特定のデータ格納領域に格納された後に、前記承継元の承継される項目の値が格納されている前記第2の種類のレコードにおける前記特定のデータ格納領域を特定し、前記フラグに代わって前記特定のデータ格納領域へのポインタを格納するステップと、
を含む請求項8記載のデータベース構成方法。 - 請求項3乃至6のいずれか1つ記載の検索方法をコンピュータに実行させるためのプログラム。
- 請求項7乃至9のいずれか1つ記載のデータベース構成方法をコンピュータに実行させるためのプログラム。
- 元となるリレーショナル・データベースにおいて定義されている1又は複数の項目について値を含む、第1の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第2種類のレコードを、前記項目の数だけ含み、前記第2の種類のレコードには、検索時に前記第1の種類の1のレコードに係る一群の前記第2の種類のレコードを併せて抽出するためのフィルタ項目が、前記第1の種類のレコードにおいて検索され得る各前記項目に対応して規定されており、前記フィルタ項目には、対応する前記項目の値が前記一群の前記第2の種類のレコードの全てについて設定されているデータベースと、
検索され得る前記項目のうち少なくともいずれかについて検索条件の指定を受け付ける手段と、
前記検索条件が指定された前記項目に対応する前記フィルタ項目について、前記検索条件に従って検索を行う手段と、
前記検索によって抽出された前記第2の種類のレコードに関するデータを出力する出力手段と、
を有するデータ検索装置。 - 元となるリレーショナル・データベースから、当該リレーショナル・データベースにおいて定義されている1又は複数の項目について値を含む、第1の種類の各レコードを読み出す手段と、
前記第1の種類の各レコードについて、定義されている前記項目の項目名及びその値と当該レコードの識別データとを含む、第2の種類のレコードを、前記項目の数だけ生成する生成手段と、
を含み、
前記生成手段が、
元となる前記リレーショナル・データベースにおいて定義されており且つ検索し得る項目の項目名と前記第1の種類の1のレコードに係る一群の前記第2の種類のレコードを併せて抽出するためのフィルタ項目とが対応付けられて予め格納されているフィルタ定義データ格納部に格納された項目を処理する場合に、当該項目についての前記第2の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定し、
前記項目の値が設定された前記第2の種類のレコードに関連する他の前記第2の種類のレコードにおいて前記項目に対応するフィルタ項目に、前記項目の値を設定する
データベース構成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006174796A JP2008003974A (ja) | 2006-06-26 | 2006-06-26 | データベースにおけるデータ構造、検索方法及び装置、並びにデータベース構成方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006174796A JP2008003974A (ja) | 2006-06-26 | 2006-06-26 | データベースにおけるデータ構造、検索方法及び装置、並びにデータベース構成方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008003974A true JP2008003974A (ja) | 2008-01-10 |
Family
ID=39008283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006174796A Pending JP2008003974A (ja) | 2006-06-26 | 2006-06-26 | データベースにおけるデータ構造、検索方法及び装置、並びにデータベース構成方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008003974A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11143749A (ja) * | 1997-11-06 | 1999-05-28 | Nec Miyagi Ltd | リレーショナルデータベースマネジメントシステムおよびデータ管理方法 |
JP2000029887A (ja) * | 1998-07-09 | 2000-01-28 | Infomex:Kk | データ検索方法及び装置、データ検索システム、記録媒体 |
-
2006
- 2006-06-26 JP JP2006174796A patent/JP2008003974A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11143749A (ja) * | 1997-11-06 | 1999-05-28 | Nec Miyagi Ltd | リレーショナルデータベースマネジメントシステムおよびデータ管理方法 |
JP2000029887A (ja) * | 1998-07-09 | 2000-01-28 | Infomex:Kk | データ検索方法及び装置、データ検索システム、記録媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4816281B2 (ja) | 文書利用管理システム、文書管理サーバ及びそのプログラム | |
JP5023715B2 (ja) | 情報処理システム、情報処理装置及びプログラム | |
US8584009B2 (en) | Automatically propagating changes in document access rights for subordinate document components to superordinate document components | |
JP5067420B2 (ja) | 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法 | |
US20080288861A1 (en) | Generating a word-processing document from database content | |
JP2009123022A (ja) | 文書管理装置、文書管理方法、プログラム及び記憶媒体 | |
JP4796538B2 (ja) | コメントデータを関連付ける方法 | |
JP2006244467A (ja) | 文書処理装置及び方法と文書処理システム | |
JP2008165432A (ja) | クエリ制御プログラム、クエリ制御装置およびクエリ制御方法 | |
US20060173755A1 (en) | Catalog management apparatus, catalog generation method and catalog retrieval method | |
JP2011154496A (ja) | アクセス権設定プログラム、アクセス権設定装置及びアクセス権管理システム | |
JP2010134651A (ja) | 商品idサーバ装置、および商品idサーバ装置の制御方法 | |
JP3908634B2 (ja) | 検索支援方法および検索支援装置 | |
JP2006277127A (ja) | 修正プログラムの比較方法 | |
JP2008003974A (ja) | データベースにおけるデータ構造、検索方法及び装置、並びにデータベース構成方法及び装置 | |
JP4987434B2 (ja) | 電文データの監査用保管・検索システム、電文データの監査用保管・検索方法、および電文データの監査用保管・検索プログラム | |
JP6001173B2 (ja) | データ分析装置、rdfデータの拡張方法、およびデータ分析プログラム | |
JP7059917B2 (ja) | オントロジー作成装置、方法およびプログラム | |
JP6575219B2 (ja) | 項目値対応づけ処理方法、項目値対応づけ処理プログラムおよび情報処理装置 | |
JP5214211B2 (ja) | 帳票キーワード登録装置、帳票キーワード登録方法、および、プログラム | |
JP2009070206A (ja) | データ検索システムおよびデータ検索方法ならびにデータ検索装置,検索実行者端末およびプログラム | |
JP6339932B2 (ja) | データ管理装置、データ管理方法及びデータ管理プログラム | |
US20230195752A1 (en) | Virtual foreign keys | |
WO2021205823A1 (ja) | 生産知識管理システム、生産知識管理方法及び生産知識管理プログラム | |
JP2009217499A (ja) | 文書分類プログラム及び文書分類装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090617 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120124 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120605 |