Compute functional dependencies: implication, closure, synthesis
Project description
Overview
This package provides an Open Educational Resource (OER) to refresh prior knowledge about functional dependencies (FDs) and normalization of relational database schemata. Towards that goal, the package implements algorithms for the manipulation of functional dependencies; the package’s doc string explains the used vocabulary and contains examples.
Selected algorithms:
- FD.rminimize(): Return a minimal cover of r-minimal FDs
- FDSet.closure(): Return closure of attributes under given FDs
- FDSet.lminimize(): Return minimum subset of lhs that determines rhs
- FDSet.key(): Return a key
- FDSet.basis(): Return non-redundant r- and l-minimal basis
- RelSchema.synthesize(): Normalize via synthesis into set of 3NF schemata
Side goal
Besides, the package may serve as sample Python code that respects usual coding conventions, which are checked with pre-commit hooks. The configuration file .pre-commit-config.yaml specifies test tools used here.
Origin of code
The code here is based on that file, which will not be maintained any longer.
Changelog
Changelog information is based on Keep a Changelog, where version numbers adhere to Semantic Versioning.
[1.0.0] - 2020-12-22
No change in functionality.
[1.0.0-rc.1] - 2020-12-22
Initial release. Code from there packaged for independent distribution.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for functional_dependencies-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bd12c8634a817a6025b6cbcdac586a8038525c80159e980592f52ec482c8631 |
|
MD5 | cf4a6be42aece40fb28a1b5c86db86d2 |
|
BLAKE2b-256 | 260dc6ba288b4c617fb887be7edc8ae2114fd199b671429e05cb81a98d42c38e |
Hashes for functional_dependencies-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a4221573aed56d14011d4f4ba3cf8a91c8b26123feb26cbe9c1b113a2482927 |
|
MD5 | 544284fd36675ed9e7b868c00bf2bd4a |
|
BLAKE2b-256 | 266e93b724b8d2c1bdf2766414a92bf87f36d1941943c93ec54f2043661ee748 |