Package: autodb 2.3.1

autodb: Automatic Database Normalisation for Data Frames

Automatic normalisation of a data frame to third normal form, with the intention of easing the process of data cleaning. (Usage to design your actual database for you is not advised.) Originally inspired by the 'AutoNormalize' library for 'Python' by 'Alteryx' (<https://github.com/alteryx/autonormalize>), with various changes and improvements. Automatic discovery of functional or approximate dependencies, normalisation based on those, and plotting of the resulting "database" via 'Graphviz', with options to exclude some attributes at discovery time, or remove discovered dependencies at normalisation time.

Authors:Mark Webster [aut, cre]

autodb_2.3.1.tar.gz
autodb_2.3.1.zip(r-4.5)autodb_2.3.1.zip(r-4.4)autodb_2.3.1.zip(r-4.3)
autodb_2.3.1.tgz(r-4.5-any)autodb_2.3.1.tgz(r-4.4-any)autodb_2.3.1.tgz(r-4.3-any)
autodb_2.3.1.tar.gz(r-4.5-noble)autodb_2.3.1.tar.gz(r-4.4-noble)
autodb_2.3.1.tgz(r-4.4-emscripten)autodb_2.3.1.tgz(r-4.3-emscripten)
autodb.pdf |autodb.html
autodb/json (API)
NEWS

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

Bug tracker:https://github.com/charnelmouse/autodb/issues

Pkgdown site:https://charnelmouse.github.io

Datasets:
  • nudge - Nudge meta-analysis data

On CRAN:

Conda:

functional-dependency-discovery

5.64 score 3 stars 41 exports 1 dependencies

Last updated 14 days agofrom:d190e80f67. Checks:9 OK. Indexed: yes.

TargetResultLatest binary
Doc / VignettesOKMar 20 2025
R-4.5-winOKMar 20 2025
R-4.5-macOKMar 20 2025
R-4.5-linuxOKMar 20 2025
R-4.4-winOKMar 20 2025
R-4.4-macOKMar 20 2025
R-4.4-linuxOKMar 20 2025
R-4.3-winOKMar 20 2025
R-4.3-macOKMar 20 2025

Exports:attrsattrs_orderattrs_order<-attrs<-autodbautorefcreatedatabasedatabase_schemadecomposedependantdependant<-detsetdetset<-df_anyDuplicateddf_duplicateddf_equivdf_rbinddf_recordsdf_uniquediscoverfunctional_dependencygvinsertkeyskeys<-merge_empty_keysmerge_schemasnormaliserecordsrecords<-reducereferencesreferences<-rejoinrelationrelation_schemarename_attrssubrelationssubschemassynthesise

Dependencies:rlang

Using autodb

Rendered fromautodb.Rmdusingknitr::rmarkdownon Mar 20 2025.

Last update: 2024-10-06
Started: 2022-11-29

Readme and manuals

Help Manual

Help pageTopics
Relational data attributesattrs attrs<-
Relational data attribute orderattrs_order attrs_order<-
Create a normalised database from a data frameautodb
Add foreign key references to a normalised databaseautoref
Create instance of a schemacreate
Databasesdatabase
Database schemasdatabase_schema
Decompose a data frame based on given normalised dependenciesdecompose
Dependantsdependant dependant<-
Determinant setsdetset detset<-
Determine Duplicate Elementsdf_anyDuplicated df_duplicated df_records df_unique
Test data frames for equivalence under row reorderingdf_equiv
Combine R Objects by Rows or Columnsdf_rbind
Dependency discovery with DFDdiscover
Functional dependency vectorsfunctional_dependency
Generate Graphviz input text to plot objectsgv
Generate Graphviz input text to plot a data framegv.data.frame
Generate Graphviz input text to plot databasesgv.database
Generate Graphviz input text to plot database schemasgv.database_schema
Generate Graphviz input text to plot relationsgv.relation
Generate Graphviz input text to plot relation schemasgv.relation_schema
Insert datainsert
Relational data keyskeys keys<-
Merge relation schemas with empty keysmerge_empty_keys
Merge relation schemas in given pairsmerge_schemas
Create normalised database schemas from functional dependenciesnormalise
Nudge meta-analysis datanudge
Relational data recordsrecords records<-
Remove relations not linked to the main relationsreduce
Remove database relations not linked to the main relationsreduce.database
Remove database schema relations not linked to the given relationsreduce.database_schema
Schema referencesreferences references<-
Join a database into a data framerejoin
Relation vectorsrelation
Relation schema vectorsrelation_schema
Rename relational data attributesrename_attrs
Database subrelationssubrelations
Schema subschemassubschemas
Synthesise relation schemas from functional dependenciessynthesise