Based on schema and functional dependencies, provides keys, attribute closures, checks whether the relations are upto Boyce Codd normal form
- Each attribute is represented by a single alphabatical letter
- Example of a functional dependency: ['ab', 'c'], where a, b, c are attributes and the representation signifies c is functionaly dependent on ab
- Possible candidate/super keys can be obtained from the code