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

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

Info

Publication number
JPH0196728A
JPH0196728A JP63177271A JP17727188A JPH0196728A JP H0196728 A JPH0196728 A JP H0196728A JP 63177271 A JP63177271 A JP 63177271A JP 17727188 A JP17727188 A JP 17727188A JP H0196728 A JPH0196728 A JP H0196728A
Authority
JP
Japan
Prior art keywords
record
row
column
database
parameters
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
JP63177271A
Other languages
English (en)
Other versions
JP2520941B2 (ja
Inventor
Neil H Clayton
ニール・ハリソン・クレイトン
Jose L Rivero
ホセ・ルイス・リベロ
Kuo-Chang Sun
クオーチヤング・サン
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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はデータベース・テーブル・デザイン、及び与え
られたレコードに対してデータベース・テーブルを検索
する方法、より具体的に言えば、膨大な数の変数を貯蔵
している知識システム(knowledge syst
em)において回答の検索を補充するのに特に適してい
るデータベース・テーブルを検索する方法、及びそのデ
ータベース・テーブルの設計方法に関する。
B、従来の技術 知識システムとは、知識ベースと呼ばれているデータベ
ースに記憶され、且つコード化された熟練者の知識を翻
訳することによって、人間の判断に代わる回答を得るた
めのコンピュータ・システムのことである。知識ベース
の領域、または与えられた問題の範囲が、適当な範囲で
あり、且つ適当な広さの知識が知識ベースに適切にコー
ド化されている場合には、知識システムは、熟練者の能
力とほぼ同じ回答を与えるか、または、熟練者の能力を
越えた結果を与える。このような場合、知識システムは
エキスパート・システムと称される。
エキスパート・システムは、少なくとも理論的には、医
学的診断の分野から、自動車の修理に関する質問や、在
庫調整、その他部々の相談の分野に至るまで、任意の実
際的なアプリケーション用として設計することが出来る
エキスパート・システムが持つ1つの問題は、多くの特
定な要求、即ち質問に対して、エキスパート・システム
が回答を出すまでに時間がかかり過ぎることと、経費が
かかり過ぎることである。多数の変数を含む質問に対し
て、丹念な回答を与えるためには、エキスパート・シス
テムの介入を必要とし、エキスパート・システムは、質
問に回答を与えるための相当複雑なプログラムを実行し
て、これらの変数を処理する。多くの質問、特に特殊な
質問、または複雑な質問に対して、信頼性ある回答を与
えるためには、エキスパート・システムによるこの処理
が必要である。然しながら、質問の多くは、標準的を月
並なものなので、これらの質問に対して、複雑で長時間
を要するエキスパート・システムを介入させることは、
経済的な方法ではない。
例えば、記憶装置の記憶容量とか、テープ駆動装置の接
続台数とか、直接アクセス型ストレージ装置(Dire
ct access storage device−
D A S D )の性能などの多数のフィーチャを選
択して、18M9370型コンピユータ・システムを購
入することが出来る。事実、この型のコンピュータ・シ
 ・ステムは、9370情報システムとして、20憶種
類以上のフィーチャの組合せが可能である。9370情
報システムのこの膨大な種々の構成は、有効な構成、−
一換言すれば、この9370情報システムの製造者によ
って決められたある種のルール、または制限を犯すこと
なく形成することの出来る構成−一のすべてを含んだデ
ータベースの開発を妨げている。
この問題を解決するために、そして、コンピュータ・シ
ステムの需要者が要求したマシン構成に基づいて、1つ
の完成されたシステムを創作するためのエキスパート・
システムが一発されてい゛る。
エキスパート・システム内にあり、コンピュータ・シス
テムの構成を算出する構成決定手段(configul
ator)は、需要者が構成の一部として実際に特定し
たフィーチャにより示唆されたフィーチャを、意図して
いるコンピュータ・システムの1つの構成としてシステ
ムに加える0例えば、エキスパート・システムの構成決
定手段は、需要者によって゛特定されたDASD装置及
びテープ駆動装置を制御するために必要とする数のDA
SD/テープ制御用カードをシステムの構成に加える。
また、構成決定手段は、プロセッサとか、DASD装置
とか、テープ装置などを物理的に収納するのに必要とす
る数のラック(架台)をシステム構成に加える。これら
をさらに具体化するために、構成決定手段は、カード収
容架に各カードを装着する位置、及びラック内にプロセ
ッサなどの各装置を設置する場所を決める。これは、何
個のカード収容架が必要であるか、そして、何個のラッ
クが必−であるかを決めるために必要なことである。
また、構成決定手段は、そのシステムが製造可能である
ことを確認するために、最終的に構成されたシステム全
体が、決められた制限値を越えていないか否かもチエツ
クする。
多くの9370システムが標準的なシステム、または共
通的なシステムになって来たので、エキスパート・シス
テムが処理する質問をこれらの、標準化された通常のシ
ステムによって処理させて、エキスパート・システムの
介入を必要としないようにしたならば、相当な時間と、
費用の節約が出来る。
これを達成する1つの方法は、入手可能なシステムに関
する複数のレコードを貯蔵しているテーブル(表)を持
つ通常の補助データベースを有するシステムを準備し、
ユーザからの要求に関するレコードが、補助データベー
ス中に存在するか否かを検索する事前処理を行って、ユ
ーザからの要求の予備処理をすることである。若し、同
じレコードが、補助データベース・テーブル中に検出さ
れたとすれば、これは、要求された横、成が有効な構成
であることを意味するが、若し、補助データベース・テ
ーブルに同じレコードがなければ、エキスパート・シス
テムが、その要求に回答を与えるために介入される。
通常、データベース・テーブルは=連の行(row)と
列(column)を持っている。データベースの各行
は、固定長であって、関連する1つのレコードに対する
データ項目(data 1tes+)を保持し、そして
データベースの各列は、パラメータの種類(famfl
y)のうちの開運する1つのパラメータのための固有値
を保持するための役目を持っている。然しながら、通常
のデータベース管理システムにより画定することのでき
るテーブルの行数は制限されており、また、そのデータ
ベース・テーブルは、パラメータの種類が多種類に及ぶ
ある種のエキスパート・システムの要求レコードに適合
する能力を持っていない。
C0発明が解決しようとする問題点 本発明の目的は、データベース・テーブルを使って検索
をするための技術を改良すること、及びデータベース・
テーブルのデザインを改良することにある。
本発明の他の目的は、エキスパート・システムに関して
、補助的な回答の検索に特に適したデータベース・テー
ブルを提供することにある。
本発明の他の目的は、どんな大きさの列数の定義にも適
合することの出来るデータベース・テーブル構造を提供
することにある。
D6問題点を解決するための手段 通常のデータベース・テーブルは、複数の行(row)
と、複数の列(column)、即ち欄(以下、欄とい
う)とを含み、複数個のレコードを保持している。各レ
コードは通常のデータベース・テーブルの槽中に保持さ
れている複数個のデータ項目を含んでいる0本発明の新
規なデータベース・テーブルは、複数個の行と、少なく
とも3つの欄、好ましくは4つの欄とを有し、実施例に
示したこのデータベース・テーブルの欄は、「レコード
番号」と言う名前と、「名称」と言う名前と、「データ
のタイプ」と言う名前と「固有値」と言う名前が付けら
れている0本発明は、月並な通常のテーブル中の各デー
タ項目を、との新規なデータベース・テーブルの「固有
値」の欄に転送するために、データ値転送手段が設けら
れる。更に、本発明は、この新規なテーブルの「名称」
の欄の各行中の標識を同定(identlfy)するた
めの欄同定手段が設けられており、同定される標識は、
上記通常のテーブルの行にある名称とか、名前などの標
識であって、「名称」の欄のその行と対応する、「固有
値」の欄の行中のデータによって同定される。更に、本
発明は、この新規なテーブルの「レコード番号」の欄の
各行の標識を同定するためのレコード同定手段が設けら
れており、同定される標識は、上記通常のテーブルの行
にあるレコード番号などの標識であって、「レコード番
号」の欄のその行と対応する、「固有値」欄の行中のデ
ータによって同定される。
また、本発明は、複数個のパラメータと、それらのパラ
メータに関連する夫々の固有、値とを含む「与えられた
レコード」(要求、または質問に含まれているレコード
)を、この新規なデータベース・テーブルに対して検索
するための方法を提供する。この方法は、与えられたレ
コードについてデータベース・テーブルを検索するステ
ップと、与えられたレコードの第1のパラメータと同じ
パラメータを有するレコードと、その第1のパラメータ
のための固有値と同じ固有値を有するレコード番号のリ
ストを、メモリの中に記憶させるステップを含んでいる
。更に、本発明の方法は、与えられたレコードの次の各
パラメータの対して、(1)与えられたレコードの上記
次のパラメータと同じパラメータを持たないレコードの
レコード番号と、(2)上記次のパラメータと同じパラ
メータを持っているが、上記次のパラメータの固有値と
は異なった固有値を持っているレコードのレコード番号
とを削除するステップを含んでいる。更に、本発明の方
法は、与えられたレコード中のパラメータだけを持つレ
コードについて、メモリ中にリストされたレコードを検
索するステップを含んでおり、これにより検出されたレ
コードは、与えられたレコードと同じレコードとして同
定される。
E、実施例 第1図及び第2図−を参照して、第1のデータベース・
テーブル12から第2のデータベース・テーブル14ヘ
データ項目(data Ite+s)を転送するための
システム10及びその方法を以下に説明する。
第1のテーブル12は、複数個の行(row)と欄(c
olumn)を有し、各欄は、例えば装置の名称の、よ
うな適当な名前を付けることによって同定され、各行は
特定の数字を付すことによって同定される。
テーブル12の各行は、レコードと称される一組のデー
タ項目を含み、テーブル12の各レコードは、例えばそ
のレコードを形成するデータの行を示す数字などのよう
な適当な標識によって同定される。このために、テーブ
ル12の行は、1から始まる連続番号が付されている。
第2のテーブル14は、複数個の行と、少なくとも3つ
の欄、好ましくは4つの欄を持ち、そしてデータベース
・テーブル14の各欄は、「レコード番号」の欄、「名
称」の欄、「データのタイプ」の欄及び「固有値」の欄
と名付けられている。
テーブル12中の各データ項目をテーブル14の「固有
値」の欄に転送するために、データ値転送手段16が設
けられている0通常、テーブル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行の「固有値」槽中のデー
タ項目ProclOは、テーブル12の「マシン」欄か
ら取り出されたので、テーブル14の第1行の「名称」
欄の中に、名称「マシン」が置かれ、そして、テーブル
14の第2行の「固有値」槽中のデータ項目9373−
20は、テーブル12の「モデル」欄から取り出された
ので、テーブル14の第2行の「名称」の欄の中に、名
称「モデル」が置かれる。
同様な理由で、名称、「メモリ」、rDASD」、「テ
ープ駆動装置」及び「ラックの寸法」は、夫々テーブル
14の「名称」の欄の第3行乃至第6行に置かれる0名
称、「マシン」、「モデル」、「メモリ」、rDASD
J、「テープ駆動装置」及び「ラックの寸法」は、テー
ブル14の「固有値」欄の第7行乃至第12行中のデー
タ項目が、テーブル12の「マシン」、「モデル」、「
メモリ」、rDASDJ、「テープ駆動装置」及び「ラ
ックの寸法、」から夫々取り出されているので、データ
ベース・テーブル14の「名称」の欄の第7行乃至第1
2行に反復して置かれる。 、テーブル14の「レコー
ド番号」の欄の各行と一七の行と対応する「固有値」欄
内の行のデータ項目が取り出されたテーブル12の行番
号、即ちレコード番号とを同定するためのレコード同定
手段20が設けられている0例えば、テーブル14の「
固有値」欄の第1行乃至第6行の各データ項目は、テー
ブル12の第1行から取り出されたので、番号「1」が
、テーブル14の「レコード番号」の欄の第1行乃至第
6行の中に置かれ、そして、テーブル14の「固有値」
槽中の第7行乃至第12行のデータ項目は、テーブル1
2の第2行から取り出されたので、テーブル14の「レ
コード番号」の欄の第7行乃至第12行中に、番号「2
」が置かれる。同様な理由で、番号「3」がテiプル1
4の「レコード番号」の欄の第13行乃至第18行に置
かれ、番号「4」がこのテーブルの「レコード番号」の
欄の第19行乃至第24行に置かれ、そして番号「5」
がテーブル14の「レコード番号」の欄の第13行乃至
第18行に置かれる。
第2図を参照すると、データベース・テーブル12から
データベース・テーブル14ヘデータを転送するための
プログラムを説明するためのブロック図が示されており
、このプログラムは3つの変数に、n及びmと、2つの
定数M及びNとを含んでいる。には、テーブル12から
テーブル14へ転送されるデータ項目の数を追跡するた
めに内部で計数する可変数であり、モしてm及びnは、
テーブル12からテーブル14へ転送されるテーブル1
2中のデータ項目の欄及び行の数を追跡する内部の可変
数である0M及びNは外部から設定する一定数であって
、テーブル12中の欄の合計数及び行の合計数に等しい
第2図に示されたプログラムのステップ101.102
及び103において、k%n及びmは、夫々1にセット
され、次に、ステップ104において、テーブル12中
の第n行、第m横巾のデータ項目は、テーブル14の「
固有値」欄の第に行に転送 −される、この処理が行わ
れるとき、若し、データ項目が一つのコードから他のコ
ードに変換されるものとすれば、テーブル12中のデー
タ項目の元のフォーマットは、テーブル14の「データ
のタイプ」の欄で同定することが出来るし、データ項目
は元のフォーマットに変換し戻すことが出来る。
次に、ステップ105において、テーブル12の名称の
欄の第m欄がテーブル14の「名称」の欄の第に行に置
かれ、ステップ106において、第n行はこのテーブル
の「レコード番号」の欄の第に行に置かれる0次に、ス
テップ107において、数値mと数値Mとを比較し、若
し数値mと数値Mが等しくなければ、ステップ108及
び109においてm及びkに夫々1を加算して、ステッ
プ104に循環される。数値mがMに等しくなるまで、
増加されて行くmの値に対して、ステップ104乃至1
09の動作が繰返される0mがMと等しくなったとき、
プログラムはステップ107からステップ110に移動
して、数値nとNとを比較する、若しhとNとが等しく
なければ、ステップ111において、mは1にリセット
され、n及びkは、ステップ112及び113において
、1が加算され、そして、プログラムはステップ104
に循環し戻される。新しいmの値がnMに等しくなるま
で、この新しいnの値に対してステップ104乃至10
9が繰返され、そして、mがMに等しくなったとき、n
及びkは再度1が加算され、mは1に再度リセットされ
る。このプロシージャは、nがNに等しくなるまで、続
けられ、nとNとの比較で両者が等しくなったとき、プ
ログラムは終了する。
上述のプログラムによって、データベース・テーブル1
2のデータ項目は、−時に1つの行、即ち1つのレコー
ドを、データベース・テーブル14に転送する。テーブ
ル12の各行において、その行に隣接する欄のデータ項
目は、テーブル14の「固有値」横巾で連続する行に転
送され、そして、テーブル12で連続する行中のデータ
項目はテーブル14中の連続する行の組、即ち行のクル
ープに転送される。
第3図は、与えられたレコードに対してデータベース・
テーブル14を検索するためのシステムを示している。
このシステムにおいて、「与えられたレコード」と称さ
れるレコードを含む要求を受取るための入力手段22が
設けられ、与えられたレコードは、パラメータの所定の
種類(famfly)から取り出された複数個のパラメ
ータと、各パラメータのための固有値とを含んでいる。
然しながら、与えられたレコードは、パラメータの所定
の種類の中のすべてのパラメータを含む必要はない。
与えられたレコードの複数のパラメータのうちの第1の
パラメータと同じパラメータを持ち且つ、第1のパラメ
ータの固有値と同じ固有値を持つレコードのレコード番
号について、テーブル1411r:検索するための検索
手段が設けられている。若し、そのようなレコードがテ
ーブル14に貯蔵されていれば、検索手段は、それらの
レコード番号を取り出しで、それらをメモリ26中に記
憶させる。
後続する各パラメータに対して、検索手段24は、デー
タベース14を通じて、与えられたレコードの他のパラ
メータと同じパラメータを持ち且つ、上記の他のパラメ
ータの固有値と同じ固有値を持つレコードのレコード番
号を検索し、そして、第1に、上記の他のパラメータを
持っていないレコード番号と、第2に、上記の他のパラ
メータと同じパラメータは持っているが、与えられたレ
コードの上記の他のパラメータの固有値とは異なった固
有値を持っているレコードのレコード番号とを、そのリ
ストから削除することによって、メモリ26中のレコー
ド番号のリストが修正される。
メモリ26中の一部のレコード番号の削除、または全部
のレコード番号の削除、即ち消去動作は、夫々TEMP
−A%TEMP−B及びTEMP−Cと呼ばれるメモリ
部分26a、26b、26cによって行われる。より特
定して言えば、与えられたレコードの第1のパラメータ
と、与えられたレコードのそのパラメータの固有値と同
じ固有値との両方を持つレコードのレコード番号はTE
MP−Aに記憶される。第1のパラメータを持ち且つ、
そのパラメータの固有値と同ビ固有値を持つレコードと
、データベース14のすべてのレコードとの間の検索が
行われた後、検索手段24は、与えられたレコードの第
2のパラメータと同じパラメータを持ち且つ、第2のパ
ラメータの固有値と同じ固有値を持つレコードのレコー
ド番号について、データベース・テーブル14を検索し
、そして取り出された後者のレコード番号を、メモリ部
分子BMP−Hに記憶する。データベース14に対する
この第2の検索が終了した後、比較器30がTBMP−
Aに記憶されているレコード番号と、TEMP−Hに記
憶されているレコード番号とを比較し、TEMP−A及
びTEMP−Bの両方にあるレコード番号を第3のメギ
リ部分子EMP−C中にリストする。この動作の後、転
送手段82は、メモリ部分子EMP−A中のレコード番
号のリストを消去し、そしてメモリ部分子EMP−C中
に形成されたレコード番号のリストを、TEMP−Aの
そのメモリ部分に転送する。このプロシージャは、与え
られたレコードの最後のパラメータまtを含めて、与え
られたレコードのすべての・パラメータについて繰返さ
れる。
与えられたレコード中の最後のパラメータまで、上記の
プロン−ジャが繰返されるが、ただし、TEMP−Cに
形成されたリストをTEMP−Aに転送する必要はない
、何故ならば、この時点において、TEMP−C中に形
成されたリストは、与えられたレコードのすべてのパラ
メータと、これらのパラメータのための関連する固有値
とを持ち、テーブル14中のすべてのレコードに対して
検索が行われた完全なリストであるからである。
メモリ中にリストされたこれらのレコードの一部、また
は全部のレコードは−、与えられたレコード中に含まれ
ていないパラメータを含んでいるかもしれない、−テー
ブル14のレコiドが、与えられたレコードと完全に一
致しているか否かを決めるために、与えられたレコード
には無いパラメータを持つレコードに間して、TEMP
−C内にリストされたレコードを検索する必要がある。
第1及び第2の順序付は手段84及び86と、第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と同じであることが検出されるか、または、メモリ
部分子EMP−C中にリストされたすべてのレコードを
検索して、与えられたレコードと同しものがないことを
見出すまで、メモリの部分、TEMP−C中にリストさ
れた一連のレコードの夫々について繰返される。
アレーAは、一連の連続する行を持ち、与えられたレコ
ードのパラメータは、1行に1個のパラメータの割合で
アルファベット順に並べられていることが望ましい、同
様に、アレーBは一連の連続する行を持ち、そこに記憶
されたパラメータは、1行に1個のパラメータの割合で
アルファベット順に並べられていることが望ましい、こ
の配列によって、2つのアレーの対応する行中のパラメ
ー゛ タを比較することによって、2つのアレーを比較
することが出来る。そして、アレーBの成る行のパラメ
ータが、アレーAの叩じ行のパラメータと異なっている
ことが検出されたとき、その特定のアレーBとアレーA
との比較動作は終了さhる。
また、特定のアレーBの各行のパラメータが、アレーA
の同じ各行中のパラメータと同じであることが見出され
たとき、与えられたレコードと同一レコードの検索動作
それ自身が終了する。
第4図体、データベース14を検索することによって、
与えられたレコードと同じレコード七見出すためのプロ
シージャを示す流れ図の前半部分を示す図である。この
プロシージャの流れ図の前半部分は、2つの変数に及−
びKを含んでいる。変数には与えられたレコード中のパ
ラメータの合計数と同じ数の内部でセットされる変数で
あり、変数には、データベース14に対して検索された
パラメータの数を追跡するために内部的に計数される変
数である。
ステップ201において、与えられたレコードのパラメ
ータは、例えば第8図に示されたように、各行が、間達
す金1つのパラメータと、そのパラメータのための固有
値とを持つ行−のアレー(配列)に配置される。ステッ
プ202において、Kはアレー中の行の数に等しい値に
セットされる0次に、ステップ203において、与えら
れたレコードの第1行中のパラメータと同じパラメータ
を持ち且つ、そのパ→メータの固有値と同じ固有値を持
つレコードについて、テーブル14を検索し、そして、
一致したレコードのレコード番号をTEMP−Aに記憶
させる0次に、ステップ204において、kを1にセッ
トし、次にステップ205において、kに1が加算され
る。ステップ206において、与えられたレコードによ
り形成したアレーの第に行中のパラメータと同じパラメ
ータを持ち且つ、そのパラメータの固有値と同じ固有値
を持つレコードについて、テーブル14を検索し、そし
て、−致したすべてのレコードのレコード番号をTEM
P−Hに記憶させる。
この動作の後、ステップ207において、TEMP−B
中のリストはTHMP−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図に示された後半部分の流れ図に移る。こ
の時点において、テーブル14t−検索する第1の径路
が完了し、そして、TEMP−Cは、与えられたレコー
ドのすべてのパラメータと、それらに関連するすべての
固有値とを持つレコードであって、テーブル14中のレ
コードと対応するレコード番号のリストを含んでいる。
既に述べたように、TEMP−C中にリストされた、こ
れらのレコードの大部分、又はすべてのレコードは、与
えられたレコードの種類に含まれていないパラメータを
持っているかも知れない可能性がある。第5図は、与え
られたレコードが、TEMP−C中にリストされたレコ
ードと完全に一致するか否かを検索するためのプロシー
ジャを説明するための図である。
第5図に示した流れ図は、4つの変数m、n。
M及びNを含んでいる。テーブル14を検索することに
よって、上述の第1の径路が完了した後、Mは、TEM
P−C中にリストされたレコードの数と等しい数にセッ
トされる゛数値であり、そして、mは、与えられたレコ
ードに対して比較されたレコードの数を追跡するための
数値である。Nは、任意の特定の時間において考慮され
ているTEMP−C中にリストされたレコード中のパラ
メータの合計数に等しい数値であり、nは、与えられた
レコードによって検索されてしまったレコード中のパラ
メータの数を追跡する数値である。
ステップ212において、mは1にセットされ、次にス
テップ213において、Mは、TEMP−Cにリストさ
れたレコードの数と同じ数にセットされる。ステップ2
14において、与えられたレコードのパラメータは、ア
レーAと呼ばれる行のアレー中でアルファベット順に並
べられ、そして、ステップ215において、TEMP−
C中にリストされている第1のレコードのパラメータは
、アレーBと呼ばれる第2の行のアレー中でアルファベ
ット順に並べられる。Nは、ステップ216において、
アレーB中の行の数と同じ数にセットされ、そして、n
は、ステップ217において、1にセットされる1次に
、ステップ218において、アレーAの第1行がアレー
Bの第m行と比較される。若しこれら2つの行がNと同
じでなければ、プログラムは、ステップ220において
、nに1を加えて、ステップ218へ循環される。ステ
ップ218.219及び220は、アレーAの行がアレ
ーBの行と同じになるまで、繰返される。若し、nがN
に等しくなったならば、これは、アレーBのすべての行
が、アレーAの行と比較されたことを示し、そして一対
一の照合がアレーの行の間で遂行されたことになる。ア
レーBを形成するのに使iれたテーブル14中のレコー
ドは、与えられたレコードと同一であり、このことは、
与えら   ゛れたレコードとテーブル14のレコード
とが完全に一致していることを表している。
若し、アレーA及びアレーBの比較動作量で、後者のア
レーの行中のパラメータが、前者のアレーの同じ行のパ
ラメータと相異していることが検出されると、第5図に
示した流れ図は、ステップ221に移動して、mとMが
比較される。若しmがMと等しくなければ、mに1が加
算され、ステップ223において、アレーBが消去され
、そしてステップ224において、TEMP−C中にリ
ストされている次のレコードのパラメータが、アレーB
の中でアルファベット類に並べられる0次に、プログラ
ムは、ステップ216において、循環され、Nは、新し
いアレーB中の行の数に等しい数値にセットされ、nは
、1にリセットされ、そして、プログラムは、ステップ
217乃至221を通じて、−度に一行の割合で、アレ
ーBとアレーAを比較する。ステップ221において、
若しmとMと同じであれば、これは、TEMP−C中に
リストされたすべてのレコードが比較されたことと、一
致がなかったこととを表示し、そして、このことをユー
ザに知らせる。
この道の専門家には既に明らかなように、本発明のデー
タベース・テーブル14は、可変長レコードを検索する
のに、好適であることが解る。テーブル14のフォーマ
ットは、一定数に固定した行数を、各レコードに対して
割当てる必要はない。
対照的に、テーブル12のフォーマットは、沢山の欄が
多くのレコードに使われることは無いけれども、一定数
の欄を、各レコードに対して割当てなければならない6
本発明のデータベース・テーブルによると、新しいレコ
ードはデータベース・テーブル14に連続して付加する
ことが出来、そして、新しいレコードが、以前に貯蔵さ
れた最も長いレコードを越えたとしても、以前に貯蔵さ
れたレコードの欄の長さ、または行の長さを調節する必
要はない、更に、テーブル14中に貯蔵されているレコ
ードのデータ項目の数とは無間係に、このデータベース
の欄の数は一定である。
データベース・テーブル14は、多数のパラメータを含
む要求に回答を与えるのに設計された成る種のエキスパ
ート・システムに含まれる問題解決を援助するのに特に
効果的である。第6図は、エキスパート・システム52
と、データベース・テーブル14を含む補助データベー
ス54とを有する中央処理装置51を持つ本発明の知識
システム50を示している0通常、この知識システムは
、複数の要求に対して回答を与え、各要求は、パラメー
タの所定の種類から取り出された複数個のパラメータと
、これらののパラメータに対する複数個の固有値とを含
むレコードを持っている。エキスパート・システムは、
与えられたプログラムに従って、特定の要求のレコード
を処理し、その要求に対して回答を与え、そして、補助
データベースは、既知の回答を持つ複数個の要求のレコ
ードを記憶しており、ユーザからのすべての要求は、そ
の要求のレコードと同じレコードが存在るか否かに間し
て、補助データベースによって事前に予備的処理が行わ
れる。若し、同じ要求が補助データペース中に存在する
ことが分れば、その同一のレコードを持つ要求に対する
回答がユーザに与えられ、エキスパート・システムが、
ユーザからのその要求の処理に介入するのを避けて、エ
キスパート・システムの使用に伴う時間と費用とを節約
する。然しながら、同じレコードが補助データベースに
見出されない場合は、エキスパート・システムはその要
求に対して介入することになる。
補助データベース54は、エキスパート・システム52
から新しいレコードを追加することによって、常に更新
される能力を備えていることが望ましい、ある特定のレ
コードを有する要求が、補助データベースには見出され
ないので、要求に対する回答を与えるためエキスパート
・システムが介入した場合、その要求レコードと同一で
あっても同一でなくとも、この回答のレコードは、この
能力によって、補助データベースに追加される。
このようにして、追加されたレコードと同じレコードを
持つ要求が後日性われた場合、その要求に対して、エキ
スパート・システムが介入するのを回避する。
例えば、システム50は、要求されたマシン構成が有効
なものか否かを決めること、即ち要求されたマシン構成
が、製造者によって設定されたルールまたは制限に全く
違背しないで構成出来るか否かを決めることに使用する
ことが出来る。この場合、与えられたパラメータの種類
は、選択可能なすべてのフィーチャ及びその選択に関連
するパラメータや、基本的なマシンのマシン番号又はマ
シン名とかモデル名またはモデル番号を同定するパラメ
ータとか、基本的モデル塩またはモデル番号を同定する
パラメータを含んでおり、また、そのパラメータのため
の固有値は、そのパラメータに関して特別の選択性を持
たせる。特定の要求のレコードが、これらの貯蔵された
レコードの1つと同じマシン名またはマシン番号、モデ
ル名を含んでおり、同じレコードが補助データベース中
に貯蔵されているという事実は、要求されたマシンまた
はマシン構成が有効であることを意味し、従って、エキ
スパート・システムを介入させる必要がない、あるマシ
ン構成についての要求が出され、そのマシン構成に間す
るレコードが補助データベースに存在しないので、エキ
スパート・システムが介入して、その要求のマシン構成
を成功裡に計算した場合、補助データベースを常に更新
させる能力によって、この計算されたマシン構成のレコ
ードを補助データベースに追加することが出来、これに
より、エキスパート・システムが再度、このマシン構成
を計算するのに使われるのを回避することが出来る。
より具体的な態様として、システム10は、特定の18
Mコンピュータ・システムを構成するのに用いることが
出来、この場合、マシンのレコードのパラメータは、マ
シン、モデル、メモリ容量、DASD、テープ駆動装置
及びラックの寸法のような項目を含ませる0図示の例に
よると、プロセッサ10、プロセッサ11、プロセッサ
12及びプロセッサ14の4つのマシン・タイプがあり
、それらの各マシンに対して1つのモデルがあり、即ち
、プロセッサ10にはモデル番号9373−20があり
、プロセッサ11にはモデル番号9373−40があり
、プロセッサ12にはモデル番号9373−60があり
、プロセッサ14にはモデル番号9373−90がある
。メモリ容量には、4メガバイト、8メガバイト、及び
16メガバイトがあり、DASDは2つのタイプDAS
D−A及びDASD−Bがある。ラックの大きさは1゜
6メートルと、1.3メートルの寸法がある。
18M9370コンピユータ・システムのためのレコー
ドは次のよう、なデータを含む。
マシン:     Proc  IQ モデル:     9373 メモリ二    8メガバイト DASD−A2台 DASD−813台 テープ駆動装置 2台 一ラツクの寸法  1.6メートル 広く用いられている標準的な幾つかの構成の1組の完全
なレコードは、補助データベースに貯蔵させておくこと
が出来、そして、これらの貯蔵されたレコードの1つに
同じレコードを持つ要求がなされたとき、補助データベ
ースに同じレコードが貯蔵されているという事実は、要
求されたマシン、またはシステム構成が有効であること
を意味するから、エキスパート・システムを介入させる
必要はない、あるマシン構成についての要求が出され、
そのマシン構成に関するレコードが補助データベースに
存在しないので、エキスパート・システム−が介入して
、その要求のマシン構成を成功裡に計算した場合、補助
データベースを常に更新させる能力によって、この計算
されたマシン構成のレコードを補助データベースに追加
することが出来、これにより、エキスパート・システム
が再度、このマシン構成を計算するのに使われるのを回
避することが出来る。
第7図は、検索子856と、入力手段58と、出力手段
60と、介入手段62と、転送手段64から成る知識シ
ステム50を示す図である。検索手段は、補助データベ
ースに接続されており、質問のレコードと同じレコード
をデータベースから検索し、若し同じレコードが検出さ
れると、その質問に対して回答を与える。入力手段は、
検索手段に接続されており、ユーザからの質問のレコー
ドを受取り、検索手段へそのレコードを転送する。
出力手段は、検索手段とエキスパート・システムとに接
続されており、検索手段またはエキスパート・システム
の何れかから質問に対する回答を受取り、そして質問者
にその答えを与える。
介入手段は、検索手段とエキスパート・システムとに接
続されており、補助データベース中に、質問と同じレコ
ードが見出されなかった時だけ、質問のレコードを処理
するためにエキスパート・システムに介入する。転送手
段は、補助データベースとエキスパート・システムとに
接続され、エキスパート・システムによって処理され発
生されたすべてのレコード、または選択されたレコード
を、記憶装置を有する補助データベースへ転送する。
第8図は知識システム50の動作プロシージャの1例を
説明するための流れ図である。このプロシージャによっ
て、要求されたマシン構成のレコードが与えられ、そし
て、補助データベース中に同じレコードが有るか否かを
検索する。若し同じレコードが見出されると、要求され
たマシン構成は有効であるという回答を要求者に与える
。若し同じレコードが補助データベースに見出されなけ
れば、要求された構成に基づく有効なマシン構成を計算
するために、エキスパート・システムが介入することに
なる。若し要求されたマシン構成が計算されたならば、
この回答は要求者に与えられ、そして、要求されたマシ
ン構成と同じ構成のレコードか、または要求されたマシ
ン構成とは異っているが、計算された有効な構成のレコ
ードは、補助データベースに追加される。若し要求され
たマシン構成が実現不可能な構成であれば、その旨の回
答が要求者に与えられる。
第9図は知識システム50を実現するために用いられる
コンピュータ・システム66を示している。このコンピ
ュータ・システムは、月並な構成であり、それは、プロ
セッサ及びランダムアクセス・メモリを含む中央処理装
置70と、プロセッサにより処理され、実行されるコン
ピュータ・プログラム及びデータを記憶する1個以上の
DASDまたはテープ駆動装置とで構成されている。プ
ログラムを実行させるために、例えばテープ駆動装置が
中央処理装置70に接続される。コンピュータ・プログ
ラムが実行されているときに、ユーザがコンピュータに
割り込むために、コンピュータ・システムは陰極線管デ
イスプレー74を備えており、これにより、ユーザに中
間的な結果を示して、適当な入力手段を通じて、ユーザ
が必要なデータを入力するよう表示する。また、データ
を作表し、記録するために、プリンタ78が設けられて
いる。
コンピュータのメモリの一部は補助データベース54の
ために使われる0代案として、補助データベースは、コ
ンピュータの内部または外部にある別個のデータ・スト
レージ装置に記憶してもよい。
知識システム50は、特定のコンピュータ・システムの
構成を決めるために特に設計されたエキスパート・シス
テムと共に使われる場合を説明したが、既に述べたよう
に、本発明のシステムは、任意の知識システムに使うこ
とが出来る。市販されている18M9370情報システ
ムの特定の構成を計算するためにIBMによって用いら
れた1つのシステムは、ハードウェア組立て及び接続シ
ステム(Hardware Placement an
d ConnectionSystem−一■p+cs
 )として知られており、HONBと呼ばれる超大型゛
システムの一部であるこのシステムは、注文要求を追跡
し、処理するためにも使われている。更に、他のエキス
パート・システムの多くのタイプが、知識システムとし
て使用し得ることは、当業者受あれば容易に理解出来る
であろう0例えば米国特許第4658670号は、自動
車の修理に関する質問に回答を与えるエキスパート・シ
ステムを開示しており、米国特許第4648044号は
、ワインを選択するためのエキスパート・システムを開
示しており、知識システム50はこれら両方のエキスパ
ート・システムに良好に利用することが出来る。
10発明の効果 本発明は、知識システムにおいて、質問に関するレコー
ドの検索を極めて効率的に処理することが出来る。
【図面の簡単な説明】
第1図は2つの異なったデータベース・テープルを示し
て、一方のデータベース・テーブルから他方のデータベ
ース・テーブルへデータを転送するシステムを説明する
図、第2図は第1図に示した一方のデータベース・テー
ブルから他方のデータベース・テーブルへデータを転送
するためのプロシージャを説明するための図、第3図は
与えられたレコードについてデータベース・テーブルを
検索するためのシステムを説明するための図、第4図及
び第5図は第3図に示したシステムを動作するプロシー
ジャを説明するための図、第6図は本発明の検索プロシ
ージャを使った知識システムを説明するための流れ図、
第7図は知識システムの詳細を説明する図、第8図は第
7図の知識システムを動作させるためのプロセスを示す
単純化した流れ図、第9図は知識システムに使用し得る
コンピュータ・システムを説明するための図である。 12.14・・・・データベース・テーブル、16・・
・・データ値転送手段、18・・・・欄同定手段、20
・・・・レコード同定手段、22・・・・入力手段、2
4.56・・・・検索手段、26・・・・メモリ、30
.42・・・・比較手段、32.64・・・・転送手段
、34・・・・第1順序付は手段、36・・・・第2順
序付は手段、38・・・・第1アレー、40・・・・第
2アレー、50・・・・知識システム、52・・・・エ
キスパート・システム、54・・・・補助データベース
、58・・・・入力手段、60・・・・出力手段、62
・・・・介入手段。 出 願 人  インターナショナル・ビジネス・マシー
ンズ・コーポレーション 復代理人  弁理士  澤  1) 俊  夫50′X 蔦7 図 %9図

