JIS X 3005-1:2014 データベース言語SQL 第1部:枠組(SQL/Framework) | ページ 3

                                                                                              5
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)
3.1.1.23
SQLコネクション (SQL-connection)
SQLクライアントとSQLサーバとの間のアソシエーション。
3.1.1.24
SQL環境 (SQL-environment)
SQLデータが存在し,SQL文を実行する文脈。
3.1.1.25
SQL処理系 (SQL-implementation)
SQL文を処理する処理系。
注記7 規格に適合するSQL処理系 (conforming SQL-implementation) は,“8 適合性”で規定するSQL
処理系の要件を満たすSQL処理系とする。
3.1.1.26
SQLセション (SQL-session)
単一の利用者が単一のSQLエージェントから,単一のSQLコネクション上で,連続するSQL文の並び
を実行する文脈。
3.1.1.27
SQL文 (SQL-statement)
JIS X 3005 (ISO/IEC 9075) 規格群の各規格で規定する形式及び構文規則に適合する文字列。
3.1.1.28
表 (table)
0個以上の行の集まり。

3.2 語の用法

  JIS X 3005 (ISO/IEC 9075) 規格群が基にする概念は,単語の一般的な意味でオブジェクトとして記述さ
れる。
オブジェクトは,それが依存するオブジェクトの構成要素と考えることができる。オブジェクトが存在
しなくなると,そのオブジェクトに依存する全てのオブジェクトも,存在しなくなる。オブジェクトの表
現は,記述子として知られている。オブジェクトの記述子は,そのオブジェクトについて知る必要がある
全てのものを表現する(“6.3.4 記述子”も参照)。

3.3 参考要素

  JIS X 3005 (ISO/IEC 9075) 規格群の本体の幾つかの箇所で,参考の注記が現れる。例えば,次のとおり。
注記8 これは,注記の例です。
これらの注記は,JIS X 3005 (ISO/IEC 9075) 規格群の規定の一部ではない。これらの注記中の記述への
適合性の主張は,意味がない。

4 概念

4.1 警告

  この箇条4では,主として,JIS X 3005 (ISO/IEC 9075) 規格群の他の規格で正確に規定している概念を
記述する。食い違いのどのような場合も,他の規格での規定が正しいとみなす。

――――― [JIS X 3005-1 pdf 11] ―――――

6
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)

4.2 SQL環境及びそれらの構成要素

4.2.1 SQL環境

  SQL環境は,次の構成要素から成る。
− 一つのSQLエージェント。
− 一つのSQL処理系。
− SQLエージェントにとって利用可能な外部呼出し手続を含む0個以上のSQLクライアントモジュー
ル。
− 0個以上の認可識別子。
− 0個以上の利用者対応付け。
− 0個以上のルーチン対応付け。
− 0個以上のカタログ。カタログのそれぞれは,一つ以上のSQLスキーマ,0個以上の外部サーバ記述
子,及び0個以上の外部データ覆い記述子を含む。
− スキーマの内容によって記述されるとおりの,SQLデータを含む格納場所,主として,実表。このデ
ータは,“データベース (database)”と考えてもよいが,一般の文脈では,異なる意味をもつので,JIS
X 3005 (ISO/IEC 9075) 規格群では,その用語を用いない。

4.2.2 SQLエージェント

  SQLエージェント (SQL-agent) は,SQL文の実行を引き起こすエージェントとする。SQLの直接起動
(“5.3.3.3 SQLの直接起動”参照)の場合には,それは,処理系定義とする。代わりに,実行されたとき
に,SQLクライアントモジュール中の外部呼出し手続を呼び出す一つ以上の翻訳単位から成ってもよい。

4.2.3 SQL処理系

  SQL処理系 (SQL-implementation) は,SQLエージェントによって要求されるとおりにSQL文を実行す
