コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

「オブジェクト問い合わせ言語」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
m ボット: 言語間リンク 7 件をウィキデータ上の (d:Q2011708 に転記)
Cewbot (会話 | 投稿記録)
m Bot作業依頼: sourceタグをsyntaxhighlightタグに置換 (Category:非推奨のsourceタグを使用しているページ) - log
28行目: 28行目:
次の例は、すべてのパーソナルコンピュータ (PC) のうち[[主記憶装置]] ([[Random Access Memory|RAM]]) が64MB以上であるもののCPUの速度を、架空のPCデータベースからどのように問い合わせるかを示す。
次の例は、すべてのパーソナルコンピュータ (PC) のうち[[主記憶装置]] ([[Random Access Memory|RAM]]) が64MB以上であるもののCPUの速度を、架空のPCデータベースからどのように問い合わせるかを示す。


<source lang="sql">
<syntaxhighlight lang="sql">
SELECT pc.cpuSpeed
SELECT pc.cpuSpeed
FROM PCs pc
FROM PCs pc
WHERE pc.ram > 64
WHERE pc.ram > 64
</syntaxhighlight>
</source>


=== グループ化と集約をともなう問い合わせ ===
=== グループ化と集約をともなう問い合わせ ===
38行目: 38行目:
次の例は、主記憶装置 (RAM) の容量の平均を、製造者ごとに、どのように問い合わせるかを示す。
次の例は、主記憶装置 (RAM) の容量の平均を、製造者ごとに、どのように問い合わせるかを示す。


<source lang="sql">
<syntaxhighlight lang="sql">
SELECT manufacturer, AVG(SELECT part.pc.ram FROM partition part)
SELECT manufacturer, AVG(SELECT part.pc.ram FROM partition part)
FROM PCs pc
FROM PCs pc
GROUP BY manufacturer: pc.manufacturer
GROUP BY manufacturer: pc.manufacturer
</syntaxhighlight>
</source>


<code>partition</code> キーワードを使っていることに注意。
<code>partition</code> キーワードを使っていることに注意。

2020年7月5日 (日) 23:00時点における版

オブジェクト問い合わせ言語 (オブジェクトといあわせげんご、オブジェクト照会言語OQL: Object Query Language) は、Object Data Management Group (ODMG) に準拠したオブジェクトデータベースに対する問い合わせと更新を行うための宣言型の問い合わせ言語 (データベース言語) である。 OQLは、宣言型言語であり、手続き型言語ではない。 OQLは、関係データベース (リレーショナルデータベース) の問い合わせ言語 (データベース言語) SQL をもとにしている。 OQLは、ODMGによって開発され標準仕様として公開された。 OQLは、全体的に仕様が複雑であるため、これまでのところOQLを完全に実装しているオブジェクトデータベース開発企業は、一社もない。 OQLは、いくつかのOQL以降に開発された問い合わせ言語の設計に影響をあたえた。 そうした問い合わせ言語の例としては、JDOQLとEJBQLがある。 しかしながら、JDOQLとEJBQLは、OQLから派生した技術とは位置づけられていない。

SQLとの違い

OQLとSQLとの重要な違いを示す[1]

  • OQLは、内でオブジェクトへの参照を扱うことができる。オブジェクトは、入れ子構造にすることができる (ネストさせることができる) 。
  • SQLのすべてのキーワードがOQLでも使えるわけではない。Netcool/Precision IP とは関連のないキーワードは、OQLの文法から除去されている。
  • OQLは、OQL文のなかで数学的な計算を行うことができる。

OQLの一般的な特徴

OQL文には次の特徴がある。

  • OQLの完全な文の連なりは、セミコロンで終了する。
  • OQL文のなかのエントリのリストは、多くの場合はコンマで区切られるが、コンマで終了することはない
  • テキストの文字列は、シングルクォーテーションのペアもしくはダブルクォーテーションのペアでくくられる。

簡単な例

次の例は、すべてのパーソナルコンピュータ (PC) のうち主記憶装置 (RAM) が64MB以上であるもののCPUの速度を、架空のPCデータベースからどのように問い合わせるかを示す。

SELECT pc.cpuSpeed
 FROM PCs pc
 WHERE pc.ram > 64

グループ化と集約をともなう問い合わせ

次の例は、主記憶装置 (RAM) の容量の平均を、製造者ごとに、どのように問い合わせるかを示す。

SELECT manufacturer, AVG(SELECT part.pc.ram FROM partition part)
 FROM PCs pc
 GROUP BY manufacturer: pc.manufacturer

partition キーワードを使っていることに注意。 従来のSQLとは逆の方法で集約を行っている。

関連項目

脚注

  1. ^ IBM OQL入門: http://publib.boulder.ibm.com/infocenter/tivihelp/v8r1/index.jsp?topic=/com.ibm.netcool_precision.doc/pr35se/xF1118340.html