ISO/IEC 9075-13:2016 情報技術  —  データベース言語  —  SQL  —  パート13:Java TMプログラミング言語(SQL / JRT)を使用したSQLルーチンとタイプ | ページ 5

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

2 参考文献

本書の適用には、以下の参考文献が不可欠です。日付のある参考文献については、引用された版のみが適用されます。日付のない参照については、参照文書の最新版 (修正を含む) が適用されます。

2.1 ISO および IEC 規格

  • ISO/IEC 9075-1:2016, 情報技術 — データベース言語 — SQL — 1: フレームワーク (SQL/フレームワーク)
  • ISO/IEC 9075-2:2016, 情報技術 — データベース言語 — SQL — 2: ファウンデーション (SQL/ファウンデーション)
  • ISO/IEC 9075-10:2016, 情報技術 — データベース言語 — SQL — 10: オブジェクト言語バインディング (SQL/OLB)
  • ISO/IEC 9075-11:2016, 情報技術 — データベース言語 — SQL — 11: 情報および定義スキーマ (SQL/スキーマ)

2.2 その他の国際規格

  • Java™ 言語仕様、Java SE 7 Edition 。 http://docs.oracle.com/javase/specs/jls/se7/jls7.pdf .
  • Java™ 仮想マシン仕様、Java SE 7 エディション。 http://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf .
  • Java™ Platform Standard Edition 7 API 仕様、 http://docs.oracle.com/javase/7/docs/api/index.html
  • Java™ オブジェクト直列化仕様. http://docs.oracle.com/javase/7/docs/platform/serialization/spec/serialTOC.html
  • JDBC™ 4.1 仕様 http://download.oracle.com/otn-pub/jcp/jdbc-4_1-mrel-spec/jdbc4.1-fr-spec.pdf

3 定義、表記、および慣例

この条項は、ISO/IEC 9075-2 の条項 3「定義、表記法、および規則」を変更します。

3.1 定義

この条項は、ISO/IEC 9075-2 の条項 3.1「定義」を修正します。

3.1.1 [JLS] からの定義

このドキュメントの目的のために、[JLS] で指定されている次の用語の定義が適用されます。

3.1.1.1 ブロック

3.1.1.2 クラス宣言

3.1.1.3 クラスインスタンス

3.1.1.4 クラス変数

3.1.1.5 フィールド

3.1.1.6 インスタンス初期化子

3.1.1.7 インスタンス変数

3.1.1.8 インターフェース

3.1.1.9 ローカル変数

3.1.1.10 ネストされたクラス

3.1.1.11 パッケージ

3.1.1.12 静的初期化子

3.1.1.13 サブパッケージ

3.1.2 [JVM] から取得した定義

このドキュメントの目的のために、[JVM] で指定されている次の用語の定義が適用されます。

3.1.2.1 クラスファイル

3.1.2.2 Java 仮想マシン

3.1.3 で提供される定義13

このドキュメントの目的のために、他の情報源から採用された定義に加えて、次の定義が適用されます。

3.1.3.1

デフォルト接続

データ ソース URL 'jdbc:default:connection'で確立された、現在の SQL 実装、SQL セッション、および SQL トランザクションへの JDBC 接続

注記 1: (URL の詳細については、[RFC2368] および [RFC3986] を参照してください。)

3.1.3.2

配備記述子

SQLJ.INSTALL_JARプロシージャーおよびSQLJ.REMOVE_JARプロシージャーによってそれぞれ実行される <install actions> および <remove actions> を指定し、デプロイメント記述子ファイルに含まれる 1 つ以上の SQL ステートメント

3.1.3.3

配備記述子ファイル

[JavaAPI] のjava.util.jarセクションで説明されているように、JAR のマニフェスト エントリがSQLJDeploymentDescriptor: TRUEを指定している、JAR に含まれるデプロイメント記述子を含むテキスト ファイル

3.1.3.4

外部 Java データ型

<external Java type clause> を指定する <user-defined type definition> で定義された SQL ユーザー定義型。

3.1.3.5

外部 Java ルーチン

LANGUAGE JAVA および PROCEDURE または FUNCTION のいずれかを指定する <SQL 呼び出しルーチン> で定義された外部ルーチン、または <外部 Java タイプ節> を指定する <ユーザー定義タイプ定義> で定義された外部ルーチン

3.1.3.6

インストールされたJAR

プロシージャSQLJ.INSTALL_JARまたはSQLJ.REPLACE_JARの実行により、SQL環境に存在が登録され、内容がそのSQL環境にコピーされたJAR

3.1.3.7

Java アーカイブ (JAR)

[JavaAPI] のjava.util.zipセクションで説明されているように、0 個以上の Javaクラスとserファイル、および 0 個以上のデプロイメント記述子ファイルを含む zip 形式のファイル

注記 1: JAR は、Java プログラムを配布するための通常の手段であり、外部 Java ルーチンおよび外部 Java データ型の実装を SQL 環境に提供するためにこの国際規格によって指定されたメカニズムです。

3.1.3.8

JVM

[JVM] で定義されている Java 仮想マシン