る処理系とする。SQL処理系は,SQLエージェントによって認識されるとおりに,SQLエージェントが結
合される一つのSQLクライアントを含み,かつ,一つ以上のSQLサーバを含む。SQL処理系は,SQL環
境中に二つ以上のSQLサーバが存在することを許さないで,JIS X 3005 (ISO/IEC 9075) 規格群に適合す
ることができる。
SQL処理系は,SQL文をどのように実行するかによってだけ規定することができるので,この概念は,
あるソフトウェア(データベース管理システム)を導入したものを示す。JIS X 3005 (ISO/IEC 9075) 規格
群は,ソフトウェアベンダによって決定されるSQL処理系の機能と,組込み元によって決定されるそれら
とを区別しない。
JIS X 3005 (ISO/IEC 9075) 規格群は,SQLクライアント及びSQLサーバのソフトウェアが異なるベン
ダから得られた可能性があることを認識しており,SQLクライアントとSQLサーバとの間の通信方法を
規定しない。

4.2.3.1 SQLクライアント

  SQLクライアント (SQL-client) は,SQL処理系の部分としてSQLエージェントによって認識される処
理系で,それ自体とSQLサーバとの間のSQLコネクションを確立し,それ自体とSQLエージェント及び
SQLサーバとの間の相互作用に関連する診断領域及び他の状態データを維持する。
一つ以上のSQLコネクションがSQLクライアントに対して確立されたとき,そのSQLクライアントに
よって維持される診断領域は,現行SQLコネクションのSQLサーバによって維持される診断領域スタッ
ク(“4.8.4 診断情報”参照)中の1番目の診断領域の写しとする。SQLコネクションが存在しないとき,
診断領域は,空か,又は失敗したSQLコネクションに関係する診断情報を含むかのいずれかとする。

――――― [JIS X 3005-1 pdf 12] ―――――

                                                                                              7
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)

4.2.3.2 SQLサーバ

  各SQLサーバ (SQL-server) は,SQL処理系の部分としてSQLエージェントによって認識される処理系
で,SQLデータを管理する。
各SQLサーバは,次のことを行う。
− それ自体とSQLクライアントとの間のSQLコネクションを通して発生するSQLセションの管理。
− SQLクライアントから受け取ったSQL文の実行,及び要求されるとおりのデータの送受信。
− 認可識別子及び幾つかのセション既定値を含むSQLセションの状態の維持。

4.2.4 SQLクライアントモジュール

  SQLクライアントモジュール (SQL-client module) は,処理系定義の機構によって陽に作成され,削除さ
れるモジュールとする。
SQLクライアントモジュールは,必ずしも名前をもたない。名前をもつならば,許される名前は,処理
系定義とする。
SQLクライアントモジュールは,0個以上の外部呼出し手続 (externally-invoked procedure) を含む。外部
呼出し手続は,単一のSQL文から成る。外部呼出し手続は,ホスト言語の翻訳単位から呼び出される。
いつでも,ただ一つのSQLクライアントモジュールがSQLエージェントに関連付けられる。しかし,
直接結合様式又はSQL/CLIのいずれかの場合には,これは,存在が利用者に見えない既定のSQLクライ
アントモジュールでもよい。

4.2.5 利用者識別子

  利用者識別子 (user identifier) は,利用者を表現する。利用者識別子を作成及び破壊する手段,並びに実
際の利用者とそれらとの対応付けは,JIS X 3005 (ISO/IEC 9075) 規格群では規定しない。

4.2.6 役割

  役割 (role) は,権限の潜在的な権限受領者及び権限付与者,並びに他の役割の潜在的な権限受領者及び
権限付与者とする。役割は,スキーマ及び他のオブジェクトを所有することもできる。
役割認可 (role authorization) は,役割に対して付与された全ての権限を権限受領者(“4.6.11 権限”参照)
が用いることを許す。それは,役割認可が付与可能であるかどうかも示し,付与可能な場合には,権限受
領者は,役割を付与すること,役割の付与を奪すること,及び役割を破壊することを認可される。

4.2.7 利用者対応付けの概念

  利用者対応付けは,認可識別子を外部サーバ記述子と対にする。

4.2.8 ルーチン対応付けの概念

  ルーチン対応付けは,SQL呼出しルーチンを外部サーバ記述子と対にする。
注記9 JIS X 3005 (ISO/IEC 9075) 規格群のこの版では,外部サーバ記述子と対にされるSQL呼出し
ルーチンは,SQL呼出し通常関数に制限される。将来の版で,この制限を削除するかもしれ
ない。

