UML to ORM

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

Hallo!

hat jemand eine Idee, wie kann man automatisch UML-(Klassendiagramm) in der Datenbank speichern? geht das mit SQLAlchemy oder nicht?
Dafür habe ich eine Pakete heißt UML2ORM gefunden, aber diese Pakete funktioniert nicht so gut!!!!!

ich bin auf eure ideen/ euer wissen gespannt...
Danke, Wisjab
lunar

@wisjab: Möchtest Du nun ein UML-Diagramm in der Datenbank speichern, oder aus einem UML-Klassendiagramm ein Datenbankschema für SQLAlchemy (oder ein beliebiges anderes ORM) erzeugen?
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

@lunar: zuerst, danke für Deine Mühe,
ich möchte ein UML-Diagramm in der Datenbank speichern mit der Verwendung von einem ORM. Ist das Möglich oder nicht? soll ich einem Zwischenschritt machen?
deets

Diese Antwort stiftet nur nUr noch mehr Verwirrung. Ich vermute mal, du willst aus einem UML Diagramm ein IRM Modell erstellen? Wenn ja, Rate ich für Java zu verwenden - dort ist solcher Unsinn weit verbreitet. In Python macht man meistens einen Bogen darum - und ist trotzdem schneller am Ziel.
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

@deets: Vielen Dank für die Antwort, aber leider brauche ich kein IRM-Modell.
BlackJack

@wisjab: Ich gehe jetzt mal davon aus, dass deets hier eine Taste daneben erwischt hat, und ORM statt IRM schreiben wollte. Das dürfte nichts am Rest der Antwort ändern.
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

deets hat geschrieben:In Python macht man meistens einen Bogen darum - und ist trotzdem schneller am Ziel.
Das klingt interessant, wie genau würde dieser Bogen denn aussehen?
lunar

@wisjab: Der Bogen besteht darin, UML einfach gar nicht zu verwenden.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

wisjab hat geschrieben: ich möchte ein UML-Diagramm in der Datenbank speichern mit der Verwendung von einem ORM. Ist das Möglich oder nicht? soll ich einem Zwischenschritt machen?
So wie das klingt geht es dir nicht darum aus dem UML-Diagramm einen objektrelationalen Mapper zu erstellen. Korrekt?

Es klingt so, als wolltest du einfach die Daten des Modells in der Datenbank speichern. In welcher Form liegen die Daten denn vor?
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

/me hat geschrieben: So wie das klingt geht es dir nicht darum aus dem UML-Diagramm einen objektrelationalen Mapper zu erstellen. Korrekt?

Es klingt so, als wolltest du einfach die Daten des Modells in der Datenbank speichern. In welcher Form liegen die Daten denn vor?
Ja, genau, die Daten liegen in (XMI-Format) vor.
BlackJack

@wisjab: Tja, dann mal die offensichtliche Antwort: Einfach in ein Textfeld oder ein „Blob” speichern. Für alles andere müsste man wissen was Du mit den Daten eigentlich vorhast.
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

BlackJack hat geschrieben:Einfach in ein Textfeld oder ein „Blob” speichern
Aber in diesem Fall werden die Daten (als Block) in der Datenbank gespeichert, nicht als Objekte (Klassen), und verliert man auch die Beziehungen zwischen diesen Objekten. Ist das korrekt, oder??
deets

Ja, das ist korrekt. Aber da du nicht verraetst, was genau du eigentlich vorhast, kann man da auch wenig zu sagen. Ich habe immer noch keine Ahnung, was du *wirklich* machen willst. Beschreib doch mal, was man in dem UML so formuliert, und wie sich das dann in der DB niederschlagen soll. Und was du dann auch noch damit anstellen willst.

Abgesehen davon stehen hier ja 2 Szenarien zur Wahl: UML Modellierung zur DB-Modellierung benutzen, oder UML-Daten selbst speichern. Ich bin mir nach wie vor nicht wirklich sicher ,dass die 2te deine Idee ist - aber wenn dem so waere, dann sehe ich nicht, was dir das bringt - denn du hast doch eine XML-Datei, da steht doch alles drin. Was bringt dir da ne DB?
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

@deets: Vielen Dank für Deine Hilfe.
Meine Aufgabe kann ich so erklären, wenn ich zum Beispiel ein UML-Klassendiagramm mit zwei Klassen (Admin-Klass und Kunde-Klass), natürlich mit Attribute und Beziehungen entwerfen möchte, Dann exportiere ich dieses Diagramm als XMI-Datei. Meine Frage ist: wie kann ich dieses Diagramm (jetzt als xmi-Datei) mit Attribute und Beziehungen in der Datenbank speichern, und nachher mit der Verwendung von ORM die Daten in diesen Klassen speichern oder zurück bekommen (zBsp. die Speicherung von Users-Namen mit Adressen und,... ). Das bedetet die DB-Modellierung mit UML und die DB-Verwendung und Steuerung mit Python-ORM
deets

Dachte ich es mir doch. Und ich halte es fuer ziemlichen Unsinn. UML ist ein Kommunikations-Tool, alles, was daraus Code generiert ist IMHO fuer die Tonne. Wie gesagt, in der Java-Welt ist sowas aus irgendwelchen Gruenden verbreiteter - wahrscheinlich, weil die an Enterprisiness leidet. In Python gibt's solche Tools eher nicht. Du kannst natuerlich einen Code-Generator selbst schreiben, oder uml2orm patchen - aber das Projekt scheint ja recht tot zu sein.

Ich wuerde UML nur fuer die groben Zuege benutzen (wenn du musst oder es dir hilft, weil es visuell ist) - aber konkrete Modelle dann in SQLAlchemy Declarative machen. Von Hand. Du programmierst ja auch den Rest von Hand, und gerade bei ORM sind ja auch diverse Hilfsmethoden die man auf Modellen erstellt (auch wenn man da vorsichtig sein muss, und nicht zu viel machen sollte!!) interessant - und die spuckt dein UML dir garantiert nicht aus.
wisjab
User
Beiträge: 11
Registriert: Donnerstag 29. März 2012, 14:06

@deets: Vielen Dank für Deine Mühe
Antworten