Claims (1)

  1. 【特許請求の範囲】 複数の行および列を有し、上記行中に複数のデータ項目
    を有するとともにレコード識別子で識別される、複数の
    レコードを保持し、かつ上記列が列識別子で識別される
    第1のデータベース・テーブルから、複数の行および列
    を有する第2のデータベース・テーブルへとデータ項目
    を転送してデータベース・テーブルを変更する方法にお
    いて、上記第1のデータベース・テーブルの各レコード
    について、当該レコード中の各データ項目を上記第2の
    データベース・テーブルの第1の列に転送し、上記第1
    のデータベース・テーブルの当該レコード中の連続する
    列のデータ項目の各々を上記第2のデータベース・テー
    ブルの第1の列の連続する行の各々に転送するステップ
    と、 上記第2のデータベース・テーブルの各行について、当
    該行の第1の列のデータ項目が取り出された上記第1の
    データベース・テーブルの列の識別子を上記第2のデー
    タベース・テーブルの当該行の第2の列において特定す
    るステップと、上記第2のデータベース・テーブルの各
    行について、当該行のデータ項目が取り出されたレコー
    ドの識別子を上記第2のデータベース・テーブルの当該
    行の第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 true JPH0196728A (ja) 1989-04-14
JP2520941B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032383A (ja) * 2000-07-19 2002-01-31 Dainippon Printing Co Ltd 商品情報データベースシステム

