JPH11102369A - データベース検索装置及びプログラム記憶媒体 - Google Patents
データベース検索装置及びプログラム記憶媒体Info
- Publication number
- JPH11102369A JPH11102369A JP9263173A JP26317397A JPH11102369A JP H11102369 A JPH11102369 A JP H11102369A JP 9263173 A JP9263173 A JP 9263173A JP 26317397 A JP26317397 A JP 26317397A JP H11102369 A JPH11102369 A JP H11102369A
- Authority
- JP
- Japan
- Prior art keywords
- record
- search
- database
- records
- work area
- 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
Abstract
るデータベースを検索するデータベース検索装置に関
し、検索性能と操作性を向上できるようにすることを目
的とする。 【解決手段】検索要求元から親テーブルのレコードを指
定して検索要求が発行されるときに、一筆書きのアルゴ
リズムに従って、そのレコードから繋がる下位テーブル
のレコードを作業領域12にスタックしつつ探索する探
索手段11と、探索手段11が子レコードを持たないレ
コードを探索するときに、作業領域12に格納される親
テーブルのレコードからその子レコードを持たないレコ
ードまでのレコードの繋がりを、検索要求元に出力する
出力手段13とを備えるように構成する。
Description
ーブルで構成されるデータベースを検索するデータベー
ス検索装置と、それを実現するプログラムが記憶される
プログラム記憶媒体とに関し、特に、検索性能と操作性
を向上できるようにするデータベース検索装置と、それ
を実現するプログラムが記憶されるプログラム記憶媒体
とに関する。
装置の実用性を高めるためには、検索性能と操作性の向
上を図る必要がある。
ョナルデータベースである。このリレーショナルデータ
ベースでは、テーブル間に同一項目を持つことで、レコ
ード間の関係を実現している。
業員テーブルで、従業員の氏名/年齢/入社日を管理
し、住所録テーブルで、従業員の住所/電話番号を管理
し、家族テーブルで、従業員の家族構成を管理すること
で、各従業員の氏名/年齢/入社日/住所/電話番号/
家族構成を管理する構成を採っている。
ータベース操作言語(SQL)は、「何をしたいか」だ
けを指示する非手続き型の言語であり、操作性に優れて
いるという特徴がある。これから、リレーショナルデー
タベースがデータベースの主流となっている。
は、複数の検索ステップを踏む必要があり検索性能が悪
いという面がある。例えば、従業員番号を同一項目とし
て、テーブルTAで、従業員の基本情報を管理し、テー
ブルTBで、従業員の住所情報を管理し、テーブルTC
で、従業員の家族構成を管理するときに、15歳以下の
子供を持つ従業員の住所を検索する場合、先ず最初に、
テーブルTCを検索することで、15歳以下の子供を持
つ従業員の従業員番号を検索し、その従業員番号の重複
を排除した後、続いて、その検索した従業員番号をキー
にしてテーブルTBを検索することで、15歳以下の子
供を持つ従業員の住所を検索するというように、2段階
の検索ステップを踏む必要があり検索性能が悪いという
面がある。
ルデータベースの検索性能の向上を図るために、リレー
ショナルデータベースのテーブル構造を維持しつつ、レ
コード間にポインタを張ることでレコード間の関係を実
現して、そのポインタを辿ることで検索処理を実現する
という方法を採ることが考えられる。
ットワークデータベースがある。このネットワークデー
タベースでは、親レコードと子レコードとを定義するセ
ットを使ってレコード間の関係を実現している。
ムのレコードがある場合に、図14のに示すよう
に、「OWNER」を使ってセットの親レコード名を定
義するとともに、「MEMBER」を使ってセットの子
レコード名を定義することで、図15に示すように、レ
コード間にネットワークを張り、これによりレコード間
の関係を実現している。
スで用いられるデータベース操作言語は、「何をしたい
か」だけを指示する非手続き型の言語であるのに対し
て、ネットワークデータベースで用いられるデータベー
ス操作言語は、データを扱う手続きを逐次指示する手続
き型の言語である。
テーブル構造を維持しつつ、レコード間にポインタを張
ることでレコード間の関係を実現する方法を採るとき
に、ネットワークデータベースのような方法を用いる
と、異なるテーブルのレコードを検索するときには、そ
の都度、辿り先のレコードを検索するためにセット名を
指定しなければならず、操作性が悪くなるという問題が
でることになる。
であって、検索性能と操作性を向上できるようにする新
たなデータベース検索装置の提供と、それを実現するプ
ログラムが記憶される新たなプログラム記憶媒体の提供
とを目的とする。
を図示する。図中、1は本発明を具備するデータベース
検索装置であって、階層関係にあるテーブルで構成され
るデータベース2を検索するものである。
タ処理手段10と、探索手段11と、作業領域12と、
出力手段13と、通知手段14とを備える。このデータ
処理手段10は、データベース2に管理される親テーブ
ルのレコードを指定して、探索手段11に対して検索要
求を発行する。
テーブルのレコードを指定して検索要求を発行するとき
に、一筆書きのアルゴリズムに従って、そのレコードか
ら繋がる下位テーブルのレコードを作業領域12にスタ
ックしつつ探索する。
ドを持たないレコードを探索するときに、作業領域12
に格納される親テーブルのレコードからその子レコード
を持たないレコードまでのレコードの繋がりを、データ
処理手段10に出力する。
ブルのレコードに繋がる下位テーブルの最終レコードを
探索するときに、出力手段12の出力処理に合わせて、
その旨をデータ処理手段10に通知する。
の持つ機能は具体的にはプログラムで実現されるもので
あり、このプログラムは、フロッピィディスクなどに記
憶されたり、サーバなどのディスクなどに記憶され、そ
れらからデータベース検索装置1にインストールされて
メモリ上で動作することで、本発明を実現することにな
る。
ス検索装置1の検索対象とするデータベース2は、リレ
ーショナルデータベースと同様のテーブル構造を持つと
ともに、それらのテーブルがツリー状の階層構造を持
つ。リレーショナルデータベースと同様のテーブル構造
を持つことで、ユーザには、リレーショナルデータベー
スに見えることになる。
象として、本発明のデータベース検索装置1の探索手段
11は、データ処理手段10が親テーブルのレコードを
指定して検索要求を発行すると、一筆書きのアルゴリズ
ムに従って、そのレコードから繋がる下位テーブルのレ
コードを、階層レベルの示す作業領域12のスタック位
置に格納しつつ探索する。
力手段13は、探索手段11が子レコードを持たないレ
コードを探索するときに、作業領域12に格納される親
テーブルのレコードからその子レコードを持たないレコ
ードまでのレコードの繋がりを、データ処理手段10に
出力する。
て、通知手段14は、探索手段11が上位テーブルのレ
コードに繋がる下位テーブルの最終レコードを探索する
ときに、出力手段12の出力処理に合わせて、その旨を
データ処理手段10に通知する。
索装置1では、例えば、図2(a)に示すように、親テ
ーブルTAのレコードa2と、そのテーブルTAの子テ
ーブルとなるテーブルTBのレコードb4 と、そのテー
ブルTBの子テーブルとなるテーブルTDのレコードd
4と、そのテーブルTAの子テーブルとなるテーブルT
Cのレコードc1 ,c2,c4とがツリー状に繋がると
きに、データ処理手段10から、レコードa2を指定し
て検索要求が発行されると、図2(b)に示すように、
データ処理手段10に対して、先ず最初に、「a2・b
4・d4」のレコードの繋がりを返却し、次に、「a2
・c2」のレコードの繋がりを返却し、続いて、「a2
・c3」のレコードの繋がりを返却し、続いて、「a2
・c4」のレコードの繋がりを返却するとともに、「a
2・b4・d4」のレコードの繋がりを返却するとき
に、b4配下の全レコードが終了した旨を通知し、「a
2・c4」のレコードの繋がりを返却するときに、a2
配下の全レコードが終了した旨を通知する。
置1では、あたかもリレーショナルデータベースである
かのように見せつつ、ただ単に親テーブルのレコードを
指定させるだけで、そのレコードに繋がる全てのレコー
ドを出力できるようにする構成を採るので、リレーショ
ナルデータベースの持つ操作性に優れているという特徴
を保持しつつ、その検索性能を向上できるようになる。
データベース検索装置1では、上位テーブルのレコード
に繋がる下位テーブルの最終レコードを探索するとき
に、その旨を出力できるようになるので、検索結果を利
用するプログラムは、その上位テーブル配下の下位テー
ブルのレコードが全て揃うときに規定のデータ処理を実
行するときには、その通知に従って、それ以降のレコー
ドを待たずに、そのデータ処理に入ることができるよう
になる。
を詳細に説明する。図3に、本発明の一実施例を図示す
る。
置、2は本発明のデータベース検索装置1の検索対象と
なるデータベースである。本発明のデータベース検索装
置1は、本発明を実現するために、業務プログラム20
からレコードを指定してデータベース2の検索要求が発
行されるときに、作業領域22にレコードをスタックし
つつ、データベース2から、その指定されるレコードに
繋がる全レコードを読み出すデータベース検索プログラ
ム21を備える構成を採る。
検索対象となるデータベース2は、複数のテーブルで構
成されることで、ユーザにはリレーショナルデータベー
スと見えることを実現しつつ、それらのテーブルがツリ
ー状の階層構造を持つという構成を有している。
来のリレーショナルデータベースと同様に、図4に示す
ように、従業員の基本情報を管理する従業員テーブル3
0と、従業員の住所を管理する住所録テーブル31と、
従業員の所属履歴を管理する所属履歴テーブル32と、
従業員の仕事履歴を管理する仕事履歴テーブル33とを
備えている。
業員テーブル30が親テーブルで、住所録テーブル31
/所属履歴テーブル32が子テーブルで、仕事履歴テー
ブル33が所属履歴テーブル32の子テーブルとなると
いうようなツリー状の階層構造を有している。
現可能であるが、例えば、図5及び図6に示すように、
テーブルの持つレコード間にポインタを張ることで実現
される。
業員テーブル30に登録される「栗山卓」のレコード
が、住所録テーブル31に登録される「神奈川県横浜市
に住む」というレコードと、所属履歴テーブル32に登
録される「幕張の第二開発に所属していた」というレコ
ードとをポイントし、そして、その「幕張の第二開発に
所属していた」というレコードが、仕事履歴テーブル3
3に登録される「開発とSEの仕事をしたことがある」
というレコードをポイントすることで、ツリー状の階層
構造を実現する。
に住み、幕張の第二開発に所属していたことがあり、開
発とSEの仕事をしたことがある」という情報が管理さ
れることになる。
方法して、図7に示すように、関係のあるレコードを並
べる方法を採ってもよい。ここで、図中に示す制御情報
は、レコードに対応付けて設けられて、そのレコードの
属するテーブル名などを記録する。
ように、テーブルTAは、テーブルTBを長男テーブ
ル、テーブルTCを末っ子テーブルとし、テーブルTB
は、テーブルTAを親テーブル、テーブルTDを長男テ
ーブル、テーブルTDを末っ子テーブル、テーブルTC
を弟テーブルとし、テーブルTCは、テーブルTAを親
テーブル、テーブルTBを兄テーブルとし、テーブルT
Dは、テーブルTAを親テーブルとするというテーブル
階層構造を管理する構成を採る。
付けて設けられる制御情報とから、図7に示した a1・b1・d1・b2・b3・d2・d3・c1 というレコードの並びは、図9に示すようなレコード構
造であることが表現されることになる。
本発明のデータベース検索装置1の検索対象となるデー
タベース2は、ツリー状の階層構造に従うものの、従来
のリレーショナルデータベースと同様のテーブル構造を
持つので、ユーザには、あたかもリレーショルナルデー
タベースに見えるようになる。すなわち、従来のリレー
ショルナルデータベースと同様のデータベース操作言語
に従って、データベース2にレコードを登録したり、デ
ータベース2のレコードを削除したり、データベース2
のレコードを変更できることになる。
ようなツリー状の階層構造を持つテーブルで構成される
データベース2に対する検索処理を実行するものであ
り、これを実現するために、図3に示したように、デー
タベース検索プログラム21を展開する。
に従って、データベース検索プログラム21の実行する
検索処理について詳細に説明する。データベース検索プ
ログラム21は、業務プログラム20から最上位のテー
ブルのレコード(親レコード)を指定して、その親レコ
ードに繋がるレコードの検索要求が発行されると、図1
0及び図11の処理フローに示すように、先ず最初に、
ステップ1及びステップ2の処理に従って、親レコード
を起点レコードとして設定して、その起点レコードに繋
がるレコードを辿る処理に入って、辿り先のレコードを
作業領域22にスタックしつつ、辿り先のレコードの属
するテーブルが長男テーブルを持たなくなるまで、起点
レコードからレコードを辿る処理を行う。
1・b2・b3・d2・d3・c1」というレコードの
繋がりを持つレコードa1が親レコードとして指定され
るときには、この処理に従って、レコードb1、レコー
ドd1を検索するとともに、それに合わせて、作業領域
22に、「a1・b1・d1」をスタックすることにな
る。
テーブルを持たないテーブルの属するレコードまで辿り
つくと、続いて、ステップ3に進んで、作業領域22に
スタックしたレコードの繋がりを業務プログラム20に
返却する。「a1・b1・d1・b2・b3・d2・d
3・c1」というレコード構造で説明するならば、先ず
最初に、業務プログラム20に対して、「a1・b1・
d1」というレコードを返却することになる。
コードをスタックした最下層のテーブルをサーチして、
そのテーブルに親レコードから繋がる他のレコードが登
録されているのか否かをチェックし、登録されているこ
とを判断するときには、作業領域22にスタックした最
下層のテーブルのレコードをその登録レコードに更新し
てから、続くステップ5で、作業領域22にスタックし
たレコードの繋がりを業務プログラム20に返却してか
ら、ステップ4に戻る。
d3・c1」というレコード構造では、レコードd1に
繋がるレコードはテーブルTBのレコードb2であるの
で、「a1・b1・d1」を返却した後、このステップ
4及びステップ5の処理には進まないが、例えば、「a
1・b1・d1・d2」というレコード構造を持つとき
には、この処理に進んで、作業領域22にスタックした
「a1・b1・d1」を「a1・b1・d2」に更新し
てから、この「a1・b1・d2」を業務プログラム2
0に返却することになる。
ードをスタックした最下層のテーブルに、親レコードか
ら繋がる他のレコードが登録されていないことを判断す
るときには、ステップ6に進んで、その最下層のテーブ
ルに親となるテーブルが存在するのか否かを判断して、
存在しないことを全処理を終了し、存在することを判断
するときには、ステップ7に進んで、その最下層のテー
ブルに弟となるテーブルが存在して、そこに親レコード
から繋がるレコードが登録されているのか否かをチェッ
クする。
ブルが存在し、かつ、そのテーブルに親レコードから繋
がるレコードが登録されているという条件が成立しない
ことを判断するときには、ステップ8に進んで、最下層
のテーブルより1つ上のテーブルをサーチして、そのテ
ーブルに親レコードから繋がる他のレコードが登録され
ているのか否かをチェックし、登録されていることを判
断するときには、ステップ10に進んで、作業領域22
にスタックしたそのテーブルのレコードをその登録レコ
ードに更新してから、ステップ1に戻る。
d3・c1」というレコード構造で説明するならば、
「a1・b1・d1」というレコードを返却した後、ス
テップ6に進んで、レコードd1の属するテーブルTD
に親となるテーブルTBが存在することで、ステップ7
に進み、テーブルTDに弟テーブルが存在しないこと
で、ステップ8に進み、テーブルTDより1つ上のテー
ブルBに、親レコードから繋がるレコードb2が存在す
ることで、ステップ10に進んで、作業領域22にスタ
ックした「a1・b1・d1」を「a1・b2」に更新
するのである。
り1つ上のテーブルに、親レコードから繋がる他のレコ
ードが登録されていないことを判断するときには、ステ
ップ9に進んで、最下層のテーブルより1つ上のテーブ
ルを新たな最下層に設定してから、ステップ6に戻る。
弟テーブルが存在し、かつ、そのテーブルに親レコード
から繋がるレコードが登録されているという条件が成立
することを判断するときには、ステップ11に進んで、
その登録レコードに従って作業領域22にスタックした
レコードを更新してから、ステップ1に戻る。
ラム21は、図10及び図11の処理フローを実行する
ことで、例えば、図7に示した、「a1・b1・d1・
b2・b3・d2・d3・c1」というレコードの繋が
りを持つレコードa1が親レコードとして指定されると
きには、図12に示すように、業務プログラム20に対
して、先ず最初に、「a1・b1・d1」というレコー
ドを返却し、続いて、「a1・b2」というレコードを
返却し、続いて、「a1・b3・d2」というレコード
を返却し、続いて、「a1・b3・d3」というレコー
ドを返却し、続いて、「a1・c1」というレコードを
返却するのである。
ース検索プログラム21は、返却対象となるレコードが
上位テーブルのレコードに繋がる下位テーブルの最終レ
コードであるときには、業務プログラム20に対して、
その旨のステータスを通知する処理を実行する。
b1・d1」というレコードを返却するときに、レコー
ドd1がレコードb1配下のテーブルTDの最終レコー
ドであるので、その旨のステータスを通知し、また、
「a1・b3・d3」というレコードを返却するとき
に、レコードd3がレコードb3配下のテーブルTDの
最終レコードであるので、その旨のステータスを通知
し、「a1・c1」というレコードを返却するときに、
レコードc1がレコードa1配下のテーブルTCの最終
レコードであるので、その旨のステータスを通知するの
である。
よっては、レコードb3配下のテーブルTDのレコード
が揃うときにデータ処理を実行できるということがあ
り、このステータス通知があると、そのようなときに、
他のレコードの返却を待たずに処理に入れるという利点
がある。
ース検索装置では、あたかもリレーショナルデータベー
スであるかのように見せつつ、ただ単に親テーブルのレ
コードを指定させるだけで、そのレコードに繋がる全て
のレコードを出力できるようにする構成を採るので、リ
レーショナルデータベースの持つ操作性に優れていると
いう特徴を保持しつつ、その検索性能を向上できるよう
になる。
データベース検索装置では、上位テーブルのレコードに
繋がる下位テーブルの最終レコードを探索するときに、
その旨を出力できるようになるので、検索結果を利用す
るプログラムは、その上位テーブル配下の下位テーブル
のレコードが全て揃うときに規定のデータ処理を実行す
るときには、その通知に従って、それ以降のレコードを
待たずに、そのデータ処理に入ることができるようにな
る。
フローである。
フローである。
Claims (3)
- 【請求項1】 階層関係にあるテーブルで構成されるデ
ータベースを検索するデータベース検索装置であって、 検索要求元から親テーブルのレコードを指定して検索要
求が発行されるときに、一筆書きのアルゴリズムに従っ
て、該レコードから繋がる下位テーブルのレコードを作
業領域にスタックしつつ探索する探索手段と、 上記探索手段が子レコードを持たないレコードを探索す
るときに、上記作業領域に格納される親テーブルのレコ
ードからその子レコードを持たないレコードまでのレコ
ードの繋がりを、検索要求元に出力する出力手段とを備
えることを、 特徴とするデータベース検索装置。 - 【請求項2】 請求項1記載のデータベース検索装置に
おいて、 探索手段が上位テーブルのレコードに繋がる下位テーブ
ルの最終レコードを探索するときに、出力手段の出力処
理に合わせて、その旨を検索要求元に通知する通知手段
を備えることを、 特徴とするデータベース検索装置。 - 【請求項3】 階層関係にあるテーブルで構成されるデ
ータベースを検索するデータベース検索装置の実現に用
いられるプログラムが記憶されるプログラムであって、 検索要求元から親テーブルのレコードを指定して検索要
求が発行されるときに、一筆書きのアルゴリズムに従っ
て、該レコードから繋がる下位テーブルのレコードを作
業領域にスタックしつつ探索する探索処理と、 上記探索処理が子レコードを持たないレコードを探索す
るときに、上記作業領域に格納される親テーブルのレコ
ードからその子レコードを持たないレコードまでのレコ
ードの繋がりを、検索要求元に出力する出力処理とをコ
ンピュータに実行させるプログラムが記憶されること
を、 特徴とするプログラム記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9263173A JPH11102369A (ja) | 1997-09-29 | 1997-09-29 | データベース検索装置及びプログラム記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9263173A JPH11102369A (ja) | 1997-09-29 | 1997-09-29 | データベース検索装置及びプログラム記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11102369A true JPH11102369A (ja) | 1999-04-13 |
Family
ID=17385795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9263173A Pending JPH11102369A (ja) | 1997-09-29 | 1997-09-29 | データベース検索装置及びプログラム記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11102369A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005505042A (ja) * | 2001-09-28 | 2005-02-17 | オラクル・インターナショナル・コーポレイション | リレーショナルデータの整合的な階層抽出の提供 |
-
1997
- 1997-09-29 JP JP9263173A patent/JPH11102369A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005505042A (ja) * | 2001-09-28 | 2005-02-17 | オラクル・インターナショナル・コーポレイション | リレーショナルデータの整合的な階層抽出の提供 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2510945B2 (ja) | 関係デ―タベ―ス管理システムからの問合せの最適化援助方法 | |
US7769769B2 (en) | Methods and transformations for transforming metadata model | |
JP4809652B2 (ja) | .netデータ型およびインスタンスの持続性ストレージ | |
US7831632B2 (en) | Method and system for reconstruction of object model data in a relational database | |
US20060173813A1 (en) | System and method of providing ad hoc query capabilities to complex database systems | |
US6301581B1 (en) | Method and system for managing access to a plurality of data objects | |
CA2281331A1 (en) | Database management system | |
WO2002075600A1 (en) | Simultaneous searcing across multiple data sets | |
JP2001056810A (ja) | データベースアクセスシステム | |
JP2001350656A (ja) | 異種データソース統合アクセス方法 | |
JP2006524376A (ja) | 汎用データベーススキーマ | |
US6845376B1 (en) | Method for accessing hierarchical data via JDBC | |
JPH11102369A (ja) | データベース検索装置及びプログラム記憶媒体 | |
CN102193979B (zh) | 图形数据库非联机事务中查询数据的控制方法 | |
Motro et al. | Multiplex, fusionplex and autoplex: three generations of information integration | |
Carey et al. | Data access interoperability in the IBM database family | |
Bouganim et al. | Miro web: Integrating multiple data sources through semistructured data types | |
JPH08235040A (ja) | データファイル管理システム | |
JPH0736756A (ja) | オブジェクト管理方式 | |
JP2644535B2 (ja) | ネットワーク間ファイル検索処理システム | |
JP2715443B2 (ja) | データベース装置 | |
JPH0934906A (ja) | 図書管理装置 | |
CN108897897B (zh) | 一种数据处理方法和装置 | |
GB2411256A (en) | An extendable associative database and methods for storing data | |
JPH11102370A (ja) | データベース検索装置及びプログラム記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060802 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060815 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061012 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070115 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070220 |