ヘッダーをスキップ
Oracle® Databaseオブジェクト・リレーショナル開発者ガイド
12
c
リリース1 (12.1)
B72963-02
索引
次
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
Oracle Databaseオブジェクト・リレーショナル開発者ガイドのこのリリースでの変更点
Oracle Database 12
c
リリース1 (12.1.0.2)
での変更点
Oracle Database 12
c
リリース1 (12.1.0.1)
での変更点
1
Oracleオブジェクトの概要
Oracleオブジェクトの概要
オブジェクトの利点
オブジェクト・リレーショナル・モデルの主な機能
Oracleオブジェクトのデータベース機能
オブジェクト型について
オブジェクト・インスタンスについて
オブジェクト・メソッドについて
オブジェクトを表に格納する方法
オブジェクト識別子による行オブジェクトの識別
行オブジェクトの参照の使用
Oracleコレクションの使用
オブジェクト・ビューによるリレーショナル・データへのアクセス
型継承の使用
型進化による既存のオブジェクト型の変更
Oracleオブジェクトの言語にバインドされた機能
2
Oracleオブジェクトの基本コンポーネント
SQLオブジェクト型および参照
NULLオブジェクトおよび属性
文字長セマンティクス
オブジェクト表の制約
オブジェクト表の索引
オブジェクト表のトリガー
REF型の列および属性のルール
名前解決
表別名が必要な場合
リモート・データベースでユーザー定義型を使用する際の制限事項
オブジェクト・メソッド
メンバー・メソッド
メンバー・メソッド内のSELFパラメータ
オブジェクトを比較するためのメンバー・メソッド
静的メソッド
コンストラクタ・メソッド
システム定義コンストラクタ
ユーザー定義コンストラクタ
コンストラクタ・メソッドのリテラル起動
外部実装メソッド
SQLオブジェクト型の継承
スーパータイプおよびサブタイプ
FINALとNOT FINALの型およびメソッドの定義
サブタイプの作成
親オブジェクトまたはスーパータイプ・オブジェクトの作成
サブタイプのオブジェクトの作成
一般的な起動
複数のサブタイプ
スーパータイプおよびサブタイプのオブジェクトを持つ表の作成
NOT INSTANTIABLEとしての型およびメソッドの宣言
メソッドのオーバーロードおよびオーバーライド
メソッドのオーバーロード
メソッドのオーバーライドおよび隠蔽
メソッドのオーバーライドの制限事項
動的メソッド・ディスパッチ
型階層内の型の代入
列および行の代入性
代入可能な行でのOBJECT_VALUEおよびOBJECT_IDの使用
スーパータイプの属性を持つサブタイプ
REF列および属性の代入
コレクション要素の代入
新しく作成したサブタイプの代入可能な列への格納
代入可能な列の作成後のサブタイプの削除
新しい表での代入性の無効化
代入性の制約
代入性の変更
代入性の変更の制限事項
型をまたがる代入
オブジェクト代入の代表的なオブジェクト
ナローイング代入
コレクションの代入
オブジェクトに便利なファンクションおよび演算子
CAST
CURSOR
DEREF
IS OF
type
REF
SYS_TYPEID
TABLE()
TREAT
ナローイング代入でのTREATの使用
サブタイプの属性またはメソッドにアクセスするためのTREATファンクションの使用
VALUE
3
PL/SQLでのオブジェクト型の使用
PL/SQLでのオブジェクトの宣言と初期化
オブジェクト型の定義
PL/SQLブロックでのオブジェクトの宣言
PL/SQLでの未初期化オブジェクトの処理規則
PL/SQLでのオブジェクトの操作
ドット表記法によるオブジェクト属性へのアクセス
オブジェクトのコンストラクタとメソッドに対するコール
オブジェクトの更新および削除
REF修飾子によるオブジェクトの操作
継承を使用するPL/SQLでのオーバーロードの使用
オブジェクトでの動的SQLの使用
4
Oracleプログラム環境のオブジェクト・サポート
SQLおよびオブジェクト型
SQL Developer
PL/SQL
Oracle Call Interface(OCI)
OCIプログラムにおける連想アクセス
OCIプログラムのナビゲーショナル・アクセス
オブジェクト・キャッシュ
オブジェクトを操作するOCIプログラムの作成
Cでのユーザー定義コンストラクタの定義
Pro*C/C++
Pro*C/C++での連想アクセス
Pro*C/C++でのナビゲーショナル・アクセス
Oracleのオブジェクト型とC言語のデータ型の間の変換
Oracle Type Translator(OTT)
Oracle C++ Call Interface(OCCI)
OCCI結合リレーショナルおよびオブジェクト・インタフェース
OCCIナビゲーショナル・インタフェース
OracleオブジェクトにアクセスするJavaツール
Oracleオブジェクト・データへのJDBCアクセス
Oracleオブジェクト・データへのSQLJアクセス
データ・マッピング方法の選択
JPublisher
JPublisherを使用したJDBCおよびSQLJプログラム用Javaクラスの作成
ユーザー定義のオブジェクト型に対してJPublisherで生成される内容
Javaオブジェクトの記憶域
サーバーに対するSQLJ型の表現
SQLJオブジェクト型の作成
マッピングに関するその他の注意
SQLJ型の進化
制約
SQLJオブジェクトの問合せ
Javaオブジェクトの挿入
SQLJオブジェクトの更新
Javaでのユーザー定義コンストラクタの定義
JDeveloper
アプリケーション開発フレームワーク(ADF)
TopLink
XML
オブジェクトをサポートするユーティリティ
オブジェクト型のインポート/エクスポート
タイプ
オブジェクト・ビューの階層
SQL*Loader
5
コレクション・データ型のサポート
コレクション・データ型
コレクション型の作成
VARRAYまたはネストした表のインスタンスの作成
コレクションのコンストラクタ・メソッド
VARRAY
ネストした表
ネストした表の要素の格納
ネストした表の格納時の表領域の指定
VARRAYおよびネストした表要素のサイズおよび精度の増加
VARRAYの制限サイズの増加
LOB参照が含まれているVARRAYの作成
マルチレベル・コレクション型
マルチレベル・コレクション型のネストした表の記憶表
マルチレベル・コレクションのVARRAY記憶域
マルチレベル・コレクションのコンストラクタ
コレクション・データ型の操作
コレクションの問合せ
コレクション問合せの結果のネスト化
コレクション問合せの結果のネスト解除
TABLE式の副問合せが含まれている問合せのネスト解除
マルチレベル・コレクションを伴う問合せのネスト解除
コレクションを対象としたDML操作の実行
ネストした表を対象にしたピース単位操作
マルチレベルのネストした表を対象にしたピース単位操作
VARRAYおよびネストした表を対象にしたアトミック変更
基本データ単位としてのコレクション
結果セット全部を戻すためのBULK COLLECTの使用
ネストした表を比較する条件
等価および非等価比較
IN比較
多重集合比較のサブセット
ネストした表のメンバー比較
Empty比較
Set比較
ネストした表の多重集合操作
CARDINALITY
COLLECT
MULTISET EXCEPT
MULTISET INTERSECT
MULTISET UNION
POWERMULTISET
POWERMULTISET_BY_CARDINALITY
SET
Oracleオブジェクトを持つ表のパーティション化
6
オブジェクト・モデルのリレーショナル・データへの適用
オブジェクト・ビュー使用の利点
オブジェクト・ビューの定義
アプリケーションにおけるオブジェクト・ビューの使用
オブジェクト・ビューにおけるオブジェクトのネスト
オブジェクト・ビューにおけるNULLオブジェクトの識別
オブジェクト・ビューにおけるネストした表およびVARRAYの使用
オブジェクト・ビューのシングルレベル・コレクション
オブジェクト・ビューのマルチレベル・コレクション
オブジェクト・ビューに対するオブジェクト識別子の指定
オブジェクトを表示するための参照の作成
オブジェクト・ビューを利用した逆リレーションシップのモデル化
オブジェクト・ビューの更新
ビューにおけるネストした表列の更新
変更および妥当性チェックを制御するINSTEAD OFトリガーの使用
オブジェクト・モデルのリモート表への適用
オブジェクト・ビューにおける複雑なリレーションシップの定義
循環参照を示す表および型
循環参照を持つオブジェクト・ビューの作成
オブジェクト・ビューの階層
オブジェクト・ビュー階層の作成
フラット・モデル
水平モデル
垂直モデル
階層内のビューの問合せ
ビュー階層についての操作の権限
7
Oracleオブジェクトの管理
オブジェクト型およびそれらのメソッドの権限
オブジェクト型のシステム権限
スキーマ・オブジェクト権限
新しい型または表での型の使用
例: オブジェクト型の権限
オブジェクト、型および表のアクセス権限
型依存性
不完全な型の作成
不完全な型の再定義
手動による型の再コンパイル
型および表の依存性がある場合のCREATE OR REPLACE TYPEの使用
代入可能な表および列の型依存性
DROP TYPE FORCEオプション
オブジェクト型のシノニム
型のシノニムの作成
型のシノニムの使用
シノニムを使用するスキーマ・オブジェクトの記述
型のシノニムへの依存
型のシノニムを置換する際の制限事項
型のシノニムの削除
型のシノニムの名前変更
型のパブリック・シノニムおよびローカル・スキーマ・オブジェクト
パフォーマンス・チューニング
8
Oracleオブジェクトの高度なトピック
オブジェクトの記憶域
リーフ・レベル属性
列にまたがって分割される行オブジェクト
列オブジェクトを持つ表の非表示列
代入可能な列およびオブジェクト表の非表示列
REFの記憶域
ネストした表の内部レイアウト
VARRAYの内部レイアウト
型IDまたは属性の索引作成
型判別式の列の索引付け
代入可能なサブタイプの索引付け
型進化
型進化および依存スキーマ・オブジェクト
データを更新するオプション
型への構造的な変更の影響
属性の追加および削除による型の変更
ネストした表属性の追加による型の変更
変更された型の妥当性チェック
型の変更の妥当性チェックに失敗した場合
型進化に使用するALTER TYPE文
型進化に使用するALTER TABLE文
ANYDATA列のXMLTypeおよびLOBの格納
システム定義およびユーザー定義コンストラクタ
属性値コンストラクタ
コンストラクタと型進化
ユーザー定義コンストラクタの利点
ユーザー定義コンストラクタの定義および実装
コンストラクタのオーバーロードおよび隠蔽
ユーザー定義コンストラクタのコール
SQLJオブジェクト型のコンストラクタ
一時型および汎用型
ユーザー定義集計ファンクション
ロケータでネストした表のパフォーマンスを向上させる方法
9
Oracleオブジェクトの設計上の考慮点
オブジェクトの記憶域上の一般的な考慮点
列または行としてのオブジェクトの格納
リレーショナル表の列オブジェクトの記憶域
オブジェクト表の行オブジェクトの記憶域
オブジェクト識別子(OID)の記憶域上の考慮点
システム生成のオブジェクト識別子(OID)
主キー・ベースのオブジェクト識別子(OID)
システム生成のOIDと主キー・ベースのOID
オブジェクト比較のパフォーマンス
REFの設計上の考慮点
REFの記憶域サイズ
REF列に対する整合性制約
有効範囲付きREFのパフォーマンスおよび記憶域に関する考慮点
有効範囲付きREFの索引付け
WITH ROWIDオプションを使用したオブジェクト・アクセスの高速化
コレクションの設計上の考慮点
ネストを解除する問合せを使用したリレーショナル形式でのオブジェクト・データの表示
ネストを解除する問合せでのプロシージャおよびファンクションの使用
VARRAYの記憶域上の考慮点
VARRAYのサイズ変更の伝播
VARRAYおよびネストした表のパフォーマンス
ネストした表の設計上の考慮点
ネストした表の記憶域
ネストした表の索引
ネストした表のロケータ
セット・メンバーシップ問合せの最適化
マルチレベル・コレクションの設計上の考慮点
メソッドの設計上の考慮点
メソッド・ファンクションに対する言語の選択
静的メソッド
メンバー・プロシージャでのSELF IN OUT NOCOPYの使用
タイプ・メソッドの戻り値に基づくファンクション索引
実行者権限を使用した再利用コードの作成
実行者権限サブプログラムでのロールの使用
ロジカル・スタンバイを使用したオブジェクト・レプリケーション
オブジェクト表およびオブジェクト列のレプリケーション
オブジェクト型、コレクション型またはREF型の列のレプリケーション
オブジェクト表のレプリケーション
オブジェクトに対する制約
型進化に関する考慮点
型の変更のクライアントへの送信
デフォルトのコンストラクタの変更
型のFINALプロパティの変更
Oracleオブジェクトでのパラレル問合せ
設計上の考慮点のヒントおよび技法
型進化かサブタイプの作成かの決定
ANYDATAとユーザー定義型の相違点
ポリモフィック・ビュー: オブジェクト・ビュー階層の代入
SQLJオブジェクト型
SQLJオブジェクト型の使用目的
SQLJオブジェクト型作成時に実行されるアクション
SQLJオブジェクト型の用途
カスタム・オブジェクト型の用途
SQLJオブジェクト型とJDBCを使用したカスタム・オブジェクト型の相違点
その他の設計ヒント
階層内の列の置換え可能性と属性の数
型間の循環的依存関係
A
オブジェクト・リレーショナル機能を使用したサンプル・アプリケーション
サンプル・アプリケーションの概要
リレーショナル・モデルに基づくスキーマの実装
エンティティとリレーションシップ
リレーショナル・モデルに基づく表の作成
Customer_reltab
PurchaseOrder_reltab
Stock_reltab
LineItems_reltab
リレーショナル・モデルに基づく値の挿入
リレーショナル・モデルに基づくデータの問合せ
リレーショナル・モデルに基づくデータの更新
リレーショナル・モデルに基づくデータの削除
オブジェクト・リレーショナル・モデルに基づくスキーマの実装
型の定義
メソッド定義
getPONoメソッド
sumLineItemsメソッド
compareCustOrdersメソッド
オブジェクト表の作成
オブジェクト表Customer_objtab
オブジェクト表のテンプレートとしてのオブジェクト・データ型
オブジェクト識別子および参照
埋込みオブジェクトを持つオブジェクト表
オブジェクト表Stock_objtab
オブジェクト表PurchaseOrder_objtab
値の挿入
問合せ
削除
オブジェクト型の進化
Customer型への属性の追加
マルチレベル・コレクションの操作
ネストした表への挿入
明細項目を含む新規発注書の挿入
マルチレベルのネストした表の問合せ
型の継承と代入可能な列
サブタイプの作成
サブタイプの挿入
代入可能な列の問合せ
用語集
索引