Families Citing this family (1)

* 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

Citations (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 推論方式

Patent Citations (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 推論方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032383A (ja) * 2000-07-19 2002-01-31 Dainippon Printing Co Ltd 商品情報データベースシステム

Also Published As

Publication number Publication date
EP0309798A2 (en) 1989-04-05
JP2520941B2 (ja) 1996-07-31
EP0309798A3 (en) 1992-11-19

Similar Documents

Publication Publication Date Title
JP2589777B2 (ja) 知識システム
US7243110B2 (en) Searchable archive
EP0877327B1 (en) Method and apparatus for performing a join query in a database system
EP0520488A2 (en) Method and apparatus for integrating a dynamic lexicon into a full-text information retrieval system
EP0476810B1 (en) Method and system for retrieving data from joined tables in a computer database
JP2001331509A (ja) リレーショナルデータベース処理装置、リレーショナルデータベースの処理方法及びリレーショナルデータベースの処理プログラムを記録したコンピュータ読み取り可能な記録媒体
KR102102307B1 (ko) 다수의 스토리지를 갖는 데이터베이스 관리시스템에서 블룸필터를 이용한 벡터화 기반의 스토리지 탐색 방법
US5072367A (en) System using two passes searching to locate record having only parameters and corresponding values of an input record
US20220171872A1 (en) Data generalization apparatus, data generalization method, and program
US7487165B2 (en) Computer implemented method for retrieving hit count data from a data base system and according computer program product
WO2005043409A1 (ja) 表形式データの結合方法、結合装置およびプログラム
JPH0196728A (ja) データベース・テーブルを検索する方法
US20050055331A1 (en) Computer implemented method for retrieving data from a data storage system and according computer program product and data storage system
JPS6143338A (ja) 連想技術を使用して稀薄なデータベースをサーチする方法
JPH0962697A (ja) 商品コード検索方式
JPS61256442A (ja) レコ−ド検索高速化法
JP2604787B2 (ja) 二次元データ格納方式
Gudes et al. On evaluating Boolean expressions
JP3031944B2 (ja) データ処理装置
JPH06103307A (ja) 構造型データベースにおける検索高速化方法
JPH04230576A (ja) 項目選択装置
JPH01161522A (ja) データベース管理システムの領域管理方式
JPH03164839A (ja) データ格納方式
JPH06214849A (ja) データベースシステム
JPH0485636A (ja) 階層構造を持つデータベースの機密保護方式