4.2.9 カタログ及びスキーマ

4.2.9.1 カタログ

  カタログ (catalog) は,SQL環境中のSQLスキーマ,外部サーバ記述子及び外部データ覆い記述子の名
前付きの集まりとする。カタログを作成及び破壊するための機構は,処理系定義とする。
<PREPARE文>及び<EXECUTE IMMEDIATE文>の実行によって,現行SQLセション中で動的に準備さ
れる<準備可能文>に対する既定のカタログ名は,最初は,処理系定義とするが,<SET CATALOG文>の利
用によって変更してもよい。

――――― [JIS X 3005-1 pdf 13] ―――――

8
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)

4.2.9.2 SQLスキーマ

  スキーマ (schema) としてよく単純に参照されるSQLスキーマ (SQL-schema) は,記述子の永続する名
前付きの集まりとする。SQLスキーマ中に記述子があるどのオブジェクトも,SQLスキーマオブジェクト
(SQL-schema object) として知られている。
スキーマ,その中のスキーマオブジェクト,及びそれらによって記述されるSQLデータは,スキーマに
関連付けられる認可識別子によって所有されるという。
SQLスキーマは,SQLスキーマ文の実行(又は処理系定義の機構)によって作成され,破壊される。

4.2.9.3 情報スキーマ

  どのカタログも,INFORMATIONSCHEMA(情報スキーマ)という名前をもつSQLスキーマを含む。
そのSQLスキーマは,多くのスキーマオブジェクトの記述子,主としてビュー定義を含み,SQLデータ
であるかのように,そのカタログ中の全ての記述子をアクセスすることも許すが,変更することは許さな
い。
情報スキーマ中のビューを通して利用可能なデータは,情報スキーマそれ自体の記述子を含む。そのデ
ータは,定義スキーマのスキーマオブジェクト又は実表を含まない(“4.2.9.4 定義スキーマ”参照)。
各情報スキーマビューは,与えられた利用者が権限をもつ記述子を表現するビューの行だけをその利用
者がアクセスできるように規定している。

4.2.9.4 定義スキーマ

  定義スキーマ (definition schema) は,DEFINITIONSCHEMAという名前をもつ架空のスキーマとする。
存在するとしたならば,そのスキーマの実表中のSQLデータは,SQLサーバに利用可能な全てのSQLス
キーマを記述する。JIS X 3005 (ISO/IEC 9075) 規格群では,情報スキーマのビューのための基礎として用
いるためにだけ,それを定義している。
定義スキーマの構造は,SQLのデータモデルの表現とする。

4.2.10 外部サーバ及び記述子

  外部サーバは,SQL処理系の一部ではない処理系とする。外部サーバは,外部サーバ記述子によって記
述される。外部サーバは,SQL環境の一部ではないデータを管理する。SQLサーバ及びSQLクライアン
トは,カタログ要素である外部サーバ記述子を用いて外部サーバと通信することができる。外部サーバに
よって管理されるデータは,SQLスキーマ要素である外部表を通してSQLサーバ又はSQLクライアント
からアクセスできる。

4.2.11 外部データ覆い及び記述子

  外部データ覆いは,外部サーバによって管理されるデータをSQLサーバがアクセスできる機構を提供す
る。外部データ覆いは,外部データ覆い記述子によって記述される。

4.2.12 SQLデータ

  SQLデータ (SQL-data) は,SQLスキーマによって記述されるデータ,すなわち,SQL環境中のSQL処
理系の制御下にあるデータとする。

4.3 表

  表 (table) は,0個以上の行の集まりとし,各行は,一つ以上の列値の並びとする。一般に,表中の行は,
順序付けられていない。しかし,表が,<ORDER BY句>を直に含む<問合せ式>の結果ならば,表中の行
は,順序付けられる。各列は,名前及びデータ型をもつ。各行は,各列Cに対して,ただ一つの値をもち,
その値のデータ型は,Cのデータ型とする。
SQLデータは,実表 (base table) と呼ばれる表変数だけで構成される。0個以上の実表を参照し,表を

――――― [JIS X 3005-1 pdf 14] ―――――

                                                                                              9