3.1.3.9

SERファイル

[JavaSerialization] で定義された形式の Java オブジェクトの表現を含むファイル

3.1.3.10

サブジェクト Java クラス

クラスのサブジェクト Java クラス名とそれを含む JAR の組み合わせによって一意に識別される Java クラス

3.1.3.11

サブジェクト Java クラス名

Java クラスの完全修飾パッケージおよびクラス名

3.1.3.12

システムクラス

ISO/IEC 9075 のこの部分の適合する実装によって提供される任意の Java クラスで、インストールされた JAR にそのクラスが含まれていなくても、外部 Java ルーチンまたは外部 Java データ型によって参照できるもの

3.2 規約

この条項は、ISO/IEC 9075-2 の条項 3.3「規約」を修正します。

3.2.1 組み込み手続きの仕様

組み込みプロシージャは、次の観点から指定されます。

  • 機能 : 手順の目的の短いステートメント。
  • Signature : プロシージャの署名の SQL での仕様。署名の唯一の目的は、プロシージャ名、パラメーター名、およびパラメーターの型を指定することです。これらの組み込み手続きを定義する方法は、実装に依存します。
  • Access Rules : 一般規則が正常に適用される前に保持される、スキーマ オブジェクトのアクセシビリティを管理する規則の英語での仕様。
  • 一般規則 : プロシージャーの呼び出しの実行時の影響の英語での仕様。要素の効果を指定するために複数の一般規則が使用されている場合、必要な効果は、最初の一般規則から始めて、変更を指定または暗示する規則が適用されない限り、番号順に規則を適用することによって得られる効果です。規則の適用の順序または終了。適用される特定の規則によって特に指定または暗示されない限り、一般規則の適用は、一連の最後の規則が適用された時点で終了します。
  • 適合規則 : SQL への適合のために要素をどのようにサポートするかの仕様。

表記記号の範囲は、それらの記号が定義されている節です。細分条項内で、署名、アクセス規則、または一般規則で定義されたシンボルは、参照される前に定義されている場合、他の規則で参照できます。

3.2.2 配備記述子ファイルの仕様

デプロイメント記述子ファイルは、次の観点から指定されます。

  • 機能 : デプロイメント記述子ファイルの目的の短いステートメント。
  • Model : 配置記述子ファイルが含まれる JAR 内で識別される方法の簡単な説明。
  • プロパティ : デプロイメント記述子ファイルのコンテンツの構文の BNF 仕様。
  • 説明 : デプロイメント記述子ファイルの内容に関する要件と制限の仕様。
  • 適合規則 : SQL への適合のために要素をどのようにサポートするかの仕様。

参考文献

【ISO19075-4】ISO/IEC TR 19075-4:2014, 情報技術 — データベース言語 — SQL テクニカル レポート — 4: Java™ プログラミング言語を使用したルーチンと型を持つ SQ
[RFC2368]RFC 2368, mailto URL スキーム、 P Hoffman, L Masinter, J Zawinski . http://www.ietf.org/rfc/rfc2368.txt
[RFC3986]RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T Berners-Lee, R Fielding, L Masinter . http://www.ietf.org/rfc/rfc3986.txt

2 Normative references

The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

2.1 ISO and IEC standards

  • ISO/IEC 9075-1:2016, Information technology — Database languages — SQL — 1: Framework (SQL/Framework).
  • ISO/IEC 9075-2:2016, Information technology — Database languages — SQL — 2: Foundation (SQL/Foundation).
  • ISO/IEC 9075-10:2016, Information technology — Database languages — SQL — 10: Object Language Bindings (SQL/OLB).
  • ISO/IEC 9075-11:2016, Information technology — Database languages — SQL — 11: Information and Definition Schemas (SQL/Schemata).

2.2 Other international standards

  • The Java™ Language Specification, Java SE 7 Edition. http://docs.oracle.com/javase/specs/jls/se7/jls7.pdf .
  • The Java™ Virtual Machine Specification, Java SE 7 Edition. http://docs.oracle.com/javase/specs/jvms/se7/jvms7.pdf .
  • Java™ Platform Standard Edition 7 API Specification, http://docs.oracle.com/javase/7/docs/api/index.html .
  • Java™ Object Serialization Specification. http://docs.oracle.com/javase/7/docs/platform/serialization/spec/serialTOC.html .
  • JDBC™ 4.1 Specification http://download.oracle.com/otn-pub/jcp/jdbc-4_1-mrel-spec/jdbc4.1-fr-spec.pdf .

3 Definitions, notations, and conventions

This Clause modifies Clause 3, “Definitions, notations, and conventions”, in ISO/IEC 9075-2.

3.1 Definitions

This Subclause modifies Subclause 3.1, “Definitions”, in ISO/IEC 9075-2.

3.1.1 Definitions taken from [JLS]

For the purposes of this document, the definitions of the following terms given in [JLS] apply.

3.1.1.1 block

3.1.1.2 class declaration

3.1.1.3 class instance

3.1.1.4 class variable

3.1.1.5 field

3.1.1.6 instance initializer

