3.2.3.1.1 About Creating R Proxy Objects for Database Objects
To create proxy objects that enable accessing and manipulating database tables and views, you use the ore.sync
function.
When you invoke ore.connect
in an R session, Oracle Machine Learning for R creates a connection to a schema in an Oracle Database instance. The ore.sync
function creates an ore.frame
object that is a proxy for a table in a schema. You can use the ore.attach
function to add an R environment that represents a schema in the R search path.
When you use the ore.sync
function to create an ore.frame
object as a proxy for a database table, the name of the ore.frame
proxy object is the same as the name of the database object. Each ore.frame
proxy object contains metadata about the corresponding database object.
You can use the proxy ore.frame
object to select data from the table. When you execute an R operation that selects data from the table, the operation returns the current data from the database object. However, if some application has added a column to the table, or has otherwise changed the metadata of the database object, the ore.frame
proxy object does not reflect such a change until you again invoke ore.sync
for the database object.
If you invoke the ore.sync
function with no tables specified, and if the value of the all
argument was FALSE
in the ore.connect
function call that established the connection to the Oracle database instance, then the ore.sync
function creates a proxy object for each table in the schema specified by ore.connect
. You can use the table
argument to specify the tables for which you want to create ore.frame
proxy objects.
Tip:
To conserve memory resources and save time, you should only add proxies for the tables that you want to use in your R session.
With the schema
argument, you can specify the schema for which you want to create an R environment and proxy objects. Only one environment for a given database schema can exist at a time. With the use.keys
argument, you can specify whether you want to use primary keys in the table to order the ore.frame
object.
Tip:
Ordering, or requiring a sort on data to ensure order, can be expensive in general and should be avoided unless needed. Because most operations in R do not need ordering, you should generally set use.keys
to FALSE
unless you need ordering for sampling data or some other purpose.
With the query
argument, you can specify a SQL SELECT
statement. This enables you to create an ore.frame
for a query without creating a view in the database. This can be useful when you do not have the CREATE VIEW
system privilege for the current schema. You cannot use the schema
argument and the query
argument in the same ore.sync
invocation.
You can use the ore.ls
function to list the ore.frame
proxy objects that correspond to database tables in the environment for a schema. You can use the ore.exists
function to find out if an ore.frame
proxy object for a database table exists in an R environment. The function returns TRUE
if the proxy object exists or FALSE
if it does not. You can remove an ore.frame
proxy object from an R environment with the ore.rm
function.
Parent topic: Using Proxy Objects for Database Data