
Query by Example ( QBE ) は、リレーショナル データベース用のデータベース クエリ言語です。1970年代半ば、SQLの開発と並行して、 IBM Researchの Moshé M. Zloof によって考案されました。[1]これは、ユーザーがコマンド、サンプル要素、条件を入力する視覚的なテーブルを使用する最初のグラフィカル クエリ言語です。今日、多くのデータベースのグラフィカル フロントエンドは、QBE のアイデアを使用しています。当初はデータの取得のみを目的としていましたが、QBE は後に、挿入、削除、更新、一時テーブルの作成などの他の操作もできるように拡張されました。
QBE の背後にある動機は、パーサーがユーザーのアクションをSQLなどのデータベース操作言語で表現されたステートメントに変換できることです。舞台裏では、このステートメントが実際に実行されます。適切に包括的なフロントエンドにより、ユーザーが SQL の細かい詳細を覚える負担を最小限に抑えることができ、エンドユーザー (およびプログラマー) にとっては、名前を入力するのではなく、選択することでテーブルと列を選択する方が簡単で生産的です。
情報検索の文脈では、QBE は多少異なる意味を持ちます。ユーザーは 1 つまたは複数の文書を送信し、文書データベースから「類似」文書を検索するよう要求できます [複数の例による検索を参照[2] ]。類似性検索は、文書ベクトルの比較に基づいています (ベクトル空間モデルを参照)。
QBE は、エンドユーザー開発における画期的な成果であり、このトピックの初期の例として研究論文で頻繁に引用されています。
現在、QBEはいくつかのリレーショナルデータベースフロントエンド、特に「Visual Query by Example」を実装するMicrosoft AccessやMicrosoft SQL Server Enterprise Managerでサポートされています。また、いくつかのオブジェクト指向データベース( db4o [3]など)にも実装されています。
QBE は、Tableau クエリと呼ばれる論理形式に基づいていますが、SQL がリレーショナル代数に基づいているのと同様に、QBE はそれにいくつかの拡張機能を追加します。
例
ここでは、QBE がどのように機能するかを説明するために、サプライヤーと部品のデータベースを使用する例を示します。
一般的なテクニックとして
この用語は、Zloof の研究に影響を受けた一般的な手法も指します。この手法では、検索値を持つ項目のみを使用して結果を「フィルター」します。この手法により、ソフトウェア ユーザーは、クエリ言語 ( SQLなど) を知らなくてもクエリを実行できます。ソフトウェアは、ユーザーに代わってクエリを自動的に生成できます (通常はバックグラウンドで)。次に例をいくつか示します。
フォームBの例:
.....名前: ボブ ..住所: .....市: ....州: TX ..郵便番号:
結果のSQL :
SELECT * FROM Contacts WHERE Name = 'Bob' AND State = 'TX' ;
空白の項目ではSQL用語が生成されないことに注意してください。「アドレス」は空白なので、それに対して句は生成されません。フォームCの例:
.....名前: ..住所: .....都市: サンプルトン ....州: 郵便番号: 12345
結果のSQL :
SELECT * FROM Contacts WHERE City = 'Sampleton' AND Zipcode = '12345' ;
QBE のより高度なバージョンには、他の比較演算子オプションがあり、多くの場合、プルダウン メニューから「含む」、「含まない」、「始まる」、「より大きい」などを選択できます。
テキスト比較の別のアプローチは、1 つ以上のワイルドカード文字を許可することです。たとえば、特定のシステムでアスタリスクがワイルドカード文字として指定されている場合、「Rob *」を使用して姓を検索すると、「Rob」、「Robert」、「Robertson」、「Roberto」などの姓が返されます (一致します)。
参照
- CRUD
- Microsoft Query の例
- GraphQL はJSON フロントエンド用の QBE です。
- キュービック
参考文献
- ^ Zloof, MM (1977). 「Query-by-Example: データベース言語」. IBM Systems Journal . 16 (4): 324–343. CiteSeerX 10.1.1.86.3485 . doi :10.1147/sj.164.0324.
- ^ Zhu, Mingzhu; Wu, Yi-Fang Brook (2014-02-24). 「複数の例による検索」。第 7 回 ACM 国際 Web 検索およびデータマイニング会議の議事録。ACM。pp. 667–672。doi : 10.1145 / 2556195.2556206。ISBN 9781450323512. S2CID 8397529。
- ^ 「QBE」、db4o、Developer Works Java ライブラリ、IBM、2007 年 3 月 27 日
出典
- Zloof, Moshé M. (1975 年 5 月)、「Query by Example」、National Computer Conference、AFIPS Conference Proceedings、第 44 巻、カリフォルニア州アナハイム: AFIPS Press、pp. 431–8、ISSN 0095-6880。
- Ramakrishnan, ラグー州; Gehrke, Johannes、「6. QBE」(PDF)、データベース管理システム(第 3 版)、Wisc。
- Date, Christopher 'Chris' J. (2004)、「8. リレーショナル計算」、データベース システム入門、Addison-Wesley Pearson、pp. 242–7、ISBN 978-0-321-18956-1。
- Oracle の定義、技術ターゲット。
- Zaiane, O. (1998)、「5. Query-by-Example (QBE)」、CC 354 注釈、カナダ: SFI。
外部リンク
- 「Hibernate を使用した Java での例によるクエリ」。JBoss。
- Soylu, Ahmet; Giese, Martin; Jimenez-Ruiz, Ernesto; Vega-Gorgojo, Guillermo; Horrocks, Ian (2015). 「OptiqueVQS の体験: エンド ユーザー向けのマルチパラダイムおよびオントロジー ベースのビジュアル クエリ システム」(PDF) .情報社会におけるユニバーサル アクセス. 15 : 129–152. doi :10.1007/s10209-015-0404-5. hdl :11250/2388519. S2CID 254169347.
ビジュアル クエリ システム (VQS)
