JP2520941B2 - デ―タベ―ス・テ―ブルを検索する方法 - Google Patents

デ―タベ―ス・テ―ブルを検索する方法

Info

Publication number
JP2520941B2
JP2520941B2 JP63177271A JP17727188A JP2520941B2 JP 2520941 B2 JP2520941 B2 JP 2520941B2 JP 63177271 A JP63177271 A JP 63177271A JP 17727188 A JP17727188 A JP 17727188A JP 2520941 B2 JP2520941 B2 JP 2520941B2
Authority
JP
Japan
Prior art keywords
record
parameter
parameters
database
given
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.)
Expired - Lifetime
Application number
JP63177271A
Other languages
English (en)
Other versions
JPH0196728A (ja
Inventor
ニール・ハリソン・クレイトン
ホセ・ルイス・リベロ
クオーチヤング・サン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0196728A publication Critical patent/JPH0196728A/ja
Application granted granted Critical
Publication of JP2520941B2 publication Critical patent/JP2520941B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明はデータベース・テーブル・デザイン、及び与
えられたレコードに対してデータベース・テーブルを検
索する方法、より具体的に言えば、膨大な数の変数を貯
蔵している知識システム(knowledge system)において
回答の検索を補充するのに特に適しているデータベース
・テーブルを検索する方法、及びそのデータベース・テ
ーブルの設計方法に関する。
B.従来の技術 知識システムとは、知識ベースと呼ばれているデータ
ベースに記憶され、且つコード化された熟練者の知識を
翻訳することによつて、人間の判断に代わる回答を得る
ためのコンピユータ・システムのことである。知識ベー
スの領域、または与えられた問題の範囲が、適当な範囲
であり、且つ適当な広さの知識が知識ベースに適切にコ
ード化されている場合には、知識システムは、熟練者の
能力とほぼ同じ回答を与えるか、または、熟練者の能力
を越えた結果を与える。このような場合、知識システム
はエキスパート・システムと称される。エキスパート・
システムは、少なくとも理論的には、医学的診断の分野
から、自動車の修理に関する質問や、在庫調整、その他
諸々の相談の分野に至るまで、任意の実際的なアプリケ
ーシヨン用として設計することが出来る。
エキスパート・システムが持つ1つの問題は、多くの
特定な要求、即ち質問に対して、エキスパート・システ
ムが回答を出すまでに時間がかかり過ぎることと、経費
がかかり過ぎることである。多数の変数を含む質問に対
して、丹念な回答を与えるためには、エキスパート・シ
ステムの介入を必要とし、エキスパート・システムは、
質問に回答を与えるための相当複雑なプログラムを実行
して、これらの変数を処理する。多くの質問、特に特殊
な質問、または複雑な質問に対して、信頼性ある回答を
与えるためには、エキスパート・システムによるこの処
理が必要である。然しながら、質問の多くは、標準的で
月並なものなので、これらの質問に対して、複雑で長時
間を要するエキスパート・システムを介入させること
は、経済的な方法ではない。
例えば、記憶装置の記憶容量とか、テープ駆動装置の
接続台数とか、直接アクセス型ストレージ装置(Direct
access storage device−DASD)の性能などの多数のフ
イーチヤを選択して、IBM9370型コンピユータ・システ
ムを購入することが出来る。事実、この型のコンピユー
タ・システムは、9370情報システムとして、20億種類以
上のフイーチヤの組合せが可能である。9370情報システ
ムのこの膨大な種々の構成は、有効な構成、−−換言す
れば、この9370情報システムの製造者によつて決められ
たある種のルール、または制限を犯すことなく形成する
ことの出来る構成−−のすべてを含んだデータベースの
開発を妨げている。
この問題を解決するために、そして、コンピユータ・
システムの需要者が要求したマシン構成に基づいて、1
つの完成されたシステムを創作するためのエキスパート
・システムが開発されている。エキスパート・システム
内にあり、コンピユータ・システムの構成を算出する構
成決定手段(configulator)は、需要者が構成の一部と
して実際に特定したフイーチヤにより示唆されたフイー
チヤを、意図しているコンピユータ・システムの1つの
構成としてシステムに加える。例えば、エキスパート・
システムの構成決定手段は、需要者によつて特定された
DASD装置及びテープ駆動装置を制御するために必要とす
る数のDASD/テープ制御用カードをシステムの構成に加
える。また、構成決定手段は、プロセツサとか、DASD装
置とか、テープ装置などを物理的に収納するのに必要と
する数のラツク(架台)をシステム構成に加える。これ
らをさらに具体化するために、構成決定手段は、カード
収容架に各カードを装着する位置、及びラツク内にプロ
セツサなどの各装置を設置する場所を決める。これは、
何個のカード収容架が必要であるか、そして、何個のラ
ツクが必要であるかを決めるために必要なことである。
また、構成決定手段は、そのシステムが製造可能である
ことを確認するために、最終的に構成されたシステム全
体が、決められた制限値を越えていないか否かもチエツ
クする。
多くの9370システムが標準的なシステム、または共通
的なシステムになつて来たので、エキスパート・システ
ムが処理する質問をこれらの標準化された通常のシステ
ムによつて処理させて、エキスパート・システムの介入
を必要としないようにしたならば、相当な時間と、費用
の節約が出来る。
これを達成する1つの方法は、入手可能なシステムに
関する複数のレコードを貯蔵しているテーブル(表)を
持つ通常の補助データベースを有するシステムを準備
し、ユーザからの要求に関するレコードが、補助データ
ベース中に存在するか否かを検索する事前処理を行つ
て、ユーザからの要求の予備処理をすることである。若
し、同じレコードが、補助データベース・テーブル中に
検出されたとすれば、これは、要求された構成が有効な
構成であることを意味するが、若し、補助データベース
・テーブルに同じレコードがなければ、エキスパート・
システムが、その要求に回答を与えるために介入され
る。
通常、データベース・テーブルは一連の行(row)と
列(column)を持つている。データベースの各行は、固
定長であつて、関連する1つのレコードに対するデータ
項目(data item)を保持し、そしてデータベースの各
列は、パラメータの種類(family)のうちの関連する1
つのパラメータのための固有値を保持するための役目を
持つている。然しながら、通常のデータベース管理シス
テムにより画定することのできるテーブルの行数は制限
されており、また、そのデータベース・テーブルは、パ
ラメータの種類が多種類に及ぶある種のエキスパート・
システムの要求レコードに適合する能力を持つていな
い。
C.発明が解決しようとする問題点 本発明の目的は、データベース・テーブルを使つて検
索をするための技術を改良すること、及びデータベース
・テーブルのデザインを改良することにある。
本発明の他の目的は、エキスパート・システムに関し
て、補助的な回答の検索に特に適したデータベース・テ
ーブルを提供することにある。
本発明の他の目的は、どんな大きさの列数の定義にも
適合することの出来るデータベース・テーブル構造を提
供することにある。
D.問題点を解決するための手段 通常のデータベース・テーブルは、複数の行(row)
と、複数の列(column)、即ち欄(以下、欄という)と
を含み、複数個のレコードを保持している。各レコード
は通常のデータベース・テーブルの欄中に保持されてい
る複数個のデータ項目を含んでいる。本発明の新規なデ
ータベース・テーブルは、複数個の行と、少なくとも3
つの欄、好ましくは4つの欄とを有し、実施例に示した
このデータベース・テーブルの欄は、「レコード番号」
と言う名前と、「名称」と言う名前と、「データのタイ
プ」と言う名前と「固有値」と言う名前が付けられてい
る。本発明は、月並な通常のテーブルの中の各データ項
目を、この新規なデータベース・テーブルの「固有値」
の欄に転送するために、データ値転送手段が設けられ
る。更に、本発明は、この新規なテーブルの「名称」の
欄の各行中の標識を同定(identify)するための欄同定
手段が設けられており、同定される標識は、上記通常の
テーブルの行にある名称とか、名前などの標識であつ
て、「名称」の欄のその行と対応する、「固有値」の欄
の行中のデータによつて同定される。更に、本発明は、
この新規なテーブルの「レコード番号」の欄の各行の標
識を同定するためのレコード同定手段が設けられてお
り、同定される標識は、上記通常のテーブルの行にある
レコード番号などの標識であつて、「レコード番号」の
欄のその行と対応する、「固有値」欄の行中のデータに
よつて同定される。
また、本発明は、複数個のパラメータと、それらのパ
ラメータに関連する夫々の固有値とを含む「与えられた
レコード」(要求、または質問に含まれているレコー
ド)を、この新規なデータベース・テーブルに対して検
索するための方法を提供する。この方法は、与えられた
レコードについてデータベース・テーブルを検索するス
テツプと、与えられたレコードの第1のパラメータと同
じパラメータを有するレコードと、その第1のパラメー
タのための固有値と同じ固有値を有するレコード番号の
リストを、メモリの中に記憶させるステツプを含んでい
る。更に、本発明の方法は、与えられたレコードの次の
各パラメータに対して、(1)与えられたレコードの上
記次のパラメータと同じパラメータを持たないレコード
のレコード番号と、(2)上記次のパラメータと同じパ
ラメータを持つているが、上記次のパラメータの固有値
とは異なつた固有値を持つているレコードのレコード番
号とを削除するステツプを含んでいる。更に、本発明の
方法は、与えられたレコード中のパラメータだけを持つ
レコードについて、メモリ中にリストされたレコードを
検索するステツプを含んでおり、これにより検出された
レコードは、与えられたレコードと同じレコードとして
同定される。
E.実施例 第1図及び第2図を参照して、第1のデータベース・
テーブル12から第2のデータベース・テーブル14へデー
タ項目(data item)を転送するためのシステム10及び
その方法を以下に説明する。第1のテーブル12は、複数
個の行(row)と欄(column)を有し、各欄は、例えば
装置の名称のような適当な名前を付けることによつて同
定され、各行は特定の数字を付すことによつて同定され
る。テーブル12の各行は、レコードと称される一組のデ
ータ項目を含み、テーブル12の各レコードは、例えばそ
のレコードを形成するデータの行を示す数字などのよう
な適当な標識によつて同定される。このために、テーブ
ル12の行は、1から始まる連続番号が付されている。第
2のテーブル14は、複数個の行と、少なくとも3つの
欄、好ましくは4つの欄を持ち、そしてデータベース・
テーブル14の各欄は、「レコード番号」の欄、「名称」
の欄、「データのタイプ」の欄及び「固有値」の欄と名
付けられている。
テーブル12中の各データ項目をテーブル14の「固有
値」の欄に転送するために、データ値転送手段16が設け
られている。通常、テーブル12の各行中のデータは、テ
ーブル14の「固有値」の欄の相次ぐ行に転送され、そし
てテーブル12の連続する行からのデータは、テーブル14
の「固有値」欄中の連続する一連の行に転送される。例
えば、テーブル12の第1の行中の6個のデータ項目は、
テーブル14の「固有値」欄の夫々第1行乃至第6行に転
送され、そして、テーブル12の第2行の6個のデータ項
目は、テーブル14の「固有値」欄の夫々第7行乃至第12
行に転送される。テーブル12の第3行中の6個のデータ
項目は、テーブル14の夫々第13行乃至第18行に転送さ
れ、そしてテーブル12内の残りのデータ項目は、同じよ
うに、テーブル14の「固有値」欄内に転送される。
データベース・テーブルの個々の欄の全てのデータ項
目を、例えば英数字式、または全数字式の単一のフオー
マツトで表示させたいことがしばしば生ずる。この要求
を満たすために、データ項目がテーブル12からデータベ
ース・テーブル14に転送されるとき、データ項目を、英
数字式、または、全数字式のフオーマツトを持つコード
に変換して、データ転送手段16がこれを使用することが
出来るようにすることが好ましい。このようにすれば、
データベース・テーブル14の「データのタイプ」欄の各
行と、「データのタイプ」欄のその行に対応する「固有
値」欄の行中に貯蔵されているデータ項目の元のフオー
マツト(テーブル12のフオーマツト)とを同定するため
に、データ値の転送手段を使用することも出来る。例え
ば、テーブル14の「固有値」欄の第1行、第7行及び第
13行中のデータ項目は、テーブル12において英数字フオ
ーマツトで記憶されているので、テーブル14の「データ
のタイプ」欄の第1行、第7行及び第13行中に、C
(3)が置かれ、そして、データベース14の「固有値」
欄の第5行、第11行及び第17行中のデータ項目は、テー
ブル12において数字フオーマツトで記憶されているの
で、テーブル14の「データのタイプ」欄の第5行、第11
行及び第17行に、D(2)が置かれる。このような方法
で、データベース・テーブル14中のデータ項目は、それ
らの元のコード及びフオーマツトに復帰させることが出
来るし、必要に応じて、例えば、これらのデータ項目を
計算に使うことを可能とする。
テーブル14の「名称」の欄の各行と、その行と対応す
る「固有値」欄内の行のデータ項目が取り出されたテー
ブル12の名称又は名前の欄とを同定するための欄同定手
段18が設けられている。例えば、テーブル14の第1行の
「固有値」欄中のデータ項目Proc10は、テーブル12の
「マシン」欄から取り出されたので、テーブル14の第1
行の「名称」欄の中に、名称「マシン」が置かれ、そし
て、テーブル14の第2行の「固有値」欄中のデータ項目
9373−20は、テーブル12の「モデル」欄から取り出され
たので、テーブル14の第2行の「名称」の欄の中に、名
称「モデル」が置かれる。
同様な理由で、名称、「メモリ」、「DASD」、「テー
プ駆動装置」及び「ラツクの寸法」は、夫々テーブル14
の「名称」の欄の第3行乃至第6行に置かれる。名称、
「マシン」、「モデル」、「メモリ」、「DASD」、「テ
ープ駆動装置」及び「ラツクの寸法」は、テーブル14の
「固有値」欄の第7行乃至第12行中のデータ項目が、テ
ーブル12の「マシン」、「モデル」、「メモリ」、「DA
SD」、「テープ駆動装置」及び「ラツクの寸法」から夫
々取り出されているので、データベース・テーブル14の
「名称」の欄の第7行乃至第12行に反復して置かれる。
テーブル14の「レコード番号」の欄の各行と、その行
と対応する「固有値」欄内の行のデータ項目が取り出さ
れたテーブル12の行番号、即ちレコード番号とを同定す
るためのレコード同定手段20が設けられている。例え
ば、テーブル14の「固有値」欄の第1行乃至第6行の各
データ項目は、テーブル12の第1行から取り出されたの
で、番号「1」が、テーブル14の「レコード番号」の欄
の第1行乃至第6行の中に置かれ、そして、テーブル14
の「固有値」欄中の第7行乃至第12行のデータ項目は、
テーブル12の第2行から取り出されたので、テーブル14
の「レコード番号」の欄の第7行乃至第12行中に、番号
「2」が置かれる。同様な理由で、番号「3」がテーブ
ル14の「レコード番号」の欄の第13行乃至第18行に置か
れ、番号「4」がこのテーブルの「レコード番号」の欄
の第19行乃至第24行に置かれ、そして番号「5」がテー
ブル14の「レコード番号」の欄の第25行乃至第30行に置
かれる。
第2図を参照すると、データベース・テーブル12から
データベース・テーブル14へデータを転送するためのプ
ログラムを説明するためのブロツク図が示されており、
このプログラムは3つの変数k、n及びmと、2つの定
数M及びNとを含んでいる。kは、テーブル12からテー
ブル14へ転送されるデータ項目の数を追跡するために内
部で計数する可変数であり、そしてm及びnは、テーブ
ル12からテーブル14へ転送されるテーブル12中のデータ
項目の欄及び行の数を追跡する内部の可変数である。M
及びNは外部から設定する一定数であつて、テーブル12
中の欄の合計数及び行の合計数に等しい。
第2図に示されたプログラムのステツプ101、102及び
103において、k、n及びmは、夫々1にセツトされ、
次に、ステツプ104において、テーブル12中の第n行、
第m欄中のデータ項目は、テーブル14の「固有値」欄の
第k行に転送される。この処理が行われるとき、若し、
データ項目が一つのコードから他のコードに変換される
ものとすれば、テーブル12中のデータ項目の元のフオー
マツトは、テーブル14の「データのタイプ」の欄で同定
することが出来るし、データ項目は元のフオーマツトに
変換し戻すことが出来る。次に、ステツプ105におい
て、テーブル12の名称の欄の第m欄がテーブル14の「名
称」の欄の第k行に置かれ、ステツプ106において、第
n行はこのテーブルの「レコード番号」の欄の第k行に
置かれる。次に、ステツプ107において、数値mと数値
Mとを比較し、若し数値mと数値Mが等しくなければ、
ステツプ108及び109においてm及びkに夫々1を加算し
て、ステツプ104に循環される。数値mがMに等しくな
るまで、増加されて行くmの値に対して、ステツプ104
乃至109の動作が繰返される。mがMと等しくなつたと
き、プログラムはステツプ107からステツプ110に移動し
て、数値nとNとを比較する。若しnとNとが等しくな
ければ、ステツプ111において、mは1にリセツトさ
れ、n及びkは、ステツプ112及び113において、1が加
算され、そして、プログラムはステツプ104に循環し戻
される。新しいmの値がnMに等しくなるまで、この新し
いnの値に対してステツプ104乃至109が繰返され、そし
て、mがMに等しくなつたとき、n及びkは再度1が加
算され、mは1に再度リセツトされる。このプロシージ
ヤは、nがNに等しくなるまで、続けられ、nとNとの
比較で両者が等しくなつたとき、プログラムは終了す
る。
上述のプログラムによつて、データベース・テーブル
12のデータ項目は、一時に1つの行、即ち1つのレコー
ドを、データベース・テーブル14に転送する。テーブル
12の各行において、その行に隣接する欄のデータ項目
は、テーブル14の「固有値」欄中で連続する行に転送さ
れ、そして、テーブル12で連続する行中のデータ項目は
テーブル14中の連続する行の組、即ち行のグループに転
送される。
第3図は、与えられたレコードに対してデータベース
・テーブル14を検索するためのシステムを示している。
このシステムにおいて、「与えられたレコード」と称さ
れるレコードを含む要求を受取るための入力手段22が設
けられ、与えられたレコードは、パラメータの所定の集
合(family)から取り出された複数個のパラメータと、
各パラメータのための固有値とを含んでいる。然しなが
ら、与えられたレコードは、パラメータの所定の集合の
中のすべてのパラメータを含む必要はない。与えられた
レコードの複数のパラメータのうちの第1のパラメータ
と同じパラメータを持ち且つ、第1のパラメータの固有
値と同じ固有値を持つレコードのレコード番号につい
て、テーブル14を検索するための検索手段が設けられて
いる。若し、そのようなレコードがテーブル14に貯蔵さ
れていれば、検索手段は、それらのレコード番号を取り
出して、それらをメモリ26中に記憶させる。後続する各
パラメータに対して、検索手段24は、データベース14を
通じて、与えられたレコードの他のパラメータと同じパ
ラメータを持ち且つ、上記の他のパラメータの固有値と
同じ固有値を持つレコードのレコード番号を検索し、そ
して、第1に、上記の他のパラメータを持つていないレ
コード番号と、第2に、上記の他のパラメータと同じパ
ラメータは持つているが、与えられたレコードの上記の
他のパラメータの固有値とは異なつた固有値を持つてい
るレコードのレコード番号とを、そのリストから削除す
ることによつて、メモリ26中のレコード番号のリストが
修正される。
メモリ26中の一部のレコード番号の削除、または全部
のレコード番号の削除、即ち消去動作は、夫々TEMP−
A、TEMP−B及びTEMP−Cと呼ばれるメモリ部分26a、2
6b、26cによつて行われる。より特定して言えば、与え
られたレコードの第1のパラメータと、与えられたレコ
ードのそのパラメータの固有値と同じ固有値との両方を
持つレコードのレコード番号はTEMP−Aに記憶される。
第1のパラメータを持ち且つ、そのパラメータの固有値
と同じ固有値を持つレコードと、データベース14のすべ
てのレコードとの間の検索が行われた後、検索手段24
は、与えられたレコードの第2のパラメータと同じパラ
メータを持ち且つ、第2のパラメータの固有値と同じ固
有値を持つレコードのレコード番号について、データベ
ース・テーブル14を検索し、そして取り出された後者の
レコード番号を、メモリ部分TEMP−Bに記憶する。デー
タベース14に対するこの第2の検索が終了した後、比較
器30がTEMP−Aに記憶されているレコード番号と、TEMP
−Bに記憶されているレコード番号とを比較し、TEMP−
A及びTEMP−Bの両方にあるレコード番号を第3のメモ
リ部分TEMP−C中にリストする。この動作の後、転送手
段32は、メモリ部分TEMP−A中のレコード番号のリスト
を消去し、そしてメモリ部分TEMP−C中に形成されたレ
コード番号のリストを、TEMP−Aのそのメモリ部分に転
送する。このプロシージヤは、与えられたレコードの最
後のパラメータまでを含めて、与えられたレコードのす
べてのパラメータについて繰返される。
与えられたレコード中の最後のパラメータまで、上記
のプロシージヤが繰返されるが、ただし、TEMP−Cに形
成されたリストをTEMP−Aに転送する必要はない。何故
ならば、この時点において、TEMP−C中に形成されたリ
ストは、与えられたレコードのすべてのパラメータと、
これらのパラメータのための関連する固有値とを持ち、
テーブル14中のすべてのレコードに対して検索が行われ
た完全なリストであるからである。
メモリ中にリストされたこれらのレコードの一部、ま
たは全部のレコードは、与えられたレコード中に含まれ
ていないパラメータを含んでいるかもしれない。テーブ
ル14のレコードが、与えられたレコードと完全に一致し
ているか否かを決めるために、与えられたレコードには
無いパラメータを持つレコードに関して、TEMP−C内に
リストされたレコードを検索する必要がある。第1及び
第2の順序付け手段34及び36と、第1及び第2のアレー
38及び40と、比較器42とがこの機能を遂行する。
第1の順序付け手段は、与えられたレコードのパラメ
ータを、アレーAと呼ばれる第1のアレー中に所定の順
序で配列し、第2の順序付け手段は、TEMP−Cにリスト
された第1のレコードのパラメータを、アレーBと呼ば
れる第2のアレー中に同じ所定の順序で配列し、そし
て、比較器42において、上記の所定の順序で第1のアレ
ーと第2のアレーとを比較する。若しこれら2つのアレ
ーの内容が違つていれば、アレーAは消去され、第2の
順序付け手段が、TEMP−C中にリストされた次のレコー
ドのパラメータを新しいアレーB中に配置し、そして比
較器42でこのアレーA及びアレーBの内容を比較する。
このプロシージヤは、アレーBがアレーAと同じである
ことが検出されるか、または、メモリ部分TEMP−C中に
リストされたすべてのレコードを検索して、与えられた
レコードと同じものがないことを見出すまで、メモリの
部分、TEMP−C中にリストされた一連のレコードの夫々
について繰返される。
アレーAは、一連の連続する行を持ち、与えられたレ
コードのパラメータは、1行に1個のパラメータの割合
でアルフアベツト順に並べられていることが望ましい。
同様に、アレーBは一連の連続する行を持ち、そこに記
憶されたパラメータは、1行に1個のパラメータの割合
でアルフアベツト順に並べられていることが望ましい。
この配列によつて、2つのアレーの対応する行中のパラ
メータを比較することによつて、2つのアレーを比較す
ることが出来る。そして、アレーBの或る行のパラメー
タが、アレーAの同じ行のパラメータと異なつているこ
とが検出されたとき、その特定のアレーBとアレーAと
の比較動作は終了される。また、特定のアレーBの各行
のパラメータが、アレーAの同じ各行中のパラメータと
同じであることが見出されたとき、与えられたレコード
と同一レコードの検索動作それ自身が終了する。
第4図は、データベース14を検索することによつて、
与えられたレコードと同じレコードを見出すためのプロ
シージヤを示す流れ図の前半部分を示す図である。この
プロシージヤの流れ図の前半部分は、2つの変数k及び
Kを含んでいる。変数Kは与えられたレコード中のパラ
メータの合計数と同じ数の内部でセツトされる変数であ
り、変数kは、データベース14に対して検索されたパラ
メータの数を追跡するために内部的に計数される変数で
ある。
ステツプ201において、与えられたレコードのパラメ
ータは、例えば第3図に示されたように、各行が、関連
する1つのパラメータと、そのパラメータのための固有
値とを持つ行のアレー(配列)に配置される。ステツプ
202において、Kはアレー中の行の数に等しい値にセツ
トされる。次に、ステツプ203において、与えられたレ
コードの第1行中のパラメータと同じパラメータを持ち
且つ、そのパラメータの固有値と同じ固有値を持つレコ
ードについて、テーブル14を検索し、そして、一致した
レコードのレコード番号をTEMP−Aに記憶させる。次
に、ステツプ204において、kを1にセツトし、次にス
テツプ205において、kに1が加算される。ステツプ206
において、与えられたレコードにより形成したアレーの
第k行中のパラメータと同じパラメータを持ち且つ、そ
のパラメータの固有値と同じ固有値を持つレコードにつ
いて、テーブル14を検索し、そして、一致したすべての
レコードのレコード番号をTEMP−Bに記憶させる。
この動作の後、ステツプ207において、TEMP−B中の
リストはTEMP−A中のリストと比較され、両方のリスト
にあるレコード番号はTEMP−Cに記憶される。ステツプ
208において、kとKが比較され、若しkがKと同じで
なければ、TEMP−A中のリストは、ステツプ209におい
て消去され、TEMP−C中のリストは、ステツプ210にお
いて、TEMP−Aに転送され、そしてステツプ211におい
て、TEMP−B及びTEMP−Cは消去される。プロシージヤ
はステツプ205に循環され、そして、kがKに等しくな
るまで、ステツプ205乃至210が反復される。kがKに等
しくなつたとき、ステツプ206、207及び208は、最後の
一度が反復され、ステツプ208の後に、プロシージヤは
第5図に示された後半部分の流れ図に移る。この時点に
おいて、テーブル14を検索する第1の径路が完了し、そ
して、TEMP−Cは、与えられたレコードのすべてのパラ
メータと、それらに関連するすべての固有値とを持つレ
コードであつて、テーブル14中のレコードと対応するレ
コード番号のリストを含んでいる。
既に述べたように、TEMP−C中にリストされた、これ
らのレコードの大部分、又はすべてのレコードは、与え
られたレコードの種類に含まれていないパラメータを持
つているかも知れない可能性がある。第5図は、与えら
れたレコードが、TEMP−C中にリストされたレコードと
完全に一致するか否かを検索するためのプロシージヤを
説明するための図である。
第5図に示した流れ図は、4つの変数m、n、M及び
Nを含んでいる。テーブル14を検索することによつて、
上述の第1の径路が完了した後、Mは、TEMP−C中にリ
ストされたレコードの数と等しい数にセツトされる数値
であり、そして、mは、与えられたレコードに対して比
較されたレコードの数を追跡するための数値である。N
は、任意の特定の時間において考慮されているTEMP−C
中にリストされたレコード中のパラメータの合計数に等
しい数値であり、nは、与えられたレコードによつて検
索されてしまつたレコード中のパラメータの数を追跡す
る数値である。
ステツプ212において、mは1にセツトされ、次にス
テツプ213において、Mは、TEMP−Cにリストされたレ
コードの数と同じ数にセツトされる。ステツプ214にお
いて、与えられたレコードのパラメータは、アレーAと
呼ばれる行のアレー中でアルフアベツト順に並べられ、
そして、ステツプ215において、TEMP−C中にリストさ
れている第1のレコードのパラメータは、アレーBと呼
ばれる第2の行のアレー中でアルフアベツト順に並べら
れる。Nは、ステツプ216において、アレーB中の行の
数と同じ数にセツトされ、そして、nは、ステツプ217
において、1にセツトされる。次に、ステツプ218にお
いて、アレーAの第n行がアレーBの第m行と比較され
る。若しこれら2つの行がNと同じでなければ、プログ
ラムは、ステツプ220において、nに1を加えて、ステ
ツプ218へ循環される。ステツプ218、219及び220は、ア
レーAの行がアレーBの行と同じになるまで、繰返され
る。若し、nがNに等しくなつたならば、これは、アレ
ーBのすべての行が、アレーAの行と比較されたことを
示し、そして一対一の照合がアレーの行の間で遂行され
たことになる。アレーBを形成するのに使われたテーブ
ル14中のレコードは、与えられたレコードと同一であ
り、このことは、与えられたレコードとテーブル14のレ
コードとが完全に一致していることを表している。
若し、アレーA及びアレーBの比較動作間で、後者の
アレーの行中のパラメータが、前者のアレーの同じ行の
パラメータと相異していることが検出されると、第5図
に示した流れ図は、ステツプ221に移動して、mとMが
比較される。若しmがMと等しくなければ、mに1が加
算され、ステツプ223において、アレーBが消去され、
そしてステツプ224において、TEMP−C中にリストされ
ている次のレコードのパラメータが、アレーBの中でア
ルフアベツト順に並べられる。次に、プログラムは、ス
テツプ216において、循環され、Nは、新しいアレーB
中の行の数に等しい数値にセツトされ、nは、1にリセ
ツトされ、そして、プログラムは、ステツプ217乃至221
を通じて、一度に一行の割合で、アレーBとアレーAを
比較する。ステツプ221において、若しmとMと同じで
あれば、これは、TEMP−C中にリストされたすべてのレ
コードが比較されたことと、一致がなかつたこととを表
示し、そして、このことをユーザに知らせる。
この道の専門家には既に明らかなように、本発明のデ
ータベース・テーブル14は、可変長レコードを検索する
のに、好適であることが解る。テーブル14のフオーマツ
トは、一定数に固定した行数を、各レコードに対して割
当てる必要はない。対照的に、テーブル12のフオーマツ
トは、沢山の欄が多くのレコードに使われることは無い
けれども、一定数の欄を、各レコードに対して割当てな
ければならない。本発明のデータベース・テーブルによ
ると、新しいレコードはデータベース・テーブル14に連
続して付加することが出来、そして、新しいレコード
が、以前に貯蔵された最も長いレコードを越えたとして
も、以前に貯蔵されたレコードの欄の長さ、または行の
長さを調節する必要はない。更に、テーブル14中に貯蔵
されているレコードのデータ項目の数とは無関係に、こ
のデータベースの欄の数は一定である。
データベース・テーブル14は、多数のパラメータを含
む要求に回答を与えるのに設計された或る種のエキスパ
ート・システムに含まれる問題解決を援助するのに特に
効果的である。第6図は、エキスパート・システム52
と、データベース・テーブル14を含む補助データベース
54とを有する中央処理装置51を持つ本発明の知識システ
ム50を示している。通常、この知識システムは、複数の
要求に対して回答を与え、各要求は、パラメータの所定
の種類から取り出された複数個のパラメータと、これら
のパラメータに対する複数個の固有値とを含むレコード
を持つている。エキスパート・システムは、与えられた
プログラムに従つて、特定の要求のレコードを処理し、
その要求に対して回答を与え、そして、補助データベー
スは、既知の回答を持つ複数個の要求のレコードを記憶
しており、ユーザからのすべての要求は、その要求のレ
コードと同じレコードが存在するか否かに関して、補助
データベースによつて事前に予備的処理が行われる。若
し、同じ要求が補助データベース中に存在することが分
れば、その同一のレコードを持つ要求に対する回答がユ
ーザに与えられ、エキスパート・システムが、ユーザか
らのその要求の処理に介入するのを避けて、エキスパー
ト・システムの使用に伴う時間と費用とを節約する。然
しながら、同じレコードが補助データベースに見出され
ない場合は、エキスパート・システムはその要求に対し
て介入することになる。
補助データベース54は、エキスパート・システム52か
ら新しいレコードを追加することによつて、常に更新さ
れる能力を備えていることが望ましい。ある特定のレコ
ードを有する要求が、補助データベースには見出されな
いので、要求に対する回答を与えるためエキスパート・
システムが介入した場合、その要求レコードと同一であ
つても同一でなくとも、この回答のレコードは、この能
力によつて、補助データベースに追加される。このよう
にして、追加されたレコードと同じレコードを持つ要求
が後日行われた場合、その要求に対して、エキスパート
・システムが介入するのを回避する。
例えば、システム50は、要求されたマシン構成が有効
なものか否かを決めること、即ち要求されたマシン構成
が、製造者によつて設定されたルールまたは制限に全く
違背しないで構成出来るか否かを決めることに使用する
ことが出来る。この場合、与えられたパラメータの種類
は、選択可能なすべてのフイーチヤ及びその選択に関連
するパラメータや、基本的なマシンのマシン番号又はマ
シン名とかモデル名またはモデル番号を同定するパラメ
ータとか、基本的モデル名またはモデル番号を同定する
パラメータを含んでおり、また、そのパラメータのため
の固有値は、そのパラメータに関して特別の選択性を持
たせる。特定の要求のレコードが、これらの貯蔵された
レコードの1つと同じマシン名またはマシン番号、モデ
ル名を含んでおり、同じレコードが補助データベース中
に貯蔵されているという事実は、要求されたマシンまた
はマシン構成が有効であることを意味し、従つて、エキ
スパート・システムを介入させる必要がない。あるマシ
ン構成についての要求が出され、そのマシン構成に関す
るレコードが補助データベースに存在しないので、エキ
スパート・システムが介入して、その要求のマシン構成
を成功裡に計算した場合、補助データベースを常に更新
させる能力によつて、この計算されたマシン構成のレコ
ードを補助データベースに追加することが出来、これに
より、エキスパート・システムが再度、このマシン構成
を計算するのに使われるのを回避することが出来る。
より具体的な態様として、システム10は、特定のIBM
コンピユータ・システムを構成するのに用いることが出
来、この場合、マシンのレコードのパラメータは、マシ
ン、モデル、メモリ容量、DASD、テープ駆動装置及びラ
ツクの寸法のような項目を含ませる。図示の例による
と、プロセツサ10、プロセツサ11、プロセツサ12及びプ
ロセツサ14の4つのマシン・タイプがあり、それらの各
マシンに対して1つのモデルがあり、即ち、プロセツサ
10にはモデル番号9373−20があり、プロセツサ11にはモ
デル番号9373−40があり、プロセツサ12にはモデル番号
9373−60があり、プロセツサ14にはモデル番号9373−90
がある。メモリ容量には、4メガバイト、8メガバイ
ト、及び16メガバイトがあり、DASDは2つのタイプDASD
−A及びDASD−Bがある。ラツクの大きさは1.6メート
ルと、1.3メートルの寸法がある。
IBM9370コンピユータ・システムのためのレコードは
次のようなデータを含む。
マシン: Proc10 モデル: 9373 メモリ: 8メガバイト DASD−A 2台 DASD−B 13台 : : : : テープ駆動装置 2台 ラツクの寸法 1.6メートル 広く用いられている標準的な幾つかの構成の1組の完
全なレコードは、補助データベースに貯蔵させておくこ
とが出来、そして、これらの貯蔵されたレコードの1つ
に同じレコードを持つ要求がなされたとき、補助データ
ベースに同じレコードが貯蔵されているという事実は、
要求されたマシン、またはシステム構成が有効であるこ
とを意味するから、エキスパート・システムを介入させ
る必要はない。あるマシン構成についての要求が出さ
れ、そのマシン構成に関するレコードが補助データベー
スに存在しないので、エキスパート・システムが介入し
て、その要求のマシン構成を成功裡に計算した場合、補
助データベースを常に更新させる能力によつて、この計
算されたマシン構成のレコードを補助データベースに追
加することが出来、これにより、エキスパート・システ
ムが再度、このマシン構成を計算するのに使われるのを
回避することが出来る。
第7図は、検索手段56と、入力手段58と、出力手段60
と、介入手段62と、転送手段64から成る知識システム50
を示す図である。検索手段は、補助データベースに接続
されており、質問のレコードと同じレコードをデータベ
ースから検索し、若し同じレコードが検出されると、そ
の質問に対して回答を与える。入力手段は、検索手段に
接続されており、ユーザからの質問のレコードを受取
り、検索手段へそのレコードを転送する。出力手段は、
検索手段とエキスパート・システムとに接続されてお
り、検索手段またはエキスパート・システムの何れかか
ら質問に対する回答を受取り、そして質問者にその答え
を与える。
介入手段は、検索手段とエキスパート・システムとに
接続されており、補助データベース中に、質問と同じレ
コードが見出されなかつた時だけ、質問のレコードを処
理するためにエキスパート・システムに介入する。転送
手段は、補助データベースとエキスパート・システムと
に接続され、エキスパート・システムによつて処理され
発生されたすべてのレコード、または選択されたレコー
ドを、記憶装置を有する補助データベースへ転送する。
第8図は知識システム50の動作プロシージヤの1例を
説明するための流れ図である。このプロシージヤによつ
て、要求されたマシン構成のレコードが与えられ、そし
て、補助データベース中に同じレコードが有るか否かを
検索する。若し同じレコードが見出されると、要求され
たマシン構成は有効であるという回答を要求者に与え
る。若し同じレコードが補助データベースに見出されな
ければ、要求された構成に基づく有効なマシン構成を計
算するために、エキスパート・システムが介入すること
になる。若し要求されたマシン構成が計算されたなら
ば、この回答は要求者に与えられ、そして、要求された
マシン構成と同じ構成のレコードか、または要求された
マシン構成とは異つているが、計算された有効な構成の
レコードは、補助データベースに追加される。若し要求
されたマシン構成が実現不可能な構成であれば、その旨
の回答が要求者に与えられる。
第9図は知識システム50を実現するために用いられる
コンピユータ・システム66を示している。このコンピユ
ータ・システムは、月並な構成であり、それは、プロセ
ツサ及びランダムアクセス・メモリを含む中央処理装置
70と、プロセツサにより処理され、実行されるコンピユ
ータ・プログラム及びデータを記憶する1個以上のDASD
またはテープ駆動装置とで構成されている。プログラム
を実行させるために、例えばテープ駆動装置が中央処理
装置70に接続される。コンピユータ・プログラムが実行
されているときに、ユーザがコンピユータに割り込むた
めに、コンピユータ・システムは陰極線管デイスプレー
74を備えており、これにより、ユーザに中間的な結果を
示して、適当な入力手段を通じて、ユーザが必要なデー
タを入力するよう表示する。また、データを作表し、記
録するために、プリンタ78が設けられている。コンピユ
ータのメモリの一部は補助データベース54のために使わ
れる。代案として、補助データベースは、コンピユータ
の内部または外部にある別個のデータ・ストレージ装置
に記憶してもよい。
知識システム50は、特定のコンピユータ・システムの
構成を決めるために特に設計されたエキスパート・シス
テムと共に使われる場合を説明したが、既に述べたよう
に、本発明のシステムは、任意の知識システムに使うこ
とが出来る。市販されているIBM9370情報システムの特
定の構成を計算するためにIBMによつて用いられた1つ
のシステムは、ハードウエア組立て及び接続システム
(Hardware Placement and Connection System−−HP+
CS)として知られており、HONEと呼ばれる超大型システ
ムの一部であるこのシステムは、注文要求を追跡し、処
理するためにも使われている。更に、他のエキスパート
・システムの多くのタイプが、知識システムとして使用
し得ることは、当業者であれば容易に理解出来るであろ
う。例えば米国特許第4658670号は、自動車の修理に関
する質問に回答を与えるエキスパート・システムを開示
しており、米国特許第4648044号は、ワインを選択する
ためのエキスパート・システムを開示しており、知識シ
ステム50はこれら両方のエキスパート・システムに良好
に利用することが出来る。
F.発明の効果 本発明は、知識システムにおいて、質問に関するレコ
ードの検索を極めて効率的に処理することが出来る。
【図面の簡単な説明】
第1図は2つの異なつたデータベース・テーブルを示し
て、一方のデータベース・テーブルから他方のデータベ
ース・テーブルへデータを転送するシステムを説明する
図、第2図は第1図に示した一方のデータベース・テー
ブルから他方のデータベース・テーブルへデータを転送
するためのプロシージヤを説明するための図、第3図は
与えられたレコードについてデータベース・テーブルを
検索するためのシステムを説明するための図、第4図及
び第5図は第3図に示したシステムを動作するプロシー
ジヤを説明するための図、第6図は本発明の検索プロシ
ージヤを使つた知識システムを説明するための流れ図、
第7図は知識システムの詳細を説明する図、第8図は第
7図の知識システムを動作させるためのプロセスを示す
単純化した流れ図、第9図は知識システムに使用し得る
コンピユータ・システムを説明するための図である。 12、14……データベース・テーブル、16……データ値転
送手段、18……欄同定手段、20……レコード同定手段、
22……入力手段、24、56……検索手段、26……メモリ、
30、42……比較手段、32、64……転送手段、34……第1
順序付け手段、36……第2順序付け手段、38……第1ア
レー、40……第2アレー、50……知識システム、52……
エキスパート・システム、54……補助データベース、58
……入力手段、60……出力手段、62……介入手段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 クオーチヤング・サン アメリカ合衆国ニユーヨーク州エンデイ コツト、ワシントン・アヴエニユー27番 地 (56)参考文献 特開 昭62−208133(JP,A) 特開 昭59−188766(JP,A)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】各々がユニークなレコード番号で識別され
    ておりかつ所定のパラメータ集合から取られた複数のパ
    ラメータ及び各パラメータに対する固有値を持つ複数の
    レコードからなるデータベース・テーブルを有するメモ
    リ手段、中央処理ユニット並びに前記中央処理ユニット
    の接続された入出力手段を含むコンピュータシステムに
    おいて前記データベース・テーブルを検索する方法であ
    って、 (a)前記パラメータ集合から取られた複数のパラメー
    タ及び各パラメータに対する固有値を持つ与えられたレ
    コードを前記入出力手段から前記中央処理ユニットへ入
    力するステップと、 (b)前記中央処理ユニットにおいて前記与えられたレ
    コードと同一のレコードを前記データベース・テーブル
    から検索するステップとを含み、 前記検索ステップ(b)は、 (b−1)前記与えられたレコードの第1パラメータを
    持ちかつ前記第1パラメータに対する固有値と同じ固有
    値を持つすべてのレコードの番号をデータベース・テー
    ブルから検索し前記メモリ手段内の第1セクションにコ
    ンパイルして記憶するステップと、 (b−2)前記与えられたレコードのその他のパラメー
    タの各々について、前記その他のパラメータを持たない
    レコードの番号及び前記その他のパラメータを持つが前
    記その他のパラメータに対する固有値が前記与えられた
    レコードの前記その他のパラメータに対する固有値とは
    異なるレコードの番号を削除し、前記与えられたレコー
    ドの前記その他のパラメータを持ちかつ前記その他のパ
    ラメータに対する固有値と同じ固有値を持つすべてのレ
    コードの番号を前記メモリ手段内の第2セクションでコ
    ンパイルして記憶するステップと、 (b−3)前記第1及び第2メモリセクション内にリス
    トされたすべての番号を前記メモリ手段内の第3セクシ
    ョンでコンパイルして記憶するステップと、 (b−4)前記与えられたレコードのその他のパラメー
    タのうち最後から2番目までのパラメータの各々につい
    て、前記第1セクション内のリストを削除し前記第3セ
    クション内のリストを前記第1セクションに転送するス
    テップと、 (b−5)前記第3セクションにリストされているレコ
    ードのパラメータを前記与えられたレコードのパラメー
    タと比較し、前記与えられたレコード内のパラメータの
    みを持つレコードを前記メモリ・リストから検索し、か
    かるレコードが検索された場合、該レコードを前記与え
    られたレコードと同一のレコードとして前記入出力手段
    に出力するステップとを含むことを特徴とする、 データベース・テーブルを検索する方法。
JP63177271A 1987-10-01 1988-07-18 デ―タベ―ス・テ―ブルを検索する方法 Expired - Lifetime JP2520941B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10380987A 1987-10-01 1987-10-01
US103809 1987-10-01

Publications (2)

Publication Number Publication Date
JPH0196728A JPH0196728A (ja) 1989-04-14
JP2520941B2 true JP2520941B2 (ja) 1996-07-31

Family

ID=22297142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63177271A Expired - Lifetime JP2520941B2 (ja) 1987-10-01 1988-07-18 デ―タベ―ス・テ―ブルを検索する方法

Country Status (2)

Country Link
EP (1) EP0309798A3 (ja)
JP (1) JP2520941B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0523269A1 (de) * 1991-07-18 1993-01-20 International Business Machines Corporation Computersystem zur Datenverwaltung
JP3655177B2 (ja) * 2000-07-19 2005-06-02 大日本印刷株式会社 商品情報データベースシステム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59188766A (ja) * 1983-04-11 1984-10-26 Nec Corp デ−タベ−ス検索処理装置
JPS62208133A (ja) * 1986-03-10 1987-09-12 Shigeo Ishii 推論方式

Also Published As

Publication number Publication date
JPH0196728A (ja) 1989-04-14
EP0309798A3 (en) 1992-11-19
EP0309798A2 (en) 1989-04-05

Similar Documents

Publication Publication Date Title
JP2589777B2 (ja) 知識システム
KR940003700B1 (ko) 검색방법 및 그 장치
JP2845392B2 (ja) ファイル検索方法及び装置
JPS5846742B2 (ja) 対話式デ−タ検索装置
JPS5892035A (ja) デ−タベ−ス処理方式
US5819254A (en) Method of transferring data between relational database tables
KR102102307B1 (ko) 다수의 스토리지를 갖는 데이터베이스 관리시스템에서 블룸필터를 이용한 벡터화 기반의 스토리지 탐색 방법
US20040122868A1 (en) System and method for identifying and maintaining base table data blocks requiring deferred incremental integrity maintenance
US5072367A (en) System using two passes searching to locate record having only parameters and corresponding values of an input record
EP0037264B1 (en) Associative memory system
US11914740B2 (en) Data generalization apparatus, data generalization method, and program
JP2520941B2 (ja) デ―タベ―ス・テ―ブルを検索する方法
CN101458696A (zh) 检索装置、检索方法和检索程序
JP2519245B2 (ja) 情報検索装置
US6311188B1 (en) Method and apparatus for element selection exhausting an entire array
JPH0719311B2 (ja) データ処理装置
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
JP3070093B2 (ja) レコード処理装置
JPH0962697A (ja) 商品コード検索方式
JPS63239521A (ja) 磁気テ−プ装置のデ−タ処理方式
JPH04230576A (ja) 項目選択装置
KR0159814B1 (ko) 전자식 금전등록기에서의 상품관리 방법
JP2504768B2 (ja) イメ―ジ情報処理装置
JPH05128153A (ja) 情報検索装置
JPH01250169A (ja) Posシステム