JPH01181125A - 関係型データベース装置 - Google Patents

関係型データベース装置

Info

Publication number
JPH01181125A
JPH01181125A JP63005593A JP559388A JPH01181125A JP H01181125 A JPH01181125 A JP H01181125A JP 63005593 A JP63005593 A JP 63005593A JP 559388 A JP559388 A JP 559388A JP H01181125 A JPH01181125 A JP H01181125A
Authority
JP
Japan
Prior art keywords
tables
information
join
relationship
level
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
JP63005593A
Other languages
English (en)
Inventor
Seiichiro Fushino
伏野 誠一郎
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.)
Nippon Steel Corp
Original Assignee
Nippon Steel 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 Nippon Steel Corp filed Critical Nippon Steel Corp
Priority to JP63005593A priority Critical patent/JPH01181125A/ja
Publication of JPH01181125A publication Critical patent/JPH01181125A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、関係型データベース(RDB)装置に関し、
特に、データベース中の、複数テーブルに分散する情報
を結合する情報検索に関する。
〔従来の技術〕
データベース中の各種区分情報を付した各種情報でなる
各種の情報テーブルの複数に分散する複数の情報を結合
して新たなテーブルを作成する検索において、結合条件
を指定する必要がある。これを今少し詳しく説明すると
、今、データベースの中に、次の第1a表、第1b表お
よび第1C表に示すように、部テーブル、課テーブルお
よび課貝テーブルがあるものとする。これらのテーブル
より、総務部に屈する部名2課名1氏名を得る検索を、
RDB検索言語の1つであるSQLで行う例を第2a表
および第2b表に示す。第2a表の第1a表 第tb表 第1c表 第5〜7行目にある、 BU=にBU AND KBU=II3U AND KA =−IKA がテーブル結合条件を指示するものである。
このようにRDB(関係型データベース)において結合
(JOIN)処理する時にはテーブル結合条件を指示す
る必要がある。
〔発明が解決しようとする問題点〕
−回の検索で結合するテーブルは複数になる場合がある
ため、テーブル結合条件を指示する手間が多くなる。結
合関係名の指定を省くことができれば、検索指示を単純
に表現でき、使い易くなることが考えられ、いくつかの
提案があるが、いずれも、検索指示があいまいになるこ
とが多く、属性集合が与えられた場合に、それらの間の
関係を求めるために結合するべき関係集合を決定する方
法が必要であるとか、上記関係集合゛が一意に決まると
は限らないため、検索指示の答を一意にするための方法
が必要であり、後者の間層を解決するために、前者の方
法に対するアルゴリズムに制限を加え、常に結合するべ
き関係集合が一意に決まるようにするとか、すべての可
能性を求めて、利用者に提示して選択させるとか、どの
関係集合を選んでも答は同じになるようにするとか、が
提案されている(「情報処理JFeb、 1983. 
Vol、24. No、2pp176〜187)。
しかし、結合条件指示を無くすためにすべてのテーブル
の組み合せを記憶しておく方法では、単純な場合、テー
ブル数が2個のときは記憶する数は1つ、テーブル数が
3個のときはテーブル2個の結合方法が3つとテーブル
3個の結合方法が1つで合計4つを記憶する必要がある
。テーブル数が10個になると実に1013個を記憶す
る必要がある。このようにテーブル数が多くなると組み
合せ的爆発が起こり現実的でない。
本発明は、データベース中の各種区分情報を付した各種
情報でなる各種の情報テーブルの複数個に分散する複数
の情報を結合して新たなテーブルを作成する検索におい
てテーブル結合条件を指示する手間を低減し、かつ、そ
のためのテーブルの組み合せ記憶量を低減することを目
的とする。
〔問題点を解決するための手段〕
上記目的を達成するために本発明においては、データベ
ースメモリ手段に格納しているテーブルの、各2つのテ
ーブル間の結合関係を示す結合関係情報と結合条件情報
を記憶したテーブル結合情報メモリ手段;入力で指定さ
れた結合すべき情報、を有する複数テーブルの、各テー
ブルの前記結合関係情報を前記テーブル結合情報メモリ
手段より読み出して、結合関係情報に基づいて該複数テ
ーブルの階層順位を決定し、該複数テーブルの各種情報
と該順位で隣り合うテーブルの間の結合条件情報を検索
手段に与えて該複数テーブルの各種情報の結合を指示す
る結合指示演算手段;を備える。
概略を説明すると、2つのテーブル間の結合条件を記憶
させるだけで複数のテーブルの結合条件を自動生成する
ことでテーブルの結合条件指示の簡略化を図る。結合条
件を自動生成できない場合には検索要求者にいくつかの
代替案を示し選択させる。
このとき第3a表に示す誤った指示をしないようにする
。第2b表は正しい結合条件指示を行った場合の結果を
示し、第3b表は誤った結合条件指示を行った場合の結
果を表す。第2a表においては部テーブルと課テーブル
、部テーブルと課員テーブルを結合するように指示して
いるが、第3a表においては部テーブルと課テーブル、
部テーブルと課員テーブルを結合するよう指示したため
結果が違ったものになった。このことは、2つのテーブ
ル間の結合条件を記憶させその中から選択するときに何
らかの判断が必要であることを示す1本発明は、このよ
うな場合にも正しい結合条件を自動生成できる。
〔作用〕
本発明の技術思想をまず具体的に説明する。まず「結合
関係」を説明すると、テーブルTiとTjに結合関係が
ありかつその関係が1対1のとき、すなわち、テーブル
Tiの1行に対しテーブルTjの1行又は0行が結合さ
れ逆にテーブルTjの1行に対しテーブルTiの1行又
は0行が結合されるとき、向きは相方向であると定義す
る。この関係を次の記号で表現するものとする。
Rij:Ti←→Tj テーブルTjとテーブルTiに結合関係がありその関係
が1対nのとき、すなわち、テーブルTjの1行に対し
テーブルTiの複数行(n行)が結合され逆にテーブル
Tiの1行に対しテーブルTjの1行又は0行が結合さ
れるとき、向きをテーブルTiからテーブルTjと定義
し、テーブルTiを起点テーブル、テーブルTjを終点
テーブルと呼ぶ、ただし、n(≧0)は行毎に違っても
よい。
この関係を次の記号で表現する。
Rij:Ti→Tj 複数のテーブルTx、Ty、Tzの2者間に結合関係R
xy、 RyzおよびRxzがあり、テーブル設計的、
意味的に次のいずれかの条件を満足するとき本発明では
結合関係Rxy、 RyzおよびRxzに意味的推移側
があるという。
条件■Rxy:Tx−+TyかつRyz:Ty−+Tz
かつRxz:Tx−)Tz条件■Rxy : Tx−+
TyかつRyz:TyHTzかつRxz : Tx−+
Tz条件■Rxy:Tx←→’ryかつRyz:Ty4
TZかつRxz:Tx→Tz論理的には、上記の条件の
いずれかを満足するが、テーブルの設定的や意味的に成
り立たない場合も考えられる。しかし、現実のテーブル
においては、上記の条件のいずれかを満足すれば明らか
に不自然な場合を除き意味的推移側があるとして良い。
2つのテーブル間に結合関係がある時にこれをつどの3
種類に分類する。
Bl : 2つのテーブル間の結合関係が相方向である
もの。
82:意味的推移側が成り立つ関係のうち分類B1に屈
さない結合関係、ただし、3つの結合関係に意味的推移
側が成り立ちそのうちの1つが関係分類B1に属する場
合でも、残り2つの結合関係は関係分類B2に属するも
のとする。
B3:上記Bl、B2の関係分類に属さない関係。
以上に説明した81〜B3を示す情報が「結合関係情報
」である。
以上のように分類された、2つのテーブル間の結合関係
、よりグラフ理論を応用して複数テーブルの結合条件を
自動生成する。ただし、結合条件を一意に決定出来ない
場合は、いくつかの代替案を示しオペレータに選択させ
る。
次に、より具体的に説明する。ここで、結合指示データ
としてつぎのように結合関係を記憶しているものとする
q Rij(Bk、C11=Cjl  AND C12
=Cj2 AND  ・・・):意味 テーブルTよと
テーブルTjに結合関係qRijがあり、その分類はB
k、結合条件はC11=Cjl AND C12=Cj
2 AND・・・である。また、テーブルTiとテーブ
ルTj間の結合関係は1つとは限らないので区別するた
め結合番号qを付けているが、簡単化のため以下の説明
ではこれを省略する。なお、全結合指示データを記憶す
る必要はなく一部のデータは推論等により作成できる。
結合条件を自動生成(演算)する言葉を次の通りに定義
する。
レベルニレベル計算するときは、分類B1と82の関係
を抽出し、この抽出された関係のみを対象とする。レベ
ル1のテーブルとは、自分を起点とする結合関係がない
ものである。その他のテーブルについては、自分を起点
とする結合関係があるとき、終点テーブルの内レベル数
が一番大きいものに1を加えたものを起点テーブルのレ
ベルとする。ただし、レベル1を計算するときは相方向
の結合関係は無視する。また、相方向の結合関係にある
テーブルのレベルがすべて等しくなるよう計算する。
このようにレベルを計算するアルゴリズムについては、
グラフ理論等で知られている。
レベル差:結合関係に付けるもので起点と終点テーブル
のレベル差をいう。
グループ:結合関係によって関連付けらだテーブルのま
とまり。
テーブルとその結合関係を図式化するために次の第4表
に示すルールを適応する。
第4表 次に、−例を示しながら説明する。第1図に結合するテ
ーブルTl、 T2.  ・・・、T8とそのテーブル
間の結合関係および分類の一例を示す、この第1図の表
記の意味は次の第5表に示す通りである。
さて、第5表の「分類」および「結合関係」の欄に示す
ように、2つのテーブル間の結合関係(結合条件はqR
ijで、Rijで指定される)を定めている場合の、検
索指定された情報を含む複数のテーブルの結合条件は次
の手順で生成し、すべてのテーブルが選択された結合関
係によって同一グループになった時又は、選択すべき結
合指示データが無くなった時に終了する。
ステップ1: 記憶された結合指示データ(ΣqRij)の中から、今
回結合対象になっているテーブルに関するデータ(qR
ij)を抽出する。
ステップ2ニ レベルおよびレベル差を計算する。レベルの計算では、
まずレベル1のテーブルを検索する。レベル1のテーブ
ルとは、自分を起点とする結合関係をもたないものであ
る。第1図に示す例では、TI、T3およびT7である
。レベルにのテーブルを決定する為には、レベルに−1
のテーブルが決定されている必要がある。レベル未決定
のテーブルについてレベル未決定のテーブルを起点とし
終点テーブルのレベルがすべて決定されていて、かつそ
れらの終点テーブルのレベルの最大値かに−1であると
きレベル未決定のテーブルのレベルをkとする。ただし
、双方向の結合関係にある2つのテーブルのレベルは、
レベルの大きな方と同じとする。例ではテーブルT5は
テーブルT4と同じレベルとなる。テーブルT6も同様
である。このようにしてすべてのテーブルのレベルを決
定する。
この結果を第1図に示す。次にテーブルiとテーブルj
のレベル差を計算する。第1図に示す例のレベル差を第
5表の右端に示す。
ステップ3: 分類B1の結合関係から選択する。このときテーブル間
に結合関係の閉ループが出来ないように適当に自動選択
する。例では、結合関係R45,R46゜R2Oが対象
となりこの中から閉ループを作らないように、R46,
R56を選択したとする。なお、通常、分類B1におい
てテーブルTiとTl間の結合関係が2つ以上あること
はないが、もしあった場合は検索要求者に結合関係を選
択してもらう。この結果、前記複数のテーブルはっぎの
ようにグループ化される。
第1グループ二T1    第2グループ二T2第3グ
ループ二T3    第4グループ: T4.T5.T
6第5グループ:Tl    第6グループ二T8なお
、グループとは、「結合関係によって関連付けられたテ
ーブルのまとまり」であり、同一グループとは、第1図
に示す線をたどって行くときに1つの経路上に存在する
ことを意味し、グループ化とは、検索指定された情報を
含む複数のテーブルを結合関係情報に従って第1図に示
すように展開したときに、第1図に示す線をたどって一
経路上にノードとして存在するテーブルを1グループに
指定することを言う。
ステップ4: 分類B2の結合関係を選択する。このときレベル差の小
さなものから優先的に選択する。このときグループ間に
2つ以上の結合関係が存在した場合は次のルールに従う
。なお、2つ以上の結合関係が存在するとは、2つのグ
ループの一方から他方に行くルートが2つ以上あること
を意味する。
ルール1.レベル差が小さな関係により同一グループと
なったテーブル間の結合関係は選択しない。
ルール2.同一レベル差で2つのグループ間に2つ以上
の結合関係があり、それらすべての結合関係の終点テー
ブルで作られるすべての組合せに分類B1の結合関係が
存在する時は、適当にどれが1つの結合関係を自動選択
する。すなわち、任意のテーブルTiから別なテーブル
Tjへ線をたどって行くルートがただ1つにできる状態
とする。
ルール3.同一レベル差で2つのグループ間に2つ以上
の結合関係があり、それらすべての結合関係の起点テー
ブルで作られるすべての組合せに分類Blが存在する時
は、適当にどれが1つの結合関係を自動選択する。この
ルール3はルール2の裏返しである。
ルール4.上記ルール1,2.3以外の場合は、検索要
求者に結合関係を選択してもらう。
例では次のようになる。
レベル差1で、第4グループと第6グループ間に2つ以
上の結合関係(R84,R85,R86)があるが、上
記ルール2により自動的に結合関係R86を選択したと
する。その外にレベル差1でつぎの結合関係が自動的に
選択される。
第1グループと第2グループ間の結合関係R21第2グ
ループと第4グループ間の結合関係R42この結果、つ
どのようにグループ化される。
第1グループ: TI、T2.T4.T5.T(i、T
8第2グループ二13 第3グループ二T7 レベル差2で第1グループと第2グループ間に2つ以上
の結合関係(R43,R53,R63)があるが上記ル
ール3により自動的に結合関係R63を選択したとする
。その外にレベル差2の結合関係R41とR82がある
が、上記ルール1により選択しない。この結果つぎのよ
うにグループ化される。
第1グループ: Tl、T2.T3.T4 、T5 、
T6 、T8第2グループ:Tl レベル差3の結合関係R81とR83は上記ルール1に
より選択しない。
ステップ5: 関係分類B3の結合関係から選択する。このときグルー
プ間に2つ以上の結合関係が存在した場合はそれらすべ
てを代替案として表示し検索要求書に選択させる。例で
は結合関係R37,R57,R78があることを表示し
検索要求者に選択してもらい。
その結果、結合関係R37が選択されたものとする。
この結果、すべてのテーブルが同一グループとなった。
すなわち、前記複数のテーブルが、すべてただ1つの経
路でつながれたことになる。
ステップ6: 以上で選択された結合関係の結合条件をAND(論理積
)で接続したものが、検索指定された情報を含む複数の
テーブルの結合条件となる。すなわち、該選択された結
合関係に対応付けられている結合条件をANDで接続し
て、検索指定された情報を結合する。
例では、次の結合条件が生成される。
(C41=C61AND C42=C62AND −・
・・−・・)AND (C51=C61AND C52
=C62AND ・−・・−・・)AND  (C11
=C2L  AND Cl2=C22AND  ・・・
・・・・)AND  (C21=C41AND C22
=C42AND  ・・・・・・・)AND  (C6
1=C81AND C62=C82AND  ・・・・
・・・)AND  (C31=C61AND C32=
C62AND  ・・・・・・・)AND  (C31
=C71AND C32=C72AND  ・・・・・
・・)以上に具体例をもって説明した結合条件を生成す
る過程は、まず、検索指定された情報を含む複数のテー
ブルの、それぞれの結合関係情報に基づいて、該複数の
テーブルを階層類に並べる過程、すなわち階層順位を決
定する過程(レベルおよびレベル差の決定)と、該階層
順位、結合関係情報およびレベル差に基づいて、該複数
テーブルを、グラフ理論に基づいて同一径路につらなる
テーブルグループに区分し、これらのグループが最終的
に一グループになるように、すなわち、検索指定された
情報を含む複数のテーブルが、その任意の2つのテーブ
ル間をつなぐ径路がただ1つになるように順位付けする
複数グループの同一グループ化の過程と、でなる。
この同一グループ化の過程で、2態様以上の任意に選択
し得るグループ化があるときには、自動的に1態様を選
択し、2つのテーブル間あるいは2グル一プ間に2つの
結合関係があるときには、それを表示手段に表示して、
オペレータ入力により、一方の結合関係を選択指定する
以上に説明したように、結合条件が自動的に生成され、
自動生成が不可の場合のみにオペレータ指示を待つので
、オペレータは、結合条件の指示がほとんで不要となり
、だれでも簡単に結合処理が使えるようになる。
〔実施例〕
第2図に本発明の一実施例の概要を示す。入出力装置1
に、その入力ボード3を介してオペレータが情報テーブ
ル指定入力および検索要求を入力する。入出力装置1は
、情報テーブル指定六カおよび検索要求を結合指示演算
装置5に与える。結合指示演算装置5は、指定されたテ
ーブルの結合関係情報を結合情報メモリ4より得て、テ
ーブル間の結合条件を演算し、演算した結合条件(合成
結合条件)とテーブル名を検索装置2sに与える。
検索装置2Sは、指定されたテーブルの情報をデータベ
ースメモリ3から読み出して、与えられた結合条件で結
合し、入出力装置1に与える。入出力装置1は、結合さ
れた情報(犬テーブル)をCRTデイスプレィ2に表示
する。第2図において、結合情報メモリ4と結合指示演
算装置5および検索装置2Sに含まれるRDB検索命令
合成指示装置2Cが本発明の実施のために付加装備され
たものであり、結合情報メモリ4に、データベースメモ
リ3に記録されている各種データテーブルの結合関係情
報および結合条件情報が書込まれている。
以下の動作説明の理解を容易にするために、例として、
データベースメモリ3には、第6−1表〜第6−6表に
示すテーブルが記録されているものとする。これらのテ
ーブルに対応して、結合情報メモリ4には、第7表の左
欄に示す結合関係情報および結合条件情報が書込まれて
いる。
第6−1表 第6−2表 第6−3表 第6−4表 第6−6表 なお、テーブルT2.T3.T4は1つのテーブルで良
いが、分ける理由として次の様な場合がある。
1、テーブル当たりの項目数に制約がある場合。
2、@繁に使用する項目だけのテーブルを作成した方が
、検索効率が上がる場合。
第3図に、テーブルT1〜T6の、第7表に示した結合
関係で表わされる階層順位を示す。
第4図に、第2図に示す検索システムの動作を示す。こ
の第4図を参照して、オペレータが、テーブルT1〜T
6の結合を指示する、テーブル名人力および検索指示入
力を行なったときの、該検索システムの動作を説明する
第7表 注:右欄のレベル差は、結合情報メモリ4に書込んでい
るものではなく、後述する動作のステップVで計算され
る。
結合関係名称は、結合代替実力整数あるときに表示を判
り易くす結合関係名称は、結合代替案が複数あるときに
表示を判り易くする工夫であり、必ずしも結合情報メモ
リ4に書込んでおく必要はない。
結合関係3R16Cjt任者全結合1−6)は、例えば
、「中本さん力漬任分担したプロジェクトには何がある
か?」という質問のとぎ使用する。
テーブルiとjの決定方法二分訪1においては、方向に
意味が無いが、ここでは、テーブル名の若い方をテーブ
ルiとした。分WtB2においては、起へテーブルをテ
ーブルlとした。分MB3においては、方向に寸法が無
いが、ここでは、テーブルのデータ件数が多い方をテー
ブルiとした。
1、検索要求の入力 オペレータが、入出力装置1に要求内容を入力する。こ
の入力は、入出力装置1上のCRTデイスプレィ2に表
示する、第5図に示す画面を使って行なわれる。
なお、この実施例では、オペレータがテーブル名を入力
するようにしているが、オペレータが表示したい項名目
及び検索情報を入力し、結合指示演算装置5が、オペレ
ータ入力情報からそれらをテーブル名を検索するように
してもよい。
オペレータが、スタートを入力すると、すでに入力され
てCRTデイスプレィに表示されている入力情報が結合
指示演算装置5に与えられる。
■、検索指示データの作成 結合指示演算+JA置5は、入出力装置1から与えられ
た内容より、検索指示データ(結合条件の無いSQL命
令)を作成し、結合情報メモリ4の検索指示記憶装置4
Cに出力する。第5図に示す入力(テーブル名、情報項
目および検索条件)が与えられたときの、検索指示デー
タの内容を第8表に示す。
■、結合関係情報の抽出 結合指示演算装置5は、結合情報メモリ4の結合関係記
憶装置4Rより、入力されたテーブルT1〜T6に関す
る結合関係情報を抽出する。
■、レベルの計算 (1)結合指示演算装置5は、結合関係情報が分類B1
およびB2の結合関係情報を対象として、まず、分類B
1に属する結合関係で結ばれるテーブルを1グループと
し、この1グループを仮に1テーブルTxとする。例で
は、テーブルT2.T3.T4を一つにしてテーブルT
xとする。
(2)次に、結合関係情報ら、分類B1に屈するテーブ
ル12〜T4を消去し1代りにテーブルTxを加えて、
分類B1の結合関係を取り除いて階層順位付けをする。
この結果、レベルの計算で使用するテーブルと結合関係
情報との対応は第9表に示すものとなり、テーブルの階
層順位付けは第6図に示すようになる。
第9表 (3)レベル1のテーブルを見つける。レベル1のテー
ブルとは、自分を起点とする結合関係を持たないもの(
最高位階層のテーブル)である1例では、テーブルTI
とτGがレベルlとなる。
なお、レベルとは、有向グラフでかつループ(閉路)を
持たないグラフグラフに対して定義できるものである。
「深さ」と表現する時もある。本書では階層と表現して
いる。グラフを図示するとき、レベルの小さなノード(
節)から順に図の上方から描けば、見やすい図となりま
す。本実施例では、レベルが小さいと言うことは、テー
ブル内の行数が少いことを示します。正確ではないが感
覚的に言えば、「データベース上では、区分が大きい単
位のテーブルはどレベルは小さい」と表現できる。なお
、いくつかのノード(node頂点)とそれらの2点間
を結ぶ線(line)によって表される図形をグラフと
いい、中でもすべての線に向きのついているグラフを有
向グラフ(direct、ed graph。
digraph)という。この実施例では、ノードにテ
ーブルを、線にテーブル間の結合関係を割り当てている
。またレベルで階層No、を表現している。
(4)すべてのテーブルのレベル(階層)を決定する。
あるレベルにのテーブルを決定する為には、レベルに−
1のテーブルが決定されている必要がある。
レベル未決定のテーブルについてレベル未決定のテーブ
ルを起点とし終点テーブルのレベルがすべて決定されて
いて、かつそれらの終点テーブルのレベルの最大値かに
−1であるときレベル未決定のテーブルのレベルをkと
する。このようにしてレベル2より始めてすべてのレベ
ルが決定されるまで繰り返す。
例では次のようになる。
レベル2の決定ニレベル未決定のテーブルTxを起点と
する関係が3つありそれらの終点テーブルは、すべてT
1であり、T1はレベル1と決定されている。
従って、テーブルTxはレベル2と決定する。レベル未
決定のテーブルT5を起点とする関係が4つありそれら
の終点テーブルは、T1とTxである。T1のレベルは
1であるが、Txのレベルは2である。したがって、終
点テーブルのレベルの最大値は2であるから、テーブル
T5はレベル2ではない。
し/’Cル3の決定ニレベル未決定のテーブルT5を起
点とする関係が4つありそれらの終点テーブルは、TI
とTxである。T1のレベルは1であり、Txのレベル
は2である。従って、終点テーブルのレベルの最大値は
2であるから、テーブルT5はレベル3とする。
なお、レベルの決定には種々の方法があり、グラフ理論
で解くことができるので、他の方法を用いてもよい。
(5)上記(1)で1つにグループ化したテーブルを再
び分割してレベルを付ける。テーブルTxはテーブルT
2.T3およびT4であるから、レベルは次のように定
まる。
TlレベルlT2ニレベル2 丁3ニレベル2T4:L
/ベル2T5:レベ/L13T6:L/ベル1■、レベ
ル差の計算 上記■、で決定したレベルより、分類81と82の結合
関係の起点と終点テーブルのレベル差を計算する。この
結果を第7表の右欄に示す。このレベル差は階層差であ
り、階層順位でテーブルを並べる場合の、位置差である
■、グループ化1 分類Blの結合関係で同一径路につながれるテーブルを
1グループとする。一般的に分類B1の結合関係のテー
ブルTiとTjに複数の結合関係があることはないが、
もしあった場合は検索要求者に選択してもらう。
例では、結合関係lR23,lR24およびlR34が
対象となり、この中からループが出来ないようにlR2
4およびlR34を選択する。この結果グループは次の
ようになる。
第1グループ二T1    第2グループ: T2.T
3.T4第3グループ二T5    第4グループ二T
6なお、ここでこのグループ化の処理内容を第7図に示
し、これを説明する。
1、隣接行列を作る。隣接行列とは、2つのノード(テ
ーブル)を接続する線(結合関係)があるときはl、な
い時はOの値を持つ行列である。ただし。
今回はグループ化をする為に隣接行列を作成するので、
向きを無視しテーブルlからテーブルJへの結合関係が
選択されている時は、隣接行列Aのi行J列の要素ai
jは1.5行1列の要素ajiも1、とする。即ち、数
学的には次の表現となる。
例では、次の隣接行列Aが作成される。
2、グループ化をする。第7図では、i行j列の要素a
1jをA (i、j)と表現している。第7図中の記号
の意味は次の通りである。
’++ J+ p:テーブル番号 にニゲループ番号 A:隣接行列(上記1.で求めた結果)Bニゲループ化
された結果がはいる配列L3(i):テーブル番号上が
晟するグループ番号。値が0のときは未決定状態である
Cニゲループ番号kに属するテーブル番号を入れる配列
。m番目の要素までが有効データ。
m、r:配列Cへのポインター C(r)ニゲループ番号kに屈する事がr番目に判明し
たテーブル番号 n:テーブルの個数(例では6) 例では、第7図に示す処理を実行すると、答えの配列B
が次のように求まる。
B= (122234) なお、グループ化の処理方法には種々の方法があり、グ
ラフ理論で解くことができるので、他の方法を用いても
よい。
■、グループ数のチエツク 上記■、でグループ化した結果、テーブルT1〜T6が
同一グループになっている(すなわち1グループのみに
なっている)かをチエツクする。同一グループになって
いると後述のXl、に進む。同一グループになっていな
いと、次の■、に進む。
■、グループ化2 分類B1と82の結合関係で同一径路につながれるテー
ブルを1グループとする。このときレベル差の小さなも
のから選択する。そして、選択するレベル差の値が変る
毎にグループ化計算を行う。ただし、次のルールに従か
う。
ルール1ニレベル差が小さな関係により同一グループと
なったテーブル間の結合関係は選択しなし)。
ルール2:同一レベル差で2つのグループ間に2つ以上
の結合関係があり、それらすべての結合関係の終点テー
ブルで作られるすべての組合せに分類B1の結合関係が
存在する時は、適当にどれか1つを自動選択する。この
演算の最終目標は、グラフの向きを無視して考えたとき
、任意なテーブル1から別なテーブルjへ線をたどって
行く径路がただ1つできる状態を作ることである。この
状態では、使用テーブルすべてが同一グループとなる。
同じグループ内に属する任意の2つのテーブル間には、
必ず径路がある。2つのグループ間を接続する結合関係
(線)は1本あれば充分である。逆に2本以上あった場
合は、任意なテーブルiから別なテーブルJへ線をたど
って行く径路が2つ以上できる状態となり目標と異なる
ことになる。「終点テーブルで作られるすべての組合せ
に分類B1の結合関係が存在する」とは、次の状態を言
う。
2つのグループ間にn個の結合関係Ri1 jl 。
”2 J2 r ””3 JJ +”’+ RIIIl
jm (jl≦j2≦−jm)があるとき、つどの分類
B1の結合関係が存在する。
ただし、Rjj’  はj=j’  を除く。
Rj1j2r Rjl j3r Rjt ja 、・・
・・・・・Rj1jmRj2j3.Rj2j4.・・・
・・・・Rj2jmRj3ja 、・・・・・・・Rj
a jnRjm−1j+s ルール3:同一レベル差で2つのグループ間に2つ以上
の結合関係があり、それらすべての結合関係の起点テー
ブルで作られるすべての組合せに分類Blの結合関係が
存在する時は、適当にどれか1つを自動選択する。これ
はルール2の裏返しになっている。すなわちr起点テー
ブルで作られるすべての組合せに分類81の結合関係が
存在する」とは次の状態を言う。
2つのグループ間にn個の結合関係Ritjt。
Ri2 j2+ Ri3 j3r・・・r Riaij
m (it≦12≦−im)があるとき、つどの分類8
1の結合関係が存在する。
ただし、Rii’  はi=i’  を除く。
R11i2 、 Rit i3+ Rit ia r・
・・・・・・R111mR12i3 、 R12ia 
、・−・−・Ri2 irmRi3i4、−Ri3 i
m Rim−1is ルール4:上記ルール1〜3以外の場合は、検索要求者
に選択してもらう。
例では次のようになる。レベル差lで第1グループと第
2グループ間に3つの結合関係lR21,lR31゜1
R41があるが上記ルール3により自動的に結合関係l
R41を選択したとする。同様にレベル差1で第2グル
ープと第3グループ間に3つの結合関係lR52゜lR
53,lR54があるが、上記ルール3により自動的に
結合関係lR54を選択したとする。この結果グループ
は次のようになる。
第1グループ: Tl、T2.T3.T4.T5第2グ
ループ:T6 以上の処理は1次の隣接行列Aを作成し先に示した第7
図に従って、次の配列Bを求めたものである。
B= (111112) レベル差2、分類B2の結合関係[51があるが上記ル
ールIにより選択しない。したがって、グループ化の結
果は前述したままである。っまり2グループになったま
まである。
■、グループ数のチエツク 上記■、でグループ化した結果、テーブル11〜丁Gが
同一グループになっている(すなわちIグループのみに
なっている)かをチエツクする。同一グループになって
いると後述のXLに進む。同一グループになっていない
と、次のX、に進む。
X、グループ化3 分類Bl、82及びR3の結合関係で同一径路につなが
れるテーブルを1グループとする。このとき、同一グル
ープとなったテーブル間の関係は選択しない。また、2
つのグループ間に2つ以上の結合命係が存在したときは
それらすべてを代替案として表示し検索要求者に選択さ
せる。
例では、第1グループと第2グループに4つの結合方法
があるので結合指示演算装置5は入力装置1に第8図に
示す図面を出力しオペレータに選択をうながす。オペレ
ータが選択番号1〜4のいずれかを入力する(第8図に
は4を入力した状況が示されている)。入出力装置1は
4が選択された事を結合指示演算装置5に報知する。そ
の結果、結合指示演算装置5は結合関係、R56が選択
された事をP!識する。これで使用テーブルすべてが同
一グループとなった。
すでに説明したように、最終目標は、グラフの向きを無
視して考えたとき、任意なテーブルiがら別なテーブル
jへ線をたどって行くルートがただ1つできる状態を作
るこ□とであり、この状態では、使用テーブルすべてが
同一グループとなる。
つまり、隣接行列Aを第7図に従って処理して次の配列
Bを求めたことになる。この最終目標が意味するところ
は、指示されたテーブル(使用テーブル)の結合関係の
中から、誤りがなく、かつ最適な結合指示をつくること
を言い換えたものである。
B=  (1111113 X1.結合条件の生成 以上で選択された結合関係の結合条件をAND(論理積
)で接続したものが、全テーブルの結合条件となる。結
合指示演算装置5はこれを結合指示記憶装置4Lへ出力
する。
例では、第10表に示すデータを出力する。
第1O表 X■、検索処理 RDB検索命令合成指示装置2Cは、検索指示記憶装置
4Lと結合指示記憶装置4Cの情報を合成しRDB検索
装置2Pが実行できる形にしてRDB検索装置2Pに検
索要求を行なう。
例では、第11表に示すデータをRDB検索装置2Pに
与える。
第11表 X■、出力 RDB検索装置はRDBデータ管理装置2Pよす要求さ
れた内容のデータを抽出し入出力装置1に与える。入出
力装置1は、それをCRTデイスプレィ2に表示する。
表示情報を第12表に示す。
第12表 なお、結合情報メモリ手段(4)にレベル差を予め記憶
させる事で上記ステップIVとVを省く事が出来る。ま
た、起点テーブルと終点テーブルの定義を逆にしても同
様な作用が得られる。
また、レベル計算において、レベル1を自分を終点とす
る結合関係をもたないものと定義し、起点と終点の言葉
を入れ替えても同様な作用が得られる。なお、以上に説
明した実施例によれば、従来はテーブル数が10箇にな
ると実に1013箇の結合方法を記憶しておく必要があ
るところ、45箇の結合方法の記憶で足りることになる
〔発明の効果〕
以上の通り、本発明によれば、結合情報メモリ手段(4
)に結合関係情報を書込んでおいて、これに基づいて自
動的に結合条件を生成するので、自動生成が不可の場合
のみにオペレータ指示を待って係合関係を選択指定する
ようにしているので、オペレータは、結合条件の指示が
ほとんど不要となり、だれでも簡単に結合処理が使える
ようになる。また結合情報メモリ手段(4)に書き込む
結合関係情報量が少なくてすむのでデータ作成負荷が軽
減される。
【図面の簡単な説明】
第1図は、本発明の検索装置のデータベースメモリに、
−例として格納されているデータテーブルT1〜T8の
階層関係を模式的に示す平面図である。 第2図は、本発明の一実施例の構成概要を示すブロック
図である。 第3図は、該実施例のデータベースメモリ3に一例とし
て格納されているデータテーブルT1〜T6の階層関係
を模式的に示す平面図である。 第4図は、該実施例の動作概要を示すフローチャートで
ある。 第5図は、第4図に示す「検索要求の入力」工でCRT
デイスプレィ2に表示される画面を示す平面図である。 第6図は、第4図に示す「各テーブルのレベルを計算」
■で形成されるテーブルTxと、Txを構成しないテー
ブルとの階層関係を示す平面図である。 第7図は、第4図に示す「グループ化IJVIの処理内
容を示すフローチャートである。 第8図は、結合条件の自動生成が出来ない時に。 検索要求者に表示する代替案とその選択結果を示す表示
画面の平面図である。 T1〜T8:テーブル名 に入出力装置(入力手段) 2 : CRTデイスプレィ 2S:検索装置(検索手段) 3:入力ボード 4:結合情報メモリ(テーブル結合情報メモリ手段)5
:結合指示演算装置(結合指示演算手段)市1 図 蒐3図 戸5図 東6図 第8図 口 検索要求者が入力する場所 特許庁長官         殿 1.事件の表示 昭和63年特許願第5593号2、発
明の名称 関係型データベース装置3、補正をする者 事件との関係   特許出願人 住所    東京都千代田区大手町二丁目6番3号名称
    (665)新日本製鐵株式會社代表者 齋 藤
  裕 4、代理人   〒103  電話 03−864−6
052住所    東京都中央区東日本橋2丁目27番
6号5、補正の対象 明細書の発明の詳細な説明の欄 別紙A 6、補正の内容 (1)明細書第5頁の全文を添付別紙Aの通りに訂正す
る。 (2)明細書第25頁の全文を添付別紙Bの通りに訂正
する。 (3)明細書第28頁の全文を添付別紙Cの通りに訂正
する。 (4)明細書第30頁の全文を添付別紙りの通りに訂正
する。 7、添付書類の目録 別紙A−D・・・各1通 5411糸EB ことが考えられ、いくつかの提案があるが、いずれも、
検索指示があいまいになることが多く、属性集合が与え
られた場合に、それらの間の関係を求めるために結合す
るべき関係集合を決定する方法が必要であるとか、上記
関係集合が一意に決まるとは限らないため、検索指示の
答を一意にするための方法が必要であり、後者の問題を
解決するために、前者の方法に対するアルゴリズムに制
限を加え、常に結合するべき関係集合が一意に決まるよ
うにするとか、すべての可能性を求めて、利用者に堤示
して選択させるとか、どの関係集合を選んでも答は同じ
になるようにするとか、が提案されている(「情報処理
JFeb、 1983. Vol、24. No、2P
P176〜187)。 一方、結合条件指示を無くすためにすべてのテーブルの
組み合せを記憶しておく方法では、単純な場合、テーブ
ル数が2個のときは記憶する数は1つ、テーブル数が3
個のときはテーブル2個の結合方法が3つとテーブル3
個の結合方法が1つで合計4つを記憶する必要がある。 テーブル数が10第6−6表 方り紙C る工夫であり、必ずしも結合情報メモリ4に書込んでお
く必要はない。 結合関係3R16潰任者全結合1−6)は、例えば、「
中本さんが責任分担したプロジェクトには何があるか?
」という質問のとぎ使用する。 テーブルiとjの決定方法二分彌和1においては、方向
に意味が無いが、ここでは、テーブル名の若い方をテー
ブルjとした。修2においては、起点テーブルをテーブ
ル1とした。分MF33においては、方向に意味力嶌い
が、ここでは、テーブルのデータ件数が多い方をテーブ
ルjとした。 1、検索要求の入力 オペレータが、入出力装置1に要求内容を入力する。こ
の入力は、入出力装Wl上のCRTデイスプレィ2に表
示する、第5図に示す画面を使って行なわれる。 なお、この実施例では、オペレータがテーブル名を入力
するようにしているが、オペレータが表示したい項名目
及び検索情報を入力し、結合指示演算装置5が、オペレ
ータ入力情報からそれらをテーブル名を検索するように
してもよい。 オペレータが、スタートを入力すると、すでに入力され
てCRTデイスプレィに表示されている入力情報が結合
指示演算装置5に与えられる。 別紙り 分類B1に属する結合関係で結ばれるテーブルを1グル
ープとし、この1グループを仮に1テーブルTxとする
。例では、テーブルT2.T3.T4を一つにしてテー
ブルTxとする。 (2)次に、結合関係情報から、分類B1に厘するテー
ブルr2〜T4を消去し、代りにテーブルTxを加えて
、分類B1の結合関係を取り除いて階層順位付けをする
。この結果、レベルの計算で使用するテーブルと結合関
係情報との対応は第9表に示すものとなり、テーブルの
階層順位付けは第6図に示すようになる。

Claims (1)

  1. 【特許請求の範囲】 各種区分情報を付した各種情報でなる各種の情報テーブ
    ルを格納したデータベースメモリ手段、複数個の情報テ
    ーブルに分散する区分情報および各種情報ならびに検索
    条件を入力し異ったテーブルの情報を結合した新たなテ
    ーブルの作成を指示する入力手段、および、該検索条件
    に従って該入力された区分情報および各種情報をデータ
    ベースメモリ手段より検索し結合する検索手段を有する
    関係型データベース装置において、 データベースメモリ手段に格納しているテーブルの、各
    2つのテーブル間の結合関係を示す結合関係情報と結合
    条件情報を記憶したテーブル結合情報メモリ手段; 入力で指定された結合すべき情報、を有する複数テーブ
    ルの、各テーブルの前記結合関係情報を前記テーブル結
    合情報メモリ手段より読み出して、結合関係情報に基づ
    いて該複数テーブルの階層順位を決定し、該複数テーブ
    ルの各種情報と該順位で隣り合うテーブルの間の結合条
    件情報を検索手段に与えて該複数テーブルの各種情報の
    結合を指示する結合指示演算手段; を備えることを特徴とする、関係型データベース装置。
JP63005593A 1988-01-13 1988-01-13 関係型データベース装置 Pending JPH01181125A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63005593A JPH01181125A (ja) 1988-01-13 1988-01-13 関係型データベース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63005593A JPH01181125A (ja) 1988-01-13 1988-01-13 関係型データベース装置

Publications (1)

Publication Number Publication Date
JPH01181125A true JPH01181125A (ja) 1989-07-19

Family

ID=11615532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63005593A Pending JPH01181125A (ja) 1988-01-13 1988-01-13 関係型データベース装置

Country Status (1)

Country Link
JP (1) JPH01181125A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04237374A (ja) * 1990-08-31 1992-08-25 Internatl Business Mach Corp <Ibm> データベース・システム及び分析方法
JPH08110928A (ja) * 1994-06-28 1996-04-30 Bull Sa 計算シート自動生成の方法と装置
JP2007249772A (ja) * 2006-03-17 2007-09-27 Hitachi Ltd データ処理方法、データ処理システム及びデータ処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04237374A (ja) * 1990-08-31 1992-08-25 Internatl Business Mach Corp <Ibm> データベース・システム及び分析方法
JPH08110928A (ja) * 1994-06-28 1996-04-30 Bull Sa 計算シート自動生成の方法と装置
JP2007249772A (ja) * 2006-03-17 2007-09-27 Hitachi Ltd データ処理方法、データ処理システム及びデータ処理プログラム

Similar Documents

Publication Publication Date Title
Teorey et al. Database modeling and design: logical design
US7165064B2 (en) Systems and methods for retrieving data
US7143076B2 (en) Method and apparatus for transforming data
KR101213798B1 (ko) 복합 데이터 액세스
US7024417B1 (en) Data mining framework using a signature associated with an algorithm
US8020110B2 (en) Methods for defining queries, generating query results and displaying same
US5740421A (en) Associative search method for heterogeneous databases with an integration mechanism configured to combine schema-free data models such as a hyperbase
JP5231946B2 (ja) 製造情報管理方法及び製造情報管理システム
JP2016146205A (ja) データ検索装置、プログラム、及び記録媒体
JPH0475170A (ja) データベース操作方法
JPH04237374A (ja) データベース・システム及び分析方法
US20090158218A1 (en) Structured model navigator
CN102236662B (zh) 数据库查询和控制方法
JPH01181125A (ja) 関係型データベース装置
JP4886266B2 (ja) 文献調査方法、文献調査システムおよび文献調査プログラム
JP3860992B2 (ja) データの結合・提示方法、および、データ結合・提示プログラム
JP3552339B2 (ja) データベースシステム
JP2571144B2 (ja) プログラム開発装置
Santucci et al. A hypertabular visualizer of query results
JP2819567B2 (ja) 分類インデックス作成装置
KR0165510B1 (ko) 데이타 베이스 관리시스템의 테이블 생성방법
US20230054518A1 (en) Method and apparatus for a data funnel interface with adjustable paths
JP2571143B2 (ja) プログラム開発装置
Yang et al. A semantic approach to query rewriting for integrated XML data
Saxena et al. New dimension value introduction for in-memory what-if analysis