Transcript project P12
Schema Builder
CS4221 - Group P12
Why normalization?
To reduce data redundancy so that when accessing the data, it will
be faster, more efficient and more accurate with the expected data
produced.
Normal Forms
Type of Normal Forms:
●
Second Normal Form
●
Third Normal Form
●
Elementary Key Normal Form
●
Boyce-Codd Normal Form
Second Normal Form (2NF)
for every functional dependency X → {A}+:
●
X → {A} is trivial or
●
X is not a proper subset of a candidate key or
●
A is a prime attribute
Third Normal Form (3NF)
for every functional dependency X → {A}+:
●
X → {A} is trivial or
●
A is a prime attribute or
●
X is a superkey
Elementary Key Normal Form (EKNF)
for every functional dependency X → {A}+:
●
X → {A} is trivial or
●
A is an elementary prime attribute or
●
X is a superkey
Boyce-Codd Normal Form (BCNF)
for every functional dependency X → {A}+:
●
X → {A} is trivial or
●
X is a superkey
Our Application
●
Case tool to normalize Universal Relations
●
Can normalize to 2NF, 3NF, ENKF, BCNF
●
Creates the schema in a DB if accepted
Demo
How does it work?
●
Uses Armstrong’s Axioms to get all FDs
●
Goes through all FDs for violations
●
Finds foreign keys before adding to DB
Limitations
●
Uses NP Complete algorithms
●
No 4NF support
●
Constrained to MySQL limitations
Thank You!