JPH087675B2 - 図形的照会システム - Google Patents

図形的照会システム

Info

Publication number
JPH087675B2
JPH087675B2 JP4286595A JP28659592A JPH087675B2 JP H087675 B2 JPH087675 B2 JP H087675B2 JP 4286595 A JP4286595 A JP 4286595A JP 28659592 A JP28659592 A JP 28659592A JP H087675 B2 JPH087675 B2 JP H087675B2
Authority
JP
Japan
Prior art keywords
query
window
database
objects
sql
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
JP4286595A
Other languages
English (en)
Other versions
JPH05224906A (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 JPH05224906A publication Critical patent/JPH05224906A/ja
Publication of JPH087675B2 publication Critical patent/JPH087675B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データベース照会の改
良、詳細には、データベース照会の図形的表示のための
プレゼンテーションオブジェクトの作成に関する。
【0002】
【従来の技術およびその課題】データベースは、コンピ
ュータ化されたデータベースによって記憶および検索さ
れるデータ量の増加のためばかりでなく、その記憶およ
び検索プロセスにおいて確立されることが可能なデータ
の関係の点からも、最近の重要な関心の対象となってい
る。
【0003】構造化照会言語(SQL)、特に、ANS
I SQLは、関係データベースに照会を送るための好
ましい言語媒体となっている。その結果、現在、極めて
多数の関係データベースおよび、そうしたデータベース
に向けられた極めて多数の関連した照会が存在する。そ
のようなデータベースおよび照会に投資する場合、移行
は、望ましい機能というばかりでなく、新しい関係デー
タベースシステムおよびその方法にとって相当に必要な
能力である。
【0004】照会をワークステーションのディスプレイ
画面に図形的表現で描出するという概念は、関係データ
ベースのインタフェースに対する比較的新しい試みであ
る。視覚的照会は、しばしば図形的照会とも呼ばれ、S
QLステートメントによって定義された照会オブジェク
トを表現するためにワークステーションの図形的処理を
利用する。視覚的照会は、探索のオブジェクトの絵画的
描出を提示し、それによって、利用者が照会言語を習得
するあらゆる必要性をなくし、SQL照会が公式化され
得る速度を向上させ、照会の欠陥または誤り率を低減さ
せる。
【0005】関係データベース、通信ネットワークおよ
びワークステーションの普及の拡大によって、典型的な
システム利用者の訓練および経験は、使用可能な資源に
対して低下している。こうした各種事象によって生じる
矛盾は3重になる。第1に、古典的なSQL表現によっ
て公式化された照会の確立された貴重な基盤が存在す
る。第2に、各自の情報にアクセスする関係データベー
スおよびネットワークの使用が増加している。このよう
なデータベースの末端利用者は、その関係データベース
情報に効率的かつ正確にアクセスするために必要な実際
のツールに日常的にそれほど熟達していない。最後に、
データベースアクセス法の利用者は、そのデータベース
の各自の操作にもとづく変更の直接的フィードバックを
受け取れない。従って、照会ステートメントを未熟なデ
ータベース利用者によって理解可能な視覚的表現に変換
する、また、逆に、図形的または視覚的に表現された照
会を現行のデータベースおよびネットワーク環境におい
て使用可能なSQLフォーマットステートメントに変換
する方法、システムおよびプログラムに対する明白な必
要性が存在する。
【0006】F. FaloutosおよびT. Se
llisによる、“An Efficient Pic
torial Database System fo
rPSQL”(IEEE Transactions
on SoftwareEngineering, V
ol.14, No.15,1988年5月)と題する
論文では、探索を最適化するために効率的なデータ構造
を用いてKツリーまたはBツリーデータベースを探索す
るための従来技術による技法が検討されている。この論
文は、情報を検索し、その情報をグラフィックディスプ
レイに表示するためのアクセス技法を論じている。例え
ば、人口統計学的情報を使用して、人口を米国の各種区
分に反映させるために、情報を検索し、それを図形的に
フォーマットするために使用することができる。その後
の図形的表示のためにそのデータアクセスをさらに最適
化するための改良は、米国特許第4,905,163号
および“Intelligent Schedulin
g, Query and Reporting Da
ta Base”(IBM Technical Di
sclosure Bulletin Vol.30,
No.1,1987年6月)に開示されている。
【0007】知識ベース用の動的図形的表示の例は、N
ueron Dataに対する米国特許第4,752,
889号に見られる。同特許は、利用者ラインコマンド
によってデータベースに対して変更がなされた後に更新
される知識ベースの図形的ツリー構造描出を開示してい
る。これらの従来技術の参照のいずれも、データベース
を直接操作し、その変更を動的に反映させるためのグラ
フィックインタフェースを開示または提起していない。
【0008】従って、本発明の主たるの目的は、データ
ベースを直接操作するためにプレゼンテーションオブジ
ェクトを作成するための図形的照会ソフトウエアを利用
者に供することである。
【0009】
【課題を解決するための手段】本発明は、データベース
に格納された照会データを図形的に操作するためのシス
テムであって、前記システムがプロセッサ及び表示装置
と関連して動作するものにおいて、照会オブジェクトク
ラスのリストを表示する表示手段と、前記複数の照会オ
ブジェクトクラスの一つを選択し、照会オブジェクトデ
ータを入力して一つの照会オブジェクトを作成するユー
ザ対話手段と、連結すべき二つの照会オブジェクトを選
択し、作成された連結オブジェクトの連結情報を指定す
る選択手段と、照会オブジェクト定義及び結合オブジェ
クト定義を前記データベースの一部として格納する格納
手段と、を含むことを特徴とするシステムを提供する。
【0010】
【作用】本発明の上述その他の目的は、プロセッサのメ
モリにおけるアルゴリズムの動作によって実現される。
このプロセッサは、データベースの現在状態を判定する
ためにデータ構造にアクセスし、そのデータベースに記
憶された情報の論理的関係を図形的に表示する。利用者
は、このグラフィックユーザインタフェースを介して、
データベースの一部およびその論理的関係を選択および
変更するために位置決め装置を使用することができる。
それらの選択および変更は、基礎となるデータ構造に対
する修正によってその関係データベースに動的に適用さ
れ、ディスプレイに図形的に反映される。さらに、プレ
ゼンテーションオブジェクトと呼ばれる動的データ構造
が、関係、新しい表、グループ、制約、行条件、HAV
ING条件、SQLステートメント、カテゴリおよび既
存データベース情報の設定を定義する利用者作成情報に
もとづいて作成される。この動的データ構造は、最終的
に、もとのデータベースの一部となることができる。そ
の方法、システムおよびプログラムは、データベースの
直接操作および変更で用いられるプレゼンテーションオ
ブジェクトと呼ばれるデータ構造の動的生成において、
包括的である。
【0011】
【実施例】関係データベースから情報を取得する照会
は、従来、ANSI規格構造化照会言語(SQL)ステ
ートメントによって定義される。これらのステートメン
トは、そのデータが抽出される表、対象となる列、行が
満たさなければならない条件、どの列が含まれるか、選
択列はどのようにグループ化されるか、列の順序、列に
おける示差性の制約、表内のデータの関係、および、そ
の基本照会に統合される下位または副照会を、コンピュ
ータ認識可能用語で定義する。SQLおよびその用法を
説明した単純なテキストは、1991年にIBM コー
ポレーションによって公刊されたブックレット“IBM
Operating System/2 Exten
ded Edition Database Mana
gerStructured Query Langu
age (SQL) Concepts”に出ている。
ANSI規格SQLステートメントのほかに、関係デー
タベースの世界には多数の非標準的SQLステートメン
トが存在する。従って、あらゆる双方向変換資源は、広
範囲の関係データベースSQL言語の変種のインタフェ
ースをとるために構造の多岐性を有していなければなら
ない。
【0012】上述の通り、その変換の包括的双方向性
は、確立されたSQL照会からそれらの図形的または視
覚的な照会等価物へ移行するという視野から、重要であ
る。現行のSQL照会の視覚的環境への再生成を必要と
することは非効率的である。同時に、新しい視覚的照会
は、現行の関係データベースにより現行のハードウエア
で使用するためにSQLフォーマットで使用できなけれ
ばならない。従来技術では、図形的表示による包括的双
方向性および直接操作が欠けている。
【0013】SQLから視覚的または図形的表現へごく
限られた変換を付与するためのいくつかの技術が実際に
存在する。代表的な例は、以下の文献に記載されてい
る。Hrohorによる“Graphical Use
r Language forQuerying In
formation: Where to lookf
or criteria?” 1988 IEEE W
orkshop On Visual Languag
es, May 1988年5月,第14−20頁。C
zejdo等による“Design and Impl
ementation of An Interact
ive Graphical Query Inter
face for a Relational Dat
abase Management System”
1988 IEEE Workshop On Vis
ual Languages, May 1988年5
月,第21−28頁。Benjamin等による“En
d−User Access to Relation
al Database Metaphor Data
base Server” InfoDB,1987年
夏季号。
【0014】残念ながら、これらの刊行物に記載された
変換は、包括的双方向性および多様性の範囲の両方を欠
いていた。すなわち、その焦点は単に、SQLから視覚
的または図形的表現へ変換することに向けられていたに
すぎない。さらに、それらの変換は、行条件が多様な論
理関係を処理することができない、列データに数学的関
係がまったく認められない、そして副照会の処理が欠け
ているといった点で、ANSI規格SQLの包括性はな
かった。それらの教示のいずれも、図形的表示から直
接、データベースを直接的に操作するための能力を間接
的にさえ提起していなかった。
【0015】Howardらによる論文、“User
Interfaces for Structural
Engineering Relational D
atabase”(Engineering With
Computers, 1988, pp.238−
249)は、テキストベースの照会、そこで定義された
技術照会言語(Engineering Query
Language)と図形的表現との間の双方向変換の
重要性を認識していた。しかし、この論文は、このよう
な望ましい目的がどのように実施できるかを開示してい
なかった。論文は、比較的複雑な照会公式化を変換し、
それらをグラフィックインタフェースから直接データベ
ースへ適用するための潜在的な必要性を認めていたが、
解決策を提示する試みはまったくしていなかった。対照
的に、本発明は、こうした望ましい目標を達成し、ま
た、これらに限定されるものではないが、列間の複雑な
論理・代数関係の定義および副照会から成る階層的照会
の操作を含む、複雑な公式化を処理するための資源によ
ってそれを行うための方法、システムおよびプログラム
を定義する。
【0016】本発明は、好ましくは、IBMコーポレー
ションから入手可能なOS/2 Extended E
ditionソフトウエアプログラムで使用可能である
ような、関係データベースの文脈で実施される。代表的
なハードウエア環境を図1に示す。同図は、従来のマイ
クロプロセッサなどの中央処理装置10、および、シス
テムバス12によって相互接続された他の多数の装置を
有する、本発明に従ったワークステーションの典型的な
ハードウエア機器構成を例示している。図1に示したワ
ークステーションは、ランダムアクセスメモリ(RA
M)14、読出し専用メモリ(ROM)16、ディスク
装置20などの周辺装置をバスに接続するための入出力
アダプタ18、キーボード24、マウス26、スピーカ
28、マイクロフォン32および/またはタッチスクリ
ーン装置(図示せず)などの他のユーザインタフェース
装置をバスに接続するためのユーザインタフェースアダ
プタ22、ワークステーションをデータ処理ネットワー
クに接続するための通信アダプタ34、および、バスを
ディスプレイ装置38に接続するためのディスプレイア
ダプタ36を含む。
【0017】OS/2 Extended Editi
on系オペレーティングシステムおよび前述のOS/2
Extended Edition関係データベース
プログラムを有する、IBM製PS/2ワークステーシ
ョンを含むワークステーションのネットワークを、図2
に例示する。ワークステーション39は、ハードディス
ク、光ディスクまたはテープ駆動媒体などのデータベー
ス用不揮発性記憶装置、さらに、接続された別のデータ
ベース41および42ならびに、43などの個別の遠隔
のワークステーションを有する、全体として40で示さ
れたネットワークと通信するための手段を含む。その基
本目標は、ワークステーション39の比較的未熟な関係
データベース利用者に、情報の広範な履歴ベースを含む
関係データベース照会を作成、修正および実行するため
の方法、システムおよびプログラム資源を供することで
ある。本発明は、さらに、従来のSQLフォーマットで
公式化された既存の照会が、ワークステーション39へ
搬送され、グラフィックディスプレイ44で表示される
ための等価な視覚的または図形的照会へ転換されること
を想定している。その後、利用者は、その照会を洗練
し、実行し、その結果をグラフィックディスプレイで動
的に見ることができる。
【0018】構造化照会言語(SQL)照会のためのユ
ーザインタフェースアーキテクチャの基本的信条は、数
学的言語および硬直した構文解析規則によるコンピュー
タと異なり、人間が、情報を編成し、オブジェクト間の
関係を理解するためのカテゴリを使用するということで
ある。オブジェクトは、関係データベースにおけるいず
れかの実際の項である。コンピュータがSQLを用いて
関係データベースの照会を実行するために必要な情報
は、対象となるオブジェクトを表現するテキスト、およ
び、存在するかまたは要求者にとって関心のある関係を
示すこれらのオブジェクトの図形的表現によって、関連
するオブジェクトに視覚的に構造化される。構造化照会
言語(SQL)におけるステートメントの詳細な説明に
ついては、IBMの“SQL REFERENCE”
SC26−4380(1989)を参照されたい。これ
らのステートメントは、オブジェクトを作成(CREA
TE)、変更(ALTER)およびドロップ(DRO
P)する、それらのデータを検索(RETRIEV
E)、挿入(INSERT)、更新(UPDATE)お
よび削除(DELETE)する、ならびに、それらに対
する特権を許可(GRANT)および無効に(REVO
KE)するものを含む。この刊行物は、全部のSQL要
素の完全な記述、および、IBMによって実施された全
部のSQL要素のアルファベット順リストをその構文、
オプションおよび効果とともに記載している。
【0019】本発明は、SQL照会ステートメントおよ
び(関係を含む)視覚的オブジェクトの実部の一対一マ
ッピングを作成する。この方法は、コンピュータにとっ
て最適な形式で情報を処理しながら、利用者が有意的形
式で情報を見ることを助ける。利用者によって動的に作
成されたオブジェクト間の関係は、プレゼンテーション
オブジェクトと称する。これらのプレゼンテーションオ
ブジェクトおよび対応する関係データベースマネージャ
(RDBM)またはSQLステートメント構成要素は、
以下の通りである。 (1)TABLE(表)−この表から用いるために使用
可能な列名の選択可能なリストを含むウィンドウオブジ
ェクト。このRDBM構成要素は、事実上、表またはビ
ューオブジェクトとしてよい。表(またはビュー)名
は、SQLのFROMステートメントの一部である。表
ウィンドウで強調表示された個々の列名は、SQLのS
ELECTおよびSQLのGROUP BYステートメ
ントの一部である。(図3、54のSTAFF表参
照。) (2)CONNECTOR(結合子)−2つ以上の制約
のための論理結合子を含む省略符号として示されるオブ
ジェクト。この結合子はRELATIONSHIP(関
係)によって制約に結合される。結合子は、以下のステ
ートメントの一部とすることができる。
【0020】(a)SQLのWHEREステートメント
(論理演算子および括弧の順序)、または、(b)SQ
LのHAVINGステートメント(論理演算子および括
弧の順序) (図3、56のORおよびAND論理演算子参照)。 (3)RELATIONSHIP(関係)−2つのオブ
ジェクトを接続する実線として示されるオブジェクト。
この関係は、それらのオブジェクト間に何らかの相関関
係が存在することを示すために使用される。関係は、い
ずれかの数学的関係、オブジェクトのグループ化、また
は、いずれかのオブジェクトが別のオブジェクトから導
出されるということの指示によってオブジェクトを結合
することでもよい。このRDBM構成要素は参照保全制
約としてよい。関係は以下のステートメントの一部とす
ることができる。
【0021】(a)SQLのWHEREステートメント
(2つ以上の表にあるレコードを等価にする結合関係、
または、CONNECTORオブジェクトによってそれ
らの構成要素を接続する括弧によるグループ化) (b)SQLのHAVINGステートメント(CONN
ECTORオブジェクトによって構成要素を接続する括
弧によるグループ化) (図3、表54と55との間の結合処理を指定する連結
線を参照。また、56の論理的ANDおよびOR処理を
結合する線も参照。) (4)NEW COLUMN(新列)−ある表オブジェ
クトで使用できる1つ以上の列に対して特定の関数を適
用することによって作成される列の選択可能リストを含
むウィンドウオブジェクト。使用されるこの表オブジェ
クトの列名オブジェクトはそのTABLEオブジェクト
から選択する必要はない。このSQL構成要素は、SQ
LのSELECTステートメントの個別の関数構成要素
である。NEW COLUMNウィンドウは、TABL
Eの下位クラスである。その一意の特徴は、NEW C
OLUMNウィンドウが、それを別のTABLEオブジ
ェクトに接続する結合RELATIONSHIPオブジ
ェクトを持つことができないということである。(図
3、50のNew表参照。) (5)GROUP BY(グループバイ)−選択された
TABLEまたはNEWCOLUMNウィンドウで使用
するために使える全部の可能な列または関数のリストを
含むウィンドウオブジェクト。その選択された項は、S
QLのGROUP BYステートメントの項を含む。
(図3、51のGroup表参照。) (6)CONSTRAINT(制約)−照会結果に関す
る利用者定義制限を含むボックスとして描出されるオブ
ジェクト。制約はRELATIOSHIPによってウィ
ンドウに接続される。また、制約は、ある制約を別の制
約に結合するためにCONNECTORに接続すること
もできる。制約に、副照会を含めるまたは定義すること
ができる。制約は以下の一部とすることができる。
【0022】(a)SQLのWHEREステートメント
(ステートメントの個別単位) (b)SQLのHAVINGステートメント(ステート
メントの個別単位)(図3、56の(Salary >
6000)参照。) (7)ROW CONDITION(行状態)−TAB
LE上のCONSTRAINTS ON TABLE、
CONNECTORSおよびRELATIONSHIP
Sを含むウィンドウオブジェクト。ROW CONDI
TIONは、関係を制約する集合、および、それらがど
のように編成されているかを図形的に描出する。ROW
CONDITIONウィンドウは、いずれかの結合条
件に満たないSQLのWHEREステートメントを描出
する。(図3、56のROW CONDITION表を
参照。) (8)HAVING CONDITION(ハビング状
態)−GROUP BY上の CONSTRAINT
S、CONNECTORSおよびRELATIONSH
IPSを含むウィンドウオブジェクト。HAVING
CONDITIONは、関係を制約する集合、および、
それらがどのように編成されているかを図形的に描出す
る。HAVING CONDITIONウィンドウは、
SQLのWHEREステートメントを描出する。(図
3、57のHAVING CONDITION表を参
照。) (9)SQL STATEMENT(SQLステートメ
ント)−VISUALQUERYウィンドウの図形的構
成要素から構成された実際のSQLステートメントを含
むウィンドウオブジェクト。(図3、53のSQL S
TATEMENTを参照。) (10)CATEGORY(カテゴリ)−TABLE作
成者または管理者によって提起された所定の関係を有す
る表のグループ(カテゴリ)を含むウィンドウオブジェ
クト。CATEGORYウィンドウは、VISUAL
QUERYインタフェースで使用可能な初期オブジェク
トである。作業するオブジェクトのCATEGORYの
選択は、使用する表の定義のためのインタフェース、こ
れらの表の関係、および、いずれかの以前に定義された
NEW COLUMNをオープンする。あるCATEG
ORYの表は、実際の照会で使用するために選択するこ
とができる。いずれかの必要な関係は、選択されたアイ
テムのインタフェースによって維持される。図22は、
本発明に従ったCATEGORYウィンドウによるSQ
L照会の図形的表示を例示している。2100はPEO
PLEカテゴリを、2200はEXPERIENCEカ
テゴリを指示している。これらの2つの表は、単一のウ
ィンドウに結合されている。 (11)SET OPERATION(セット演算)−
UNION,INTERSECTおよびEXCEPTの
集合演算を実行するための直接操作について図形的形式
で選択された照会を含むウィンドウオブジェクト。この
ウィンドウ機能については、“Visual Mode
l For Database SetOperati
ons”(IBM Technical Disclo
sureBulletin Vol.33 No.6
A,1990年11月)に記載されている。 (12)RESULTS(結果)−コミットされたVI
SUAL QUERYの結果を含むウィンドウオブジェ
クト。
【0023】視覚的照会インタフェースはウィンドウ系
システムで始まる。このウィンドウは、以下を図形的に
描出するために使用される。
【0024】・その照会に関与するデータベースの表お
よびビュー ・その照会で使用される列、式および要約 ・以下を含む基本照会の結果を限定するあらゆる制約 *列制約 *HAVING文節 *副照会 ・結果のグループ化 ・表およびビューの相互に対する関係 ・制約の関係および組合せの形式 ・以下として使用される定義された照会の合計結果 *副照会 *セット演算(UNION,INTERSECTおよび
DEFFERENCE)での他の照会結果 オブジェクトは、選択、定義および相関づけの3つの基
本動作のうちのいずれかによって操作することができ
る。これらの結果は、類似であるが、各オブジェクトの
型について一意に個別である。すなわち、いずれかの部
分を定義する動作は、全部の部分について同一である。
オブジェクトそれ自体だけは、それが事実上SQLステ
ートメントのどの部分を作成しなければならないかを認
識している。オブジェクトNEW COLUMN、HA
VING CONDITIONおよびROW COND
ITIONの相互作用および生成も、これらのオブジェ
クトが他のオブジェクトの下位クラスとして扱われると
いう点で、一意である。
【0025】図3は、そのSQLテキスト等価物ととも
に視覚的または図形的に描出された照会の内容を例示す
るために、図2のワークステーション39の画面44な
どのビデオディスプレイ画面の例示レイアウトを示して
いる。全体として53で示すウィンドウにあるSQLス
テートメントは、SELECT、FROM、WHER
E、GROUP BY、HAVINGおよびGROUP
BY文節、各種論理関係、数学的関係および副照会を
含む。ほとんどの文節および関連する表は独立したウィ
ンドウに示されている点に留意されたい。一例は、SQ
Lウィンドウ53のFROM文節であり、これは、列の
先頭の部課(DEPT)およびマネージャ(MANAG
ER)が、それぞれ、ウィンドウ54の職員(STAF
F)およびウィンドウ55の組織(ORG)として識別
された独立した表から選択されていることを定義する。
新しい列がSELECT文節で定義された場合、それら
の列は適切なウィンドウ50によって新しく定義されて
いるように識別される。別のウィンドウも、ウィンドウ
51に示されたように2つの表の相互作用によって定義
された潜在的集合からの選択された組の列をGROUP
BYウィンドウが関連づけたことを識別するために作
成される。すなわち、列DEPTおよびMANAGER
は、それらの2つの表STAFF 54およびORG
55からのグループ化のために選択される。小さなウィ
ンドウ52は、そのDISTINCT機能が使用禁止と
なっており、それにより、その応答に選択された行の冗
長性を許すことを示すために使用される。その応答がS
QLのORDER BY要求を有するように定義されて
いる、すなわち、部課のリストが昇順の英数字順になっ
ていることを示すためにいかなるウィンドウも含まれて
いない。
【0026】画面下部の2つのウィンドウ56および5
7は、WHERE文節、行条件およびHAVING文節
を満たすために定義された論理的および数学的関係を図
形的形式で示している。データベースのこれらの図形的
表現は、本発明に従ってこのデータベースの情報の論理
的関係を直接変更するために操作することができる。こ
の好ましいハードウエアおよび定義されたビデオディス
プレイ画面の図形的環境によって、以降の説明は、本発
明がデータベースの動的な図形的変更を実施する方法を
中心に進める。
【0027】本発明の一つの側面は、テキストベースの
SQL照会ステートメントと図形にもとづく視覚的照会
表現との間の双方向変換または転換が共通データ構造の
作成および使用を必要とするという認識であった。実施
されたように、その共通データ構造は、多数の関係づけ
可能なリストから成る。照会の起点がSQLステートメ
ントである場合、その共通データ構造のリストの内容
は、SQLステートメントの従来の構文解析によって抽
出される。図形的照会の場合、それらのリストのデータ
は、利用者による図形的操作において共通データ構造に
収集され、変形される。
【0028】共通データ構造の使用は、数多くの利益を
もたらす。最も重要なものは、SQL照会ステートメン
トとその照会の図形的表現との間の双方向変換である。
ここで述べる共通データ構造は、ANSI規格SQL言
語を前提とする。しかしながら、利用者の利益のため
に、共通データ構造は、必要に応じて、SQL言語変種
を包括するために付加的に修正することができる。これ
は、ある程度、弁別可能な文節から基本的に構成される
言語であるという、SQLの構造化された性質に起因す
る。
【0029】ANSI規格SQLは、8つの要素から成
るデータ構造を利用する。図3に示した照会例に適用さ
れたような構造の構成は、図4のブロック図によって略
示される。このSQL照会は、以下の8つの基本データ
構造の集合を確立する。(1)FromTable(結
合元表)300は、データがそこから照会される表の順
序づけられたリストを含む。(2)SelectCol
umn(SELECT列)305は、SELECT文節
に含まれる列名の順序づけられたリストを有する。
(3)SelectExp 310は、SELECT文
節に含まれる式および列関数の順序づけられたリストを
含む。(4)WhereCond(WHERE状態)3
20は、WHERE文節の論理式を保持する。(5)G
roupBy330は、GROUP BY文節にある列
名の順序づけられたリストを有する。(6)Havin
gCond(HAVING状態)340は、HAVIN
G文節にある論理式を格納する。(7)Ordered
By 350は、{O_ColumnName,Ord
eredOp}の順序づけられたリストを保持する。O
rderedOp(順序付け操作)は、リスト化のAS
C(昇順)またはDSC(降順)のいずれかを定義し、
O_ColumnName(O列名)はORDER B
Y文節で指定された列名である。(8)Distinc
tFlag(DISTINCTクラブ)360は、DI
STINCTキーワードの状態を追跡する。
【0030】SQL照会のテキスト形式と視覚的表現と
の間に包括的な双方向性を付与するために、好ましい構
成は、図5に示した共通データ構造の付加的なグループ
も含む。このような各データ構造の名称およびそのフォ
ーマットを以下に説明する。
【0031】(9)ColumnList(列リスト)
400は、FromTableリストの各表のデータ構
造リストを保持する。ColumnListは、{Co
lumnName,Flag}データの完全リストを含
む。Flagデータ(フラグ)は、そのColumnN
ame(列名)がそのSELECT文節に選択されてい
るかどうかを指示する。このリストは、データベース管
理システムからのシステムカタログ情報によって容易に
構成される。
【0032】(10)W_JoinList(W結合リ
スト)420は、“LeftSide=RightSi
de”情報を格納する{LeftSide,Right
Side}のリストを含む。ここで、LeftSide
(左辺)およびRightSide(右辺)の両者は、
FromTableにリスト化された表に属する列であ
る。このリストの各項は、その照会のJOIN条件であ
り、かつ、Row Conditionウィンドウに含
まれていないものとしてみなされる。
【0033】(11)W_ParentChildre
n(W親子)480は、{ParentNode,Ch
ildrenNodes}のリストを保存する。この場
合、ChildrenNodes(子ノード)は、ノー
ド名から成るn個組であり、それらのノードはPare
ntNode(親ノード)で指定されたそのノードの子
である。例えば、(N1,(N3,N4,N5))は、
ノードN3,N4およびN5がノードN1の子ノードで
あることを表す。このリストはWHERE条件のために
使用される。
【0034】(12)W_NodeLocType(W
ノード位置タイプ)470は、{NodeName,C
oordinates,Type}のリストである。こ
の場合、Coordinates(座標)はRow C
onditionウィンドの左下隅に対するNodeN
ame(ノード名)の座標であり、Type(タイプ)
は論理演算子(ANDまたはOR)ノードまたは述語で
あることを指示する。
【0035】(13)W_PredicateData
(W述部デー455は、WHERE条件の述部の情報を
格納するリスト{NodeName,LeftSid
e,CompOp,ValueButton,RS_V
alue,SubqueryButton,RS_Su
bquery}となる。CompOp(比較演算子)は
比較演算子である。LeftSideはその述語のCo
mpOpの左辺の式である。ValueButton
(値ボタン)がON状態にある場合、述語のCompO
pの右辺の式は単にテキストがRS_Value(RS
値)リストに格納されているその単純式にすぎない。S
ubqueryButton(副照会ボタン)がONの
場合、右辺は別のSELECTステートメントとして扱
われ、従って、SQL照会ステートメントにとって副照
会とみなされる。この副照会はRS_Subquery
(RS副照会)リストに格納された照会名によって表現
される。副照会は、それがその中に存在するデータ構造
照会とは独立したそれ自身のデータ構造を有するという
点で、個別の照会ステートメントである。
【0036】図6および図7は、本発明によって使用さ
れる付加的なデータ構造のブロック図である。
【0037】(14)H_ParentChildre
n(H親子)490は、W_ParentChildr
enと同様のリストであるが、HAVING条件によっ
て使用される。
【0038】(15)H_NodeLocType(H
ノード位置タイプ)492は、W_NodeLocTy
peと同様のリストであるが、HAVING条件によっ
て使用される。
【0039】(16)H_PredicateData
(H述部データ)494は、W_PredicateD
ataと同様のリストであるが、HAVING条件によ
って使用される。
【0040】(17)GroupList(グループリ
スト)495は、GroupBy構造にもとづく{Co
lumnName,GroupCheck}のリストで
ある。このリストは、FromTableリストのすべ
てのTable(I)のColumnList(I)の
全部の列名をグループ化する。そのGroupByリス
トにColumnName項も存在する場合、Grou
pCheckデータがONに設定される。そうでなけれ
ば、GroupCheckデータはOFFに設定され
る。
【0041】(18)OrderList(順序リス
ト)496は、{ColumnName,OrderO
p(順序付け操作),OrderNumber(順序番
号)}から構成されており、OrderBy構造にもと
づく。このリストは、FromTableリストのすべ
てのTable(I)のColumnList(I)の
全部の列名をグループ化する。そのOrderByリス
トにColumnName項も存在する場合、Orde
rNumberはOrderByリストにおけるその位
置を示す。そうでなければ、OrderNumberは
空白(ナル)のままとされる。
【0042】双方向変換を受けるSQL言語がSET処
理(UNION,INTERSECTION,EXCE
PTなど)を含む場合、各照会ステートメントは個別の
照会として扱われ、その照会全体を表現するためにツリ
ー構造が使用される。このツリー構造表現では、演算子
ノードは、UNION, UNION ALL, IN
TERSECT, INTERSECT ALL, E
XCEPT, EXCEPT ALLなどである。この
ような状況では、葉ノードは照会全体に関与する照会部
分の名前を表示する。これ以上のSQLステートメント
能力を実施するためには、3つの付加的な共通データ構
造が要求される。これらの付加的な共通データ構造は図
8に示す。
【0043】(19)S_ParentChildre
n(S親子)497は、{ParentNode,Ch
ildrenNodes}というリストである。ここ
で、ChildrenNodesは、ParentNo
deで指定されたそのノードの子であるノード名から成
るn個組である。例えば、(N1,(N3,N4,N
5))は、ノードN3,N4およびN5がノードN1の
子ノードであることを表す。このリストはSET処理を
有するすべての照会で使用される。
【0044】(20)S_NodeLocType(S
ノード位置タイプ)498は、{NodeName,C
oordinates,Type}から成る。ここで、
Coordinatesは照会ウィンドウの左下隅に対
するNodeNameの座標であり、Typeは、No
deNameがSET演算子(UNION, UNIO
N ALL, INTERSECT, INTERSE
CT ALL, EXCEPT, EXCEPT AL
L)ノードまたは照会であることを指示する。
【0045】(21)S_NodeQuery(Sノー
ド照会)499は、照会名をノードの名前とツリー構造
表現で連結する{NodeName,QueryNam
e(照会名)}から成るリストである。各照会は、独立
したデータ構造を備えた個別の照会としてみなされる。
【0046】前述のリストは、包括的な双方向変換環境
における従来のSQL言語照会の実施に要する共通デー
タ構造の核心となるグループである。非ANSI規格S
QLを含む特殊な照会については、構文解析規則および
情報の点で若干の修正が必要である。入力が以前に生成
されたSQLステートメントを有するような場合には、
本発明の好ましい構成は、構文解析処理において非標準
ステートメントを検出するための資源を含む。割り込ま
れた場合、非標準SQLステートメントは、利用者によ
って手動で変換できるか、または、その頻度に応じて、
本明細書に規定したデータ構造の拡張を用いて自動変換
を受けることができる。
【0047】また、本発明は、不完全な照会の共通デー
タ構造を生成するための資源を付与することも認識しな
ければならない。増分で変換できる能力は、特に、その
SQLおよび視覚的対応物において照会の展開を追跡す
るという視点から貴重である。
【0048】ソースコードおよび関係するオブジェクト
コードを導くことができる、ここで開示されているシス
テム、方法およびプログラムを実施するために適した疑
似コードを以下に記載する。 /**************************************************************/ /* 視覚的照会インタフェースから共通データ構造を */ /* 構築する */ /**************************************************************/ /* 表が選択される */ TableSelectProc(STableName) インタフェースから StableName を取得する /* FromTable はリストである */ If StableName が FromTable にある Return EndIf If FromTable が空である I = 0 Else I = FromTable のLast Entry数 EndIf I = I + 1 FromTable(I) = StableName /* TableName のColumnListを構築する */ /* ColumnListの各項は(ColumnName, Flag)である */ StableNameに属する列の名を System Catalog から取得し、各FlagがOFF に設定されている Stablename の ColumnList リストを構築する そのタイトルバーとしてStablenameを有し、かつ、 そのクライアント領域の内容としてColumnListを有する ウィンドウを表示するために画面の位置を決定する Return /* 表ウィンドウに表示されるColumnが選択される */ ColumnSelectProc(SColumnName) 反転表示されるSColumnName の表示モードを変更する このSColumnName のTableName を見つける TableName.SColumnName をSelectColumnリストに加える TableName のColumnListの対応する項を見つける そのフラグをONにセットする Return /* 選択されたTable が選択解除される */ TableDeselectProc(STableName) FromTable からDTableNameを除去する DTableNameウィンドウの表示を除去する SelectColumnの各エントリ(TableName,ColumnName)についてDo If TableName = DTableName DTableNameのColumnListを取得する If ColumnName がDTableNameのColumnListに存在する SelectColumnからこの項を除去する EndIf EndIf EndDo DTableNameについてColumnListの各エントリについてDo FlagをOFF にリセットする EndDo SelectExp を取得する SelectExp の各エントリ(ExpFct)についてDo ExpFct内の各ColumnNameについてDo If ColumnNameがDTableNameのColumnListに存在する SelectExp からこのExpFctを除去する EndIf EndDo EndDo WhereCond を取得する WhereCond 内の各ColumnNameについてDo Predicate 内の各ColumnNameについてDo If ColumnNameがDTableNameのColumnListに存在する このPredicate およびその関係する 演算子をWhereCond から除去する EndIf EndDo EndDo W-JointList を取得する W-JointList の各エントリ(TableName1.ColumnName1, TableName2.ColumnName2) についてDo If TableName1 = DTableName又は TableName2 = DTableName W-JointList からこのEntry を除去する EndIf EndDo GroupBy を取得する GroupBy の各エントリ(GColumnName) についてDo If ColumnNameがDTableNameのColumnListに存在する GroupBy からこのEntry を除去する EndIf EndDo HavingCondを取得する HavingCondの各エントリPredicate についてDo Predicate 内の各ColumnNameについてDo If ColumnNameがDTableNameのColumnListに存在する このPredicate およびその関係する 演算子をHavingCondから除去する EndIf EndDo EndDo OrderBy を取得する OrderBy の各エントリ(O-ColumnName,OrderOp)についてDo If O-ColumnName がDTableNameのColumnListに存在する OrderBy からこのEntry を除去する EndIf EndDo W-ParentChildrenを再構築する W-NodeLocType を再構築する W-PredicateData を再構築する GroupList を再構築する H-ParentChildrenを再構築する H-NodeLocType を再構築する H-PredicateData を再構築する OrderList を再構築する WhereConditionウィンドウを再表示する HavingCondition ウィンドウを再表示する Order Byウィンドウを再表示する 更新された情報によりVisual Queryウィンドウを再表示する Return /* 表ウィンドウに表示される選択されたColumnを選択解除する */ ColumnDeselectProc(ColumnName) ColumnNameの表示モードをノーマルに変更する このColumnNameのTableName を見つける TableName.ColumnNameをSelectColumn List へ移す TableName のColumnListの対応する項を見つける そのフラグをOFF にセットする Return /* JOIN 関係が直接操作によって定義される */ JoinDefinedProc(ColumnName1,ColumnName2) ColumnName1 の位置を見つける ColumnName2 の位置を見つける その2つの位置を接続するために線を引く ColumnName1 のTableName1を見つける ColumnName2 のTableName2を見つける (TableName1,ColumnName1,TableName2,ColumnName2) を W-JointList に加える Return /* JOIN 関係が削除される */ JoinDeleteProc(ColumnName1,ColumnName2) ColumnName1 の位置を見つける ColumnName2 の位置を見つける その2つの位置を接続する線を消す ColumnName1 のTableName1を見つける ColumnName2 のTableName2を見つける (TableName1,ColumnName1,TableName2,ColumnName2) を W-JointList から除去する Return /* 式または列関数が定義される */ ExpDefineProc(ExpFct) If SelectExpが空である NewColumnウィンドウを表示する Else NewColumnウィンドウを活動化する EndIf ExpFctをSelectExp に加える ExpFct項を反転表示で表示する Return /* 式または列関数が削除される */ ExpDeleteProc(ExpFct) SelectExp からExpFctを除去する If SelectExpが空である NewColumn Window の表示を除去する NewColumn Window を活動化する EndIf Return /* GroupByListウィンドウの列が選択される */ GroupColumnSelectProc(SColumnName) SColumnName の表示モードを反転表示に変更する そのGroupCheckをONにセットする Return /* GroupByListウィンドウの列が選択解除される */ GroupColumnDeselectProc(DColumnName) DColumnName の表示モードをノーマルに変更する そのGroupCheckをOFF にセットする Return /* OrderByListウィンドウの列が選択される */ GroupColumnSelectProc(SColumnName) SColumnName の表示モードを反転表示に変更する SColumnName の順序を更新する OrderList の順序を再調整する OrderByList ウィンドウをノーマルモードで表示する Return /* OrderByListウィンドウの列が選択解除される */ GroupColumnDeselectProc(SColumnName) DColumnName の表示モードを反転表示に変更する OrderOp を灰色で表示する そのOrderNumber をNULLにセットする OrderList の順序を再調整する 更新されたOrderByList をノーマルモードで表示する Return /* 呼び出された(例えば、表ウィンドウの列名での */ /* ダブルクリックによって)WHERE 条件の述語を */ /* 定義するためのプロセス */ WPredicateDefineProc() 述語を定義するための利用者用のサブプロセスを呼出す If サブプロセスがコミットされている この述語に新しいNodeNameをAssign WhereCondition Window における その述語の位置を決定する Text = LeftSide + " " + CompOp + " " + RightSide 指定された位置の 矩形ボックスにTextを表示する W-PredicateData を更新する W-NodeLocType を更新する EndIf Return /* 呼び出された(例えば、WhereCondition Window での */ /* 述語ボックスのダブルクリックによって)WHERE 条件の述語を */ /* 更新するためのプロセス */ WPredicateUpdateProc(UNodeName) W-PredicateData をGet LeftSide, CompOp, ValueButton, RS-Value, RS-Subquery を検索する デフォールトとしてもとの情報により述語を 更新するための利用者用のサブプロセスを呼出す If サブプロセスがコミットされている If ValueButtonがONである NewRightSide = Value Else NewRightSide = SubqueryName If SubqueryName が定義されていない 利用者がSubqueryNameを定義できる プロセスを呼出す EndIf EndIf Text = NewLeftSide + " " + NewCompOp + " " + NewRightSide そのもとの位置の 矩形ボックスにTextを表示する W-PredicateData を更新する EndIf Return /* 呼び出されたWhereCondition Window で */ /* WHERE 条件のツリー構造を */ /* 修正または構築するためのプロセス */ WhereTreeProc() W-ParentChildrenを更新する W-NodeLocType を更新する WhereConditionウィンドウの表示を更新する Return /* 呼び出された(例えば、表ウィンドウの列名での */ /* ダブルクリックによって)HAVING条件の述語を */ /* 定義するためのプロセス */ HPredicateDefineProc() 述語を定義するための利用者用のサブプロセスを呼出す If サブプロセスがコミットされている この述語に新しいNodeNameを割当てる HavingCondition Windowにおける その述語の位置を決定する Text = LeftSide + " " + CompOp + " " + RightSide 指定された位置の 矩形ボックスにTextを表示する H-PredicateData を更新する H-NodeLocType を更新する EndIf Return /* 呼び出された(例えば、HavingCondition ウィンドウでの */ /* 述語ボックスのダブルクリックによって)HAVING条件の述語を */ /* 更新するためのプロセス */ HPredicateUpdateProc(UNodeName) H-PredicateData を取得する LeftSide, CompOp, ValueButton, RS-Value, RS-Subquery を検索する デフォールトとしてもとの情報により述語を 更新するための利用者用のサブプロセスを呼出す If サブプロセスがコミットされている If ValueButtonがONである NewRightSide = Value Else NewRightSide = SubqueryName If SubqueryName が定義されていない 利用者がSubqueryNameを定義できる プロセスを呼出す EndIf EndIf Text = NewLeftSide + " " + NewCompOp + " " + NewRightSide そのもとの位置の 矩形ボックスにTextを表示する H-PredicateData を更新する EndIf Return /* 呼び出されたHavingCondition ウィンドウで */ /* Having条件のツリー構造を */ /* 修正または構築するためのプロセス */ HavingTreeProc() H-ParentChildrenを更新する H-NodeLocType を更新する HavingCondition ウィンドウの表示を更新する Return /* 呼び出されたSET 処理により照会を */ /* 定義するためのプロセス */ SETQueryProc() その照会定義のための新しいVisual Queryウィンドウを呼出す 利用者がその照会定義のツリー構造を構築できるようにする プロセスを呼出す (1) 照会アイコンをそのウィンドウにドラッグする (2) SET 演算子ノードを定義する S-NodeLocType を更新する S-NodeQuery を更新する そのVisual Queryの表示をSET 処理によって更新する Return /********************************************************/ この変換のための装置、方法およびプログラムが双方向
的かつ包括的であるということに特別の妥当性を与える
べきであろう。この双方向性は、現行のSQL照会のラ
イブラリを移行するという視野から特に重要である。そ
の包括性は、副照会を完全に処理できる能力とともに、
WHERE文節といった文節における多様な論理的およ
び数学的関係を処理できる能力によって、そうした移行
を容易にする。副照会の含意は、従来公知の方法にとっ
て特殊な問題であった。SQLから視覚的表現に変換で
きる能力は、明らかに独自であり、結果として、SQL
文節の構文解析、共通データ構造への変換、ならびに、
図形的ブロックおよびそのウィンドウ化されたデータを
関連づける連結への最終的な変換を結合させる。
【0049】図3で説明したように、ウィンドウによる
照会の図形的表現は、利用者の使易性の視点から好まし
い。好ましい文脈では、ウィンドウはFROMステート
メントで各表について割り当てられ、列名のリストを含
む。SELECTステートメントに属する列名は、その
表ウィンドウで強調表示される。NewColumnウ
ィンドウは、そのSELECT文節における利用者定義
式を識別するために使用される。ANDおよびOR論理
によって結合された述語を関連づけるためのWHERE
文節は、表示されたRow Condウィンドウといっ
た個別のウィンドウでツリー表現によって示される。G
ROUP BYステートメントは、選択された列が識別
されて、個別のウィンドウに示される。図3に示されて
いる通り、HAVING条件ウィンドウもステートメン
ト論理のツリー表現を含む。ORDER BY文節も、
規定の順序を探索するために個別のウィンドウとして付
加することができよう。DISTINCT文節がONか
OFFかを示すためのウィンドウ図形も図3に描出され
ている。
【0050】照会における副選択は、行条件またはHA
VING条件述語の要素として名前またはアイコンによ
って表示することができる。選択すると、その副照会
は、それ自身の基本ウィンドウおよび、直接的な図形的
階層構造における関係する文節ウィンドウを有するであ
ろう。SET処理は、ウィンドウ間に図形的に表示され
た連結を含め、その照会の個別のオブジェクトによって
示すことができる。 〔本発明に従った詳細論理〕図9は、表ウィンドウ10
0および200の組の図形的表示を示す。アクションバ
ー100は、マウスによって利用者選択可能な各種動作
を備える。カーソル120は、DEPT(部課)13
0、SALARY(サラリー)132、YEAR(年
齢)134およびJOB(職種)136といった動作ま
たはオブジェクトを選択するために使用される。これら
のオブジェクトは、SQL定義における各自の関係と同
様に表の列順で配列される。SQL定義に対応するその
データ構造は、図5に400で示されている。フラグ列
410は、列の状態に一致する。特定のオブジェクトが
マウスのボタンを押すことによって選択された場合、そ
のオブジェクトはONになる。従って、DEPT 41
5がONになる。
【0051】これらの2つのウィンドウ100および2
00は、230の両者間の斜線によって示されたように
結合されている。この結合処理は、図5に420で示さ
れているデータ構造で追跡できる。このデータ構造は、
列名で連結された表名422、および、列名で連結され
た別の表名を含むレコード424という2つのレコード
を有する。
【0052】図9はまた、その選択を利用者にはっきり
と伝えるために反転表示で描出されている選択されたオ
ブジェクト、MANAGER(マネジャー)220も示
している。図5は、このオブジェクト、MANAGER
に対応する列項452、および、そのオブジェクトの選
択に対応するフラグ項454を備えた、対応するデータ
構造450を含んでいる。
【0053】図10は、2つの選択オブジェクト、DE
PT 501およびMANAGER502を示してい
る。これらの2つのオブジェクトは、それらの選択状態
をはっきりと伝えるために反転表示で示されている。そ
の後、利用者がカーソルをオブジェクトSALARY
503の上に置き、マウスボタンをダブルクリックする
と、図11の510で示されたように、Conditi
on Definition Dialogウィンドウ
が現れる。オブジェクトSALARY 503はラベル
フィールド512に自動的に示される。スクロール可能
リストボックス514は、そのオブジェクトをVALU
E(値)516またはSUBQUERY(副照会)51
8と比較する比較処理514に対応する選択可能アイテ
ムを有する。各種値の選択により、特定の比較処理、さ
らに、VALUE 516またはSUBQUERY 5
18の選択に進む。最後に利用者は、選択が完了したこ
とを指示するためにOK処理520を選択し、ROW
CONDITION(行状態)ウィンドウ521が図1
2に示されたように呼び出される。
【0054】図12は、述語526または、処理を結合
する論理演算子に適用することができる各種論理動作か
ら成るアクションバー524を備えたROW COND
ITIONウィンドウ521を示す。図12では単一の
述語SALARY > 60,000を有する。これ
は、60,000ドルを超える全部のSALARY値の
選択に対応する。この処理に対応するデータ構造は、図
5の455に示されている。456のノード名N5は、
ROW CONDITIONウィンドウに現れている特
定の述語に対応する。例えば、526のラベルの付けら
れた述語は、N5456に対応する。次の項457は、
その列名、この場合STAFF(職員),SALARY
を連結された表名に対応する。左から右へ進んで、次の
項は、図11の比較処理514に対応するCompar
ison Operation(比較操作)458であ
る。同様に、次の項Value Button 459
は、図11の値(ON/OFF)516に対応する。さ
らに、RS_Value460は、図11の値ボックス
517に入力された値に対応する。最後に、Subqu
ery Button 462は、図11のアイテム5
18のSELECTED/NOT SELECTED
(選択/非選択)に対応し、RS_Subquery
464は、図11のSubquery 518が選択さ
れた場合に入力されるアイテムに対応する。
【0055】データ構造470は、ノード間の論理関係
の位置および形式、または、単一の述語が現れるという
ことを調整する。データ構造480は、各種ノード間の
親−子関係を追跡する。各親ノード482は、特定の親
ノード482に関係づけられた多数の子ノード484を
有することができる。
【0056】図13は、本発明に従った直接操作表示の
例示図である。利用者は、ANDノード532でクリッ
クしてそれを選択することができる。従って、利用者が
DELETE(削除)オプション534を選択した場
合、ダイアログボックス536が現れ、利用者に対して
DELETE処理の確定を促す。利用者がOK(可)5
38を選択すれば、ANDノード532および他のノー
ドへのその連結は全部削除される。ANDノード532
に対応する、図5のデータ構造W_NodeLocTy
pe 470の対応する項も削除される。また、AND
ノード532に対応するParentNode 482
を有する図5のデータ構造W_ParentChild
ren 480の項も削除される。最後に、そのChi
ldrenNodesリストのANDノード532を備
えた図5のデータ構造W_ParentChildre
n 480のいずれの項も削除される。利用者にとって
は、こうしたアクティビティすべてが透過であり、その
処理結果を示するために図14に例示された表示が提示
される。
【0057】述語を連結するための論理関係を再構築す
るためには、利用者は、図15のGroup Acti
on(グループ化動作)572を選択する。その後、利
用者は、グループ化するノード(述語または論理演算
子)を選択する。この例では、YEAR(年齢) >
25 574およびSALARY > 60000 5
76が選択されている。この選択プロセスを反映するた
めに、これら2つの項は、図15の574および576
で示す通り、反転表示される。グループ化されるノード
の全部を選択した後、利用者は、それらの選択した全部
の述語をAND処理によって連結するためにアクション
バーで図16のAND 582を選択する。その後、A
NDノード584が、選択した述語のその関係する連結
線とともに表示に追加される。それらの述語は、線の連
結によって反映された述語を結合する論理演算子によっ
て各自の正常状態に復元される。新しい項が、図5のデ
ータ構造W_NodeLocType 470に追加さ
れる。また、ANDノード584と述語YEAR >
25 574およびSALARY > 6000057
6との間の親−子関係を指示する新しい項も、図5のデ
ータ構造W_ParentChildren 480に
追加される。同様に、関係するデータ構造に対する修正
によって、それらの論理演算子を変更、追加または削除
することができる。その利用者は、常にそれらの内部変
更から絶縁されており、その内部処理の表示された図形
的表現に集中するだけでよい。 〔詳細論理の流れ図〕図17から図27は、本発明に従
って照会処理および表示システムの詳細論理を提示す
る。図17から図19において、利用者は、機能ブロッ
ク600に図示されたように、Tableウィンドウで
クリックすることにより列オブジェクトを選択する。決
定ブロック610でダイアログボックスがアクティブに
なると、機能ブロック620で示された通り、そのオブ
ジェクト名がカレントの項カーソル位置に付加される。
アクティブのダイアログボックスがまったく存在しない
場合、適切なデータ構造がアクセスされ、フラグが設定
され、以降、そのオブジェクトは機能ブロック630で
指示されたように反転表示で表示されることになる。
【0058】あるいは、利用者が、機能ブロック640
にある通り、Tableウィンドウの列オブジェクトを
ダブルクリックすると、機能ブロック650でCond
ition Definition(状態決定)ダイア
ログボックスが呼び出され、機能ブロック660で示さ
れた通り、そのオブジェクト名がカレントの項カーソル
位置に付加される。機能ブロック670に示されたよう
に、ダイアログボックスキャンセルボタンが押される
と、制御は機能ブロック680に渡され、ダイアログボ
ックスは非活動化され、デフォールト値にリセットされ
る。
【0059】図20と図21は、本発明に従った条件定
義処理のOK論理の詳細流れ図を示す。処理は、選択を
指定するためにOKボタンがクリックされた時に機能ブ
ロック700で始まる。検出から制御は機能ブロック7
10に渡り、ダイアログボックスで以前に指定された値
にもとづいて適切なデータ構造で新しい項が構築され
る。その後、決定ブロック720で、それが最初に定義
された述語であるかを判定するために検査が実行され
る。その述語が定義されると、行条件ウィンドウは機能
ブロック730に示すように活動化され、制御は機能ブ
ロック740へ渡り、そこで、その述語の表示を構築す
るために適切なデータ構造がアクセスされる。それが最
初に定義された述語でない場合、制御は直接機能ブロッ
ク740へ渡る。
【0060】新規列のダイアログボックスOK論理は、
OKボタンの押下を検出する機能ブロック760で始ま
り、制御は新しい列が適切なデータ構造に追加される機
能ブロック770に渡る。その後、これが最初の新規列
の定義であるかを判定するために決定ブロック780で
検査が実行される。そうであれば、機能ブロック790
はNewColumn Window(新列ウィンド
ウ)を活動化し、機能ブロック795に示された通り、
新しい項が適切なデータ構造に追加される。
【0061】図22と図23は、本発明に従って、述語
ノードを選択し、その述語ノードに関係づけられた値を
ダイアログボックスに自動的に渡すことに関係する詳細
論理を提示する。制御は機能ブロック800で始まり、
ここで述語ノードがダブルクリックされ、機能ブロック
810で示すように条件ブロックを呼び出す。その後、
適切なデータ構造が機能ブロック820でアクセスさ
れ、値が、選択された述語に関係するダイアログボック
スのフィールドに複写される。行条件ウィンドウにおけ
る述語ノードの選択に関する論理は、機能ブロック84
0に始まり、ここで述語のシングルクリック選択が検出
される。その後、レギュラーモードがアクティブである
かを判定するために決定ブロック850で検査が実行さ
れる。レギュラーモードがアクティブであれば、機能ブ
ロック860はその特定の述語についてSELECT処
理を実行する。レギュラーモードがアクティブでなけれ
ば、機能ブロック860は迂回される。それとは関係な
く、その選択された述語は機能ブロック870で示すよ
うに反転表示で表示される。
【0062】図24と図25は、論理演算子の選択およ
び動作のグループ化に関係する論理を説明している。論
理演算子を選択するために、処理は機能ブロック900
で始まり、ここで論理演算子のシングルクリックが検出
される。カレントモードが何であるかを判定するために
ただちに決定ブロック910で検査が始まる。そのモー
ドがレギュラーであれば、機能ブロック920に示す通
り、そのノードがSELECTモードにされ、制御は機
能ブロック950に渡され、そこでそのノードは反転表
示で表示される。モードがLINK(連結)である場
合、機能ブロック930に示すように、新しい連結を反
映するために適切なデータ構造がアクセスされ、更新さ
れる。モードがGROUP(グループ化)の場合、制御
は機能ブロック950の表示機能に渡される。SELE
CTED(選択)モードの場合、機能ブロック940に
示された通り、以前に選択されていたノードはレギュラ
ーモードにリセットされる。最後に、機能ブロック97
0で示すようにGROUPACTIONが選択された場
合、機能ブロック980に示された通り、他の全部のモ
ードを使用禁止にするGROUPモードが呼び出され
る。
【0063】図26と図27は、本発明に従った、AN
D、ORおよびLINK処理のブロック図である。AN
D動作またはOR動作が選択された場合、処理は機能ブ
ロック1000から始まる。その後、カレントモードが
何であるかを判定するために決定ブロック1010で検
査が実行される。GROUPモードがアクティブである
場合、機能ブロック1040に示された通り、適切なデ
ータ構造がアクセスされ、項が追加され、連結されたオ
ブジェクトを結合する線によってその連結が表示され
る。決定ブロック1030でSELECT(選択)モー
ドが検出された場合、機能ブロック1050および10
60で、適切なデータ構造が更新され、その表示が利用
者にその新しい形式の選択ノードを提示するように変更
される。いずれのモードが選択されていても、機能ブロ
ック1070でそのモードをレギュラーモードにリセッ
トすることにより、処理は完了する。最後に、機能ブロ
ック1090でLINK動作が選択された場合、SEL
ECTモードがアクティブであるかを判定するために検
査が実行される。SELECTモードがアクティブであ
れば、LINKモードが呼び出され、他の全部のアクテ
ィブモードは使用禁止にされる。
【0064】本発明を特定のシステム環境における好ま
しい実施例に関して説明したが、本発明が、修正によ
り、添付された特許請求の精神および範囲内にある他の
各種のハードウエアおよびソフトウエア環境においても
実施できることを、当業者は理解されるであろう。
【0065】
【発明の効果】以上説明したように本発明によればデー
タベースを直接操作するためにプレゼンテーションオブ
ジェクトを作成するための図形的照会ソフトウエアを利
用者に供することができる。
【図面の簡単な説明】
【図1】本発明に従ったパーソナルコンピュータシステ
ムのブロック図。
【図2】本発明に従った関係データベースを備えるネッ
トワークに接続されたワークステーションの略図。
【図3】本発明に従った、照会を定義するためのウィン
ドウおよびSQLステートメントを含むウィンドウを有
する、視覚的照会表示の例示図。
【図4】本発明に従った双方向変換のための共通データ
構造の集合の略図。
【図5】本発明に従った双方向変換のための共通データ
構造の集合の略図。
【図6】本発明に従った双方向変換のための共通データ
構造の集合の略図。
【図7】本発明に従った双方向変換のための共通データ
構造の集合の略図。
【図8】本発明に従った双方向変換のための共通データ
構造の集合の略図。
【図9】本発明に従ったSQL照会の図形的表示の例示
図。
【図10】本発明に従った選択オブジェクトの組を有す
るSQL照会の図形的表示の例示図。
【図11】本発明に従った選択オブジェクトの組および
条件定義ウィンドウを有するSQL照会の図形的表示の
例示図。
【図12】本発明に従った選択オブジェクトの組および
行定義ウィンドウを有するSQL照会の図形的表示の例
示図。
【図13】本発明に従ったDELETE動作を伴う選択
オブジェクトの組および行定義ウィンドウを有するSQ
L照会の図形的表示の例示図。
【図14】本発明に従った選択オブジェクトの組、行定
義ウィンドウおよび論理オペレータを有するSQL照会
の図形的表示の例示図。
【図15】本発明に従った選択オブジェクトの組、およ
び、選択条件の組による行定義ウィンドウを有するSQ
L照会の図形的表示の例示図。
【図16】本発明に従った選択オブジェクトの組、およ
び、AND演算によって論理的に連結された選択条件の
組による行定義ウィンドウを有するSQL照会の図形的
表示の例示図。
【図17】本発明に従った詳細論理の流れ図。
【図18】本発明に従った詳細論理の流れ図。
【図19】本発明に従った詳細論理の流れ図。
【図20】本発明に従った詳細論理の流れ図。
【図21】本発明に従った詳細論理の流れ図。
【図22】本発明に従った詳細論理の流れ図。
【図23】本発明に従った詳細論理の流れ図。
【図24】本発明に従った詳細論理の流れ図。
【図25】本発明に従った詳細論理の流れ図。
【図26】本発明に従った詳細論理の流れ図。
【図27】本発明に従った詳細論理の流れ図。
【図28】本発明に従ってCATEGORY表を有する
SQL照会の図形的表示の例示図。
【符号の説明】
39 ワークステーション 44 グラフィックディスプレイ 53 SQLステートメントウィンドウ 56 Row Conditionウィンドウ 57 HAVING Conditionウィンドウ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウェンディー、スー、ジェームズ アメリカ合衆国テキサス州、オースチン、 アマリロ、アベニュ、13113 (72)発明者 シー‐ゴン、リー アメリカ合衆国テキサス州、オースチン、 ミスティック、オークス、トレイル、9402 (56)参考文献 特開 平4−75170(JP,A)

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】データベースに格納された照会データを図
    形的に操作するためのシステムであって、前記システム
    がプロセッサ及び表示装置と関連して動作するものにお
    いて、 照会オブジェクトクラスのリストを表示する表示手段
    と、 前記複数の照会オブジェクトクラスの一つを選択し、照
    会オブジェクトデータを入力して一つの照会オブジェク
    トを作成するユーザ対話手段と、 連結すべき二つの照会オブジェクトを選択し、作成され
    た連結オブジェクトの連結情報を指定する選択手段と、 照会オブジェクト定義及び結合オブジェクト定義を前記
    データベースの一部として格納する格納手段と、 を含むことを特徴とするシステム。
  2. 【請求項2】請求項1に記載のシステムにおいて、前記
    データベースが関係型であることを特徴とするシステ
    ム。
  3. 【請求項3】表示装置及びユーザ対話手段を有するコン
    ピュータシステム中のデータベースからデータを抽出す
    るための照会を図形的に管理する方法において、 複数の照会オブジェクトクラス標識を表示する段階と、 照会オブシェクトクラスの選択と照会オブシェクトのそ
    れぞれに対する照会オブジェクトデータの入力とを繰返
    すことによって複数の照会オブジェクトを作成する段階
    と、 前記ユーザ対話手段を使用することにより、第1の照会
    オブジェクト及び第2の照会オブジェクトの選択とそれ
    に続く連結パラメータの指定とを繰返すことによって、
    連結オブジェクトを作成する複数の照会オブジェクト連
    結手段と、 前記照会オブジェクト及び前記結合オブジェクトを前記
    データベースの一部として格納する段階と、 を含むことを特徴とする方法。
  4. 【請求項4】請求項3に記載の方法において、さらに、 テキストに指定された照会を受取る段階と、 前記テキスト照会を複数の照会オブジェクト及び連結オ
    ブジェクトに分解する段階と、 前記照会オブジェクト及び連結オブジェクトを前記デー
    タベースに格納する段階と、 前記照会オブジェクト及び連結オブジェクトを前記表示
    装置に表示する段階と、 を含むことを特徴とする方法。
  5. 【請求項5】請求項3に記載の方法において、前記照会
    がSQL照会の構文であることを特徴とする方法。
  6. 【請求項6】請求項4に記載の方法において、前記デー
    タベースが関係型であることを特徴とする方法。
  7. 【請求項7】請求項5に記載の方法において、前記デー
    タベースが関係型であることを特徴とする方法。
JP4286595A 1991-11-12 1992-10-01 図形的照会システム Expired - Lifetime JPH087675B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US79062591A 1991-11-12 1991-11-12
US790625 1991-11-12

Publications (2)

Publication Number Publication Date
JPH05224906A JPH05224906A (ja) 1993-09-03
JPH087675B2 true JPH087675B2 (ja) 1996-01-29

Family

ID=25151274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4286595A Expired - Lifetime JPH087675B2 (ja) 1991-11-12 1992-10-01 図形的照会システム

Country Status (1)

Country Link
JP (1) JPH087675B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1313154A1 (en) 2001-11-14 2003-05-21 Nexans Process for applying a resistive layer on an oxide superconducting element, oxide superconducting element having a resistive layer and use thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0647909B1 (en) * 1993-10-08 2003-04-16 International Business Machines Corporation Information catalog system with object-dependent functionality
JP3058129B2 (ja) 1997-07-04 2000-07-04 日本電気株式会社 データ計算装置及びプログラムを記録した機械読み取り可能な記録媒体
US6434546B1 (en) * 1998-12-22 2002-08-13 Xerox Corporation System and method for transferring attribute values between search queries in an information retrieval system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2525275B2 (ja) * 1990-07-17 1996-08-14 三洋電機株式会社 デ―タベ―ス操作方法
JPH04233631A (ja) * 1990-12-28 1992-08-21 Sony Corp 対話形プログラム作成方法およびその装置
JPH04278633A (ja) * 1991-03-07 1992-10-05 Hitachi Ltd 図形式表現関数型プログラムの編集・実行方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1313154A1 (en) 2001-11-14 2003-05-21 Nexans Process for applying a resistive layer on an oxide superconducting element, oxide superconducting element having a resistive layer and use thereof

Also Published As

Publication number Publication date
JPH05224906A (ja) 1993-09-03

Similar Documents

Publication Publication Date Title
JPH087676B2 (ja) 図形的照会システム
JP2739015B2 (ja) データベース照会の図形形式表現およびテキスト形式表現の間で多方向に変換する方法およびコンピュータ・システム
US5630122A (en) Computerized report-based interactive database query interface
US5418950A (en) System for interactive clause window construction of SQL queries
EP0575358B1 (en) Database management system graphical query front end
JP2549247B2 (ja) データベース用表示装置及び方法
EP0583053B1 (en) Graphical database access
JP2662151B2 (ja) リレーショナル・データベース・システム及びそのインタフェース方法
Kim et al. PICASSO: a graphical query language
US7668737B2 (en) Method and system for interfacing with a multi-level data structure
US7734619B2 (en) Method of presenting lineage diagrams representing query plans
US7984060B2 (en) Model content provider with reusable components for supporting a plurality of GUI API's
JP4965088B2 (ja) データ抽象化モデルにおける関係管理
JPH076179A (ja) 改良型ユーザ・インタフェースを有するデータベース探索機能
JPH07101418B2 (ja) データベース照会の生成方法
JP2003503798A (ja) 統合されたタイトルバー及びナビゲータを使用してレポートを作成しかつタイトルを付けるためのシステム及び方法
US20100293203A1 (en) User interface for graph database data
Lo et al. VIREX: visual relational to XML conversion tool
JPH087675B2 (ja) 図形的照会システム
Lo et al. Flexible user interface for converting relational data into XML
JPH0668157A (ja) データベース内の情報を表示する装置および方法
JPH0668158A (ja) データベース内の情報を表示する装置および方法
EP0569188A1 (en) Accessing a computer database
JPH02141828A (ja) エキスパートシステムとデータベースシステムの対応定義支援方法およびそれを用いた知識処理システム
JPH0644310A (ja) データベース内の情報を表示する装置および方法