functionalDependency.general
Class RelationSchema

java.lang.Object
  extended by functionalDependency.general.RelationSchema
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable

public class RelationSchema
extends java.lang.Object
implements java.lang.Cloneable, java.lang.Comparable

Die Klasse RelationSchema repraesentiert ein Relationsschema. In den privaten Variablen name, attributes, keys und normalForm werden der Name des Schemas, die Attributmenge, die Schluesselkandidaten und die Normalform gespeichert. Die Normalform kann die Werte FirstNF, SecondNF, ThirdNF oder BCNF annehmen.

Implementiert sind neben den Konstruktoren die Methoden

Im Rahmen der Aufgabenstellung sind in dieser Klasse die Methoden

zu implementieren.


Field Summary
static int BCNF
           
static int FirstNF
           
static int SecondNF
           
static int ThirdNF
           
 
Constructor Summary
RelationSchema(java.lang.String nm, AttributeSet attr, SetOfFDs fds)
           
RelationSchema(java.lang.String nm, java.lang.String attr, SetOfFDs fds)
           
 
Method Summary
 RelationSchema clone()
           
 int compareTo(java.lang.Object o)
           
 int compareTo(RelationSchema a)
          Vergleich zweier Relationsschemata.
 boolean equals(java.lang.Object r)
           
 boolean equals(RelationSchema rs)
          Vergleicht das Relationsschema this mit einem anderen Relationsschema rs.
 AttributeSet getAttributes()
           
 SetOfAttributeSets getKeys()
           
 java.lang.String getName()
           
 AttributeSet getNonPrimeAttributeSet()
          Berechnet die Nichtschluesselattribute des gegebenen Relationsschema.
 int getNormalForm()
           
 AttributeSet getPrimeAttributeSet()
          Berechnet die Schluesselattribute des gegebenen Relationsschema.
static RelationSchema parseSchemaFromLine(java.lang.String name, java.lang.String line)
           
 java.lang.String toString()
           
 java.lang.String toStringCompare()
          Ausgabe des Relationschemas ohne den Namen.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FirstNF

public static final int FirstNF
See Also:
Constant Field Values

SecondNF

public static final int SecondNF
See Also:
Constant Field Values

ThirdNF

public static final int ThirdNF
See Also:
Constant Field Values

BCNF

public static final int BCNF
See Also:
Constant Field Values
Constructor Detail

RelationSchema

public RelationSchema(java.lang.String nm,
                      java.lang.String attr,
                      SetOfFDs fds)
               throws MainException
Throws:
MainException

RelationSchema

public RelationSchema(java.lang.String nm,
                      AttributeSet attr,
                      SetOfFDs fds)
               throws MainException
Throws:
MainException
Method Detail

parseSchemaFromLine

public static RelationSchema parseSchemaFromLine(java.lang.String name,
                                                 java.lang.String line)
                                          throws MainException
Throws:
MainException

getName

public java.lang.String getName()

getKeys

public SetOfAttributeSets getKeys()

getAttributes

public AttributeSet getAttributes()

getNormalForm

public int getNormalForm()

equals

public boolean equals(java.lang.Object r)
Overrides:
equals in class java.lang.Object

equals

public boolean equals(RelationSchema rs)
Vergleicht das Relationsschema this mit einem anderen Relationsschema rs.

Parameters:
rs - das zu vergleichende Relationsschema
Returns:
true, wenn die Relationsschemata gleich sind; false, andernfalls

compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

compareTo

public int compareTo(RelationSchema a)
Vergleich zweier Relationsschemata.

Parameters:
a - das zu vergleichende Relationsschema
Returns:

clone

public RelationSchema clone()
Overrides:
clone in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toStringCompare

public java.lang.String toStringCompare()
Ausgabe des Relationschemas ohne den Namen. Mithilfe dieses Strings laesst sich ein Vergleich (siehe compareTo(RelationSchema)) zweier Relationsschemata herstellen.

Returns:
ein String bestehend aus den Attributen, Schluesselkandidaten und der Normalform des Relationsschemas.

getPrimeAttributeSet

public AttributeSet getPrimeAttributeSet()
Berechnet die Schluesselattribute des gegebenen Relationsschema. Man beachte, dass die Schluesselkandidaten im Relationsschema bereits in keys gespeichert sind.

Returns:
Menge der Schluesselattribute

getNonPrimeAttributeSet

public AttributeSet getNonPrimeAttributeSet()
Berechnet die Nichtschluesselattribute des gegebenen Relationsschema. Man beachte, dass die Schluesselkandidaten im Relationsschema bereits in keys gespeichert sind.

Returns:
Menge der Nichtschluesselattribute