public class GeneralRelationCheck extends RelationCheck
Constructor and Description |
---|
GeneralRelationCheck() |
Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<FunctionalDependency> |
checkForBCNF(RelationSchema schema)
Returns all functional dependencies that violate the BCNF
|
java.util.ArrayList<FunctionalDependency> |
checkForSecondNF(RelationSchema schema)
Returns all functional dependencies that violate the second NF
|
java.util.ArrayList<FunctionalDependency> |
checkForThirdNF(RelationSchema schema)
Returns all functional dependencies that violate the Third NF
|
NormalForm |
getNF(java.util.ArrayList<RelationSchema> relations)
Returns the highest Normal Form of the given relations
|
NormalForm |
getNF(RelationSchema schema,
java.util.ArrayList<FunctionalDependency> violatingFds)
Returns the NormalForm of the given Schema
|
boolean |
isBCNF(RelationSchema schema)
Returns if a given schema is in Boyce Codd NF
|
boolean |
isSecondNF(RelationSchema schema)
Returns if a given Schema is in the second NF or not
|
boolean |
isThirdNF(RelationSchema schema)
Returns if a given Schema is in third NF
|
areFdSetsEquivalent, copyAttributes, getAllCandidateKeys, getAttributePosition, getClosure, getClosure, getMinimalSetOfFds, getNumberOfMatchingAttributes, getOnlyDeterminedAttributes, getPrimaryKey, getSubsetOfAttributes, isCandidateKey, isKeyDeterminingEverything, isKeyDeterminingEverything, isMember, isPrimeAttribute, isSetOfFDsCannonical, isSuperKey, makeFdCannonical, removeRedundantFunctionalDependencies, removeUnneccessarySourceAttributes
public NormalForm getNF(RelationSchema schema, java.util.ArrayList<FunctionalDependency> violatingFds)
getNF
in interface RelationInformation
getNF
in class RelationCheck
public NormalForm getNF(java.util.ArrayList<RelationSchema> relations)
relations
- relations to be checkedpublic boolean isSecondNF(RelationSchema schema)
isSecondNF
in interface RelationInformation
isSecondNF
in class RelationCheck
public java.util.ArrayList<FunctionalDependency> checkForSecondNF(RelationSchema schema)
schema
- the RelationSchema to work withpublic boolean isThirdNF(RelationSchema schema)
isThirdNF
in interface RelationInformation
isThirdNF
in class RelationCheck
public java.util.ArrayList<FunctionalDependency> checkForThirdNF(RelationSchema schema)
schema
- the RelationSchema to work withpublic boolean isBCNF(RelationSchema schema)
isBCNF
in interface RelationInformation
isBCNF
in class RelationCheck
public java.util.ArrayList<FunctionalDependency> checkForBCNF(RelationSchema schema)
schema
- the RelationSchema to work with