JPH1091644A - データベース問い合わせ処理方法及び装置 - Google Patents

データベース問い合わせ処理方法及び装置

Info

Publication number
JPH1091644A
JPH1091644A JP8261273A JP26127396A JPH1091644A JP H1091644 A JPH1091644 A JP H1091644A JP 8261273 A JP8261273 A JP 8261273A JP 26127396 A JP26127396 A JP 26127396A JP H1091644 A JPH1091644 A JP H1091644A
Authority
JP
Japan
Prior art keywords
index
virtual table
virtual
base
record
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
Application number
JP8261273A
Other languages
English (en)
Inventor
Koichi Kashiwabara
幸一 柏原
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP8261273A priority Critical patent/JPH1091644A/ja
Publication of JPH1091644A publication Critical patent/JPH1091644A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【解決手段】 データベースを検索するためにいくつか
の実表を組み合わせた仮想表を想定したとき、これに対
応する仮想表索引を生成する。データベース問い合わせ
処理は仮想表索引を用いる。 【効果】 実表毎に設けられた索引表をそのつど参照す
るよりも効率よく高速に検索ができる。また、要求する
形式の仮想表に対応した索引を用いれば無駄がなく検索
できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースの検
索速度を向上させるためのデータベース問い合わせ処理
方法及び装置に関する。
【0002】
【従来の技術】大量のデータを用いたデータベースから
目的のデータを取り出すための検索処理は高速であるこ
とが要求される。データベースは、通常いくつかのデー
タを対応付けたレコードを配列した表のような形式でメ
モリに格納される。このように、メモリに実際に格納さ
れた表形式のデータ群を実表と呼んでいる。この実表が
例えば所定のキーとなるデータの順にレコードを並べて
構成されたものの場合に、任意のキーを指定すればその
キーに対応するレコードが取り出される。こうした実表
の検索を高速化するために、実表を構成する各レコード
を格納したアドレスをポインタによって表し、そのポイ
ンタとキーとを対応付けた索引表が生成される。索引表
はこのような簡単な構成のため、高速で参照でき大量の
レコードにより構成された実表を高速に検索できる。
【0003】
【発明が解決しようとする課題】ところで、上記のよう
な従来のデータベースには次のような解決すべき課題が
あった。例えばリレーショナルデータベースでは、例え
ば顧客名簿、仕入れ先名簿、売上集計表といった様々な
形式の実表を関連付けることによってデータ管理を行っ
ている。このような場合、実際に利用者が要求するのと
は別の形式のレコードが各実表に格納される。従って、
人が利用しようとする度に予めその利用形式のフォーム
を定める。これを仮想表と呼び、いくつかの実表のレコ
ードを組み合わせて構成する。この仮想表は人が利用す
る形態を想定した架空のもので、実際の検索を行う場合
には仮想表を想定した上で各実表毎に生成された索引表
を取り出し、その索引表から該当する実表のレコードを
得るようにしている。
【0004】しかしながら、仮想表上で、あるレコード
の取出しを要求した場合、その仮想表を構成する各実表
の索引表をそれぞれ個別に参照しながら目的とするレコ
ードを得る必要があり、索引表が多い場合には、実際の
問い合わせに対し目的とするレコードを取り出すまでの
時間が非常に長くなるという問題があった。
【0005】
【課題を解決するための手段】本発明は以上の点を解決
するため次の構成を採用する。 〈構成1〉任意の形式の複数の実表により構成されるデ
ータベースに対する問い合わせ処理を行う場合に、上記
実表を結合して、問い合わせ要求に合致した形式の仮想
表を想定したとき、上記各実表を検索するために各実表
に対応させて作成された索引表を結合して、上記仮想表
を検索するための仮想表索引を生成して、この仮想表索
引を用いて上記問い合わせ処理を実行することを特徴と
するデータベース問い合わせ処理方法。
【0006】〈説明〉実表は、任意の形式で任意の数だ
け作成され、メモリ等に格納されて、データベースが構
成される。問い合わせ処理に合致した形式の仮想表は、
複数の実表を結合して構成される。結合の仕方は、任意
の実表の全部または一部と、他の任意の実表の全部また
は一部を組み合わせて、希望する問い合わせ項目が取り
出されるようにする。仮想表を想定するというのは、仮
想表を実際にメモリ上に展開するのでなく、問い合わせ
処理の対象として、仮定することをいう。故に、仮想表
はメモリ上に存在しなくてよい。索引表は、実表を高速
検索するために各実表に対応させて生成され、メモリ上
に既に存在している。仮想表索引は、仮想表を実表のよ
うにみなして生成された索引表である。これは、生成さ
れた後実際にメモリ上に配置されて、その後の問い合わ
せ処理に直接使用される。
【0007】〈構成2〉それぞれデータベースを構成す
る任意のレコードを格納した複数の実表と、各実表を用
いた問い合わせ処理のための条件と、その実表の各レコ
ードへのポインタとを格納した索引表と、上記実表を結
合して、問い合わせ要求に合致した形式の仮想表を想定
したとき、上記索引表を結合して生成され、その仮想表
を用いた問い合わせ処理のための条件と、その仮想表の
各レコードへのポインタとを格納した仮想表索引と、こ
の仮想表索引を用いて上記問い合わせ処理を実行する問
い合わせ処理部とを備えたことを特徴とするデータベー
ス問い合わせ処理装置。
【0008】〈説明〉問い合わせ処理のための条件と
は、データベースのキー等のことである。索引表でこの
条件が合致した部分が示すポインタをたどれば、実表の
該当するレコードを取り出すことができる。仮想表索引
も他の索引表と同様の形式であり、仮想表に対応して生
成される。仮想表索引には、仮想表に基づく問い合わせ
処理に対して、該当するレコードを直接取り出すポイン
タが格納されているから、簡潔で高速な検索が可能にな
る。
【0009】
【発明の実施の形態】以下、本発明の実施の形態を具体
例を用いて説明する。 〈具体例〉図1は、本発明のデータベース問い合わせ処
理方法の説明図である。この具体例の説明をする前に、
まず本発明の方法を実施する装置の構成とデータベース
の構成を説明する。図2に、本発明のデータベース問い
合わせ処理装置ブロック図を示す。この装置は、データ
ベース検索等に利用する端末機1を備える。この端末機
1は、ディスプレイ2、キーボード3及び制御部4から
構成される。制御部4には、二次記憶装置5の他に、問
い合わせ処理部6、データ辞書管理部7及び二次記憶管
理部8が設けられている。二次記憶装置5には後で説明
するような構成のデータベース15が設けられ、ここに
実表20、索引表10、仮想表索引50、定義情報16
等が格納されている。問い合わせ処理部6は、端末機1
によって入力された問い合わせ処理を効率よく実施する
ために実行計画を作成し、処理の流れを制御する部分で
ある。データ辞書管理部7は、データベース15の定義
情報16を管理する部分である。この定義情報16は、
データベース15の実表20、索引表10や後で説明す
る仮想表の定義情報等を格納する部分である。二次記憶
管理部8は、二次記憶装置5に記憶するデータを管理す
る部分である。
【0010】図3には、索引表と実表の説明図を示す。
この図に示すように、実表20は多数のレコードから構
成される。各レコードはそれぞれ列21,22,23に
よって区分されている。列21に格納された値は、例え
ば各レコードのキーとなるデータとする。列22,列2
3には、それぞれ任意の対応するデータが格納されてい
る。もちろんキーとなるデータの数や位置は任意であ
る。索引表10は、キーとなる値を格納した列11とポ
インタを格納した列12とから構成される。例えば、キ
ーとなる列11の値が指定されると、索引表10を参照
してその値に対応するポインタを得る。そして、そのポ
インタが示す実表20のレコードを取り出して問い合わ
せに対する回答とする。
【0011】ここで、このような各種の形式の実表を組
み合わせてデータベース検索を行う場合に、次に示す仮
想表が想定される。図4に、縦結合の仮想表説明図を示
す。例えば、キーとなる値がそれぞれ相違しているが、
レコードの形式が同様の実表同士は、この図に示すよう
に縦方向に結合されて仮想表が想定される。この仮想表
30は、上半分が実表Aのレコードで、下半分が実表B
のレコードである。列31はキーの値、列32,33は
その他のデータを示している。例えば、ある問い合わせ
に対しては、このような形式の仮想表を想定して各種の
検索処理を行えば、要求される全てのレコードが取り出
せる。
【0012】図5には、横結合の仮想表説明図を示す。
例えば、キーとなる値が共通し、各レコードを構成する
データの属性がそれぞれ異なるような場合には、横結合
によって仮想表が想定される。即ち、この図に示す仮想
表40は、列41と列42が実表Aのレコードにより構
成され、列41,列43,列44が実表Bのレコードに
より構成される。列41のキーとなる値は実表Aと実表
Bとで共通している。
【0013】問い合わせの内容によって、こうした各種
の仮想表を想定して検索処理をし、一連のレコードを取
り出すことでユーザの目的とするデータが得られる。従
来は、このような仮想表を想定し該当するレコードを取
り出そうとする場合、仮想表上のキーとなる値がどの索
引表に含まれているかを順に検索し、該当するポインタ
を得て必要なレコードを取り出すようにしていた。一
方、本発明においては、上記のように想定された仮想表
に対応する仮想表索引を予め実際に生成し、これを図2
に示すようにデータベース上に格納する。なお、このよ
うな仮想表索引を一時的に主記憶装置上に生成して利用
しても差し支えないし、上記の例のようにデータベース
と共に格納し後から自由に再利用できるようにしてもよ
い。
【0014】図1に戻って、本発明のデータベース問い
合わせ処理方法の説明を行う。図1の左側に示した仮想
表30は、既に図4を用いて説明したものと同様の形式
をしている。このような仮想表が想定された場合に、本
発明では、図の中央に示すように仮想表索引50を生成
する。この仮想表索引50は、列51にキーとなる値を
格納し、列52に各値に対応するポインタを格納してい
る。基本的な構成は従来の索引表と同様であり、このよ
うな仮想表索引50を生成する場合には、従来の索引表
10A,10Bを利用する。なお、索引表10Aは実表
Aに対応して予め生成されたもので、索引表10Bは実
表Bに対応させて予め生成されたものである。
【0015】このような仮想表索引50を生成した場合
に、仮想表30中のある値を指定し目的とするレコード
を取り出そうとする場合、まず仮想表索引50を参照す
る。そして、該当する値に対応するポインタを取り出
す。このポインタはメモリ上に格納された実表Aや実表
Bの各レコードを格納した位置を直接示している。従っ
て、仮想表索引50を利用することにより、実表毎に用
意された索引表10Aや10Bを参照することなく直接
必要なレコードを直ちに取り出すことができる。
【0016】図6を用いて、上記の図1に示した縦結合
の仮想表に対する検索処理動作を説明する。この図6
は、検索処理のフローチャートを示している。まず、始
めにステップS1において、図1に示した仮想表30を
参照し、一定の条件からキーとなる列への条件を取り出
す。この条件というのは、例えばキーの値が特定の値あ
るいは特定の範囲の値といった内容となる。次のステッ
プS2では、仮想表索引50のキーとなる列51の値に
対して条件を適用する。即ち、仮想表索引50を利用し
て条件に合致する値を検索する。ステップS3において
条件が合致する値を検出すると、ステップS4に進み、
仮想表索引50のポインタを参照して実表AあるいはB
から該当するレコードを取り出す。次のステップS5で
は、与えられた問い合わせの内容に他の条件がある場合
にその条件を適用し、実表の検索を行う。条件が合致す
る場合にはステップS6からステップS7に移り、結果
レコードリストに取り出したレコードを追加する。その
後、ステップS8に進む。なお、ステップS6で条件が
合致しない場合にもステップS8に進む。そして、仮想
表索引50のキーとなる列に位置付けられたカーソルを
進める。即ち、ステップS3からステップS8のループ
で、仮想表索引50の列51を端から順に参照し、条件
に合致したレコードを得る操作を繰り返す。
【0017】こうして、仮想表索引を参照し、条件に合
致するものがなくなった場合には、ステップS3からス
テップS9に進み、結果レコードリストを問い合わせに
対する回答として返却する。
【0018】次に、横結合の仮想表を想定した場合の動
作について説明する。図7は、横結合による本発明の方
法の説明図である。この図に示す仮想表40は、図5を
用いて説明したものと同一の形式をしている。そして、
この仮想表40に対して図1を用いて説明したのと同様
にして仮想表索引60を生成する。この場合に、仮想表
索引60は仮想表40と対応する形式となることから、
第1番目の列61にキーとなる値が格納され、残りの列
62,63,64には仮想表40の列42,43,44
を格納したレコードの位置を示すポインタがそれぞれ表
示される。これによって、あるキーとなる値を指定して
仮想表索引60を参照すると該当するポインタを用いて
直接実表Aあるいは実表Bのレコードを取り出すことが
できる。
【0019】図8は、横結合の仮想表に対する検索処理
のフローチャートである。まず、ステップS1におい
て、図7に示した仮想表40に対する条件からキーとな
る列に対する条件を取り出す。そして、次のステップS
2において、図7に示した仮想表索引60のキーとなる
列に対してその条件を適用する。ステップS3で条件が
合致したと判断されるとステップS4に進み、仮想表索
引の該当するポインタを参照し、実表Aからそのレコー
ドを取り出す。ステップS5では、他の条件でその実表
Aに対する条件を適用する。即ち、取り出した実表Aの
レコードが他の条件に合致するかどうかを判断する。ス
テップS6において、他の条件に合致すると判断すれば
ステップS7に移り、今度はそのレコードと横結合され
ている実表Bのレコードの取出しに移る。取り出したレ
コードについては、ステップS8において、ステップS
5と同様に他の条件を適用する。そして、条件が合致す
れば結果レコードリストに取り出したレコードのデータ
を追加する。即ち、得られたレコードを問い合わせの結
果としてプールする。ステップS11では、仮想表索引
のキーとなる列に位置付けられたカーソルを進め、索引
表全体を順に検索する。ステップS3でもう条件の合致
するものがなければ、ステップS12に進み、結果レコ
ードリストを返却する。
【0020】
【発明の効果】以上説明した本発明のデータベース問い
合わせ処理方法及び装置においては、仮想表に対応させ
た仮想表索引を生成し、これをメモリにおいて問い合わ
せ処理を実行するから、実表毎に用意された索引表を参
照することなく直接多数の実表の該当するレコードを読
み出すことができ、検索処理が容易にしかも高速にな
る。また、横結合の仮想表に対応する仮想表索引を生成
した場合には、キーとなる値に対応させて複数のポイン
タが参照できる。このポインタによって複数のレコード
を一挙に呼び出し、必要な形式のレコードを得ることが
できる。従って、横結合形式の仮想表を検索する場合に
は、いっそう検索速度高速化の効果が顕著になる。ま
た、いずれの場合にも、利用者が指定した形式の仮想表
と全く対応する仮想表索引を用いるため無駄がなく、検
索処理の際に主記憶装置上で参照する検索用のデータ量
も全ての実表の索引表を取り出す場合に比べて十分小さ
くすることができる。
【図面の簡単な説明】
【図1】本発明のデータベース問い合わせ処理方法の説
明図である。
【図2】本発明のデータベース問い合わせ処理装置ブロ
ック図である。
【図3】索引表と実表の説明図である。
【図4】縦結合の仮想表説明図である。
【図5】横結合の仮想表説明図である。
【図6】縦結合の仮想表に対する検索処理動作フローチ
ャートである。
【図7】本発明の方法の説明図(横結合)である。
【図8】横結合の仮想表に対する検索処理フローチャー
トである。
【符号の説明】
30 仮想表 50 仮想表索引 10A,10B 索引表 A,B 実表

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 任意の形式の複数の実表により構成され
    るデータベースに対する問い合わせ処理を行う場合に、 前記実表を結合して、問い合わせ要求に合致した形式の
    仮想表を想定したとき、 前記各実表を検索するために各実表に対応させて作成さ
    れた索引表を結合して、前記仮想表を検索するための仮
    想表索引を生成して、 この仮想表索引を用いて前記問い合わせ処理を実行する
    ことを特徴とするデータベース問い合わせ処理方法。
  2. 【請求項2】 それぞれデータベースを構成する任意の
    レコードを格納した複数の実表と、 各実表を用いた問い合わせ処理のための条件と、その実
    表の各レコードへのポインタとを格納した索引表と、 前記実表を結合して、問い合わせ要求に合致した形式の
    仮想表を想定したとき、前記索引表を結合して生成さ
    れ、その仮想表を用いた問い合わせ処理のための条件
    と、その仮想表の各レコードへのポインタとを格納した
    仮想表索引と、 この仮想表索引を用いて前記問い合わせ処理を実行する
    問い合わせ処理部とを備えたことを特徴とするデータベ
    ース問い合わせ処理装置。
