3.2.3.1.1 データベース・オブジェクト用Rプロキシ・オブジェクトの作成について
データベース表およびビューへのアクセスおよび操作を可能にするプロキシ・オブジェクトを作成するには、ore.sync
関数を使用します。
Rセッションでore.connect
を呼び出すと、Oracle Machine Learning for RはOracle Databaseインスタンス内のスキーマへの接続を作成します。ore.sync
関数は、スキーマ内の表のプロキシであるore.frame
オブジェクトを作成します。ore.attach
関数を使用して、R検索パスのスキーマを表すR環境を追加できます。
ore.sync
関数を使用して、データベース表のプロキシとしてore.frame
オブジェクトを作成する場合、ore.frame
プロキシ・オブジェクトの名前はデータベース・オブジェクトの名前と同じです。各ore.frame
プロキシ・オブジェクトには、対応するデータベース・オブジェクトに関するメタデータが含まれます。
このプロキシore.frame
オブジェクトを使用して、表からデータを選択できます。表からデータを選択するR操作を実行すると、操作によってデータベース・オブジェクトから現在のデータが返されます。ただし、一部のアプリケーションが表に列を追加したか、データベース・オブジェクトのメタデータを変更した場合、そのデータベース・オブジェクトに対して再びore.sync
が呼び出されるまでore.frame
プロキシ・オブジェクトは変更を反映しません。
表を指定せずにore.sync
関数を呼び出した場合、およびOracle Databaseインスタンスへの接続を確立したore.connect
関数呼出しでall
引数がFALSE
だった場合は、ore.sync
関数がore.connect
に指定されたスキーマ内の各表にプロキシ・オブジェクトを作成します。table
引数を使用してore.frame
プロキシ・オブジェクトを作成する表を指定できます。
ヒント:
メモリー・リソースおよび時間を節約するには、Rセッションで使用する表にプロキシのみを追加してください。
schema
引数を使用して、R環境およびプロキシ・オブジェクトを作成するスキーマを指定できます。指定したデータベース・スキーマに一度に存在できるのは、1つの環境のみです。use.keys
引数を使用すると、ore.frame
オブジェクトを順序付けするために表で主キーを使用するかどうかを指定できます。
ヒント:
順序付け、つまり順序を設定するためにデータの並べ替えを要求すると、一般的にコストが高くなり、必要でないかぎり回避する必要があります。Rでのほとんどの操作には順序付けは不要なため、データのサンプリングやその他の目的で必要な場合を除いて、通常はuse.keys
をFALSE
に設定してください。
query
引数を使用すると、SQL SELECT
文を指定できます。これによって、データベース内にビューを作成せずに問合せ用のore.frame
を作成できます。これは、現行スキーマに対してCREATE VIEW
システム権限を持っていない場合に有用です。schema
引数とquery
引数を同じore.sync
呼出しで使用することはできません。
ore.ls
関数を使用して、スキーマの環境内のデータベース表に対応するore.frame
プロキシ・オブジェクトをリストできます。ore.exists
関数を使用して、データベース表のore.frame
プロキシ・オブジェクトがR環境に存在するかどうかを確認できます。プロキシ・オブジェクトが存在する場合はTRUE
が、存在しない場合はFALSE
が関数によって返されます。ore.rm
関数を使用してR環境からore.frame
プロキシ・オブジェクトを削除できます。
親トピック: データベース・データのためのプロキシ・オブジェクトの使用