A simple app for relational model normalization. Normalization can be done by decomposition and synthesis.
java -jar rel-norm-1.0-SNAPSHOT.jar <task-file-path> <method-name>
<method-name>
- is eitherDECOMPOSITION
,DECOMPOSITION_I
orSYNTHESIS
DECOMPOSITION
- normalizing by decomposition methodDECOMPOSITION_I
- normalizing by decomposition method (interactively selecting functional dependencies)SYNTHESIS
- normalizing by synthesis
java -jar rel-norm-1.0-SNAPSHOT.jar <task-file-path> <method-name> > output.txt
mvn package
- Maven 3.8.1
- Java 16
Relation N
with labels A
, B
, C
, D
, E
and functional dependencies AB -> CE
and C->D
:
{
"name": "N",
"labels": ["A", "B", "C", "D", "E"],
"functionalDependencies": [
{"left": ["A", "B"], "right": ["C", "E"]},
{"left": ["C"], "right": ["D"]}
]
}