ヘッダーをスキップ
Oracle Databaseアプリケーション開発者ガイド - オブジェクト・リレーショナル機能
10gリリース2(10.2)
B19256-01
  索引へ
索引

次へ
次へ
 

目次

タイトルおよび著作権情報

はじめに

対象読者
ドキュメントのアクセシビリティについて
このマニュアルの構成
関連ドキュメント
表記規則
サポートおよびサービス

オブジェクト・リレーショナルの新機能

Oracle Database 10gリリース1(10.1)のオブジェクト・リレーショナル機能の新機能

1 Oracleオブジェクトの概要

Oracleオブジェクトの概要
オブジェクトの利点
オブジェクト・リレーショナル・モデルの主な機能
コア・データベースの主要な機能
オブジェクト型
オブジェクト
オブジェクト・メソッド
型の継承
型進化
オブジェクト表
行オブジェクトおよび列オブジェクト
オブジェクト・ビュー
関連項目
コレクション
言語にバインドされた機能

2 Oracleオブジェクトの基本コンポーネント

SQLオブジェクト型および参照
NULLオブジェクトおよび属性
文字長セマンティクス
オブジェクト表の制約
オブジェクト表の索引
オブジェクト表のトリガー
REF型の列および属性のルール
名前解決
表別名が必要な場合
リモート・データベースでユーザー定義型を使用する際の制限事項
オブジェクト・メソッド
メンバー・メソッド
オブジェクト比較のメソッド
マップ・メソッド
オーダー・メソッド
比較メソッドのガイドライン
型の階層内の比較メソッド
スタティック・メソッド
コンストラクタ・メソッド
外部実装メソッド
SQLオブジェクト型の継承
型およびサブタイプ
FINAL、NOT FINALの型およびメソッド
メソッドのオーバーライドによるサブタイプの作成
インスタンス化不可の型およびメソッド
メソッドの継承、オーバーロードおよびオーバーライド
メソッドのオーバーロード
メソッドの再定義
メソッドのオーバーライドの制限事項
動的メソッド・ディスパッチ
型階層内の型の代入
列および行の代入性
代入可能な行でのOBJECT_VALUEおよびOBJECT_IDの使用
スーパータイプの属性を持つサブタイプ
REF列および属性
コレクション要素
代入可能な列の作成後のサブタイプの作成
代入可能な列の作成後のサブタイプの削除
新しい表での代入性の無効化
代入性の制約
代入性の変更
代入性の変更の制限事項
型をまたがる代入
オブジェクトおよびオブジェクトのREF
コレクションの代入
オブジェクト、REF変数およびコレクションの比較
オブジェクト・インスタンスの比較
REF変数の比較
オブジェクトに便利なファンクションおよび演算子
CAST
CURSOR
DEREF
IS OF type
REF
SYS_TYPEID
TABLE()
TREAT
VALUE

3 コレクション・データ型のサポート

コレクション・データ型の作成
VARRAYまたはネストした表のインスタンスの作成
コレクションのコンストラクタ・メソッド
VARRAY
ネストした表
ネストした表の格納時の表領域の指定
VARRAY記憶域
VARRAYおよびネストした表のサイズおよび精度の増加
VARRAYの制限サイズの増加
LOB参照が含まれているVARRAYの作成
マルチレベル・コレクション型
マルチレベル・コレクション型のネストした表の記憶表
マルチレベル・コレクションの割当ておよび比較
マルチレベル・コレクションのコンストラクタ
コレクション・データ型の操作
コレクションの問合せ
コレクション問合せの結果のネスト化
コレクション問合せの結果のネスト解除
TABLE式の副問合せが含まれている問合せのネスト解除
マルチレベル・コレクションを伴う問合せのネスト解除
コレクションを対象としたDML操作の実行
マルチレベル・コレクションを対象としたDML操作の実行
コレクションの比較
等価および非等価比較
In比較
多重集合比較のサブセット
ネストした表のメンバー比較
Empty比較
Set比較
多重集合の操作
CARDINALITY
COLLECT
MULTISET EXCEPT
MULTISET INTERSECTION
MULTISET UNION
POWERMULTISET
POWERMULTISET_BY_CARDINALITY
SET

4 Oracleプログラム環境のオブジェクト・サポート

