@Sirius3
Datenbankfragen sind hiet trotz des Rubrik-Themas und der Tatsache, dass es um ein in Python realisiertes Programm mit einer Datenbank ja OffTopic, wo mich EyDu ja unmissverständlich drauf hingewiesen hat. Trotzdem möchte ich auf die für mich sehr wichtige Antwort reagieren.
Sirius3 hat geschrieben:Dein Datenbankmodel hat ein echtes Problem, wenn Du 33 Spalten hast. Das kann kein Mensch mehr sinnvoll überblicken.
Diese Tabellenspalte enthält ausschliesslich analoge (dedizierte ?) Daten, die einen Menschen (im weitesten Sinne medizinisch/psychosomatisch) beschreiben und so nicht noch ein zweites mal vorkommen. Es geht auch nicht um Kategorisierung, Mittelwerte, Maxima oder Minima sondern eher um Relationen zwischen einem Einzelnen mit allen Anderen. Schwer zu beschreiben !
Sirius3 hat geschrieben:Wenn Du ein ORM benutzt, sollte ein Parameter-count-mismatch aber auch nicht auftreten.
Die Entscheidung, SQLAlchemy nicht zu benutzen, habe ich unter anderem nach Diskussionen hier in diesem Forum getroffen. Unter .NET hatte ich vor zwei Jahren meine ersten Gehversuche mit ner SQL-Datenbank unternommen und dort (unbewusst) mit dieser ORM-Facility gearbeitet. Dass SQLAlchemie den gleichen objektorientierten Ansatz darstellt, war mir jetzt so nicht bewusst. Wäre mir das klar gewesen, hätte ich meine Entscheidung mit Sicherheit zugunsten SQLAlchemy getroffen. Nun denke ich darüber nach, das mittlerweile schon recht grosse Programm dankenbankmässig nun doch noch mal zurückzurollen. "Unwissenheit schützt vor Strafe nicht"

Dann habe ich aber wieder das Problem, dass ich noch nicht weiss, wie ich die PySide-Tableviews mit SQLAlchemy verknüseln soll. Da sind also erst mal wieder Rtfm und Probieren angesagt. Sonderlich gut ist das ganze im Internet nämlich nicht dokumentiert (oder ich war bislang zu blöd zum Suchen...). Als Praktiker brauch ich halt immer Beispiele, um es zu verstehen. References alleine reichen mir da erstmal nicht.
@EyDu
Ja, mit meinem Eiertanz mit C++ habe ich mir hier bei Einigen wohl einiges verdorben.
Wörterbücher fand ich anstatt von Arrays insofern den besseren Ansatz, weil man damit nicht mit Indizes in Form von Zahlen sondern mit "Synonymen" auf Elemente zugreifen kann. Wegen der Komplexität der Algorithmen fand ich das erstrebenswert. Mit Arrays hatte ich häufig mit falschen Indizes gekämpft.
Und was gibt es denn statt einer Datenbank als Container für eine Alternative ? Das Programm soll zunächst Einzeldaten (ein Individuum) und Ergebnisse von Vergleichs-DB-Scans mit OpenGL visualisieren. Später soll die Daten aber auch für das Herausarbeiten neuer Eigenschaften herangezogen werden, die wiederum in der DB gespeichert werden sollen.
Da dieses Programm die Synthese aus zwei Programmen aus früheren Zeiten (in C und Java) sein soll, in das alle meine Erfahrungen und Erkenntnisse mit diesen Programmen, Programmen anderer und der Materie überhaupt einfließen sollen, habe ich mir als Zeitrahmen für die Realisierung ein Jahr auf die Fahnen geschrieben. Deshalb werde ich auch sicherlich jeden guten Ratschlag eines Insiders in meinem Projekt berücksichtigen. Auf "halbe Sachen", die aus meiner Unwissenheit resultieren, habe ich nämlich keine Lust mehr.