A CLI for basic algorithms on functional dependencies. Most of algorithm are from A Guided Tour of Relational Databases and Beyond by Levene, Mark and Loizou, George.
See the lessons here (in French) https://www.youtube.com/channel/UCp6q0_DxUdNXhoc2Oue1w9g/videos
Basic algorithms on sets of Functional Dependencies (FD)
Attributes are strings, FD are written "attr_A attr_B -> attr_C attr_A"
Uses the algorithm by Gely et al. to enumerate closed sets [Gely10]
Options:
-h [ --help ] Help screen
-i [ --input ] arg Input file: a set of FD
-a [ --attrs ] arg A set of attributes
-o [ --operation ] arg (=4) Operation to compute
Available operations:
SCHEMA: computes the set of attributes appearing in the input
CLOSURE: computes the closure of the given attributes
MINIMIZE: minimizes the given set of FDs
CLOSED: computes the sets of closed sets
ARMSTRONG: generates an Armstrong's base in SQL
[Gely10] Gély, A.; Medina, R. & Nourine
About the Enumeration Algorithms of Closed Sets