Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A toolset for database analysis as bottom up approach

Notifications You must be signed in to change notification settings

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 πŸ’€.

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /