この規格ページの目次
- 5.5.1 [ISO9075-4] で規定するSQL文
- 5.6 ISO/IEC 9075-9 : 外部データ管理 (SQL/MED)
- 5.7 ISO/IEC 9075-10 : オブジェクト言語結合 (SQL/OLB)
- 5.8 ISO/IEC 9075-11 : 情報スキーマ及び定義スキーマ (SQL/Schemata)
- 5.9 ISO/IEC 9075-13 : Javaプログラム言語を用いるSQLルーチン及び型 (SQL/JRT)
- 5.10 ISO/IEC 9075-14 : XML関連仕様 (SQL/XML)
- 6 JIS X 3005 (ISO/IEC 9075) 規格群の他の規格で用いる表記法及び規約
- 6.1 JIS X 0221 [ISO10646] からの表記法
- 6.2 この規格で規定する表記法
- 6.3 規約
- 6.3.1 構文要素の規定
- 6.3.2 情報スキーマ及び定義スキーマの規定
- 6.3.3 用語の使用
- 6.3.3.1 構文上の包含関係
- 6.3.3.2 規則の要件を示す用語
- 6.3.3.3 規則の評価順序
- JIS X 3005-1:2014の引用国際規格 ISO 一覧
- JIS X 3005-1:2014の国際規格 ICS 分類一覧
- JIS X 3005-1:2014の関連規格と引用規格一覧
25
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)
− 条件を信号として送る又は再送するための文の指定。
− 元祖SQLサーバカーソルの宣言。
− 局所変数の宣言。
SQLサーバモジュールを記述するスキーマ情報を含む情報スキーマ表も規定する。
5.5.1 [ISO9075-4] で規定するSQL文
[ISO9075-4] で規定するSQL文の大まかな種類を次に示す。
− SQLルーチンの実行を制御するために用いてもよい追加のSQL制御文。
− 変数及び例外ハンドラを宣言するために用いてもよいSQL制御宣言。
− 例外を信号として送るために用いてもよい追加のSQL診断文。
− モジュールを作成及び破壊するために用いてもよい追加のSQLスキーマ文。
5.6 ISO/IEC 9075-9 : 外部データ管理 (SQL/MED)
[ISO9075-9] は,外部表及びデータリンクデータ型の利用を介して,外部データの管理を支援すること
をデータベース言語SQLで可能にする機能を規定する。
これらは,次の項目を定義するための機能,及び外部データ源と相互に作用する外部データ覆いと通信
するために,SQLサーバが利用できるルーチンを含む。
− 外部サーバ。
− 外部データ覆い。
− 外部表。
5.7 ISO/IEC 9075-10 : オブジェクト言語結合 (SQL/OLB)
[ISO9075-10] は,SQL文をJavaプログラムに埋め込むための機能を規定する。
5.8 ISO/IEC 9075-11 : 情報スキーマ及び定義スキーマ (SQL/Schemata)
[ISO9075-11],すなわち,情報スキーマ及び定義スキーマは,情報スキーマ(INFORMATIONSCHEMA)
及び定義スキーマ(DEFINITIONSCHEMA)の二つのスキーマを規定する。情報スキーマのビューは,表,
ビュー,列などの永続的なデータベースオブジェクトの名前を適用業務が知ることを可能にする。これら
のビューは,定義スキーマの実表によって定義される。定義スキーマの唯一の目的は,情報スキーマを実
現し,理解を助けるためにデータモデルを提供することにある。SQL処理系は,情報スキーマビューを介
して見られるように,定義スキーマの存在を模擬する以外の必要はない。
5.9 ISO/IEC 9075-13 : Javaプログラム言語を用いるSQLルーチン及び型 (SQL/JRT)
[ISO9075-13] は,Javaプログラム言語で書かれた静的メソッドをSQL呼出しルーチンとして呼び出す
ことを可能にすること,及びJavaプログラム言語で定義されたクラスをSQL構造型として用いることを
データベース言語SQLで可能にする機能を規定する。
これらは,次の機能を含む。
− SQL呼出しルーチンの定義,操作及び呼出しの拡張。
− 利用者定義型の定義及び操作の拡張。
− 新たな組込み手続。
5.10 ISO/IEC 9075-14 : XML関連仕様 (SQL/XML)
[ISO9075-14] は,XML文書の作成及び操作を可能にすることをデータベース言語SQLで可能にする機
能を規定する。
これらは,次の機能を含む。
――――― [JIS X 3005-1 pdf 31] ―――――
26
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)
− 新たな既定義型であるXML。
− XML型の値を作成及び操作するための新たな組込み演算子。
− 表,スキーマ及びカタログのXML文書への対応付けのための規則。
6 JIS X 3005 (ISO/IEC 9075) 規格群の他の規格で用いる表記法及び規約
この箇条で規定する表記法及び規約は,より適切なものを各規格で個別に規定する場合を除いて,JIS X
3005 (ISO/IEC 9075) 規格群の他の規格で用いる。
6.1 JIS X 0221 [ISO10646] からの表記法
UCS符号位置の表現のための表記法は,JIS X 0221 [ISO10646] の“6.5 符号位置の短い識別子 (UID)”
で規定している。
この規格群では,この表記法は,文字を曖昧さなく識別するためだけに利用し,処理系がその文字を用
いるための特定の符号化を意味するわけではない。
6.2 この規格で規定する表記法
JIS X 3005 (ISO/IEC 9075) 規格群で用いる構文表記法は,拡張を行ったBNF[“バッカス正規形 (Backus
Normal Form,Backus Naur Form)”]とする。
BNF言語定義では,BNF非終端記号 (BNF nonterminal symbol) として知られているその言語の各構文要
素は,生成規則 (production rule) によって定義する。この生成規則は,要素の実現値を形作るために用い
ることができる,文字,文字列及び構文要素から成る式によって要素を定義する。
JIS X 3005 (ISO/IEC 9075) 規格群で用いるBNFの記号及びその意味を表2“BNFで用いる記号”に示す。
表2−BNFで用いる記号
記号 意味
<> 山括弧で囲まれた文字列は,SQL言語の構文要素(BNF非終端)の名前とする。
::= 定義演算子は,規則によって定義される要素をその定義から分離するために,生成規則中で用いる。定義さ
れる要素は,この演算子の左側に現れ,その要素を定義する式は,右側に現れる。
[] 角括弧は,式中で省略可能な要素を示す。式中の角括弧で囲まれた部分は,陽に指定してもよいし,省略し
てもよい。
[{}] 波括弧は,式中の要素をまとめる。式中の波括弧で囲まれた部分は,陽に指定しなければならない。
| 代替手段演算子。縦棒は,式中で縦棒に後続する部分が縦棒に先行する部分の代替手段であることを示す。
縦棒が波括弧又は角括弧に囲まれない部分に現れるならば,それは,その生成規則によって定義される要素
の完全な代替手段を示す。式中で縦棒が波括弧又は角括弧に囲まれた部分に現れるならば,それは,最も内
側の波括弧又は角括弧の中の要素の代替手段を示す。
... 省略符号は,式中で適用される要素を任意の回数繰り返してもよいことを示す。省略符号が閉じ波括弧“}]”
の直後に現れるならば,式中でその閉じ波括弧及びそれに対応する開き波括弧“[{”で囲まれた部分に適用す
る。省略符号が他の要素の後に現れるならば,その要素にだけ適用する。構文規則,アクセス規則,一般規
則及び適合性規則では,そのようなリスト中のn番目の要素の参照は,ほかに記述がない限り,それらが指
定される順序を仮定する。
!! 普通の自然言語の文を導入する。これは,構文要素の定義がBNFで表現されないときに用いる。
空白は,構文要素を分離するために用いる。複数の空白及び改行は,単一の空白として扱う。上記で特
別な機能が与えられた記号以外の,式中のその他の文字及び文字列は,それら自体を表す。加えて,生成
規則中の定義演算子の右側の記号がBNF記号だけから成るならば,これらの記号は,それ自体を表し,そ
の特別な意味はもたない。
――――― [JIS X 3005-1 pdf 32] ―――――
27
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)
波括弧の対及び角括弧の対は,任意の深さの入れ子にすることができ,代替手段演算子は,そのような
入れ子のどの深さで現れてもよい。
構文要素の実現値を形作る文字列は,次の段階を適用することによって,その構文要素のBNF定義から
生成することができる。
1) 要素に対して,生成規則の右側に定義されている要素から一つの選択肢を選択し,その要素をその
選択肢で置き換える。
2) 各省略符号及びそれが適用される対象を,その対象の一つ以上の実現値で置き換える。
3) 角括弧で囲まれた各文字列部分に対して,その角括弧及びその内容を削除するか又はその角括弧を
波括弧で置き換える。
4) 波括弧で囲まれた各文字列部分に対して,その波括弧内の部分文字列に1)5) までの段階を適用
し,波括弧を取り除く。
5) 文字列中に残っているBNF非終端記号に対して,1)5) までの段階を適用する。
展開又は生成は,文字列中に非終端記号がなくなったときに完了する。
ソース言語文字集合中の文字列CSの,BNF非終端NTからの左正規形導出は,5) の段階で常に最も左
のBNF非終端を選びながら,上記1)5) までの段階をNTに適用することによって得られる。
6.3 規約
6.3.1 構文要素の規定
構文要素は,次によって規定する。
− 機能 (Function) : 要素の目的についての短い文。
− 形式 (Format) : 要素の構文のBNF定義。
− 構文規則 (Syntax Rules) : 要素が満たさなければならず,BNFで表現されない,要素の構文的な特性
若しくは付加的な構文上の制約又はその両方の,自然言語での規定。
− アクセス規則 (Access Rules) : 一般規則が成功裏に適用される前に満たされなければならない,スキ
ーマオブジェクトへのアクセス可能性を決める規則の自然言語での規定。
− 一般規則 (General Rules) : 要素の実行時効果についての自然言語での規定。要素の効果を規定するた
めに,二つ以上の一般規則を用いるとき,要求される効果は,規則の適用の順番の変更又は終了を指
定するか暗に想定する規則が適用されない限り,最初の一般規則から始めて,番号順にそれらの規則
を適用することによって得られる効果とする。適用される特定の規則によって指定されるか又は暗に
想定されない限り,一般規則の適用は,番号順で最後の規則が適用されたときに終了する。
− 適合性規則 (Conformance Rules) : SQLに適合するために,要素がどのように提供されなければならな
いかの規定。
表記記号の適用範囲は,それらの記号を定義する細分箇条とする。細分箇条内では,構文規則,アクセ
ス規則又は一般規則中で定義された記号は,参照される前に定義されているという条件で,その他の規則
中で参照することができる。
6.3.2 情報スキーマ及び定義スキーマの規定
JIS X 3005 (ISO/IEC 9075) 規格群の情報スキーマ及び定義スキーマのオブジェクトは,次によって規定
する。
− 機能 (Function) : 定義の目的についての短い文。
――――― [JIS X 3005-1 pdf 33] ―――――
28
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)
− 定義 (Definition) : 定義されるオブジェクトのSQLでの定義。
− 記述 (Description) : 定義からは明らかではない範囲の,オブジェクトの実行時の値の規定。
− 適合性規則 (Conformance Rules) : SQLに適合するために,要素がどのように提供されなければならな
いかの規定。
情報スキーマ中のビュー定義は,これらのビュー表の内容を規定するためにだけ用いている。これらの
ビューが基にする実際のオブジェクトは,処理系依存とする。
6.3.3 用語の使用
6.3.3.1 構文上の包含関係
構文要素を<A>,<B>及び<C>とする。<A>,<B>及び<C>の実現値を,それぞれ,A1,B1及びC1とす
る。
形式中で,<A>のBNF生成規則の右側に<B>が現れるならば,<A>は,<B>を直に含む (immediately
contain) という。<A>が<C>を直に含むか,又は<C>を含む<B>を<A>が直に含むならば,<A>は,<C>を
含む (contain) 又は指定する (specify) という。
SQL言語中で,<A>が<B>を直に含み,かつ,B1がA1のテキストの部分ならば,A1は,B1を直に含
む という。A1がC1を直に含むか,又はA1がB1を直に含み,かつ,B1がC1を含むならば,A1は,
C1を含む 又は指定する という。A1がC1を含むならば,C1は,A1に含まれ (contained in),A1によっ
て指定され (specified by) る。
A1がB1を含み,かつ,B1を含む<C>の実現値をA1が含むならば,A1は,<C>の実現値を介在して (with
an intervening instance of) 1を含むという。A1がB1を含み,かつ,B1を含む<C>の実現値をA1が含まな
いならば,A1は,<C>の実現値を介在しないで (without an intervening instance of) 1を含むという。
A1が<A>の実現値又は<B>の実現値を介在しないでB1を含むならば,A1は,B1を単純に含む (simply
contain)。A1がB1を単純に含む ならば,B1は,A1に単純に含まれ (simply contained in) る。
<副問合せ>,<WITHIN GROUP指定>,又は<順序付け集合関数>ではない<集合関数指定>の実現値を介
在しないでA1がB1を含むならば,A1は,B1を直接含む (directly contain)。
<A>の実現値が<B>の実現値を含むならば,<B>は,<A>に含まれる といい,<A>は,<B>を含む
(containing) 生成記号という。<A>の実現値が<B>の実現値を単純に含むならば,<B>は,<A>に単純に含
まれる (simply contained in) といい,<A>は,<B>を単純に含む (simply containing) 生成記号という。
A1が条件Cを満たし,かつ,Cを満たす<A>の実現値をA1が含まないならば,A1は,Cを満たす最も
内側の (innermost) <A>とする。A1が条件Cを満たし,かつ,Cを満たす<A>の実現値にA1が含まれない
ならば,A1は,Cを満たす最も外側の (outermost) <A>とする。
<ビュー定義>Vによって定義されるビューを識別する<表名>を<A>が含むならば,<A>は,Vに含まれ
る<問合せ式>を一般に含む (generally contain) という。<問合せ式>QEを識別する<問合せ名>を<A>が含
むならば,<A>は,QEを一般に含むという。<A>が<B>を含むならば,<A>は,<B>を一般に含む。<A>
が<B>を一般に含み,かつ,<B>が<C>を一般に含むならば,<A>は,<C>を一般に含む。
<ルーチン呼出し>,<メソッド呼出し>,<静的メソッド呼出し>又は<メソッド参照> RIを<A>が含むな
らば,<A>は,RIの当該ルーチンの集合中の全てのSQLルーチンの<SQLルーチン本体>を広く含む
(broadly contain) という。<A>が<B>を一般に含むならば,<A>は,<B>を広く含む。<A>が<B>を広く含み,
かつ,<B>が<C>を広く含むならば,<A>は,<C>を広く含む。
注記11 “<ルーチン呼出し>,<メソッド呼出し>,<静的メソッド呼出し>又は<メソッド参照>の当該
――――― [JIS X 3005-1 pdf 34] ―――――
29
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)
ルーチンの集合”は,[ISO9075-2] の“10.4 <ルーチン呼出し>”で定義している。
注記12 広く含む関係 (broad containment) は,処理系定義要素又は適合性の機能などの選択機能を規
定するためだけに用いる。
形式中で,(“であり”などの文法上の全ての変形も含めて,)“である”という語は,次のとおりに定義
される。<A> ::= <B> という形式のBNF生成規則が存在するならば,<A>は,<B>である という。<A>
が<B>であり,かつ,<B>が<C>であるならば,<A>は,<C>(である)とする。<A>が<C>(である)な
らば,<C>は,<A>を構成する (constitute) という。SQL言語では,<A>が<B>で(あり),A1のテキスト
がB1のテキスト(である)ならば,A1は,B1であるという。逆に,A1がB1であるならば,B1は,A1
を構成する という。
6.3.3.2 規則の要件を示す用語
構文規則中で,(し)なければならない (shall) という用語は,SQL言語に構文上適合するために真とな
ることが要求される条件を定義する。そのような条件は,それらが一つ以上のスキーマの内容に依存する
とき,一般規則によって規定している動作を行う直前に,真であることが要求される。SQLの形式及び構
文規則に適合しない言語の扱いは,処理系依存とする。アクセス規則又は一般規則の評価を行おうとした
ときに,構文規則によって要求されるいずれかの条件が満たされず,かつ,適合しないSQL言語も,適合
するSQL言語を適合しない方法でも,処理系が処理しないならば,例外条件 : 構文誤り又はアクセス規則
違反 (syntax error or access rule violation) が引き起こされる。
アクセス規則中で,(し)なければならない という用語は,一般規則の適用を成功させるために満たす
ことが要求される条件を定義する。そのようないずれかの条件が一般規則を適用するときに満たされない
ならば,例外条件 : 構文誤り又はアクセス規則違反 が引き起こされる。
適合性規則中で,(し)なければならない という用語は,一つ又は複数の名前付きの機能を提供する必
要がない場合に真となることが要求される条件を定義する。
6.3.3.3 規則の評価順序
規格に適合する処理系は,一般規則で規定する動作をそのままの順番で実行することは要求されないが,
SQLデータ及びスキーマ,ホストパラメタ及びホスト変数,並びにSQLパラメタ及びSQL変数に対する
効果は,その順番での効果と同じでなければならない。実効的に (effectively) という用語は,処理系が効
果を別の方法で達成してもよい動作を強調するために用いる。
ある構文要素に含まれる構文要素に対する構文規則及びアクセス規則は,その構文要素を含む構文要素
に対する構文規則及びアクセス規則と実効的に同じ時点で適用する。ある構文要素に含まれる構文要素に
対する一般規則は,実効的にその構文要素を含む構文要素に対する一般規則の前に適用する。
演算子の優先順序がJIS X 3005 (ISO/IEC 9075) 規格群の形式又は括弧によって決定されるところでは,
それらの演算子は,実効的にその優先順序によって指定される順序で適用する。
演算子の優先順序が形式又は括弧によって決定されないところでは,式の実効的な評価は,一般に
(generally) 左から右に行う。しかし,特に,オペランド若しくは演算子が条件を引き起こすことになると
き,又は式の結果がその式の全ての部分を完全に評価することなしに決定できるとき,式を実際に
(actually) 左から右に評価するかどうかは,処理系依存とする。
一般には,ある構文要素が二つ以上の別の構文要素を含むならば,それらを含む構文要素の生成規則中
で,前に現れている含まれる要素に対する一般規則を,後に現れている含まれる要素に対する一般規則の
前に適用する。
例えば,次の生成規則
――――― [JIS X 3005-1 pdf 35] ―――――
次のページ PDF 36
JIS X 3005-1:2014の引用国際規格 ISO 一覧
- ISO/IEC 9075-1:2011(IDT)
JIS X 3005-1:2014の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語
JIS X 3005-1:2014の関連規格と引用規格一覧
- 規格番号
- 規格名称
- JISX0221:1995
- 国際符号化文字集合(UCS) ― 第1部 体系及び基本多言語面
- JISX0221:2014
- 国際符号化文字集合(UCS)
- JISX0221:2020
- 国際符号化文字集合(UCS)