SQL
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 Objects for OLE(OO4O)
Visual Basicでのオブジェクトの表現形式(OraObject)
Visual BasicでのREFの表現形式(OraRef)
Visual BasicでのVARRAYおよびネストした表の表現形式(OraCollection)
Java: JDBC、Oracle SQLJ、JPublisherおよびSQLJオブジェクト型
Oracleオブジェクト・データへのJDBCアクセス
Oracleオブジェクト・データへのSQLJアクセス
データ・マッピング方法の選択
JPublisherを使用したJDBCおよびSQLJプログラム用Javaクラスの作成
ユーザー定義のオブジェクト型に対してJPublisherで生成される内容
Javaオブジェクトの記憶域
サーバーに対するSQLJ型の表現
SQLJオブジェクト型の作成
マッピングに関するその他の注意
SQLJ型の進化
制約
SQLJオブジェクトの問合せ
Javaオブジェクトの挿入
SQLJオブジェクトの更新
Javaでのユーザー定義コンストラクタの定義
XML

5 オブジェクト・モデルのリレーショナル・データへの適用

オブジェクト・ビュー使用の利点
オブジェクト・ビューの定義
アプリケーションにおけるオブジェクト・ビューの使用
オブジェクト・ビューにおけるオブジェクトのネスト
オブジェクト・ビューにおけるNULLオブジェクトの識別
オブジェクト・ビューにおけるネストした表およびVARRAYの使用
オブジェクト・ビューのシングルレベル・コレクション
オブジェクト・ビューのマルチレベル・コレクション
オブジェクト・ビューに対するOIDの指定
オブジェクトを表示するための参照の作成
オブジェクト・ビューを利用した逆リレーションシップのモデル化
オブジェクト・ビューの更新
ビューにおけるネストした表列の更新
変更および妥当性チェックを制御するINSTEAD OFトリガーの使用
オブジェクト・モデルのリモート表への適用
オブジェクト・ビューにおける複雑なリレーションシップの定義
循環参照を示す表および型
循環参照を持つオブジェクト・ビューの作成
オブジェクト・ビューの階層
オブジェクト・ビュー階層の作成
フラット・モデル
水平モデル
垂直モデル
階層内のビューの問合せ
ビュー階層についての操作の権限

6 Oracleオブジェクトの管理

オブジェクト型およびそれらのメソッドの権限
オブジェクト型のシステム権限
スキーマ・オブジェクト権限
新しい型または表での型の使用
例: オブジェクト型の権限
オブジェクト型へのアクセスおよびオブジェクト・アクセスの権限
依存性および不完全な型
不完全な型の再定義
手動による型の再コンパイル
代入可能な表および列の型依存性
FORCEオプション
オブジェクト型のシノニム
型のシノニムの作成
型のシノニムの使用
シノニムを使用するスキーマ・オブジェクトの記述
型のシノニムへの依存
型のシノニムを置換する際の制限事項
型のシノニムの削除
型のシノニムの名前変更
型のパブリック・シノニムおよびローカル・スキーマ・オブジェクト
パフォーマンス・チューニング
オブジェクトをサポートするツール
オブジェクトをサポートするユーティリティ

7 Oracleオブジェクトの高度なトピック

オブジェクトの記憶域
リーフ・レベル属性
列にまたがって分割される行オブジェクト
列オブジェクトを持つ表の非表示列
代入可能な列および表の非表示列
REF
ネストした表の内部レイアウト
VARRAYの内部レイアウト
型IDまたは属性の索引作成
型判別式の列の索引付け
代入可能なサブタイプの索引付け
型進化
型を変更する際に必要な変更
ネストした表属性の追加による型の変更
変更された型の妥当性チェック
型の変更の妥当性チェックに失敗した場合
型進化に使用するALTER TYPE文
型進化に使用するALTER TABLE文
属性値コンストラクタ
コンストラクタと型進化
ユーザー定義コンストラクタの利点
ユーザー定義コンストラクタの定義および実装
コンストラクタのオーバーロードおよび隠蔽
ユーザー定義コンストラクタのコール
SQLJオブジェクト型のコンストラクタ
一時型および汎用型
ユーザー定義集計ファンクション
Oracleオブジェクトを持つ表のパーティション化
ロケータでネストした表のパフォーマンスを向上させる方法

8 Oracleオブジェクトの設計上の考慮点

オブジェクトの記憶域上の一般的な考慮点
列または行としてのオブジェクトの格納
列オブジェクトの記憶域
オブジェクト表の行オブジェクトの記憶域
オブジェクト識別子(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型への属性の追加
マルチレベル・コレクションの操作
ネストした表への挿入
明細項目を含む新規発注書の挿入
マルチレベルのネストした表の問合せ
型の継承と代入可能な列
サブタイプの作成
サブタイプの挿入
代入可能な列の問合せ

索引