de.fesenmeyer.dbnormalizer.core.algorithms
Class AbstractNormalizationAlgorithm

java.lang.Object
  extended by de.fesenmeyer.dbnormalizer.core.algorithms.AbstractNormalizationAlgorithm
Direct Known Subclasses:
ThreeNFSynthesisAlgorithmKemper

public abstract class AbstractNormalizationAlgorithm
extends Object

Abstract base class for normalization algorithms.

Author:
DF

Constructor Summary
AbstractNormalizationAlgorithm()
           
 
Method Summary
abstract  NormalizationProposal normalize(Table oldTable)
           Creates a normalization proposal for the Table specified by the argument oldTable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractNormalizationAlgorithm

public AbstractNormalizationAlgorithm()
Method Detail

normalize

public abstract NormalizationProposal normalize(Table oldTable)
                                         throws DBNormalizerException

Creates a normalization proposal for the Table specified by the argument oldTable.

NOTE: Before applying this method to a table, make sure that it contains all the necessary data such as minimal cover (Table.setFDMinCover(java.util.Set)), candidate keys (Table.setCandKeys(java.util.Set)) and primary key (Table.setPk(de.fesenmeyer.dbnormalizer.core.PK)). The methods for calculating this data can be found in the FDAlgorithms class.

Parameters:
oldTable - the Table, for which a normalization proposal should be created
Returns:
a normalization proposal
Throws:
DBNormalizerException - if the table object does not supply all of the data needed for normalization or if another error occurs.