JPH0668158A - データベース内の情報を表示する装置および方法 - Google Patents

データベース内の情報を表示する装置および方法

Info

Publication number
JPH0668158A
JPH0668158A JP5060193A JP6019393A JPH0668158A JP H0668158 A JPH0668158 A JP H0668158A JP 5060193 A JP5060193 A JP 5060193A JP 6019393 A JP6019393 A JP 6019393A JP H0668158 A JPH0668158 A JP H0668158A
Authority
JP
Japan
Prior art keywords
user
function block
column
select
list
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
JP5060193A
Other languages
English (en)
Inventor
Shih-Gong Li
シー・ゴン・リー
J L Shrader Theodore
セオドア・ジェイ・エル・シュレーダー
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 JPH0668158A publication Critical patent/JPH0668158A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】 データベース視点を定義し、管理するシステ
ム及び方法を提供する。 【構成】 複数の階層的に配置されたパネルの間をナビ
ゲートする手段、1つ又は複数の階層的に配置されたパ
ネルを特定の環境に適合するようにカストマイズする手
段、後でデータベース内の情報にアクセスしそれを表示
する際に使用できるようにカストマイズされたパネルを
記憶する手段、パネル内の特定の表項目の代替名を含む
別名データ構造を作成する手段、及び後で使用できるよ
うに別名データ構造を記憶する手段を備え複数の階層的
に配置されたパネルを利用して、データベース内の情報
を表示する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的にはコンピュー
タに基づくファイリング・システムの改良に関し、具体
的には、データベース・アプリケーションで情報にアク
セスするためのシステムおよび方法に関する。
【0002】
【従来の技術】データベースは、最近大きな関心の対象
となってきたが、これは、コンピュータ化されたデータ
ベースによって記憶され検索されるデータの量が増大し
ているからというだけでなく、記憶および検索処理中に
データ関係が確立できるからでもある。データベースに
対する関心は、主として革新的な表示技術によって改良
された人間工学的インターフェースをユーザが求めてい
ることに関係する。
【0003】データベース・オブジェクトのうちで、表
オブジェクトがデータの記憶および検索の基礎である。
関係データベース設計では、データの冗長性を最小にす
ると同時に、データ保全性と性能効率を維持しなければ
ならない。基礎表内のデータの検索および更新の柔軟性
を向上させるため、1つまたは複数の基礎表内または他
の視点オブジェクト内のデータへの特定の入口となる、
データベース視点オブジェクトを作成する。視点オブジ
ェクトは、視点オブジェクト上でユーザの許可を指定す
ることにより、データ・アクセス可能性を制御する手段
も提供する。視点オブジェクトは、基礎表内の列を隠
し、複数の表から論理フォーマットにすべき列を選択
し、基礎表のデータの一部分にアクセスするために、一
般に使用される。
【0004】データベース視点オブジェクトを定義する
ことの複雑さは、関係する基礎表または視点オブジェク
トの数、データ選択のために指定される条件、視点内に
選択される列、関係する表および視点のために指定され
る必要な別名、および選択されたデータベース・オブジ
ェクト間で指定される関係に伴って増大する。データベ
ース視点オブジェクトを定義するためのこの複雑な処理
をユーザが扱う助けとなるユーザ・インターフェース
が、データベースの管理者およびユーザにとって重要に
なってくる。このインターフェースは、集合演算子や入
れ子式副選択(subselect)を使用する複合SELECTステ
ートメントを定義するのにも使用できる。
【0005】構造化照会言語(SQL)から見ると、デー
タベース視点オブジェクトは、1組のSQL SELECTステー
トメントからなる「全選択(fullselect)」ステートメ
ントによって定義される。最も単純な形の視点オブジェ
クトは、単一の基礎表が関係する単一のSELECTステート
メントに基づく。より一般的には、視点オブジェクトの
定義は、複数のSELECTステートメントを含み、それらの
間の関係が、集合演算(UNION、INTERSECTなど)によっ
て指定される。SQL「全選択」定義に集合演算が使用さ
れる時、通常は、ユーザが平明でフラットなテキスト・
フォーマットで「全選択」ステートメントを構成するこ
とは難しい。複雑な「全選択」ステートメントを定義す
る際、ユーザは通常、視点オブジェクトの基本的構成単
位すなわちSELECTステートメントと、その構成単位間の
関係から考える。ほとんどのユーザのメンタル・モデル
での「全選択」の絵による構成は、近代数学で論じられ
るようにベン図表を使用して特定の領域を記述するのに
似ている。
【0006】構造化照会言語(SQL)、特にANSI SQL
は、関係データベースに対して照会を通信するのに好ま
しい言語媒体となってきた。その結果、現在、何千もの
関係データベースと、このようなデータベース向けの何
千もの関係照会が存在している。このようなデータベー
スおよび照会への投資を前提とすれば、移行は、望まし
い特徴であるばかりではなく、新しい関係データベース
のシステムおよび方法にとって実質的に必要な能力でも
ある。
【0007】ワークステーションの表示画面上の図形描
写内に照会を描くという概念は、関係データベースのイ
ンターフェースをとるための比較的新しい手法である。
視覚照会は、しばしば図形照会とも称し、ワークステー
ションのグラフィックスを利用して、従来はSQLステー
トメントによって定義されていた照会目標を表現する。
視覚照会では、探索の目標の絵による描写が提示され、
これによって、ユーザが照会言語を学習する必要がなく
なり、SQL照会を定式化する速度が向上し、照会の障害
率または誤り率が低下する。
【0008】データベース・ユーザ・インターフェース
に対する従来技術の手法の例が、論文"Interactive Sch
ema Diagram to Visually Represent Tables of Relate
d Data and Meaningful Joins Between Tables"、IBM T
echnical Disclosure Bulletin, vol. 33, no. 9, pp.
243-6(February 1991)に見られる。この論文は、非手
続き型図形関係データベース・インターフェースを論じ
たものである。このインターフェースは、表、属性およ
び関係結合演算を操作するための最高レベルのディレク
トリ兼アクセス・ツールとしてデータベース・スキーマ
・グラフを使用する。
【0009】データベース・アプリケーションとインタ
ーフェースするためのユーザ・インターフェースのもう
1つの例が、米国特許第4853843号明細書であ
る。この特許では、区画に分割されたオブジェクト指向
分散データベース・アプリケーションが開示されてい
る。各区画は、データベース群を組み合わせて単一の組
合せデータベースにし、これによって、データ・オブジ
ェクトの諸バージョンとデータ・オブジェクトの集合体
を、組合せデータベース内で識別でき、アクセスできる
ようにする。
【0010】
【発明が解決しようとする課題】本発明の主目的は、デ
ータベース視点を定義し管理するためのシステムおよび
方法を提供することである。
【0011】
【課題を解決するための手段】本発明の上記その他の目
的は、表リスト内で、定義済みの各別名をそれぞれ、そ
れに対応する表名または視点名の次に表示する、ユーザ
・インターフェース設計を提供することによって達成さ
れる。この表リストは、ユーザ定義列を記憶するのに使
用される論理表も含むことがあるので、論理表項目の対
応する別名フィールドを、非活動状態または「網かけ」
の陰影にして、論理表項目を実際の表(表または視点)
から視覚的に区別できるようにする。このユーザ・イン
ターフェースを用いると、指定された表または視点の別
名の現在の定義を表示して、ユーザが新規の別名を追加
し、既存の別名を変更し、あるいは既存の別名を削除で
きるようにする対話ボックスを、ユーザが呼び出せるよ
うになる。また、このユーザ・インターフェースを用い
ると、ユーザは、表リスト内の別名フィールドを直接操
作して、指定された別名を変更または削除できるように
なる。
【0012】
【実施例】本発明は、図1に示した代表的なハードウェ
ア環境で実施することが好ましい。図1は、従来型のマ
イクロプロセッサなどの中央演算処理装置10と、シス
テム・バス12を介して相互接続された複数の他のユニ
ットとを有する、本発明によるワークステーションの典
型的なハードウェア構成を示す図である。図1のワーク
ステーションは、ランダム・アクセス・メモリ(RAM)
14と、読取り専用メモリ(ROM)16と、磁気ディス
ク装置20や磁気テープ装置40などの周辺装置をバス
に接続するための入出力アダプタ18と、キーボード2
4、マウス26、スピーカ28、マイクロフォン32、
タッチ・スクリーン装置(図示せず)などのユーザ・イ
ンターフェース装置をバスに接続するためのユーザ・イ
ンターフェース・アダプタ22と、このワークステーシ
ョンをデータ処理ネットワークに接続するための通信ア
ダプタ34と、バスを表示装置38に接続するための表
示装置アダプタ36を含んでいる。
【0013】本発明は、1つまたは複数のデータベース
表内または他の視点内のデータへの選択的な入口とな
る、データベース視点オブジェクトを作成するための方
法およびシステムに関するものである。この視点をサポ
ートするために作成されるデータベース表は、1つまた
は複数の基礎表または視点のすべてまたはその一部を使
用する。ただし、選択されたどの表のキーおよび索引
も、視点定義に直接の関係はない。データベース視点
は、可視になる行を制限するのに十分な柔軟性を有す
る。視点は、4つの別個の部分に分割できる。すなわ
ち、(論理表に記憶される)ユーザ定義の列、副選択ス
テートメント、全選択ステートメント、および主視点ス
テートメントである。これら4つの部分は、下記のパネ
ルを使用して管理される。
【0014】論理表定義表示(View Logical Table Def
inition)パネル:図2に示すように、論理表定義パネ
ル130は、最低の階層レベルである。これを用いる
と、ユーザが、現在の視点の基礎表または複数の視点か
ら既存の列を変更できるようになる。これらの列は、そ
の後、副選択パネル120で使用可能である。関係デー
タベースでは、SQL SELECTステートメント内で指定され
る式および関数は、ユーザによって定義される。通常、
列が、これらの式や関数の基本構成要素である。式また
は関数中で参照される列は、データベース表または視点
オブジェクトに属する。これらの式や関数は、関係の
「列」であるかのように使用されるので、「物理」デー
タベース表内の正規の列に対比して、「ユーザ定義列」
に分類される。これらの「ユーザ定義列」がセーブされ
る場合、それらは再利用可能である。
【0015】本発明は、1組のユーザ定義列を、論理表
としてセーブし、命名し、管理できるようにする方法を
提供する。論理表とは、どの瞬間にもその中にデータを
含まないオブジェクトである。これは、実際の表、すな
わちデータを記憶するための現実の実体であるデータベ
ース表オブジェクトや、仮想表、すなわち実行時に記憶
される情報を有する表であるデータベース視点オブジェ
クトとは異なる。
【0016】本発明では、データベース内の論理表は、
名前、コメント、作成者、許可など、物理表と類似の登
録情報を有する。しかし、論理表の概念は、セーブされ
た再利用可能なユーザ定義列を管理することだけのため
に実施される。これは、データベース・システム内のデ
ータ管理に取り組むように設計されてはいない。論理表
は、どの瞬間にもデータを含まないので、データベース
操作の際に実体としてこれを使用することはできない。
したがって、論理表は、どのSQLステートメント内でも
参照できない。論理表は、データベース操作用の便利な
機構を提供するために、ユーザ・インターフェース内で
使用されるだけである。
【0017】副選択表示(View Subselect)パネル(図
2、120):副選択ステートメントは、表示階層内で
次に高いレベルである。視点定義には、少なくとも1つ
の副選択ステートメントが必要なので、副選択ステート
メントは、視点定義のための基本的構成単位として扱わ
れる。
【0018】関係データベースでは、照会および視点
が、SQL SELECTステートメントまたはその同等物を使っ
て定義される。SQL SELECTステートメントを定義する際
に、ユーザは通常、定義の流れに関して、あるモデルを
心に描いている。ユーザは、SELECTステートメントの実
行によって生成される結果のフォーマットと内容につい
て、絵によって考える。これは、照会報告の見出しを作
成するために含めなければならないデータのフィールド
を選択することから始まる。それには、これらのフィー
ルドが属するデータベース表または視点の識別が必要で
ある。通常、ユーザは、選択されたフィールドからのデ
ータの特定のグループに関心を持っている。したがっ
て、選択されたデータベース表からデータを選択するた
めの条件を指定することが、論理的に次のステップであ
る。その後、ユーザは、照会結果をグループに配列し、
ある条件を満足するグループを表示しようとする。これ
には、グループ分けの判断基準とグループ選択に対する
制約とを指定する操作が必要である。
【0019】多くのユーザ・インターフェース設計は、
モデル中の順序に従い、プロンプト付きの形で処理機構
を提供するようになっている。しかし、プロンプト付き
のユーザ・インターフェース設計は、固定的なモデルに
しか役立たない。経験の深いユーザは、より高い柔軟性
を好み、よりオブジェクト指向のユーザ・インターフェ
ース設計を使用する。ユーザにより多くの自由度が与え
られている時には、SQL SELECTステートメントをより堅
牢で動的な形で定義できる。しかし、経験の浅いユーザ
は、動的なユーザ・インターフェース設計を使ってSELE
CTステートメントを定義する際に、すぐに自分の方向を
見失ってしまう可能性がある。というのも、この設計で
は、複数のSQL規則に従わなければならないからであ
る。あるSQLSELECTステートメントで指定しなければな
らない相互関係に関する文節は複数存在するので、経験
の浅いユーザが望み通りにSELECTステートメントを定義
できるように案内する、ユーザ・インターフェース設計
が必要である。その一方で、この案内機構は、経験の深
いユーザが動的な形でSELECTステートメントを定義する
際の自由度を制限する、硬直したものであってはならな
い。
【0020】全選択表示(View Fullselect)パネル
(図2、110):本発明は、事前に定義されセーブさ
れたSELECTステートメントの使用を利用することによっ
て、視点オブジェクトを定義するためのユーザのメンタ
ル・モデルに一致するデータベース・インターフェース
を、ユーザに提供する。本発明は、ユーザが、SQL SELE
CTライブラリを表示し、管理し、集合演算を含む「全選
択」ステートメントを構成し、その「全選択」ステート
メントをSQLテキスト内でただちに見、望み通りにその
「全選択」テキストを変更できるようにする、画面レイ
アウトを提供する。全選択ステートメントは、SQL言語
に従って完全に定義された照会ステートメントであると
考えることができる。
【0021】管理可能なSELECTライブラリ・リスト、1
組のアクション・ボタン、SELECTステートメント間の演
算を表す1組のボタン、および編集可能な「全選択」ス
テートメントを表示するテキスト・ペインをユーザに提
供する、ユーザ・インターフェース用の画面レイアウト
を開示する。このレイアウトは、「全選択」ステートメ
ント定義のユーザ・モデルに一致する。上から下へと順
に見ると、このレイアウトは、構成単位のリストから始
まる。ユーザは、OPEN(オープン)を選択して、副選択
パネル上にSELECTステートメントの詳細な定義を表示
し、DELETE(削除)を選択して、ライブラリからSELECT
ステートメントを削除し、CREATE(作成)を選択して、
新規SELECTステートメントを定義し、それをライブラリ
に記憶し、TRANSFER(転送)を選択して、SELECTステー
トメントを「全選択」ステートメントの構成単位として
選択することができる。
【0022】ライブラリ内のSELECTステートメントを選
択し、TRANSFERボタンを押すと、そのSQLテキストが、
ただちに「全選択」STATEMENT(ステートメント)ペイ
ンに表示される。このテキストは、テキスト・ペイン内
の最後のカーソル位置に表示される。ボタン・ペイン
は、SELECTステートメント間の関係を定義するためにサ
ポートされる演算を表すボタンを提供する。ボタンの数
と種類は、データベース実施態様に応じて変わる。ボタ
ンを押すと、それに対応するテキストが、「全選択」ST
ATEMENTペイン内で、カーソルが最後に占めていた位置
の後ろに表示される。「全選択」STATEMENTペインは編
集可能なテキスト・ペインであるので、ユーザは、新規
テキストをタイプ入力し、既存のテキストを編集するこ
とができる。したがって、ユーザは、ライブラリから、
所望の構成単位に近いSELECTステートメントを選択し、
そのテキストを直接に変更して、「全選択」ステートメ
ントに含めることができる。このインターフェースを用
いると、副選択ステートメントを入れ子にすることも可
能になる。入れ子になった副選択ステートメントを、組
み合わせると、集合演算子を含む全選択ステートメント
になる。
【0023】この画面レイアウト設計は、「全選択」ス
テートメント作成に関するユーザ・モデルに一致する、
直観的な案内を提供する。これは特に、経験の浅いユー
ザを助けるのに役立つ。というのは、「全選択」ステー
トメントの定義に必要な情報のほとんどが、同時に見る
ことができ、アクセスできるからである。しかしまた、
この画面レイアウト設計は、経験の深いユーザに、「全
選択」ステートメントを定義する際のより大きな柔軟性
と自由度を提供する。言い換えると、これは、経験の深
いユーザと経験の浅いユーザの両方に適した単一のイン
ターフェースを提供する。また、この表示画面は、より
多くの情報を提供し、キーボード指向のユーザでもマウ
ス指向のユーザでも必要なユーザ操作が少なく、ユーザ
・エラーの可能性が減少する。
【0024】主視点(Mainview)パネル(図2、10
0):最後に、主視点パネルを用いると、ユーザが、視
点の名前、属性およびその最高レベルの列を定義できる
ようになる。このパネルは、図2の符号100に示すよ
うに、視点階層の「最上部」にある。
【0025】論理表:各論理表には、列に対するサマリ
ー関数を含む、セーブされた再利用可能な1組の式が格
納される。論理表にセーブされた定義済みの各列式が、
この論理表の1つの列である。列式は、フィールドとし
て物理的に記憶してもよいが、ユーザ・インターフェー
ス内では列として取り扱われる。セーブされた式は、列
名である。実際の表や仮想表とは異なり、論理表内の列
名は、通常はより長い。列名は、論理表がこのユーザ・
インターフェース設計内で提供する主な情報である。列
の長さや列のタイプなど、追加のフィールドを論理表内
に含めることができる。列の長さと列のタイプはどちら
も、式で指定される関数と数値計算、式で使用される各
列の列の長さと列のタイプ、および式で使用される各定
数のタイプと長さによって導出することができる。この
ような情報は、ユーザが照会報告の幅とタイプを決定し
ようとする際に有用である。
【0026】論理表の登録情報は、その内容が変更され
るたびに維持される。各論理表ごとに、その許可登録情
報が、ユーザがこの表にセーブされた定義済み列を使用
できるかどうか、ユーザがこの表に新しい定義済み列を
追加できるかどうか、および、ユーザがこの表内の定義
済み列を変更または削除できるかどうかを決定する。
【0027】列に関係する式および関数が、照会または
視点のSQL定義内で必要になる時がある。これらの式お
よび関数は、通常は、正規の列が使用されるのと同様
に、SELECTステートメントのselect文節、where文節ま
たはhaving文節で使用される。したがって、これらを
「ユーザ定義列」として分類して、関係データベース内
に存在する表の正規の列から区別することができる。通
常、同一または類似の定義を有する「ユーザ定義列」
が、1つの照会または視点定義の複数の場所、あるいは
複数の照会または視点定義で使用される。本発明は、ユ
ーザが、おそらくは再利用可能な1組の「ユーザ定義
列」を論理表内に独自の名前で格納できるようにする機
構を提供する。
【0028】論理表を物理表として管理することによっ
て、上記の機構は、1データベース内に複数の論理表を
収容できるようにする。あるユーザ・インターフェース
がデータベース内に現在存在する表のリストを提供する
時、ユーザがアクセス許可を有するすべての論理表が、
そのリストに含まれる。各論理表は、それに与えられた
名前によって表示される。図4は、「ユーザ定義列」の
ための論理表概念の実施態様を示す図である。表/列リ
スト対(Table-Column List Pairs)210内で、Defin
ed Columns(定義済み列)215は、特定のデータベー
ス内の他の実際の表または仮想表の名前と共に表示され
る論理表の名前である。ユーザは、命名規則に従って、
リストされた表が論理表であることを簡単に識別するこ
とができる。
【0029】論理表を管理する際に、このユーザ・イン
ターフェースは、ユーザに、実際の表、仮想表(視
点)、およびそのユーザがアクセス許可を有する論理表
に関する情報を提供する。図6は、論理表管理用の画面
を示す図である。表リスト350には、BOOKS351な
どの実際の表、EMPVIEW352などの仮想表(視点オブ
ジェクト)、TAXCAL353などそのユーザが「書込み」
許可を有する論理表、および、SUM1354などそのユー
ザが「読取り専用」許可を有する論理表が含まれる。表
リスト350内の表が選択される時、その列情報が、列
リスト355内に表示される。ユーザは、新しい「ユー
ザ定義列」を定義するための出発材料として、列リスト
355内の列を使用することができる。ユーザは、アク
ション・バー358上のLogical Table(論理表)プル
ダウン・メニュー357からCOPY(コピー)アクション
を選択することによって、論理表内にセーブされた「ユ
ーザ定義列」をDEFINED COLUMNS(定義済み列)セル・
ペイン356にコピーして、処理を簡単にすることがで
きる。
【0030】このインターフェース上のボタン359
を、列リスト355内の項目と共に使用すると、ユーザ
がキーボードを使用する必要なしに、DEFINED COLUMNS
セル・ペイン356内で「ユーザ定義列」を構成するこ
とができる。インターフェース上のボタンの数と種類
は、「ユーザ定義列」のデータベース実施態様に応じて
変わることに留意されたい。
【0031】ボタンの下には、現論理表の列式を記憶す
るためのDEFINED COLUMNSセル・ペイン356がある。
このセル・ペインの内容は、列リストと同一の内容を反
映する必要がないことに留意されたい。というのは、ユ
ーザが、表リスト内の選択された論理表の列リスト内に
示された列式とは異なる新しい論理表を定義中である可
能性があるからである。やはり、セル・ペインの数と種
類(スクロール・バーの有無など)は、インターフェー
スの実施態様に応じて異なる可能性のあることに留意さ
れたい。
【0032】1組のユーザ定義列を定義した後に、許可
されたユーザは、アクション・バー358上のLogical
Tableプルダウン・メニュー357からSAVE...(セーブ
等)アクションを選択することによって、新規または既
存の論理表にそれらのユーザ定義列をセーブすることが
できる。指定された論理表が存在しない場合、このセー
ブ動作によって、指定された名前を持つ新しい論理表が
作成され、DEFINED COLUMNSセル・ペイン356内の列
式がこの新たに作成された論理表内にセーブされる。指
定された論理表が既存の論理表である場合、このセーブ
動作によって、その論理表に、DEFINED COLUMNSセル・
ペイン356内の内容が重ね書きされる。
【0033】任意選択として、このインターフェース
は、この重ね書きに関する確認を要求するプロンプト付
きメッセージを表示することができる。ただし、ユーザ
は、そのユーザが「書込み」許可を有する既存の論理表
の内容を重ね書きすることしかできない。各アクション
の後に、それに応じて表リスト350とそれに対応する
列リスト355が更新される。
【0034】同様に、論理表の許可登録情報を指定する
ことによって、作成者または管理者は、照会および視点
定義処理の際に許可ユーザの便宜を図るため、1組の
「ユーザ定義列」を定義することができる。表リスト3
50内の論理表を選択した後に、ユーザは、アクション
・バー358内のメニュー項目Authorization(許可)
360を選択して、選択された論理表の許可登録情報を
追加または変更することができる。
【0035】ライブラリという概念が、多くの応用分野
で広く採用されてきたが、本発明は、共通の登録情報を
有する再利用可能な1組のユーザ定義列を、一緒に記憶
し論理表として扱えるようにする機構を提供する。これ
を用いると、複数の論理表を1つのデータベース内で定
義し、共存させることが可能になる。すべてのユーザ定
義列を単一のライブラリに入れる代わりに、本発明で
は、ユーザ定義列を管理し使用するためのよりよい編成
を提供する。1つの表リストは、特定のユーザがアクセ
ス許可を有する表、視点および論理表だけを含む。した
がって、各ユーザについて、そのユーザが関心を持ち、
アクセスを許可されているユーザ定義列だけが表示され
る。さらに、論理表は、物理表と共に表示され、これに
よって、SQL SELECTステートメント用の式および関数を
定義する複雑さが低減できる。というのは、論理表が物
理表に類似のものとみなされるからである。本発明を使
用することによって、ユーザ定義列の再利用性と管理性
が向上する。
【0036】副選択表示ユーザ・インターフェース:本
発明では、図4に示すように、画面を、上から下に7つ
の区域(ペイン)に分割する。 (1)表/列リスト対210。ユーザがselect文節に含
めるべき列または式あるいはその両方を指定できるよう
にする。一方の対が、表リスト211と列リスト212
である。他方の対が、表リスト217と列リスト218
である。 (2)比較演算子ボタン220。ユーザがwhere文節ま
たはhaving文節あるいはその両方を定義するのを助け
る。 (3)Select Clause(select文節)テキスト・ペイン
230。その中でselect文節が作成できる。 (4)From Clause(from文節)テキスト・ペイン24
0。その中でfrom文節が作成できる。 (5)Where Clause(where文節)テキスト・ペイン2
50。その中でwhere文節が作成できる。 (6)Group-By Clause(group-by文節)テキスト・ペ
イン260。その中でgroup-by文節が作成できる。 (7)Having Clause(having文節)テキスト・ペイン
270。その中でhaving文節が作成できる。
【0037】表/列リスト対と比較演算子ボタンは、Se
lect文節、From文節、Where文節、Having文節およびGro
up-by文節に置かれる基本的「出発材料」である、列
名、式、記号および比較キーワードを提供する。Select
Clause、From Clause、WhereClause、Group-By Clause
およびHaving Clauseは、すべてテキスト・ペインであ
るので、ユーザは、これらのペイン内で、必要に応じて
新規テキストをタイプ入力し、既存のテキストを変更す
ることができる。
【0038】SQL SELECTステートメントの関数および定
義に基づいて、ユーザ・モデルを、ある順序で報告を生
成するものとして思い描くことができる。最初に、その
報告の列(フィールド)を選択する。第2に、行(デー
タ・レコード)を報告に含めるための条件を決定する。
第3に、グループ化が必要な場合、検索された行を報告
中でグループにまとめるための基礎として使用する列を
指定する。第4に、各グループを最終的に報告に含める
ための条件を指定する。SELECTステートメント内のfrom
文節が、どの表からデータを検索するのかを指定する。
ほとんどの場合、表は、選択された列から自動的に決定
できる。
【0039】Select Clauseテキスト・ペイン内で選択
された列がない場合、select文節のために"SELECT * "
が生成される。また、ユーザが、表リストから表名また
は視点名を明示的に選択して、From Clauseテキスト・
ペインに入れることも可能である。
【0040】この画面配置を上から下へと眺めると、上
で説明した順序と一致している。経験の浅いユーザは、
select文節用の列および式の選択から始めることによっ
て、直観的にSELECTステートメントを定義できる。その
後、必要に応じて、where文節、group-by文節およびhav
ing文節を扱う。同様に、from文節は、他の文節内の参
照された列に基づいて、ユーザ・インターフェースによ
って自動的に作成することができる。経験の深いユーザ
または異なるモデルを有するユーザにとって、この画面
レイアウトは、SQL SELECTステートメントを動的に定義
する際の自由度を制約しない。
【0041】この画面配置設計は、初心者と経験の深い
データベース・ユーザの両方を満足させることができ
る。経験の浅いユーザが、SQL SELECTステートメントを
良く理解した後にも、同じユーザ・インターフェース設
計を、おそらくはより動的な形で使用することができ
る。経験の深いユーザが、より多くの助けを得たいと思
う時には、いつでも画面上に直観的な案内と必要な情報
が表示される。
【0042】SELECTステートメントは、データベース内
の基礎表からデータを選択的に検索するのに使用され
る。SQL SELECTステートメントの基本構成要素には、se
lect文節、from文節、where文節、group-by文節およびh
aving文節が含まれる。他の任意選択の文節は、通常、
照会報告の化粧を施したり配列を改善するのに使用され
る。SQL言語の異なるバージョンがサポートする任意選
択の文節は、異なることがある。しかし、この5つの基
本文節は、SQL言語のすべてのバージョンに共通に使用
され、照会報告に含めるデータを指定するのに十分なも
のである。本発明は、これら5つの基本文節に焦点を置
き、5つの文節を取り扱う際の一般的なユーザ・モデル
に合致する画面レイアウトを提供する。データベース視
点オブジェクトは、SELECT定義においては表オブジェク
トとみなされるので、以下の説明でデータベース表オブ
ジェクトに言及する時には、視点オブジェクトもこれに
含まれる。
【0043】SQL SELECTステートメント内のselect文節
は、照会報告内に含まれるデータの列(フィールド)を
指定する。異なるデータベース表(または視点)が同一
の列名を有する場合があるので、select文節における列
の指定には、その列が属するデータベース表の識別が含
まれる。select文節で指定される列の順序によって、照
会報告内の列データの順序が決まる。指定された列は、
それらの列または列の式を含むことができる。
【0044】SQL SELECTステートメント内のfrom文節
は、参照される列が属するデータベース表および視点を
指定する。参照列には、そのSELECTステートメント内の
他の文節で指定された列が含まれる。from文節内で同じ
表を複数回参照しなければならない場合がある。このよ
うな場合には、各参照にそれぞれ、一義的に識別するた
めそれ自体の別名を割り当てなければならず、参照列は
すべて、正しい識別のために適切な別名を有する必要が
ある。他のどの文節にも参照列がない時は、ユーザが表
リストから表名を選択することができる。
【0045】SQL SELECTステートメント内のwhere文節
は、参照される表または視点の行(レコード)が、後続
処理の資格を得るために満足しなければならない条件を
指定する。SQL SELECTステートメント内のgroup-by文節
は、参照された表の選択された行に対する再グループ化
が実行される列を指定する。再グループ化の後、どのグ
ループであれ、1つのグループ内のすべての行(レコー
ド)は、group-by列に関して同じ値を有する。この後者
のステップは、有資格の行が参照される表および視点か
ら選択された後に実行される。group-by演算は、基本的
に、指定されたgroup-by列に基づいて、有資格の行を再
配列する。最後に、having文節は、あるグループが照会
結果に含まれるために満足しなければならない条件を指
定するのに使用される。
【0046】本発明は、図4に示すように、7つのペイ
ンに分割されたプレゼンテーション・ウィンドウの画面
レイアウトをユーザに提示する。この7つのペインは、
上から順に、表/列リスト対210、比較演算子ボタン
220、Select Clauseテキスト・ペイン230、From
Clauseテキスト・ペイン240、Where Clauseテキスト
・ペイン250、Group-By Clauseテキスト・ペイン2
60、およびHavingClauseテキスト・ペイン270であ
る。
【0047】表/列リスト対210内の表リストと列リ
ストは、左から右へと、表1−列1−列2−表2の順序
で配列される。表リスト211と列リスト212が、1
つの表/列対を形成し、表リスト217と列リスト21
8が、別の対を形成する。表1−列1−表2−列2の順
序ではなく、列リスト212と列リスト218が隣り合
わせになっているのは、ある表の列と別の表の列の比較
を簡単にするためである。各表/列対は、表名のリスト
と、表リスト内で強調表示された表の列名のリストを提
供する。たとえば、表名ORG213が選択された時、対
応する列リスト212に表ORG213の列名が表示され
る。
【0048】ユーザは、後続処理のために列名リスト内
の列名を選択することができる。事前に定義された列式
が、論理表内に記憶されている。この論理表は、Define
d Columns215という名前の項目に属する表名リスト
内で使用できる。Defined Columnsが選択される時、対
応する列名リストに、定義済みのセーブされた列式が表
示される。比較演算子ボタン220は、where文節およ
びhaving文節で使用される比較キーワードと記号を提供
する。表/列リスト対と比較演算子ボタンは、SQL SELE
CTステートメントを作成するための基本的な情報を提供
する。比較演算子ボタンの内容は、見本の目的にしか使
用されないことにも留意されたい。ボタンの数と種類
は、データベース実施態様に応じて変わることがある。
【0049】ある文節のテキストを定義する際に、ユー
ザは、適切なテキスト・ペイン内の所望の位置にカーソ
ルを移動して、宛先を選択する。適切な列名または比較
演算子ボタンを選択することによって、選択されたオブ
ジェクトの名前が、カーソル位置の後ろの宛先テキスト
・ペインにコピーされる。テキスト・ペインはどれも編
集可能であり、ユーザは、必要に応じてテキスト・ペイ
ン内のテキストを変更することができる。たとえば、Se
lect Clauseペインのテキスト内に列名を追加するに
は、ユーザは、カーソルをSelect Clauseテキスト・ペ
インに合わせ、列名リストから列名を選択する。この操
作は、すべてのテキスト・ペインで同じである。選択さ
れた各列名はそれぞれ、その表名識別子と共に宛先位置
にコピーされる。
【0050】各参照列はそれぞれ、from文節で指定され
たデータベース表に属するので、各参照列の表名をfrom
文節に追加すると、from文節が半自動的に作成できる。
列名が列名リスト内で選択された時、このシステムは、
対応する表名がFrom Clauseテキスト・ペイン内のテキ
ストに含まれているかどうかを検査する。その後、その
表名が含まれていない場合には、この表の列が初めて参
照された時であり、その表名がfrom文節用のテキストに
追加される。データベース表を、それ自体と比較するこ
とも可能である。この情況に遭遇した時には必ず、参照
表名がそのform文節内で複数のオカレンスを有していな
ければならず、ユーザは、オカレンスごとに別名を指定
する必要がある。ある表のオカレンスに対して別名が指
定された後には、この表に属するすべての参照列をそれ
に応じて変更しなければならない。この変更は、手動で
行うことも、システマティックにプロンプトを使用して
行うこともできる。
【0051】この画面レイアウトは、SELECTステートメ
ントを定義する際のユーザ・モデルをパターン化し、SQ
L言語の複雑さの中でユーザを直観的に案内する。同じ
画面レイアウトが、SELECTステートメントを定義する際
の柔軟な流れを可能にするユーザ・インターフェースを
も提供する。ユーザは、任意のテキスト・ペイン上で作
業して、対応する文節を任意の順序で作成することがで
きる。ただし、ユーザにこの画面レイアウト配置に従う
よう強制する、厳格な要件は存在しない。
【0052】表の別名を管理するためのユーザ・インタ
ーフェース:本発明は、ユーザが基礎表または視点の1
つまたは複数の別名を指定、変更または削除できるよう
にする、ユーザ・インターフェースを提供する。このユ
ーザ・インターフェースでは、表リストの各項目が、表
名のフィールドとそれに対応する別名のフィールドを含
む。基礎表または視点項目の場合、別名フィールドは、
その別名を表示する編集可能なフィールドである。論理
表の場合、別名フィールドは、編集可能ではなく、非活
動状態または「網かけ」の陰影になり、テキストを表示
しない。
【0053】ユーザが、新しい別名を指定するための処
理を呼び出す時、図36に示す対話ボックスが表示され
る。この対話ボックスは、ユーザに、基礎表(または視
点)の名前2900を指定し、その別名を多項目リスト
・ボックス2910で指定するよう求めるプロンプトを
出す。当初、多項目リスト・ボックスは、その表(また
は視点)の既存の別名を含んでおり、ユーザがそれらに
変更を加え、また新しい別名を追加できるようになって
いる。この対話ボックスがコミットされた後、このユー
ザ・インターフェース内の表リスト・ボックスが、それ
に応じて更新される。
【0054】図36には、対応する別名項目を伴う表リ
スト・ボックスの例も示されている。表、視点および論
理表の名前が第1列2920にリストされ、それらに対
応する別名項目が隣接するリスト2930にあり、現在
選択されている表の列リストが最後のリスト2940に
ある。したがって、USERID.ORG2960が、現在選択さ
れている表であり、その列がリスト2940に示されて
いる。その別名は、ORG2970である(残りの表と視
点項目の別名は、その省略時の値から変更されてい
る)。論理表項目USERID.EXPRESは、別名を持たず、そ
のフィールド2950が「網かけ」されていることに留
意されたい。
【0055】ユーザが、選択された項目の新しい別名を
From Clauseテキスト・ペインに追加するために表リス
トから表名または視点名を選択する場合、同じ対話ボッ
クスが呼び出される。ユーザは、同じ対話ボックスを呼
び出すことによって、定義済みの別名の変更または削除
を選択することもできる。一時に1つの別名を変更する
時は、ユーザは、カーソルを宛先の別名フィールドに移
動し、そのフィールド内のテキストを直接に編集するこ
とができる。ユーザがカーソルをその別名フィールドの
外に移動した時、編集操作が完了する。ある別名を削除
する時は、ユーザは、特定の別名フィールドを指示し、
「DELETE」ボタンを押すか、ユーザ・インターフェース
内でそれが可能なら、特定の項目を「シュレッダ」・ア
イコンにドラッグすることができる。ただし、指定され
た項目がその表リスト内のある基礎表または視点の唯一
の項目である場合には、この削除操作は無効であり、破
棄される。
【0056】from文節作成処理:SQL SELECTステートメ
ントのfrom文節は、データベース内のどの表または視点
からデータを検索するのかを指定する。SELECTステート
メントを定義するための既存のユーザ・インターフェー
ス設計のほとんどは、ユーザに、まずfrom文節に用いる
表または視点を明示的に指定するよう求め、その結果、
これらのプログラムが、他の文節の定義に必要な情報を
提供できるようになる。SELECTステートメントのfrom文
節が、ある表の複数のオカレンスを必要とする時には、
ユーザが、そのような表のオカレンスごとに別名を指定
しなければならない。参照される、完全に有資格の列名
に別名を使用する時には、from文節は、基礎表名ではな
くその別名を含まなければならない。ただし、表名また
は別名の重複は避けなければならない。すべての表名を
指定し、あるSELECTステートメントのfrom文節に必要な
別名を命名するには、ユーザの胸中に、そのSELECTステ
ートメントの明瞭で完全なイメージが必要である。この
ため、SELECTステートメントの定義がより複雑になる。
【0057】基礎列と列式中の列を含めて、SQL SELECT
ステートメント内で参照される各列はそれぞれ、from文
節内で指定される表または視点に属さなければならな
い。本発明では、select文節、where文節、group-by文
節またはhaving文節のために列リスト内の列名が選択さ
れる時、選択された列名に対応する表名または視点名が
知られる。選択された列の表(または視点)名を集める
ことによって、from文節を自動的に作成することができ
る。唯一の例外が発生するのは、ユーザが"SELECT *"ス
テートメントを指定する時など、select文節、where文
節、group-by文節およびhaving文節のために指定された
参照列が存在しない時である。この場合、ユーザは、表
リストから表名または視点名を選択して、From Clause
テキスト・ペインにコピーすることができる。
【0058】本発明では、表リスト内の各表項目がそれ
ぞれ別名を有する。当初、表リスト内の表または各視点
に省略時の別名が与えられるが、この省略時の別名は、
その表または視点の名前と同一である。ユーザは、新し
い別名を指定し、別名を変更し、あるいは表の別名を削
除することができる。表リスト内の論理表は、別名を持
たない。
【0059】選択された列項目が、ある表または視点に
属する場合、表リスト内のそれに対応する項目から別名
が検索される。検索された別名が現在のFrom Clauseテ
キスト・ペイン内に存在する場合は、この別名をFrom C
lauseテキストに追加する必要はない。そうでない場合
は、この別名が、From Clauseテキスト・ペインの現テ
キストに付加される。
【0060】選択された列がある論理表に属する列式で
ある場合、複数の基礎列がその列式内で使用される可能
性がある。この場合、その列式内で指定された各列が属
する表の名前が、from文節に含まれなければならない。
指定された各列について、その表名を使って表リストを
探索して、表リスト内で指定されたすべての別名を見つ
ける。探索される別名で、From Clauseテキスト・ペイ
ンの現テキスト内に存在するものがない場合、あるいは
表リスト内の参照表に対応する項目が1つしかない場合
には、参照表の最初の別名または省略時の別名が自動的
に選択される。そうでない場合は、ユーザに、使用する
正しい別名を選択するよう求めるプロンプトが出る。別
名が指定された後、その別名が、必要ならFrom Clause
テキスト・ペインの現テキストに追加される。選択され
た列式内のすべての参照表に対して正しい別名が選択さ
れた後、選択された別名が、列名テキスト内の対応する
基礎表または視点の名前と置き換わって、適切なテキス
ト・ペインにコピーされる。
【0061】本発明では、ユーザは、カーソルをFrom C
lauseテキスト・ペインに置いた後に、表リストから表
または視点の名前を選択することによって、from文節に
含めたい表または視点の名前を明示的に指定することが
できる。表リスト内の選択された項目が論理表である場
合、この操作は無効である。選択された項目が基礎表ま
たは視点である場合、その項目内で指定される別名が使
用される。From Clauseテキスト・ペインの現テキスト
内に別名が存在しない場合は、その別名がFromClauseテ
キスト・ペインに追加される。そうでない場合は、ユー
ザに、新しい別名を指定する必要があるかどうかをたず
ねるプロンプトが出る。
【0062】(同じ別名がfrom文節内に既に現れている
ため)ユーザが選択された表の新しい別名を指定する必
要がある場合、ユーザは新しい別名を指定しなければな
らず、その新しい別名がFrom Clauseテキスト・ペイン
に追加される。ユーザが新しい別名の指定を望まない場
合、この操作は破棄される。本発明は、from文節を自動
的に作成する能力と、from文節に含めたい表または視点
の名前をユーザが明示的に指定できるようにするユーザ
・インターフェースとを提供する。
【0063】全選択表示ユーザ・インターフェース:副
選択ステートメントは、算術演算によって結合し、ある
いは全選択パネル内で互いに入れ子にすることができ
る。たとえば、副選択パネル内で作成された2つの副選
択ステートメントを、全選択パネル内で合併することが
できる。
【0064】SQLでは、データベース視点オブジェクト
は、1組のSQL SELECTステートメントからなる「全選
択」ステートメントによって定義される。最も単純な形
の視点オブジェクトは、単一のSELECTステートメントに
基づき、単一の基礎表が関係する。視点オブジェクトの
定義には、複数のSELECTステートメントが含まれ、それ
らの間の関係が集合演算(UNION、INTERSECTなど)によ
って指定される。集合演算子がSQL「全選択」定義に使
用される時、ユーザが平明でフラットなテキスト・フォ
ーマットで「全選択」ステートメントを構成することは
難しい。複雑な「全選択」ステートメントを定義する際
に、ユーザは、視点オブジェクトの基本的構成単位すな
わちSELECTステートメントと、その構成単位の間の関係
とから出発して、ステートメントを視覚化する。あるユ
ーザのメンタル・モデルの「全選択」の絵による構成
は、ベン図形を使用して特定の領域を記述するのに似て
いる。
【0065】図3は、UNION、INTERSECTIONおよびEXCEP
T関係が記述されたベン図形の例を示す図である。ただ
し、ベン図形が多数の円を含む時は、この図を理解する
ことが難しくなる。ユーザのメンタル・モデルでは、通
常は階層的手法を使用して、複雑な視点オブジェクトの
定義を理解しやすいスケールに分割し、その後それらを
階層的に組み合わせる。視点オブジェクト定義用の良い
ユーザ・インターフェースは、この分割統治手法を採用
して、理解しやすいスケールのメンタルなベン図形に対
応するテキストを作成し、作成されたテキスト・ブロッ
クを使用して階層的に構成する、効率的な方法を提供す
るものとなるはずである。
【0066】ユーザは、SELECTステートメントの詳細な
定義を見るためにOPEN、ライブラリからSELECTステート
メントを削除するためにDELETE、新規SELECTステートメ
ントを定義し、それをライブラリに記憶するためにCREA
TE、「全選択」ステートメント用の構成単位としてSELE
CTステートメントを選択するためにTRANSFERを行うこと
ができる。
【0067】ライブラリ内でSELECTステートメントが選
択され、TRANSFERボタンがクリックされると、そのSQL
テキストが、ただちに「全選択」STATEMENTペイン内に
表示される。このテキストは、そのテキスト・ペイン内
でカーソルが最後に置かれていた位置の直後に表示され
る。ボタン・ペインは、SELECTステートメント間の関係
を定義するためにサポートされる演算を表すボタンを提
供する。ボタンの数と種類は、データベース実施態様に
応じて変わる。ボタンが押された後、それに対応するテ
キストが「全選択」STATEMENTペインに表示される。ラ
イブラリからSELECTステートメントを定義するのと同様
に、このselectステートメントのテキストは、テキスト
・ペイン内のカーソルの後ろに表示される。「全選択」
STATEMENTペインは編集可能なテキスト・ペインである
ので、ユーザは、新規テキストをタイプ入力し、既存の
テキストを編集することができる。したがって、ユーザ
は、ライブラリから所望の構成単位に近いSELECTステー
トメントを選択し、そのテキストを直接に変更して、
「全選択」ステートメントを構成することができる。こ
のインターフェースを用いると、集合演算子の使用に加
えて、副選択ステートメントを入れ子にすることも可能
になる。
【0068】この画面レイアウト設計は、「全選択」ス
テートメント作成に関するユーザ・モデルに合致する、
直観的な案内を提供する。これは、経験の浅いユーザを
援助するのに特に役立つ。というのは、「全選択」ステ
ートメントを定義するのに必要な情報のほとんどが、同
時に見ることができ、アクセスできるからである。しか
しまた、この画面レイアウト設計は、経験の深いユーザ
に、「全選択」ステートメントを定義する際のより大き
な柔軟性と自由度をも提供する。言い換えると、これ
は、経験の深いユーザと経験の浅いユーザの両方に適し
た単一のインターフェースを提供する。さらに、この画
面レイアウトは、提供する情報がより多く、キーボード
指向のユーザでもマウス指向のユーザでも必要なユーザ
操作が少なくなる。このため、ユーザ・エラーの可能性
が低下する。
【0069】データベース視点オブジェクトを定義する
際に、「全選択」ステートメントを構成するための構成
単位として複数のSQL SELECTステートメントを使用する
ことができる。「全選択」ステートメント用のテキスト
を直接に入力する代わりに、本発明では、ライブラリに
記憶された、事前に定義されセーブされたSELECTステー
トメントの使用を利用する。図5は、本発明による全選
択画面の設計を示す図である。この画面は、SELECTライ
ブラリ・リスト310、アクション・ボタン320、関
係ボタン330および全選択テキスト・ペイン340と
いう4つの区域に分割されている。関係ボタンの内容
は、見本の目的にしか使用されないことに留意された
い。ボタンの数と種類は、特定のデータベース実施態様
に応じて変わる。
【0070】符号311のSELECTステートメントは、ユ
ーザが操作できる。ユーザは、その後の操作のためにSE
LECTライブラリ・リスト内のSELECTステートメントを選
択することができる。SELECTライブラリ・リスト310
内のSELECTステートメントは、選択された後、符号31
1に示すように強調表示される。SELECTステートメント
が強調表示された後、ユーザは、SELECTステートメント
を定義するためにインターフェースを呼び出して、OPEN
ボタン321を選択することによってその詳細定義を表
示または変更し、DELETEボタン322を選択することに
よってそれを削除し、TRANSFERボタン323を選択する
ことによってそのテキストを全選択テキスト・ペインへ
コピーすることができる。ユーザがCREATEボタン324
を選択した時は、SELECTライブラリ・リスト310内で
強調表示されたSELECTステートメントとは無関係に、新
規SELECTステートメントを定義するためのインターフェ
ースが呼び出される。
【0071】全選択テキスト・ペイン内のSELECTステー
トメント間の関係を指定する時は、ユーザは、そのテキ
スト・ペイン内のコピーされたSELECTステートメントの
テキストの後ろにカーソルを置いた後、関係ボタン33
0内の適切な関係ボタンを選択することができる。選択
されたボタンによって表されるテキストが、全選択テキ
スト・ペイン内の宛先位置にコピーされる。たとえば、
SELECTステートメント341が全選択テキスト・ペイン
に転送された後に、ユーザは、SELECTステートメント3
41と次に選択されるSELECTステートメントの間にUNIO
N関係を指定することができる。
【0072】カーソルをSELECTステートメント341の
下の行に置き、関係ボタンUNION331をクリックする
ことによって、符号342に示すように、テキスト「UN
ION」が、このテキスト・ペインにコピーされる。ユー
ザは、このテキスト「UNION」の下の行にカーソルを合
わせ、符号311のSELECTステートメントを選択した後
に、TRANSFERボタン323を選択することができ、これ
によって、符号343に示すように、符号311のテキ
ストがこのテキスト・ペインに転写される。
【0073】直接操作と「シュレッダ・アイコン」が使
用できる時は、アクション・ボタン320の使用を必要
としない代替設計がある。ユーザは、SELECTライブラリ
・リスト310内のSELECTステートメント上で2回クリ
ックして、表示または変更のために詳細定義をオープン
し、SELECTステートメント上で1回クリックして、その
テキストを全選択テキスト・ペイン内の最終カーソル位
置にコピーし、SELECTステートメントを「ごみ箱」にド
ラッグ・アンド・ドロップして、それをライブラリ・リ
ストから削除することができる。アクション・バー内の
メニュー項目またはライブラリ・リスト内のハンドルを
設けると、ユーザが、ライブラリ内にセーブすべき新規
SELECTステートメントを定義するためのプログラムを呼
び出せるようになる。この代替設計では、「全選択」ス
テートメントを定義する際に本発明がユーザに提供する
直観的な案内が保存されている。
【0074】上で提示した画面レイアウトは、「全選
択」ステートメントを定義する際のユーザ・モデルと一
致する。事前に定義されセーブされたSELECTステートメ
ントを、関係ボタンによって提供される、SELECTステー
トメント間の関係を指定するためのキーワードと共に活
用することによって、ユーザが、フラットなテキスト・
フォーマットで「全選択」ステートメントに対して作業
を行う必要がなくなる。SELECTライブラリ・リスト内の
構成単位と関係ボタンの接着剤とを用いると、「全選
択」ステートメント定義の複雑さを大きく低減すること
ができる。
【0075】データベース視点列の命名:データベース
視点オブジェクトは、SQL照会内で、物理表と同様に参
照される関係である。照会の際には、列名が、視点と表
の両方で最も一般的に使用される識別子である。データ
ベース視点が定義される時、ユーザは通常、その視点内
の各列に、その列の自然登録情報またはあるアプリケー
ション内でのその役割に近い名前を与えることを好む。
特定のアプリケーションなしに汎用に定義される視点の
場合、ユーザは、すべての列に同じ接頭辞を有する名前
を付けることができる。視点列の自然登録情報は、その
視点の定義で指定される全選択に依存する。しかし、視
点定義内の全選択ステートメントのプレーンなテキスト
・フォーマットは、ユーザがその視点列の自然登録情報
を識別するために理解しやすいものではない。したがっ
て、視点列の命名は、データベース視点オブジェクトを
定義する際に、ユーザにとって複雑な作業になる。
【0076】したがって、本発明は、ユーザが、基礎列
リスト内で提供される情報を活用できるようにし、また
は視点列に命名するための省略時命名規則を利用できる
ようにする、ユーザ・インターフェース設計を提供す
る。基礎列リスト内の各項目は、ある視点列用の基礎
を、視点定義のために指定される全選択ステートメント
内で定義されるものとして記述する。視点定義の場合、
このインターフェースは、選択された列に基づいて、全
選択ステートメントで指定された各SELECTステートメン
トのselect文節内で列が参照される順序で、基礎列リス
トを作成する。基礎列項目のテキスト記述は、視点列の
定義に関する基本的情報を提供することができる。視点
列の自然登録情報に関してもっと多くのことを知る必要
がある時には、ユーザは、基礎列リスト内の対応する項
目をオープンして、より多くの情報を得ることができ
る。このユーザ・インターフェースを用いると、ユーザ
が、視点列名を直接タイプ入力し、あるいは視点列名の
共通の接頭辞を指定し、あるいは省略時の命名規則を採
用できるようになる。
【0077】本発明では、図7は、基礎列のリストと、
データベース視点オブジェクトの列を定義するための項
目のリストとを提供するユーザ・インターフェースを示
す図である。左側のリストは、定義中のデータベース視
点オブジェクトの視点列用の基礎列リスト370であ
る。この基礎列リスト内では、各項目が、新視点列の基
礎として働く列の組合せの完全な式であり、この新視点
列には、右側リスト371内の対応する項目内で名前が
付けられる。たとえば、基礎列リスト内の、テキスト"O
RG.DEPTNUMB UNION AREA.DEPTNUMB"を含む項目372
は、定義中のデータベース視点内の第1列の自然登録情
報を示す基礎情報を表示する。この入力フィールドは、
その内容が現表示区域に納まらない場合にはスクロール
可能である。右側リスト371内の対応する項目ID37
3は、ユーザがこの視点オブジェクトの第1列の名前を
定義するための入力フィールドである。
【0078】本発明では、ユーザは、基礎列リスト37
0内の1項目上で2回クリックして、その項目式の第1
列に属するコメントの完全な記述を獲得することができ
る。コメントを示している対話ボックス(図7中"COMME
NT:"の右のボックス)は、他の列の現コメントにもスク
ロールする。その後、ユーザは、新しい視点列に対応す
るコメントと名前を、ニーモニックな形で参照すること
ができる。右側リスト371は、ユーザが視点列の名前
をタイプ入力することのできる、編集可能な項目リスト
である。このインターフェースが使用できるどの瞬間で
も、ユーザは、右側リスト371の任意の項目を編集す
ることを選択できる。さらに、このインターフェースに
より、ユーザは、定義中の視点オブジェクトの列名に用
いる共通の接頭辞を定義することを選択できる。対話ボ
ックス(図7には図示せず)が表示され、ユーザが共通
の接頭辞のテキストをタイプ入力できるようになる。共
通の接頭辞が指定された後、右側リスト371内の各項
目が、それに対応して更新される。ユーザが、このイン
ターフェースが提供する視点列用の省略時命名規則を採
用することを好む時は、共通の接頭辞が既に指定されて
いるなら、各視点列に、その接頭辞を伴う名前が付けら
れ、その順序番号が連結される。
【0079】共通の接頭辞がまだ定義されていない場合
は、システム供給のテキストが使用される。省略時命名
規則を採用する時は、右側リスト371内の定義済みの
視点列名はすべて重ね書きされる。新しい名前がユーザ
によって供給されない場合は、省略時命名規則が自動的
に採用されることに留意されたい。
【0080】本発明は、よりニーモニックな命名のため
に、視点列の自然登録情報に関する理解しやすい情報を
提供する。本発明はまた、ユーザが、視点列名用の好ま
しい共通の接頭辞を定義し、省略時命名規則を採用し、
任意の視点名を動的に編集できるようにする方法も提供
する。これらの方法を単一のユーザ・インターフェース
に組み込むことによって、ユーザは、視点名に命名する
際により大きな柔軟性を得る。
【0081】データ構造: select_string (select文字列) この文字列は、テキスト・ペインの
内容とそのキーワードを連結することによって構成され
る。たとえば、すべてのテキスト・ペインが値を有する
場合、この文字列は、SELECT | (Select Clauseペイン
の内容) | FROM |(From Clauseペインの内容) | WHERE
| (Where Clauseペインの内容) | GROUP BY | (Group-B
y Clauseペインの内容) | HAVING | (Having Clauseペ
インの内容)と等しくなるはずである。いくつかのペイ
ン、たとえばwhereペインやhavingペインが空の場合、
そのペインとそれに関連するキーワードは、この文字列
に含まれない。選択された列ペインが項目を含まない場
合、その内容は、省略時値のアスタリスク記号^*^にな
る。SQLでは、from文節内のすべての表と視点の列が表
示される。 from_string(from文字列) From Clauseペインの内容を格納する。 where_string(where文字列) Where Clauseペインの内容を格納する。 groupby_string(groupby文字列) Group-By Clauseペインの内容を格納する。 having_string(having文字列) Having Clauseペインの内容を格納する。 cursor_pos(カーソル位置) カーソルが最後に置かれていた位置とテキスト・ペイン
を記憶する。 library(ライブラリ) ユーザによって以前に記憶されたselect_string(SELEC
Tステートメント)を格納する。このライブラリは、デ
ィスク上に常駐できる。このデータ構造の一例が、図8
の符号410に示されている。 full_select(全選択) このデータ構造は、全選択テキスト・ペインの内容を格
納する。このデータ構造の1例が、図8の符号420に
示されている。 main_view(主視点) このデータ構造は、図7に示した主視点ユーザ・インタ
ーフェースによって使用される値を格納する。これに
は、視点オブジェクトの名前文字列、コメント文字列、
with_check_option(検査オプション付き)属性、他の
属性および全選択ステートメント文字列が含まれる。こ
のデータ構造の1例が、図9の符号520に示されてい
る。 view_columns(視点列) この構造は、それぞれbase_column(基礎列)文字列お
よびそれに対応するnew_column(新列)文字列を含む項
目の連係リストからなる。base_column文字列は、この
インターフェースがfullselect_statement(全選択ステ
ートメント)を解析する時に作成される。 table_list(表リスト) このデータ構造は、ユーザがアクセス権を有するすべて
の表、視点および論理表を記憶する。 column_list(列リスト) このデータ構造は、表リスト内の選択された項目の列名
または列式をすべて記憶する。column_listデータ構造
の1例が、図8の符号400および430に示されてい
る。 cell_list(セル・リスト) このデータ構造は、論理表インターフェース内のすべて
のセル・ペインの内容を記憶する。
【0082】図9は、TableViewList(表視点リスト)
500、ViewColumnNamesList(視点列名リスト)51
0およびViewStructure(視点構造)520のデータ構
造の絵画図を含んでいる。TableViewList500は、あ
るユーザがアクセス権を有する作成済みの表、視点およ
び論理表の名前のリストを格納する。この表名には、前
に説明したtable_listと同様に、別名が関連付けられて
いる。
【0083】ViewColumnNamesList510データ構造
は、視点定義内の各基礎列名と(視点列名が定義されて
いる場合にはその)視点列名のリストを格納する。
【0084】詳細な論理を示す流れ図:図10は、本発
明による、新規定義を作成し、あるいは既存定義をオー
プンするための論理の詳細を示す図である。処理は、判
断ブロック600でのテストから始まる。新規定義を作
成しようとする場合、制御が符号610を経由し符号6
50を介して機能ブロック660に移り、機能ブロック
660で、新規の視点定義をオープンし、機能ブロック
670で初期設定し、機能ブロック680で適切なデー
タ構造を作成する。その後、制御が符号690を経て図
11の機能ブロック700に移る。判断ブロック600
で新規定義が望まれていない場合、機能ブロック620
で、既存の視点定義が記憶されたデータ構造を含むファ
イル名を獲得し、機能ブロック630で既存のデータ構
造を読み取り、その後、制御が符号640を経て図15
の符号1100に移る。
【0085】図11は、本発明による副選択処理に関連
する論理の詳細を示す流れ図である。処理は、機能ブロ
ック700で、ユーザが副選択パネルを呼び出す時に始
まる。その後、判断ブロック710で即時テストを行っ
て、その要求に関係する副選択パネルが新規のものかそ
れとも既存のものかを判定する。既存の場合、機能ブロ
ック715で情報を解析し、その後の処理のために制御
が機能ブロック730に移る。新規パネル表示が検出さ
れた場合、機能ブロック720でパネル・フィールドを
クリアし、機能ブロック730で副選択パネルを表示
し、機能ブロック740で様々な処置をユーザに提示
し、機能ブロック742でユーザが特定の処置を選択す
る。その後、判断ブロック750でテストを行って、ユ
ーザが論理表内の列式を定義したいと思っているかどう
かを判定する。そうである場合、機能ブロック736で
諸文節を一時データ構造にセーブし、新規の列式を定義
するために制御が符号734を経て図13の符号900
に移る。列式の処理が完了した時、制御が機能ブロック
732に戻る。機能ブロック732では、セーブされた
諸文節を復元し、制御が機能ブロック730に移って、
副選択パネルを再表示する。
【0086】判断ブロック750で列式の定義が検出さ
れない場合、判断ブロック752でテストを行って、ユ
ーザが全選択処理を望むかどうかを判定する。そうでな
い場合、制御が符号756を経て図16の符号1240
に移る。全選択処理が要求される場合は、判断ブロック
765でテストを行って、副選択定義がセーブされてい
るかどうかを判定する。そうである場合、その後の処理
のために制御が符号785を経て図14の符号1000
に移る。そうでない場合は、判断ブロック770でさら
にテストを行って、ユーザが定義をセーブしたいと思っ
ているかどうかを判定する。セーブを望む場合、その後
の全選択処理のために制御が符号775を経て図12の
機能ブロック800に移る。その後、機能ブロック78
0で、TempSubSelectString(一時副選択文字列)を、S
ubselectList(副選択リスト)に付加する。その後、そ
の後の処理のために制御が符号785を経て図14の符
号1000に移る。判断ブロック770でセーブが望ま
れない場合は、制御がやはり符号785を経て図14の
符号1000に移る。
【0087】図12は、副選択ステートメントを構成す
るための論理の詳細を示す流れ図である。機能ブロック
800で、ユーザの選択に基づいて様々な変数を初期設
定し、機能ブロック830で、その様々な変数を連結し
て一時副選択文字列を作成し、符号840を経て呼出し
元のルーチンに戻る。
【0088】図13は、本発明による論理表内の列を作
成し編集するための論理の詳細を示す流れ図である。機
能ブロック910で、論理表インターフェースの表示を
求めるユーザの要求を検出し、制御が機能ブロック94
0に移って、その後、機能ブロック950で、外部アク
ション選択を処理する。
【0089】図14は、本発明による、全選択パネルを
表示するための論理の詳細を示す流れ図である。機能ブ
ロック1005でユーザが全選択表示を要求する時、判
断ブロック1010でテストを行って、副選択リスト
(SubselectList)が空であるかどうかを判定する。空
でない場合、機能ブロック1012で、諸項目がデータ
構造から更新される。その後、判断ブロック1020で
さらにテストを行って、全選択文字列(FullselectStri
ng)が空であるかどうかを判定する。空でない場合、機
能ブロック1022で、データ構造を使ってそのペイン
を更新する。次に、機能ブロック1030で、全選択パ
ネルを表示し、機能ブロック1040および1050で
操作を実行した後に、判断ブロック1060でテストを
行って、ユーザがcreate viewステートメントを構成し
実行したいと望むかどうかを判定する。そうである場
合、制御が符号1062を経て図16の符号1200に
移る。そうでない場合は、判断ブロック1070でさら
にテストを行って、ユーザが副選択パネルを求めるかど
うかを判定する。そうである場合、制御が符号1072
を経て図11の符号700に移る。そうでない場合は、
判断ブロック1080で最後のテストを行って、主視点
パネルが望まれるかどうかを判定する。そうである場
合、制御が符号1082を経て図15の符号1100に
移る。そうでない場合は、制御が符号1084を経て図
16の符号1240に移る。
【0090】図15は、本発明による主視点パネルの表
示に関連する論理の詳細を示す流れ図である。機能ブロ
ック1102で、ユーザが主視点パネルを要求する時、
判断ブロック1110でテストを行って、視点構造(Vi
ewStructure)内の様々な値に対する値を検出する。値
が検出された場合、機能ブロック1120でその値を用
いてパネルを更新し、判断ブロック1124に制御が移
る。値が検出されない場合は、機能ブロック1122で
このパネル上の諸フィールドをクリアし、判断ブロック
1124でテストを行って、全選択文字列が存在するか
どうかを判定する。全選択文字列が存在しない場合、機
能ブロック1140で主視点パネルを表示する。全選択
文字列が存在する場合は、機能ブロック1130で、主
視点パネル内の諸項目を更新し、制御が機能ブロック1
140に移る。機能ブロック1140で表示を行った後
に、機能ブロック1150でユーザが呼び出した動作を
実行し、機能ブロック1160で処置を選択し、判断ブ
ロック1170でテストを行って、全選択パネルが望ま
れるかどうかを判定する。そうである場合、制御が符号
1172を経て図14の符号1000に移る。そうでな
い場合は、判断ブロック1180でさらにテストを行っ
て、ユーザがcreate viewステートメントを構成し実行
したいと望むかどうかを判定する。そうである場合、制
御が符号1182を経て図16の符号1200に移る。
そうでない場合は、制御が符号1184を経て図16の
符号1240に移る。
【0091】図16は、本発明による視点構造を構成し
視点インターフェースをクローズするための論理の詳細
を示す流れ図である。機能ブロック1210でユーザが
create viewを構成したいと思っている場合、機能ブロ
ック1212で、そのステートメントをデータベース・
システムに提示し、その後、判断ブロック1214でテ
ストを行って、エラーが検出されたかどうかを判定す
る。エラーが検出された場合、機能ブロック1220で
そのエラーを通知し、制御が判断ブロック1232に移
る。エラーが検出されなかった場合は、機能ブロック1
230で、視点が作成されたことを示すメッセージを提
示し、判断ブロック1232に制御が移る。判断ブロッ
ク1232で、テストを行って、主視点パネルからコマ
ンドが呼び出されたかどうかを判定する。そうである場
合、制御が符号1236を経て図15の符号1100に
移る。そうでない場合は、制御が符号1234を経て図
14の符号1000に移る。
【0092】機能ブロック1242で、クローズ処理が
開始され、判断ブロック1246で、ただちにテストを
行って、データ構造が変更されたかどうかを判定する。
そうである場合、判断ブロック1250でさらにテスト
を行って、現在の視点定義をセーブするかどうかを判定
する。セーブが要求される場合、機能ブロック1252
で、ユーザにファイル名の入力を求めるプロンプトを表
示し、機能ブロック1254でデータ構造をセーブし、
末端ブロック1260で処理を完了する。セーブが要求
されない場合、またはどのデータ構造も変更されていな
い場合は、やはり末端ブロック1260で処理を完了す
る。
【0093】図17ないし35は、本発明による論理の
詳細を示す流れ図である。副選択インターフェースの処
理は、末端ブロック1300から始まり、ただちに機能
ブロック1302に進んで、諸変数を適切に初期設定す
る。次に、機能ブロック1304で、表名と視点名のリ
ストを、ユーザのアクセス権に合致するように初期設定
し、機能ブロック1306で、ユーザがアクセス権を有
する各論理表に含まれるユーザ定義列のリストを読み取
り、データ構造に記憶し、判断ブロック1310で判定
を行って、ユーザ選択を決定する。機能ブロック132
0に示すようにユーザが表リスト・ペインから1項目を
選択した場合、処理は図18の符号1361に進む。
【0094】機能ブロック1340に示すようにユーザ
が列リストから1項目を選択した場合、処理は図19の
符号1374に進む。
【0095】機能ブロック1350に示すようにユーザ
が1ボタンを選択した場合、判断ブロック1352でテ
ストを行って、カーソル位置にアクセスする。カーソル
位置が適切である場合、機能ブロック1354で、その
ボタンの内容をコピーし、制御が符号1308に移っ
て、次のユーザ選択を待つ。そうでない場合は、制御が
符号1308に移って、次のユーザ選択を待つ。ユーザ
選択が、機能ブロック1320、1340および135
0で解析される選択のどれでもない場合は、制御が符号
1360を経て図20の符号1400に移る。
【0096】図18では、ユーザが表リスト・ペインか
ら1項目を選択したので、判断ブロック1362で、カ
ーソルがfromペインに置かれているかどうか、および選
択された項目が論理表以外であるかどうかを検査する。
そうでない場合、機能ブロック1363で、選択された
項目に属する列を対応する列リスト・ペインに記入し、
制御が符号1308に戻って、次のユーザ選択を待つ。
【0097】選択された項目が論理表であり、かつ、カ
ーソルがfromペイン内に置かれていた場合、判断ブロッ
ク1365で、その項目がfromペイン内に既に存在する
かどうかを調べる。存在しない場合、機能ブロック13
66で、その表名をその別名と共にfromペインに追加す
る。その後、制御が符号1308に戻って、次のユーザ
選択を待つ。
【0098】その項目がfromペイン内に存在する場合、
機能ブロック1368に進んで、ユーザに別名の入力を
求めるプロンプトを表示する。判断ブロック1369
で、別名が与えられたかどうかを調べる。与えられなか
った場合、制御が符号1308に戻って、次のユーザ選
択を待つ。与えられた場合は、機能ブロック1371
で、表名を指定された別名と共にfromペインに追加し、
機能ブロック1372で、基礎表名とその別名からなる
新項目を表リストに追加する。その後、制御が符号13
08に戻って、次のユーザ選択を待つ。
【0099】図19では、ユーザが列リスト・ペイン内
の1項目を選択したので、判断ブロック1375で、カ
ーソルがfromペイン内に置かれているかどうかを検査す
る。そうである場合、制御が符号1308に戻って、次
のユーザ選択を待つ。そうでない場合は、判断ブロック
1377で、その列が論理表から選択されたかどうか検
査する。そうでない場合、判断ブロック1378で、そ
の列の表の別名がfromペインに既に存在するかどうかを
検査する。そうである場合、制御が符号1388に戻っ
て、その列名を適切なペインにコピーする。表の別名が
存在しない場合は、機能ブロック1380で、基礎表名
とその別名を、fromペインに追加する。その後、制御が
符号1388に戻って、その列名を適切なペインにコピ
ーする。
【0100】列が論理表から選択されたものである場
合、判断ブロック1382で、選択された論理表列内の
すべての列の表別名がfrom文節内に既に存在するかどう
かを検査する。存在しない場合、機能ブロック1385
で、選択された列式内の列の一義的省略時別名を採用
し、それをfromペイン内に置く。その後、処理は符号1
388に進む。
【0101】選択されれた列式内の列の表別名が既に存
在する場合、判断ブロック1383で、表リスト内にそ
の表の別名項目が複数存在するかどうかを検査する。そ
うでない場合、処理は符号1388に進む。そうである
場合は、機能ブロック1386で、ユーザに、使用する
別名の入力を求めるプロンプトを表示する。次に、機能
ブロック1387で、ユーザが選択した別名を検索(ユ
ーザが別名を選択しなかった場合には省略時別名を獲
得)し、その基礎表名と共にこれをfromペインにコピー
する。処理は符号1388に進む。
【0102】符号1388から機能ブロック1389に
進み、機能ブロック1389で、完全に有資格の列名
(別名、列名およびデータベース・システムが必要とす
る他の名前からなる)が、カーソルが最後に置かれてい
たペイン内のカーソルの後ろにコピーされる。その後、
制御が図17の符号1390に戻って、次のユーザ選択
を待つ。
【0103】図20では、機能ブロック1410に示す
ようにユーザがexecute(実行)アクションを選択した
場合、機能ブロック1412で、select_stringを構成
し、機能ブロック1414でその文字列を実行し、機能
ブロック1416で報告またはエラーを返し、制御が符
号1308に戻って、次のユーザ選択を待つ。
【0104】機能ブロック1422に示すようにユーザ
がsave(セーブ)アクションを選択した場合、機能ブロ
ック1430で、select_stringを構成し、機能ブロッ
ク1432でそのselect_stringをライブラリ構造に記
憶し、機能ブロック1440で戻りコードを返し、制御
が図17の符号1308に戻って、次のユーザ選択を待
つ。
【0105】機能ブロック1450に示すようにユーザ
がload(ロード)アクションを選択した場合、機能ブロ
ック1452で、記憶済みのSELECTステートメントを検
索し、機能ブロック1460でselect_stringを解析し
てそれに応じてテキスト・ペインに記入し、機能ブロッ
ク1462で新しい値でインターフェースをリフレッシ
ュし、制御が図17の符号1308に戻って、次のユー
ザ選択を待つ。
【0106】まだユーザ選択が処理されていない場合、
制御が符号1480から図21の符号1500を経て、
追加ユーザ選択の処理に移る。機能ブロック1510に
示すようにユーザがclose(クローズ)アクションを選
択した場合、機能ブロック1512で、セーブ確認メッ
セージを通知し、機能ブロック1514でselect_strin
gを構成し、機能ブロック1520でselect_stringをラ
イブラリ構造に記憶し、末端ブロック1522で処理を
打ち切る。
【0107】機能ブロック1530に示すようにユーザ
がテキスト・ペインを選択した場合、機能ブロック15
32で、あるペイン内でカーソルが最後に表示されてい
た位置にカーソルを置き、機能ブロック1534でカー
ソルをリセットし、制御が図17の符号1308に戻っ
て、次のユーザ選択を待つ。
【0108】機能ブロック1540に示すようにユーザ
がリストされていない項目を選択した場合、機能ブロッ
ク1540で、これを適切に実行し、制御が図17の符
号1308に戻って、次のユーザ選択を待つ。
【0109】図22は、ライブラリ選択ペインの初期設
定に関連する論理を示す図である。機能ブロック161
0で、ポインタをセットし、機能ブロック1612でラ
イブラリ選択リスト・ペインにリストの内容を記入す
る。その後、制御が符号1614を経て図23の符号1
700に移る。機能ブロック1710で、ユーザ選択を
トラップし、機能ブロック1720で、1項目を選択
し、機能ブロック1722でその項目の内容をコピーす
る。機能ブロック1730で、関係ボタン・グループ内
の1ボタンを検出し、機能ブロック1732でボタンの
内容をコピーする。制御が符号1740を経て図24の
符号1800に移る。
【0110】機能ブロック1810に示すようにCREATE
ボタンのアクションを処理した場合、機能ブロック18
12で、定義を初期設定し、機能ブロック1814でユ
ーザ・アクションを実行し、機能ブロック1816で全
選択定義インターフェースに戻る。その後、制御が図2
3の符号1700に戻って、次のユーザ選択を待つ。
【0111】機能ブロック1820に示すようにOPENボ
タンが押されている間に副選択項目が検出された場合、
機能ブロック1822で、副選択定義インターフェース
をオープンし、機能ブロック1824でユーザが処置を
実行し、機能ブロック1826でユーザが全選択定義に
戻り、その後、制御が図23の符号1700に戻って、
次のユーザ選択を待つ。
【0112】機能ブロック1830に示すように副選択
操作とDELETE操作が検出された場合、機能ブロック18
32で、選択された項目を削除し、表示をリフレッシュ
する。最後に、制御が符号1834を経て図23の符号
1700に戻って、次のユーザ選択を待つ。
【0113】機能ブロック1840に示すように副選択
操作とTRANSFER操作が検出された場合、機能ブロック1
842で、選択された項目をコピーし、表示をリフレッ
シュする。最後に、制御が符号1844を経て図23の
符号1700に戻って、次のユーザ選択を待つ。
【0114】ユーザが、機能ブロック1810、182
0、1830および1840のアクションを選択しなか
った場合は、制御が符号1850を経て図25の符号1
900に移る。機能ブロック1910に示すようにユー
ザがexecuteアクションを選択した場合、機能ブロック
1912で、fullselect_string(全選択文字列)を構
成し、機能ブロック1914でその文字列を実行し、機
能ブロック1916で報告またはエラーを返し、その
後、制御が図23の符号1700に戻って、次のユーザ
選択を待つ。
【0115】機能ブロック1930に示すようにユーザ
がsaveアクションを選択した場合、機能ブロック193
2で、全選択文字列を構成し、機能ブロック1934で
その全選択文字列をライブラリ構造に記憶し、機能ブロ
ック1936で戻りコードを返し、その後、制御が図2
3の符号1700に戻って、次のユーザ選択を待つ。
【0116】機能ブロック1950に示すようにユーザ
がloadアクションを選択した場合、機能ブロック194
2で、記憶済みの全選択ステートメントを検索し、機能
ブロック1944で全選択文字列を解析してそれに対応
してテキスト・ペインに記入し、機能ブロック1946
で新しい値でこのインターフェースをリフレッシュし、
その後、制御が図23の符号1700に戻って、次のユ
ーザ選択を待つ。
【0117】ユーザ選択がまだ処理されていない場合
は、制御が符号1950から図26の符号2000を経
て追加ユーザ選択の処理に移る。機能ブロック2010
に示すようにユーザがcloseアクションを選択した場
合、機能ブロック2012で、セーブ確認メッセージを
通知し、機能ブロック2014で全選択文字列をライブ
ラリ構造に記憶し、末端ブロック2016で処理を打ち
切る。
【0118】機能ブロック2030に示すようにユーザ
が全選択ペインを選択した場合、機能ブロック2032
で、あるペイン内でカーソルが最後に表示されていた位
置にカーソルを合わせ、機能ブロック2034でカーソ
ルをリセットし、制御が図23の符号1700に戻っ
て、次のユーザ選択を待つ。
【0119】機能ブロック2040に示すようにユーザ
がリストされていない項目を選択した場合、機能ブロッ
ク2040で、これを適切に実行し、制御が図23の符
号1700に戻って、次のユーザ選択を待つ。
【0120】ユーザ定義列に関する論理表インターフェ
ースの処理は、図27の末端ブロック2050から始ま
り、ただちに機能ブロック2052に進み、機能ブロッ
ク2052で、ユーザが表、視点および論理表に対する
許可を有する場合、それらのリストを検索する。その
後、機能ブロック2054で、このインターフェースの
他のフィールドをクリアし、処理が符号2056を経て
図28の符号2060に進む。符号2060から進ん
で、機能ブロック2062で、現表示制御をリフレッシ
ュし、判断ブロック2064でユーザ選択を検索する。
【0121】機能ブロック2066に示すようにユーザ
が表リスト内の1項目を選択した場合、機能ブロック2
068で、列リスト構造に記入し、制御が符号2060
に戻って、次のユーザ選択を待つ。
【0122】機能ブロック2072に示すようにユーザ
が列リスト内の1項目を選択した場合、機能ブロック2
074で、その列リスト内の項目を適切なセル・ペイン
にコピーし、制御が符号2060に戻って、次のユーザ
選択を待つ。
【0123】機能ブロック2078に示すようにユーザ
がボタン・ペイン内の1ボタンを選択した場合、機能ブ
ロック2080で、そのボタンの内容を適切なセル・ペ
インにコピーし、制御が符号2060に戻って、次のユ
ーザ選択を待つ。
【0124】機能ブロック2084に示すようにユーザ
がcopyアクションを選択し、表リスト内の1項目が選択
された場合、機能ブロック2086で、セル・ペイン・
データ構造を再初期設定し、機能ブロック2088でそ
のセル・ペインを選択された項目の列項目を含むように
設定する。その後、制御が符号2060に戻って、次の
ユーザ選択を待つ。
【0125】ユーザが、機能ブロック2066、207
2、2078または2084のアクションを選択しなか
った場合は、制御が符号2092を経て図29の符号2
200に移る。機能ブロック2210に示すようにユー
ザがLogical Tableプルダウンからsaveアクションを選
択した場合、機能ブロック2212で、論理名の入力を
求めるプロンプトを表示し、判断ブロック2214で作
成テストを行い、許可がなければ、制御が図28の符号
2060に移って、次のユーザ選択を待つ。許可が存在
する場合は、機能ブロック2222で、セル・リストの
内容を記憶し、制御が図28の符号2060に戻って、
次のユーザ選択を待つ。
【0126】機能ブロック2230に示すように許可プ
ルダウンから許可アクションが選択された場合は、機能
ブロック2232で、ユーザのリストを提示し、判断ブ
ロック2234でテストを行って、規則と許可が正しい
ことを確認する。正しくない場合、機能ブロック224
0に示すようにこの操作は失敗し、制御が図28の20
60に戻って、次のユーザ選択を待つ。許可されている
場合は、機能ブロック2236で、その許可を実行し、
制御が図28の2060に戻って、次のユーザ選択を待
つ。
【0127】制御が符号2260を経て図30の符号2
300に移る。機能ブロック2310に示すようにクロ
ーズ処理が開始される場合、判断ブロック2312で、
テストを行って、セーブ動作を実行する必要があるかど
うかを判定する。必要がない場合、末端ブロック231
4で終了する。必要がある場合は、機能ブロック232
0で、名前の入力を求めるプロンプトを表示し、判断ブ
ロック2322でユーザが許可を有するかどうかテスト
を行い、許可を有する場合は、機能ブロック2340で
これを記憶し、末端ブロック2350で終了する。許可
がない場合は、機能ブロック2324に示すようにエラ
ーであり、制御が図28の符号2060に戻って、次の
ユーザ選択を待つ。
【0128】機能ブロック2360に示すようにリスト
されていない項目をユーザが選択した場合、その選択を
処理した後に、制御が図28の符号2060に戻って、
次のユーザ選択を待つ。
【0129】図31では、末端ブロック2400から始
まる主視点インターフェース初期設定が実行され、ただ
ちに主視点インターフェース入口の機能ブロック241
0に進む。その後、機能ブロック2420および機能ブ
ロック2430で諸属性を検索する。判断ブロック24
40で全選択ステートメントが空の場合、制御が符号2
450を経て図35の符号2812に移る。空の状態に
遭遇しない場合は、制御が符号2460を経て図32の
符号2500に移る。
【0130】図32では、符号2500から始まり、た
だちに処理が機能ブロック2510に移って、全選択ス
テートメントを解析する。その後、機能ブロック251
2で、全選択ステートメントを解析し、機能ブロック2
514で分岐を実行し、機能ブロック2520でテキス
ト項目を作成し、判断ブロック2530でテストを行っ
て、連係が適切に設定されているかどうかを判定する。
連係が正しい場合、判断ブロック2532でそれ以上列
が存在しない場合、機能ブロック2522で次の列部分
を処理した後に、制御が機能ブロック2520に移る。
それ以上列が存在しない場合、制御が機能ブロック25
34に移り、基礎列に項目を記入し、その後、制御が図
33の符号2600に移って、表示を更新し、次のユー
ザ選択を待つ。判断ブロック2530で連係が正しく設
定されていない場合は、機能ブロック2540で、エラ
ー処理を実行し、機能ブロック2542でメッセージを
表示し、制御が図33の符号2600に移って、表示を
更新し、次のユーザ選択を待つ。
【0131】図33の判断ブロック2610でテストを
行って、ユーザ選択を判定する。機能ブロック2620
に示すようにユーザがある列項目上でのdouble-click
(ダブル・クリック)アクションを選択した場合、機能
ブロック2622で、ユーザを援助するためある列のコ
メントを表示し、制御が符号2600に戻って表示を更
新し、次のユーザ選択を待つ。
【0132】機能ブロック2630に示すようにユーザ
がdefault naming(省略時命名)アクションを選択した
場合、機能ブロック2632で、ユーザにプロンプトを
表示し、機能ブロック2634でその名前に独自のIDを
連結し、機能ブロック2636ですべての列名項目を対
応する独自の名前で置換し、その後、制御が符号260
0に戻って、表示を更新し、次のユーザ選択を待つ。
【0133】機能ブロック2640に示すようにユーザ
がprefix for columns(列用接頭辞)アクションを選択
した場合、機能ブロック2642で、ユーザ・プロンプ
トを提示し、機能ブロック2644で諸項目に接頭辞を
連結し、その後、制御が符号2600に戻って、表示を
更新し、次のユーザ選択を待つ。
【0134】機能ブロック2650に示すようにユーザ
が新しい名前または新しい値をタイプ入力した場合、制
御が符号2600に戻って、表示を更新し、次のユーザ
選択を待つ。
【0135】他のユーザ選択を処理するため、制御が符
号2660を経て図34の符号2700に移る。機能ブ
ロック2710に示すようにexecuteアクションが検出
された場合、判断ブロック2712で、テストを行う。
項目が記入されていない場合、エラーが検出され、機能
ブロック2714でこのエラーを処理し、制御が符号2
600に戻って、表示を更新し、次のユーザ選択を待
つ。
【0136】判断ブロック2712でエラーが検出され
ない場合は、判断ブロック2720で、さらにテストを
行って、新規列項目のどれかが一致するかどうかを判定
する。エラーが検出された場合、機能ブロック2722
でこのエラーを処理し、制御が符号2600に戻って、
表示を更新し、次のユーザ選択を待つ。
【0137】判断ブロック2720でエラーが検出され
ない場合は、判断ブロック2730で、さらにテストを
行って、視点名が与えられたかどうかを判定する。エラ
ーが検出された場合、機能ブロック2732でこのエラ
ーを処理し、制御が符号2600に戻って、表示を更新
し、次のユーザ選択を待つ。
【0138】判断ブロック2730でエラーが検出され
ない場合は、機能ブロック2740で、create viewス
テートメントを構成し、機能ブロック2742でそのス
テートメントをデータベース・サーバに提示し、機能ブ
ロック2744でメッセージを表示し、制御が符号26
00に戻して、表示を更新し、次のユーザ選択を待つ。
【0139】他のユーザ選択を処理するため、制御が符
号2750を経て図35の符号2800に移る。機能ブ
ロック2810に示すようにfullselectアクションが検
出された場合、機能ブロック2814で、本発明の前の
流れ図に詳述した全選択モードに移り、機能ブロック2
820でリターンが検出されるまでそれが継続する。リ
ターンが検出されると、制御が符号2600に戻って、
表示を更新し、次のユーザ選択を待つ。
【0140】機能ブロック2830に示すようにsaveア
クションが検出された場合、機能ブロック2834で、
属性情報を記憶し、制御が符号2600に戻って、表示
を更新し、次のユーザ選択を待つ。
【0141】機能ブロック2840に示すようにclose
アクションが検出された場合、機能ブロック2842
で、ユーザに、セーブするかしないか指定することを求
めるプロンプトを表示する。セーブが指示された場合、
新規属性情報をセーブした後に符号2844で終了す
る。そうでない場合は、セーブを実行せずにただちに終
了する。
【0142】機能ブロック2850に示すようにopenア
クションが検出された場合、機能ブロック2852で、
属性情報を検索し、制御が符号2600に戻って、表示
を更新し、次のユーザ選択を待つ。
【0143】機能ブロック2860に示すように別のユ
ーザ選択が行われた場合、機能ブロック2860で、そ
の選択を処理し、制御が符号2600に戻って、表示を
更新し、次のユーザ選択を待つ。
【0144】ソース・コード・リスト:下記のプロトタ
イプ・コードは、OS/2環境用のSmalltalk/V PMで記述さ
れたコードである。Viewが主クラスである。そのサブク
ラスは、副選択インターフェース用のSubSelectView、
全選択インターフェース用のFullSelectView、主視点イ
ンターフェース用のMainViewおよび論理表インターフェ
ース用のDefineColumnViewである。 menuSubSelect: aListPane "Creates the sub select view menu." aListPane setMenu: ((Menu labels: ^〜Save\〜Reformat\〜Clear^ withCrs lines: #(2) selectors: #(saveSubSelect reformatSubSelect clearSubSelect)) title: ^〜SubSelect^; owner: self; yourself)! menuFullSelect: aListPane "Creates the full select view menu." aListPane setMenu: ((Menu labels: ^〜Save\〜Reformat\〜Clear^ withCrs lines: #(2) selectors: #(saveFullSelect reformatFullSelect clearFullSelect)) title: ^〜FullSelect^; owner: self; yourself)!
【図面の簡単な説明】
【図1】本発明によるパーソナル・コンピュータ・シス
テムのブロック図である。
【図2】本発明による表示画面階層を示す図である。
【図3】本発明によるUNION、INTERSECTIONおよびEXCEP
T関係を含むベン図形を示す図である。
【図4】本発明による、7つのぺインに分割された副選
択画面の設計を示す図である。
【図5】本発明による全選択画面の設計を示す図であ
る。
【図6】本発明による論理表定義画面の設計を示す図で
ある。
【図7】本発明による視点主ステートメント画面の設計
を示す図である。
【図8】本発明によるデータ構造を示す図である。
【図9】本発明による、ユーザがアクセス権を有する、
作成された表および視点名のリストを含む、TableViewL
ist500、ViewColumnNamesList510およびViewStru
cture520のデータ構造の絵画図である。
【図10】本発明による、新規定義の作成または既存定
義のオープンのための論理の詳細を示す図である。
【図11】本発明による副選択処理に関連する論理の詳
細を示す流れ図である。
【図12】本発明による副選択ステートメントを構成す
る論理の詳細を示す流れ図である。
【図13】本発明による定義済み列の作成および編集の
ための論理の詳細を示す流れ図である。
【図14】本発明による全選択パネルを表示する論理の
詳細を示す流れ図である。
【図15】本発明による主視点パネルの表示に関連する
論理の詳細を示す流れ図である。
【図16】本発明による視点構造の構成および視点イン
ターフェースのクローズのための論理の詳細を示す流れ
図である。
【図17】本発明による副選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図18】本発明による副選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図19】本発明による副選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図20】本発明による副選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図21】本発明による副選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図22】本発明による全選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図23】本発明による全選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図24】本発明による全選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図25】本発明による全選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図26】本発明による全選択インターフェースの内部
処理のための論理の詳細を示す流れ図である。
【図27】本発明によるユーザ定義列用の論理表インタ
ーフェースの内部処理のための論理の詳細を示す流れ図
である。
【図28】本発明によるユーザ定義列用の論理表インタ
ーフェースの内部処理のための論理の詳細を示す流れ図
である。
【図29】本発明によるユーザ定義列用の論理表インタ
ーフェースの内部処理のための論理の詳細を示す流れ図
である。
【図30】本発明によるユーザ定義列用の論理表インタ
ーフェースの内部処理のための論理の詳細を示す流れ図
である。
【図31】本発明による視点列に命名するための主視点
インターフェースの内部処理のための論理の詳細を示す
流れ図である。
【図32】本発明による視点列に命名するための主視点
インターフェースの内部処理のための論理の詳細を示す
流れ図である。
【図33】本発明による視点列に命名するための主視点
インターフェースの内部処理のための論理の詳細を示す
流れ図である。
【図34】本発明による視点列に命名するための主視点
インターフェースの内部処理のための論理の詳細を示す
流れ図である。
【図35】本発明による視点列に命名するための主視点
インターフェースの内部処理のための論理の詳細を示す
流れ図である。
【図36】本発明による、別名指定対話ボックスと、別
名拡張を含む変更済みの表および列リスト・ボックスを
示す図である。
【符号の説明】
120 副選択パネル 130 論理表定義パネル 210 表/列リスト対 211 表リスト 212 列リスト 217 表リスト 218 列リスト 220 比較演算子ボタン 230 Select Clause(select文節)テキスト・ペイ
ン 240 From Clause(from文節)テキスト・ペイン 250 Where Clause(where文節)テキスト・ペイン 260 Group-By Clause(group-by文節)テキスト・
ペイン 270 Having Clause(having文節)テキスト・ペイ
ン 310 SELECTライブラリ・リスト 320 アクション・ボタン 330 関係ボタン 340 全選択テキスト・ペイン 341 SELECTステートメント 350 表リスト 355 列リスト 356 DEFINED COLUMNS(定義済み列)セル・ペイン 357 Logical Table(論理表)プルダウン・メニュ
ー 358 アクション・バー 370 基礎列リスト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 セオドア・ジェイ・エル・シュレーダー アメリカ合衆国78728、テキサス州オース チン、ショアライン・ドライブ3101、1936 号

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】(a)複数の階層的に配置されたパネルの
    間をナビゲートする手段と、(b)1つまたは複数の階
    層的に配置されたパネルを、特定の環境に適合するよう
    にカストマイズする手段と、(c)後でデータベース内
    の情報にアクセスしそれを表示する際に使用できるよう
    に、カストマイズされたパネルを記憶する手段と、
    (d)パネル内の特定の表項目の代替名を含む別名デー
    タ構造を作成する手段と、(e)後で使用できるように
    別名データ構造を記憶する手段とを備える、複数の階層
    的に配置されたパネルを利用して、データベース内の情
    報を表示するための装置。
  2. 【請求項2】カストマイズされたパネルを用いて、アク
    セスし表示すべきデータベース内の情報を選択する手段
    を含む、請求項1に記載の装置。
  3. 【請求項3】後でデータベース視点を処理する際に使用
    するため、実際の情報を含まないデータ構造を作成する
    手段を含む、請求項1に記載の装置。
  4. 【請求項4】新規のカストマイズされたパネルを作成す
    るため、カストマイズされたパネルを編集する手段を含
    む、請求項1に記載の装置。
  5. 【請求項5】連携された項目を管理するため、データベ
    ース情報のライブラリを作成する手段を含む、請求項1
    に記載の装置。
  6. 【請求項6】(a)複数の階層的に配置されたパネルの
    間をナビゲートするステップと、(b)1つまたは複数
    の階層的に配置されたパネルを特定の環境に適合するよ
    うにカストマイズするステップと、(c)後でデータベ
    ース内の情報にアクセスしそれを表示する際に使用でき
    るように、カストマイズされたパネルを記憶するステッ
    プと(d)パネル内の特定の表項目の代替名を含む別名
    データ構造を作成するステップと、(e)後で使用でき
    るように別名データ構造を記憶するステップとを含む、
    複数の階層的に配置されたパネルを利用して、データベ
    ース内の情報を表示する方法。
  7. 【請求項7】カストマイズされたパネルを用いて、アク
    セスし表示すべきデータベース内の情報を選択するステ
    ップを含む、請求項6に記載の方法。
  8. 【請求項8】後でデータベース視点を処理する際に使用
    するため、実際の情報を含まないデータ構造を作成する
    ステップを含む、請求項6に記載の方法。
  9. 【請求項9】新規のカストマイズされたパネルを作成す
    るため、カストマイズされたパネルを編集するステップ
    を含む、請求項6に記載の方法。
  10. 【請求項10】連係された項目を管理するため、データ
    ベース情報のライブラリを作成するステップを含む、請
    求項6に記載の方法。
JP5060193A 1992-05-04 1993-03-19 データベース内の情報を表示する装置および方法 Pending JPH0668158A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87811892A 1992-05-04 1992-05-04
US878118 1992-05-04

Publications (1)

Publication Number Publication Date
JPH0668158A true JPH0668158A (ja) 1994-03-11

Family

ID=25371423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5060193A Pending JPH0668158A (ja) 1992-05-04 1993-03-19 データベース内の情報を表示する装置および方法

Country Status (1)

Country Link
JP (1) JPH0668158A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112999A (ja) * 1998-08-25 2000-04-21 Informix Software Inc プロパティベ―スコンテクストポ―タル
JP2000112998A (ja) * 1998-08-25 2000-04-21 Informix Software Inc ダイナミックオブジェクト視覚化及びコ―ド発生
JP2019133400A (ja) * 2018-01-31 2019-08-08 京セラドキュメントソリューションズ株式会社 管理サーバー、画像形成システム、及び管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM SYSTEMS JOURNAL=1988 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112999A (ja) * 1998-08-25 2000-04-21 Informix Software Inc プロパティベ―スコンテクストポ―タル
JP2000112998A (ja) * 1998-08-25 2000-04-21 Informix Software Inc ダイナミックオブジェクト視覚化及びコ―ド発生
JP2019133400A (ja) * 2018-01-31 2019-08-08 京セラドキュメントソリューションズ株式会社 管理サーバー、画像形成システム、及び管理方法

Similar Documents

Publication Publication Date Title
US5418950A (en) System for interactive clause window construction of SQL queries
Carey et al. PESTO: An integrated query/browser for object databases
US5499359A (en) Methods for improved referential integrity in a relational database management system
EP0575358B1 (en) Database management system graphical query front end
US5603025A (en) Methods for hypertext reporting in a relational database management system
US7668737B2 (en) Method and system for interfacing with a multi-level data structure
US5426781A (en) Computerized report-based interactive database query interface
JP2509444B2 (ja) オブジェクトの図形的関連づけ装置及び方法
US5911138A (en) Database search facility having improved user interface
US5412774A (en) Apparatus for and method of displaying a data item of a database using the display function of a selected data item
US5499368A (en) Scaled depiction of information from a database
US6131100A (en) Method and apparatus for a menu system for generating menu data from external sources
US20060271885A1 (en) Automatic database entry and data format modification
JPH087676B2 (ja) 図形的照会システム
JP3066681B2 (ja) 関係データベースの関連情報を図形的に表示する装置および方法
Donahue et al. Whiteboards: A graphical database tool
Constantopoulos et al. Repositories for software reuse: the software information base
JPH0668157A (ja) データベース内の情報を表示する装置および方法
JPH0668158A (ja) データベース内の情報を表示する装置および方法
JPH0668156A (ja) データベース内の情報を表示する装置および方法
JPH0644310A (ja) データベース内の情報を表示する装置および方法
JPH0644311A (ja) データベース内の情報を表示する装置および方法
JPH0644312A (ja) データベース内の情報を表示する装置および方法
JP3192898B2 (ja) データベース装置
JPH087675B2 (ja) 図形的照会システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees