Skip to contents

Basic

Construct a dm object from data frames, see also vignette("howto-dm-df").

dm() new_dm() is_dm() as_dm()
Data model class
dm_validate()
Validator

Database

Construct a dm object from a database, see also vignette("howto-dm-db").

dm_from_con()
Load a dm from a remote data source
dm_get_con()
Get connection

Tables and columns

Operate on the tables and columns stored in a dm object.

dm_select_tbl() dm_rename_tbl()
Select and rename tables
dm_get_tables()
Get tables
pull_tbl()
Retrieve a table
dm_mutate_tbl()
Update tables in a dm
dm_nrow()
Number of rows
dm_select()
Select columns
dm_rename()
Rename columns

Primary keys

Primary keys uniquely identify rows in a table. A table can have at most one primary key. See also vignette("howto-dm-theory").

dm_add_pk()
Add a primary key
dm_get_all_pks()
Get all primary keys of a dm object
dm_has_pk()
Check for primary key
dm_rm_pk()
Remove a primary key

Unique keys

Unique keys are similar to primary keys. Each table can have at most one record for each combination of values in a unique key. A table can have more than one unique key.

dm_add_uk()
Add a unique key
dm_get_all_uks()
Get all unique keys of a dm object
dm_rm_uk()
Remove a unique key

Foreign keys

Foreign keys establish links between tables by pointing to a primary or unique key in another table. See also vignette("howto-dm-theory").

dm_add_fk()
Add foreign keys
dm_get_all_fks()
Get foreign key constraints
dm_rm_fk()
Remove foreign keys

Visualize

Show a dm object, see also vignette("tech-dm-draw").

dm_gui()
Shiny app for defining dm objects
dm_draw()
Draw a diagram of the data model
dm_set_colors() dm_get_colors() dm_get_available_colors()
Color in database diagrams
dm_set_table_description() dm_get_table_description() dm_reset_table_description()
Add info about a dm's tables

Deconstruct

Rip a dm object apart and put it together, see also vignette("tech-dm-keyed").

dm_deconstruct()
Create code to deconstruct a dm object

Flatten

Combine multiple related tables, see also vignette("tech-dm-join").

dm_flatten_to_tbl()
Flatten a part of a dm into a wide table
dm_disambiguate_cols()
Resolve column name ambiguities

Filter

Filter across multiple tables, see also vignette("tech-dm-filter").

dm_filter()
Filtering

Zoom

Focus on a single table, see also vignette("tech-dm-zoom").

Wrap

Turn a dm object into a single table and back.

dm_wrap_tbl()
Wrap dm into a single tibble dm
dm_unwrap_tbl()
Unwrap a single table dm
dm_nest_tbl()
Nest a table inside its dm
dm_pack_tbl()
dm_pack_tbl()
dm_unnest_tbl()
Unnest columns from a wrapped table
dm_unpack_tbl()
Unpack columns from a wrapped table

Nested and packed data

New verbs that power wrapping.

pack_join()
Pack Join
json_nest()
JSON nest
json_nest_join()
JSON nest join
json_pack()
JSON pack
json_pack_join()
JSON pack join
json_unnest()
Unnest a JSON column
json_unpack()
Unpack a JSON column

Materialize and upload

Get data from and to the database, see also vignette("howto-dm-copy").

compute(<dm>) collect(<dm>)
Materialize
copy_dm_to()
Copy data model to data source
dm_sql() dm_ddl_pre() dm_dml_load() dm_ddl_post()
Create DDL and DML scripts for a dm a and database connection

Modify

Manipulate individual rows on the database, see also vignette("howto-dm-rows").

Keys and cardinalities

Check fulfillment and nature of relationships between tables.

dm_examine_constraints()
Validate your data model
enum_pk_candidates() dm_enum_pk_candidates()
Primary key candidate
dm_enum_fk_candidates() enum_fk_candidates()
Foreign key candidates
dm_examine_cardinalities()
Learn about your data model
check_cardinality_0_n() check_cardinality_1_n() check_cardinality_1_1() check_cardinality_0_1() examine_cardinality()
Check table relations
check_key()
Check if column(s) can be used as keys
check_set_equality()
Check column values for set equality
check_subset()
Check column values for subset

Table surgery

Normalize and denormalize tables.

decompose_table()
Decompose a table into two linked tables
reunite_parent_child() reunite_parent_child_from_list()
Merge two tables that are linked by a foreign key relation

Database schemas

New verbs that power access to database schemas.

db_schema_create()
Create a schema on a database
db_schema_drop()
Remove a schema from a database
db_schema_exists()
Check for existence of a schema on a database
db_schema_list()
List schemas on a database

Example dm objects

Ready to use and play with.

dm_nycflights13()
Creates a dm object for the nycflights13 data
dm_financial() dm_financial_sqlite()
Creates a dm object for the Financial data
dm_pixarfilms()
Creates a dm object for the pixarfilms data

Structure and contents

Recreate a dm object.

dm_paste()
Create R code for a dm object
dm_ptype()
Prototype for a dm object