X 3005-1 : 2014 (ISO/IEC 9075-1 : 2011)
戻す操作を問合せ (query) と呼ぶ。問合せの結果は,導出表 (derived table) と呼ぶ。導出表の行は,順序
付けられてもよい。
表の行は,“行型 (row type)”と呼ばれる型をもつ。表のどの行も,同じ行型をもち,これを表の行型と
する。ある構造型を基にして宣言される表を“型付き表 (typed table)”と呼ぶ。その表の列は,名前及び
宣言型が構造型の属性に対応する。型付き表は,型が表の構造型に関連付けられる参照型である“自己参
照列 (self-referencing column)”と呼ばれる一つの付加的な列をもつ。
型付き表TB1が,関連付けられた構造型TP1をもち,その構造型が別の構造型TP2の下位型ならば,
TB1は,関連付けられる型がTP2である型付き表TB2の“下位表 (subtable)”として定義することができ
る。この場合,TB2は,TB1の“上位表 (supertable)”とする。
ビュー (view) は,名前付きの問合せとし,その名前を用いて呼び出すことができる。このような呼出し
の結果をビュー表 (viewed table) と呼ぶ。
ビューを含めて問合せの中には,SQLデータを変更する文の相手として現れることができるという意味
で,更新可能 (updatable) なものがある。この方法で表現する変更の結果は,実表への対応する変更によ
って定義する。
実表又はビュー表のどの二つの列も,同じ名前をもつことができない。ビュー表以外の導出表は,同じ
名前をもつ二つ以上の列を含んでもよい。
実表は,(記述子がスキーマ中にある)スキーマオブジェクト(“4.6.5 実表及びその構成要素”参照)か
又は(記述子がモジュール中にある)モジュールオブジェクト(“4.9 モジュール”参照)かのいずれかと
する。記述子がスキーマ中にある実表は,作成実表 (created base table) と呼び,(その記述子は,いずれの
場合でも,永続であるが,)永続又は一時のいずれであってもよい。永続実表 (persistent base table) は,永
続SQLデータの0個以上の行を含む。永続実表は,通常永続実表 (regular persistent base table) 又はシス
テムバージョン表 (system-versioned table) のいずれかとする。システムバージョン表は,次の二つの大き
な点で通常永続実表と異なる。
− システムバージョン表は,値が自動的に生成される日時型の二つの列をもつ。
− システムバージョン表の更新及び削除の操作は,それらの列を保守し,その他の副次効果をもつ。
モジュール中で宣言される実表は,一時だけとし,宣言一時表 (declared temporary table) と呼ぶ。
一時表 (temporary table) は,他のどのSQLセションからもアクセスできないSQLセションオブジェク
トとする。大域一時表 (global temporary table) は,関連付けられるどのSQLクライアントモジュールから
もアクセスできる。局所一時表 (local temporary table) は,それが局所となるモジュールからだけアクセス
できる。
SQLセションを開始するとき,一時表は,空とし,その一時表の記述子に依存して,SQLトランザクシ
ョンを終了するか,又はSQLセションを終了するかのいずれかのとき,空にされる(すなわち,その一時
表の全ての行が削除される。)。

4.4 SQLデータ型

4.4.1 データ型一般情報

  どのデータ値も,あるデータ型に属する。
どのデータ型も,既定義 (predefined),構成 (constructed) 又は利用者定義 (user-defined) のいずれかとす
る。どのデータ型も,名前をもつ。既定義又は構成のデータ型の名前は,JIS X 3005 (ISO/IEC 9075) 規格
群のデータ型を規定する規格によって規定する予約語とする。利用者定義型の名前は,その利用者定義型
の定義中で与える。利用者定義のデータ型は,スキーマオブジェクトとする(“4.6.4 利用者定義型”参照)。

――――― [JIS X 3005-1 pdf 15] ―――――

次のページ PDF 16

JIS X 3005-1:2014の引用国際規格 ISO 一覧

  • ISO/IEC 9075-1:2011(IDT)

JIS X 3005-1:2014の国際規格 ICS 分類一覧

JIS X 3005-1:2014の関連規格と引用規格一覧