Objektorientierte Modelle auf relationale Struktur

Aloha allerseits,

welche Möglichkeiten gibt es, um objektorientierte Modelle auf relationale Strukturen abzubilden?
Soweit wie ich weiß ist das Entity-Relationship-Modell eine Möglichkeit. Ich glaube mithilfe der UML gibt es eine weitere Möglichkeit. Kann mir jemand meine Annahmen bestätigen oder verneinen? Und gibt es noch weitere Möglichkeiten der Abbildung?

mfg chuqa

Hi,
leider beides falsch: UML ist einfach ‚nur‘ eine grafische Sprache für die Kommunikation über Modelle, es ist KEIN Verfahren. Bei ER bin ich mir nich ganz sicher, ob es auch die grafische Sprache beschreibt, oder das Verfahren, jedenfalls bezieht es sich auf den Ansatz von der realen Welt ein Datenbankmodell abzuleiten und hat so erstmal nichts mit Objektorientierten Modellen zu tun.

Ein benanntes Verfahre für das O-R-Mapping kenne ich nicht.

Wie so oft sind die einfachen Sachen einfach:
Klassen/Objekte werden zu Tabellen/Einträgen
Attribute zu Spalten.

Spannender werden Dinge wie Vererbung:
Ein Tabelle mit der Vereinigung alle Attribute als Spalten, gegebenenfalls noch einer Spalte um die Klasse zu kennzeichnen,
Oder eine Tabelle je Klasse, Oder eine Tabelle für die Superklasse und zusätzliche Tabellen für die Abgeleiteten Klassen.

Objekte könnten auch in unterschiedlichen Tabellen gespeichert werden, je nach dem in welchem Zustand sie sich befinden.

Es gibt da viele Möglichkeiten und keine einfachen harten Regeln, welches das richtige Verfahren ist.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Auch hallo.

welche Möglichkeiten gibt es, um objektorientierte Modelle auf
relationale Strukturen abzubilden?

Rein schlagwortmässig: JDO, EJB & Hibernate (Java), NHibernate & ADO.NET

HTH
mfg M.L.

Hi chuqa,

das Entity-Relationship-Modell ist keine Abbildung, sondern das Ergebnis des Mappings. UML hilft da ganz sicher nicht weiter, soweit ich weiß (das neueste Release kenne ich nicht), hat nicht mal Rational so ein Tool. Es gibt Datenbankhersteller, die ein solches Mapping anbieten, allerdings nur auf unterster Ebene - Klasse wird zu Entität. Das hätten wir aber auch selbst gewusst.

Gruß Ralf

hi,

also ich habe hier ein Script vorliegen in dem es um die Datenbankmodellierung mit der UML geht. Allerdings läuft es auf dasselbe hinaus wie beim ER-Modell. Also seh ich das richtig, dass als Möglichkeit nur die Klassen als Tabellen und Attribute als Spalten bleibt?
Und ER-Modell und UML ist nur eine grafische Darstellung des Mappings?
Ebenso die Möglichkeit XML-Objekte auf Relationen abzubilden, mithilfe von Baumstrukturen u.ä.?

mfg chuqa

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hi,

also ich habe hier ein Script vorliegen in dem es um die
Datenbankmodellierung mit der UML geht. Allerdings läuft es
auf dasselbe hinaus wie beim ER-Modell. Also seh ich das
richtig, dass als Möglichkeit nur die Klassen als Tabellen und
Attribute als Spalten bleibt?

Im Groben ist das richtig, im Detail gibt dann schon eine Menge Wahlmöglichkeiten, einige hatte ich ja im vorigen Post schon angedeutet.

Und ER-Modell und UML ist nur eine grafische Darstellung des
Mappings?

Nein. Es nicht die Darstellung des Mappings, sondern die Darstellung der einen oder der anderen Seite des Mappings.

Ebenso die Möglichkeit XML-Objekte auf Relationen abzubilden,
mithilfe von Baumstrukturen u.ä.?

Äh … was ist damit?

Naja um XML-Dokumente auf Relationen abzubilden wird ein geordneter, gerichteter Graph als Hilfsstruktur benutzt, wobei jedes XML-Element durch einen Knoten repräsentiert wird. Beziehungen werden durch Kanten dargestellt. Die Werte der einzelnen Elemente werden durch Blätter symbolisiert. Naja und dann gibt es verschiedene Möglichkeiten diesen Graphen in eine Relation zu überführen. Man könnte z.B. die alle Kanten auf eine einzige Tabelle abzubilden (mit Quelle und Ziel). Oder man erstellt für jede Kante eine eigene Tabelle, so werden gleichnamige Kanten zusammengefasst. Es gibt noch weitere Möglichkeiten, z.B. dann auch für Dokumente, die eine DTD besitzen. Aber wie gesagt, für mich sieht das ähnlich wie das ER-Modell aus, nur spezifisch für XML-Dokumente.

mfg chuqa

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe das Gefühl irgendwas geht hier immer noch in die falsche Richtung.

Ein ER Modell ist eine Darstellung eines Datenbankmodells (im wesentlichen) Es macht keinerlei Aussage darüber, ob es aus der Analyse von fachlichen Anforderungen, einem Objektmodell (eventuell dargestellt mit Hilfe von UML) einem XML Dokument einem DTD Schema oder einem Zufallsgenerator entstanden ist.

Moin, chuqa,

Naja um XML-Dokumente auf Relationen abzubilden wird ein
geordneter, gerichteter Graph als Hilfsstruktur benutzt, wobei
jedes XML-Element durch einen Knoten repräsentiert wird.

könntest Du dafür bitte mal eine Quelle angeben?

Hier liegt wohl ein riesengroßes Missverständnis vor. Wenn ein XML-Dokument sauber aufgebaut ist, dann hat es zwangsläufig eine relationale Struktur.

Gruß Ralf

Ok jetzt hab ich es :wink:

Danke

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin, chuqa,

Naja um XML-Dokumente auf Relationen abzubilden wird ein
geordneter, gerichteter Graph als Hilfsstruktur benutzt, wobei
jedes XML-Element durch einen Knoten repräsentiert wird.

könntest Du dafür bitte mal eine Quelle angeben?

http://www.fmi.uni-passau.de/~gruber/Hauptseminar/Ha…

Hier liegt wohl ein riesengroßes Missverständnis vor.
Wenn ein XML-Dokument sauber aufgebaut ist, dann hat es
zwangsläufig eine relationale Struktur.

Gruß Ralf

Ja stimmt schon, hab das eben aus dem Dokument, in dem dieses Verfahren beschrieben wird.

mfg chuqa