JP8261273A 1996-09-10 1996-09-10 データベース問い合わせ処理方法及び装置 Pending JPH1091644A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8261273A JPH1091644A (ja) 1996-09-10 1996-09-10 データベース問い合わせ処理方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8261273A JPH1091644A (ja) 1996-09-10 1996-09-10 データベース問い合わせ処理方法及び装置

Publications (1)

Publication Number Publication Date
JPH1091644A true JPH1091644A (ja) 1998-04-10

Family

ID=17359537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8261273A Pending JPH1091644A (ja) 1996-09-10 1996-09-10 データベース問い合わせ処理方法及び装置

Country Status (1)

Country Link
JP (1) JPH1091644A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000041291A (ko) * 1998-12-22 2000-07-15 김영환 이동통신 시스템에서 방문 이동 가입자의 데이터 관리 방법
CN100371931C (zh) * 2003-08-13 2008-02-27 华为技术有限公司 一种实现对数据库快速访问的方法
WO2014034383A1 (ja) * 2012-08-29 2014-03-06 株式会社ターボデータラボラトリー 情報処理装置、レコード位置情報特定方法および情報処理プログラム
WO2019163610A1 (ja) * 2018-02-21 2019-08-29 株式会社ターボデータラボラトリー 情報処理システム及び情報処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000041291A (ko) * 1998-12-22 2000-07-15 김영환 이동통신 시스템에서 방문 이동 가입자의 데이터 관리 방법
CN100371931C (zh) * 2003-08-13 2008-02-27 华为技术有限公司 一种实现对数据库快速访问的方法
WO2014034383A1 (ja) * 2012-08-29 2014-03-06 株式会社ターボデータラボラトリー 情報処理装置、レコード位置情報特定方法および情報処理プログラム
WO2019163610A1 (ja) * 2018-02-21 2019-08-29 株式会社ターボデータラボラトリー 情報処理システム及び情報処理方法

