normalise | R Documentation |
Creates a database schema from given functional dependencies, satisfying at least third normal form, using Bernstein's synthesis.
normalise(
dependencies,
single_ref = FALSE,
ensure_lossless = TRUE,
reduce_attributes = TRUE,
remove_avoidable = FALSE,
constants_name = "constants",
progress = FALSE,
progress_file = ""
)
dependencies |
a |
single_ref |
a logical, FALSE by default. If TRUE, then only one reference between each relation pair is kept when generating foreign key references. If a pair has multiple references, the kept reference refers to the earliest key for the child relation, as sorted by priority order. |
ensure_lossless |
a logical, TRUE by default. If TRUE, and the decomposition isn't lossless, an extra relation is added to make the decomposition lossless. |
reduce_attributes |
a logical, TRUE by default. If TRUE,
|
remove_avoidable |
a logical, indicating whether to remove avoidable attributes in relations. If so, then an attribute are removed from relations if the keys can be changed such that it is not needed to preserve the given functional dependencies. |
constants_name |
a scalar character, giving the name for any relation created to store constant attributes. If this is the same as a generated relation name, it will be changed, with a warning, to ensure that all relations have a unique name. |
progress |
a logical, for whether to display progress to the user during
dependency search in |
progress_file |
a scalar character or a connection. If |
This is a wrapper function for applying synthesise
and
autoref
, in order. For creating relation schemas and foreign
key references separately, use these functions directly. See both functions
for examples.
For details on the synthesis algorithm used, see synthesise
.
A database_schema
object, containing the synthesis
relation schemas and the created foreign key references.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.