dm {dm} | R Documentation |
The dm
class holds a list of tables and their relationships.
It is inspired by datamodelr,
and extends the idea by offering operations to access the data in the tables.
dm()
creates a dm
object from tbl objects
(tibbles or lazy data objects).
new_dm()
is a low-level constructor that creates a new dm
object.
If called without arguments, it will create an empty dm
.
If called with arguments, no validation checks will be made to ascertain that
the inputs are of the expected class and internally consistent;
use validate_dm()
to double-check the returned object.
dm_get_con()
returns the DBI connection for a dm
object.
This works only if the tables are stored on a database, otherwise an error
is thrown.
dm_get_tables()
returns a named list of dplyr tbl objects
of a dm
object.
Filtering expressions are NOT evaluated at this stage.
To get a filtered table, use dm_apply_filters_to_tbl()
, to apply filters to all tables use dm_apply_filters()
is_dm()
returns TRUE
if the input is of class dm
.
as_dm()
coerces objects to the dm
class
validate_dm()
checks the internal consistency of a dm
object.
dm(..., .name_repair = c("check_unique", "unique", "universal", "minimal"))
new_dm(tables = list())
dm_get_con(x)
dm_get_tables(x)
is_dm(x)
as_dm(x)
validate_dm(x)
... |
Tables to add to the |
.name_repair |
Options for name repair.
Forwarded as |
tables |
A named list of the tables (tibble-objects, not names),
to be included in the |
x |
An object. |
All lazy tables in a dm object must be stored on the same database server and accessed through the same connection.
For dm()
, new_dm()
, as_dm()
: A dm
object.
For dm_get_con()
: The DBI::DBIConnection
for dm
objects.
For dm_get_tables()
: A named list with the tables constituting the dm
.
For is_dm()
: Boolean, is this object a dm
.
For validate_dm()
: Returns the dm
, invisibly, after finishing all checks.
dm_from_src()
for connecting to all tables in a database
and importing the primary and foreign keys
dm_add_pk()
and dm_add_fk()
for adding primary and foreign keys
copy_dm_to()
for DB interaction
dm_draw()
for visualization
dm_join_to_tbl()
for flattening
dm_filter()
for filtering
dm_select_tbl()
for creating a dm
with only a subset of the tables
dm_nycflights13()
for creating an example dm
object
decompose_table()
for table surgery
check_key()
and check_subset()
for checking for key properties
examine_cardinality()
for checking the cardinality of the relation between two tables
dm(trees, mtcars)
new_dm(list(trees = trees, mtcars = mtcars))
as_dm(list(trees = trees, mtcars = mtcars))
dm_nycflights13()$airports
dm_nycflights13() %>% names()
copy_dm_to(
dbplyr::src_memdb(),
dm_nycflights13()
) %>%
dm_get_con()
dm_nycflights13() %>% dm_get_tables()
dm_nycflights13() %>% dm_get_filters()
dm_nycflights13() %>% validate_dm()
is_dm(dm_nycflights13())
dm_nycflights13()["airports"]
dm_nycflights13()[["airports"]]
dm_nycflights13()$airports