pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Abbildung 7.1.: 4 Fälle bei der Schema-Transformation<br />
Umwandlung von Schemata in Graphen<br />
Das Programm, mit dem die Tests durchgeführt wurden, entspricht wie in Kapitel 7.2<br />
dem in Kapitel 6 vorgestellten. Da hier statt Graphen Relationale Datenbankschemata<br />
als Eingabe dienen sollen, war es notwendig, eine Methode zu entwickeln, um diese Schemata<br />
in geeignete Graphen-Strukturen zu überführen. Für eine solche Transformation<br />
sind eine Reihe von Möglichkeiten denkbar, sie zu realisieren, die sich dadurch unterscheiden,<br />
welche Informationen der Schemata in welcher Form dargestellt werden.<br />
In [MGMR01] stellen die Autoren eine Methode dar, um eine solche Transformation<br />
durchzuführen, <strong>und</strong> führen sie anhand zweier Beispielschemata durch. Dabei werden<br />
sämtliche Informationen der Schemata in Form eigener Knoten <strong>und</strong> Kanten repräsentiert,<br />
was dazu führt, dass die auf diese Weise erzeugten Graphen vergleichsweise sehr groß<br />
sind. Für das eine der in [MGMR01] im Kapitel 2 verwendeten Beispielschemata mit einer<br />
Relation <strong>und</strong> vier Attributen wurden im Graphen auf diese Weise 31 Knoten benötigt,<br />
um es darzustellen, der Similarity Propagation Graph enthält sogar 211 Knoten.<br />
Im Rahmen dieser Arbeit sollen Experimente an größeren Schemata durchgeführt<br />
werden. Für die Transformation soll aus diesem Gr<strong>und</strong> eine andere Methode zur Transformation<br />
verwendet werden, die im Vergleich kleinere Graphen erzeugt, dabei aber<br />
trotzdem wesentliche Aspekte der Schemata berücksichtigt.<br />
Die Transformation der Schemata in Graphen geschieht dabei folgendermaßen: Für<br />
jede Relation wird ein Knoten mit ihrem Namen erzeugt. Attribute bekommen ebenfalls<br />
Knoten, die der besseren Übersichtlichkeit halber in der Form „Relationsname.Attributname“<br />
benannt werden. Relationsknoten werden durch Kanten mit den Attributknoten<br />
verb<strong>und</strong>en, wobei bei der Kantenmarkierung zwischen Fremdschlüsseln <strong>und</strong> sonstigen<br />
Attributen unterschieden wird. Kanten zu Fremdschlüsseln werden mit „has_foreign-<br />
_key“ markiert, die übrigen mit „has_attribute“. Fremdschlüsselknoten werden ihrerseits<br />
über eine Kante „references“ mit dem Relationsknoten verb<strong>und</strong>en, auf der der<br />
Fremdschlüssel verweist. Alle Attributknoten können außerdem noch Teil des Primärschlüssels<br />
sein, was durch eine Kante zu einem Spezialknoten „Primary Key“ dargestellt<br />
wird, die mit „constraints“ beschriftet ist.<br />
Abbildung 7.1 zeigt beispielhaft die vier möglichen Fälle a) - d) bei der Umwandlung<br />
64