Similar Documents

Publication Publication Date Title
JP2001243244A (ja) 多次元データベースの検索方法、検索装置、および多次元データベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体。
JPH1091644A (ja) データベース問い合わせ処理方法及び装置
JP2842487B2 (ja) データ編集方式
JP3552339B2 (ja) データベースシステム
JP2002063165A (ja) 情報検索方法および情報検索システムおよび情報検索プログラムおよび情報検索プログラムを記録した記録媒体
JPH0193843A (ja) テーブル結合方式
JP2000222434A (ja) 結合検索方法
JPH01233517A (ja) データベース検索装置
JPH0433164A (ja) リレーショナル型データベースにおける一時的表結合方式
JPH10254887A (ja) データベースシステム
JP2906638B2 (ja) データベース検索システム
JP2001101233A (ja) データベース処理装置
JPH0227475A (ja) データ管理装置
JPH06301728A (ja) データベース構造及びその検索装置
JPH04357567A (ja) 情報検索システム
CN114020800A (zh) 一种面向大数据的数据处理方法和装置
JPH0795300B2 (ja) データベースにおける名称管理方式
JPH06214849A (ja) データベースシステム
JP2000003401A (ja) 帳票作成処理システム
JPH10240744A (ja) レンジ分割表の検索処理方式、検索処理方法および検索 処理プログラムを記録した記録媒体
JPH08101784A (ja) リレーショナルデータベースにおけるサブタイプ関係実装方法及び装置
JPH0962708A (ja) データ索引方法
JPH01248233A (ja) データベース検索装置
JPH06259309A (ja) 分散データ管理システムおよびそのデータアクセス方法
JPH07104857B2 (ja) 統計解析結果出力装置