Skip to content

trung-kieen/db-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Overview

Just a tool to simplify relation normalization process, evaluate database design.

menu decompose 3nf decompose bcnf

And more!

Usage

python3 main.py 

Todos

  • Attribute closure
  • Armstrong: ir2, ir3, ir4, ir5
  • Check two Functional Dependency (FD) set is equivalent
  • Find closure Functional Dependency set (FDs) from Armstrong rule set
  • Minimal cover of FDs
  • Find key from FDs
  • Check collection of attribute is super key of relation
  • Decompose relation to 3NF from FDs
  • Decompose relation to BCNF from FDs
  • Menu interactive
  • Check current Normal Form of relation (in general normal form definition)
  • Test Nonadditive Join Property after decomposition relation
  • Args parser integrate click
  • Reduce random order of set iterator in minimal_cover method

Disclaimers

All code is kept in one file for portability and ease of execution.

User input binding with dynamic injection, same idea how Spring implement IoC 🤞. I love Spring btw.

Follow TDD but in a suck way 💀.