EyDu hat geschrieben:Vielleicht sollten wir uns ein wenig von dem abstrakten Beispiel lösen und das konkrete Problem betrachten. Was genau möchtest du denn modellieren? Um was für Dateien handelt es sich, was sind A und B und warum sollen die in eine Datenbank? Dann bekommst du hoffentlich eine saubere Lösung.
Modellieren brauche ich nicht mehr, weil ich das System in einem etwas kleineren Umfang schon in C, Java und C# umgesetzt habe und ein paar Leute damit auch schon länger arbeiten. Leider brauch man aber eigentlich alle 3 Programme, um alles machen zu können. Als Datentausch untereinander funktioniert momentan vorsintflutlich über speziell formatierte Textfiles, die gesamte Datenhaltung geschieht in einem C#-Programm in einer MS-SQL-Datenbank (tolles System, was ?
Ist halt naturgewachsen ! Aber stabil !
). Erst wollte ich das Java-Programm entsprechend für alle Funktionalitäten weiterentwickeln. Aber es macht z.B. einfach keinen Spass, Grafiken in Swing zu realisieren, ist auch nicht mehr ganz zeitgemäß. Es macht auch keinen Spass, immer einen Windows-Rechner (momentan eine VM) für die Datenbank haben zu müssen. Also habe ich mich dazu entschieden, alles jetzt noch einmal neu zu machen. Die Qt-Bibliotheken bieten mir alles, was ich benötige, Oberfläche, Grafik bis hin zu 3D, SQL-Datenbank (soll MariaDB werden), Web, etc.
Deshalb habe ich auch als erstes versucht, das Ganze mit C++ zu machen, weil die Qt-Programmierung damit am besten dokumentiert ist. Dafür war mir dann aber (wie hier jemand so schön sagte) meine Lebenszeit zu schade und jetzt möchte ich halt lieber ein wenig davon in Python investieren.
Mein Projekt also noch mal nochmal genauer abstrahiert:
Die Eingangsdaten bestehen aus, (nehmen wir mal exemplarisch z.B.)
Name, Vorname, Wohnort, Geburtsdatum, Gewicht, Datum der Gewichtsermittlung,
welche über eine Eingabe-Maske eingegeben werden oder von Textdatei geladen (oder gespeichert, soll dann XML werden).
Daraus werden dann z.B. unterschiedliche BMIs berechnet (in meinem Fall sind es etwas komplexere Rechnungen
und mehrere Werte
).
Diese Ergebnisse werden zusammen mit den Eingangsdaten in der Datenbank abgelegt.
Mehrere Datensätze aus der Datenbank lassen sich dann zur Auswertung zu "Arbeits-Sätzen" zusammenstellen.
Es lassen sich verschiedene Grafiken/Charts, wie z.B. Zeitverläufe erstellen.
That's it !
Als ToDo gibt es dann irgendwann noch ein Web-Interface.
Mein Subject momentan ist es jetzt erst mal, zu klären, wie ich die erforderlichen "Datenstrukturen" (so hieß das bei mir in Info) in Python abbilden kann. Da komm ich halt wegen der Typlosigkeit von Bezeichnern/Variablen/Objekten erst mal ins Schleudern, weshalb ich mich eigentlich auch hier hin gewandt hatte. Ist aber leider bis jetzt teilweise dumm (von mir) gelaufen.
EyDu hat geschrieben:pillmuncher hat dir ganz am Anfang schon einige Links zusammengestellt, die würde ich an deiner Stelle durcharbeiten. Dumm stellst du dich aber nicht an, manchmal stolpert man eben über etwas.
Ja, am Anfang tu ich mich immer schwer, aber wenn ich es dann einmal verstanden habe, dann auch richtig ! Gut Ding brauch halt bei mir Weil.
Die Links habe ich mir natürlich schon alle angeschaut (und in meiner Link-"Datenbank" verewigt), teilweise kannte ich sie schon, einige sind auch sehr interessant. In meinem Stadium wünsche ich mir aber eher noch etwas mit "Learnig by doing", wie in dem bereits halb durchgearbeiteten Tutorial
http://de.wikibooks.org/wiki/Python_unt ... cite_ref-6 (halb deshalb, weil die zweite Hälfte mehr auf die "Spezial-Pakete" eingeht und nicht auf die Sprache selbst). Natürlich habe ich parallel auch damit begonnen, erste Teile meines Programms in Python zu denken, zu strukturieren und zu schreiben. Hierfür hatte ich auch schon sämliche Entwicklungsumgebungen, die mir unter Manjaro-KDE/Arch/AUR zur Verfügung stehen, angetestet (auch einfach Konsole/Editor). Das war auch erst mal ein Weg. Habe mich jetzt für NinjaIDE
entschieden, PyCharm habe ich als Alternative auch noch installiert gelassen.