3.1.1.7 instance variable

3.1.1.8 interface

3.1.1.9 local variable

3.1.1.10 nested class

3.1.1.11 package

3.1.1.12 static initializer

3.1.1.13 subpackage

3.1.2 Definitions taken from [JVM]

For the purposes of this document, the definitions of the following terms given in [JVM] apply.

3.1.2.1 class file

3.1.2.2 Java Virtual Machine

3.1.3 Definitions provided in 13

For the purposes of this document, in addition to those definitions adopted from other sources, the following definitions apply:

3.1.3.1

default connection

JDBC connection to the current SQL-implementation, SQL-session, and SQL-transaction established with the data source URL 'jdbc:default:connection'

Note 1 to entry: (See [RFC2368] and [RFC3986] for more details about URLs.)

3.1.3.2

deployment descriptor

one or more SQL-statements that specify <install actions> and <remove actions> to be taken, respectively, by the SQLJ.INSTALL_JAR and SQLJ.REMOVE_JAR procedures and that are contained in a deployment descriptor file

3.1.3.3

deployment descriptor file

text file containing deployment descriptors that is contained in a JAR, for which the JAR's manifest entry, as described by the java.util.jar section of [JavaAPI], specifies SQLJDeploymentDescriptor: TRUE

3.1.3.4

external Java data type

SQL user-defined type defined with a <user-defined type definition> that specifies an <external Java type clause>.

3.1.3.5

external Java routine

external routine defined with an <SQL-invoked routine> that specifies LANGUAGE JAVA and either PROCEDURE or FUNCTION, or defined with a <user-defined type definition> that specifies an <external Java type clause>

3.1.3.6

installed JAR

JAR whose existence has been registered with the SQL-environment and whose contents have been copied into that SQL-environment due to execution of one of the procedures SQLJ.INSTALL_JAR and SQLJ.REPLACE_JAR

3.1.3.7

Java Archive (JAR)

zip-formatted file, as described by the java.util.zip section of [JavaAPI], containing zero or more Java class and ser files, and zero or more deployment descriptor files

Note 1 to entry: JARs are a normal vehicle for distributing Java programs and the mechanism specified by this International Standard to provide the implementation of external Java routines and external Java data types to an SQL-environment.

3.1.3.8

JVM

Java Virtual Machine, as defined by [JVM]

3.1.3.9

ser file

file containing representations of Java objects in the form defined in [JavaSerialization]

3.1.3.10

subject Java class

Java class uniquely identified by the combination of the class's subject Java class name and its containing JAR

3.1.3.11

subject Java class name

fully-qualified package and class name of a Java class

3.1.3.12

system class

any Java class provided by a conforming implementation of this part of ISO/IEC 9075 that can be referenced by an external Java routine or an external Java data type without that class having been included in an installed JAR

3.2 Conventions

This Subclause modifies Subclause 3.3, “Conventions”, in ISO/IEC 9075-2.

3.2.1 Specification of built-in procedures

Built-in procedures are specified in terms of:

  • Function : A short statement of the purpose of the procedure.
  • Signature : A specification, in SQL, of the signature of the procedure. The only purpose of the signature is to specify the procedure name, parameter names, and parameter types. The manner in which these built-in procedures are defined is implementation-dependent.
  • Access Rules : A specification in English of rules governing the accessibility of schema objects that shall hold before the General Rules may be successfully applied.
  • General Rules : A specification in English of the run-time effect of invocation of the procedure. Where more than one General Rule is used to specify the effect of an element, the required effect is that which would be obtained by beginning with the first General Rule and applying the Rules in numeric sequence unless a Rule is applied that specifies or implies a change in sequence or termination of the application of the Rules. Unless otherwise specified or implied by a specific Rule that is applied, application of General Rules terminates when the last in the sequence has been applied.
  • Conformance Rules : A specification of how the element shall be supported for conformance to SQL.

The scope of notational symbols is the Subclause in which those symbols are defined. Within a Subclause, the symbols defined in the Signature, Access Rules, or General Rules can be referenced in other rules provided that they are defined before being referenced.

3.2.2 Specification of deployment descriptor files

Deployment descriptor files are specified in terms of:

  • Function : A short statement of the purpose of the deployment descriptor file.
  • Model : A brief description of the manner in which a deployment descriptor file is identified within its containing JAR.
  • Properties : A BNF specification of the syntax of the contents of a deployment descriptor file.
  • Description : A specification of the requirements and restrictions on the contents of a deployment descriptor file.
  • Conformance Rules : A specification of how the element shall be supported for conformance to SQL.

Bibliography

[ISO19075-4]ISO/IEC TR 19075-4:2014, Information technology — Database languages — SQL Technical Reports — 4: SQL with Routines and Types Using the Java™ Programming Language.
[RFC2368]RFC 2368, The mailto URL scheme, P. Hoffman, L. Masinter, J. Zawinski. http://www.ietf.org/rfc/rfc2368.txt
[RFC3986]RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, T. Berners-Lee, R. Fielding, L. Masinter. http://www.ietf.org/rfc/rfc3986.txt