Package: dm 1.0.10.9010

Kirill Müller

dm: Relational Data Models

Provides tools for working with multiple related tables, stored as data frames or in a relational database. Multiple tables (data and metadata) are stored in a compound object, which can then be manipulated with a pipe-friendly syntax.

Authors:Tobias Schieferdecker [aut], Kirill Müller [aut, cre], Antoine Fabri [ctb], Darko Bergant [aut], Katharina Brunner [ctb], James Wondrasek [ctb], Indrajeet Patil [ctb], Maëlle Salmon [ctb], energie360° AG [fnd], cynkra GmbH [fnd, cph]

dm_1.0.10.9010.tar.gz
dm_1.0.10.9010.zip(r-4.5)dm_1.0.10.9010.zip(r-4.4)dm_1.0.10.9010.zip(r-4.3)
dm_1.0.10.9010.tgz(r-4.4-any)dm_1.0.10.9010.tgz(r-4.3-any)
dm_1.0.10.9010.tar.gz(r-4.5-noble)dm_1.0.10.9010.tar.gz(r-4.4-noble)
dm_1.0.10.9010.tgz(r-4.4-emscripten)dm_1.0.10.9010.tgz(r-4.3-emscripten)
dm.pdf |dm.html
dm/json (API)
NEWS

# Install 'dm' in R:
install.packages('dm', repos = c('https://cynkra.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/cynkra/dm/issues

On CRAN:

data-modeldata-warehousingdatawarehousingdbidbplyrrelational-databases

14.72 score 497 stars 8 packages 400 scripts 2.3k downloads 9 mentions 194 exports 28 dependencies

Last updated 24 days agofrom:65d312d301. Checks:OK: 7. Indexed: yes.

TargetResultDate
Doc / VignettesOKSep 24 2024
R-4.5-winOKSep 24 2024
R-4.5-linuxOKSep 24 2024
R-4.4-winOKSep 24 2024
R-4.4-macOKSep 24 2024
R-4.3-winOKSep 24 2024
R-4.3-macOKSep 24 2024

Exports:%>%anti_joinarrangeas_dmcdm_add_fkcdm_add_pkcdm_add_tblcdm_apply_filterscdm_apply_filters_to_tblcdm_check_constraintscdm_copy_tocdm_disambiguate_colscdm_drawcdm_enum_fk_candidatescdm_enum_pk_candidatescdm_filtercdm_flatten_to_tblcdm_get_all_fkscdm_get_all_pkscdm_get_available_colorscdm_get_colorscdm_get_concdm_get_filtercdm_get_fkcdm_get_pkcdm_get_referencing_tablescdm_get_srccdm_get_tablescdm_has_fkcdm_has_pkcdm_insert_zoomed_tblcdm_is_referencedcdm_join_to_tblcdm_learn_from_dbcdm_nrowcdm_nycflights13cdm_pastecdm_renamecdm_rename_tblcdm_rm_fkcdm_rm_pkcdm_rm_tblcdm_selectcdm_select_tblcdm_set_colorscdm_squash_to_tblcdm_update_zoomed_tblcdm_zoom_outcdm_zoom_to_tblcheck_cardinalitycheck_cardinality_0_1check_cardinality_0_ncheck_cardinality_1_1check_cardinality_1_ncheck_if_subsetcheck_keycheck_set_equalitycheck_subsetcollectcomputecopy_dm_tocopy_todb_schema_createdb_schema_dropdb_schema_existsdb_schema_listdecompose_tabledmdm_add_fkdm_add_pkdm_add_tbldm_add_ukdm_apply_filtersdm_apply_filters_to_tbldm_binddm_ddl_postdm_ddl_predm_deconstructdm_disambiguate_colsdm_discard_zoomeddm_dml_loaddm_drawdm_enum_fk_candidatesdm_enum_pk_candidatesdm_examine_cardinalitiesdm_examine_constraintsdm_filterdm_financialdm_financial_sqlitedm_flatten_to_tbldm_from_condm_from_srcdm_get_all_fksdm_get_all_pksdm_get_all_uksdm_get_available_colorsdm_get_colorsdm_get_condm_get_filtersdm_get_fkdm_get_pkdm_get_referencing_tablesdm_get_srcdm_get_table_descriptiondm_get_tablesdm_guidm_has_fkdm_has_pkdm_insert_zoomeddm_is_referenceddm_join_to_tbldm_mutate_tbldm_nest_tbldm_nrowdm_nycflights13dm_pack_tbldm_pastedm_pixarfilmsdm_ptypedm_renamedm_rename_tbldm_reset_table_descriptiondm_rm_fkdm_rm_pkdm_rm_tbldm_rm_ukdm_rows_appenddm_rows_deletedm_rows_insertdm_rows_patchdm_rows_truncatedm_rows_updatedm_rows_upsertdm_selectdm_select_tbldm_set_colorsdm_set_table_descriptiondm_sqldm_squash_to_tbldm_unnest_tbldm_unpack_tbldm_unwrap_tbldm_update_zoomeddm_validatedm_wrap_tbldm_zoom_toenum_fk_candidatesenum_pk_candidatesexamine_cardinalityfilterfull_joinglimpsegroup_byinner_joinis_dmjson_nestjson_nest_joinjson_packjson_pack_joinjson_unnestjson_unpackleft_joinmutatenew_dmpack_joinpull_tblrenamereunite_parent_childreunite_parent_child_from_listright_joinrows_appendrows_deleterows_insertrows_patchrows_truncaterows_updaterows_upsertselectsemi_joinseparatesql_rows_truncatesql_schema_createsql_schema_dropsql_schema_existssql_schema_listsrc_tblssummarisesummarizetbltibbletransmuteungroupunitevalidate_dm

Dependencies:backportscachemclicpp11dplyrfansifastmapgenericsglueigraphlatticelifecyclemagrittrMatrixmemoisepillarpkgconfigpurrrR6rlangstringistringrtibbletidyrtidyselectutf8vctrswithr

Getting started with dm

Rendered fromdm.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2024-08-14
Started: 2019-04-17

Copy tables to and from a database

Rendered fromhowto-dm-copy.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2024-08-14
Started: 2020-11-17

Create a dm object from a database

Rendered fromhowto-dm-db.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2024-08-14
Started: 2020-05-24

Create a dm object from data frames

Rendered fromhowto-dm-df.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2022-06-24
Started: 2020-05-24

Insert, update, or remove rows in a database

Rendered fromhowto-dm-rows.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-03-14
Started: 2020-11-17

Introduction to relational data models

Rendered fromhowto-dm-theory.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-06-08
Started: 2020-05-24

Visualizing dm objects

Rendered fromtech-dm-draw.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2022-08-16
Started: 2020-05-24

Class dm and basic operations

Rendered fromtech-dm-class.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-02-01
Started: 2020-05-24

Filtering in relational data models

Rendered fromtech-dm-filter.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-03-14
Started: 2020-05-24

Function naming logic

Rendered fromtech-dm-naming.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2022-11-14
Started: 2020-05-24

Joining in relational data models

Rendered fromtech-dm-join.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-03-14
Started: 2020-05-24

Manipulating individual tables

Rendered fromtech-dm-keyed.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-03-14
Started: 2022-07-19

Migration guide: 'cdm' -> 'dm'

Rendered fromtech-dm-cdm.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2022-07-05
Started: 2020-05-24

Model verification - keys, constraints and normalization

Rendered fromtech-dm-low-level.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-03-14
Started: 2020-05-24

Zooming and manipulating tables

Rendered fromtech-dm-zoom.Rmdusingknitr::rmarkdownon Sep 24 2024.

Last update: 2023-03-14
Started: 2020-05-24

Readme and manuals

Help Manual

Help pageTopics
Check if column(s) can be used as keyscheck_key
Check column values for set equalitycheck_set_equality
Check column values for subsetcheck_subset
Copy data model to data sourcecopy_dm_to
Create a schema on a databasedb_schema_create
Remove a schema from a databasedb_schema_drop
Check for existence of a schema on a databasedb_schema_exists
List schemas on a databasedb_schema_list
Decompose a table into two linked tablesdecompose_table
Data model classas_dm dm is_dm new_dm
Add foreign keysdm_add_fk
Add a primary keydm_add_pk
Add a unique keydm_add_uk
Create code to deconstruct a dm objectdm_deconstruct
Resolve column name ambiguitiesdm_disambiguate_cols
Draw a diagram of the data modeldm_draw
Foreign key candidatesdm_enum_fk_candidates enum_fk_candidates
Learn about your data modeldm_examine_cardinalities
Validate your data modeldm_examine_constraints
Filteringdm_filter
Creates a dm object for the Financial datadm_financial dm_financial_sqlite
Flatten a part of a 'dm' into a wide tabledm_flatten_to_tbl
Load a dm from a remote data sourcedm_from_con
Get foreign key constraintsdm_get_all_fks
Get all primary keys of a 'dm' objectdm_get_all_pks
Get all unique keys of a 'dm' objectdm_get_all_uks
Get connectiondm_get_con
Get tablesdm_get_tables
Shiny app for defining dm objectsdm_gui
Check for primary keydm_has_pk
Update tables in a 'dm'dm_mutate_tbl
Nest a table inside its dmdm_nest_tbl
Number of rowsdm_nrow
Creates a dm object for the 'nycflights13' datadm_nycflights13
dm_pack_tbl()dm_pack_tbl
Create R code for a dm objectdm_paste
Creates a dm object for the 'pixarfilms' datadm_pixarfilms
Prototype for a dm objectdm_ptype
Rename columnsdm_rename
Remove foreign keysdm_rm_fk
Remove a primary keydm_rm_pk
Remove a unique keydm_rm_uk
Select columnsdm_select
Select and rename tablesdm_rename_tbl dm_select_tbl
Color in database diagramsdm_get_available_colors dm_get_colors dm_set_colors
Add info about a dm's tablesdm_get_table_description dm_reset_table_description dm_set_table_description
Create _DDL_ and _DML_ scripts for a 'dm' a and database connectiondm_ddl_post dm_ddl_pre dm_dml_load dm_sql
Unnest columns from a wrapped tabledm_unnest_tbl
Unpack columns from a wrapped tabledm_unpack_tbl
Unwrap a single table dmdm_unwrap_tbl
Validatordm_validate
Wrap dm into a single tibble dmdm_wrap_tbl
Mark table for manipulationdm_discard_zoomed dm_insert_zoomed dm_update_zoomed dm_zoomed_df dm_zoom_to zoomed_df
'dplyr' join methods for zoomed dm objectsanti_join.dm_keyed_tbl anti_join.dm_zoomed dplyr_join full_join.dm_keyed_tbl full_join.dm_zoomed inner_join.dm_keyed_tbl inner_join.dm_zoomed left_join.dm_keyed_tbl left_join.dm_zoomed nest_join.dm_zoomed right_join.dm_keyed_tbl right_join.dm_zoomed semi_join.dm_keyed_tbl semi_join.dm_zoomed
'dplyr' table manipulation methods for zoomed dm objectsarrange.dm_zoomed compute.dm_zoomed count.dm_zoomed distinct.dm_zoomed dplyr_table_manipulation filter.dm_zoomed group_by.dm_keyed_tbl group_by.dm_zoomed mutate.dm_zoomed pull.dm_zoomed relocate.dm_zoomed rename.dm_zoomed select.dm_zoomed slice.dm_zoomed summarise.dm_keyed_tbl summarise.dm_zoomed tally.dm_zoomed transmute.dm_zoomed ungroup.dm_zoomed
Primary key candidatedm_enum_pk_candidates enum_pk_candidates
Check table relationscheck_cardinality_... check_cardinality_0_1 check_cardinality_0_n check_cardinality_1_1 check_cardinality_1_n examine_cardinality
Get a glimpse of your 'dm' objectglimpse.dm glimpse.dm_zoomed
'utils' table manipulation methods for 'dm_zoomed' objectshead.dm_zoomed tail.dm_zoomed
JSON nestjson_nest
JSON nest joinjson_nest_join
JSON packjson_pack
JSON pack joinjson_pack_join
Unnest a JSON columnjson_unnest
Unpack a JSON columnjson_unpack
Materializecollect.dm compute.dm materialize
Pack Joinpack_join pack_join.dm_zoomed
Retrieve a tablepull_tbl
Merge two tables that are linked by a foreign key relationreunite_parent_child reunite_parent_child_from_list
Modifying rows for multiple tablesdm_rows_... dm_rows_append dm_rows_delete dm_rows_insert dm_rows_patch dm_rows_update dm_rows_upsert rows-dm
'tidyr' table manipulation methods for zoomed dm objectsseparate.dm_keyed_tbl separate.dm_zoomed tidyr_table_manipulation unite.dm_keyed_tbl unite.dm_zoomed