This function returns a tibble with information about
which key constraints are met (is_key = TRUE
) or violated (FALSE
).
The printing for this object is special, use as_tibble()
to print as a regular tibble.
Usage
dm_examine_constraints(
.dm,
...,
.progress = NA,
dm = deprecated(),
progress = deprecated()
)
Value
A tibble with the following columns:
table
the table in the
dm
,kind
"PK" or "FK",
columns
the table columns that define the key,
ref_table
for foreign keys, the referenced table,
is_key
logical,
problem
if
is_key = FALSE
, the reason for that.
Details
For the primary key constraints, it is tested if the values in the respective columns are all unique. For the foreign key constraints, the tests check if for each foreign key constraint, the values of the foreign key column form a subset of the values of the referenced column.
Examples
dm_nycflights13() %>%
dm_examine_constraints()
#> ! Unsatisfied constraints:
#> • Table `flights`: foreign key `tailnum` into table `planes`: values of `flights$tailnum` not in `planes$tailnum`: N725MQ (6), N537MQ (5), N722MQ (5), N730MQ (5), N736MQ (5), …