Skip to content

romulusFR/functional_dependencies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A CLI tool for database functional dependencies

A CLI for basic algorithms on functional dependencies. Most of the algorithms are from A Guided Tour of Relational Databases and Beyond by Levene, Mark and Loizou, George.

See the lessons here (in French) on YouTube.

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 

You may need https://www.boost.org/doc/libs/release/libs/program_options/, to be installed using a command similar to sudo apt install libboost-program-options1.74-dev on Debian-based systems.

About

A CLI for basic algorithms on functional dependencies

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published