Thread Mini Datenbank (8 answers)
Opened by der_thomas at 2013-10-13 11:26

der_thomas
 2013-10-14 21:52
#171157 #171157
User since
2013-09-07
158 Artikel
BenutzerIn
[default_avatar]
Quote
Wenn ich das allein Betrachte kommen ein paar Fragen auf...

Du hast recht, aus der Sicht anderer wird’s natürlich schwer, andererseits ist es wohl immer ein Spagat zwischen einfacher Anwendbarkeit und Flexibilität.
Als Extrembeispiel könnte ich eine Methode 'set_new_Autor' einführen, wäre klasse – aber eben nur in einer Bücherdatenbank ;)
Ich umging das ein wenig indem ich im Frontend Konstanten einführte, also zum Beispiel
AUTOR = 1 und temp[AUTOR] = „George“.
Letztendlich muss man wohl abwägen was einem wichtiger ist, eine superkomfortable Bedienung der Datenbankklasse bei der Programmierung des Frontends oder ein Maximum an Flexibilität.

Quote
...Warum werden alle Daten gelesen und wieder Zurück kopiert? Gibt es keine Funktion die Werte "Am Ort" verändert?...

Praktisch sieht es derzeit in meinem Programm so aus dass wenn ein Datensatz ausgegeben werden soll:
Dieser per temp = db.get_next_row() angefordert wird, als temp[] angekommen wird er auf die verschiedenen Textfelder der GUI Oberfläche verteilt.
Springt man nun zum nächsten Datensatz (im Frontend) werden zuerst die Inhalte aller Textfelder ausgelesen in die temp[] gepackt, der Datenbankklasse per db.set_new_content_in_row(temp)
zurückgeschickt, dort in die Tabelle reinkopiert und anschließend erfolgt der nächste
temp = db.get_next_row() ...und das Ganze beginnt von vorne...
Ist zwar viel hin und her kopiererei, aber ich erspare mir damit die Überprüfung ob an den Textfeldern im Frontend was verändert wurde und könnte sehr leicht einen Schreibschutz implementieren.
Elegant ist daran allenfalls dass es einfach ist und die Datenwege simpel und leicht prüfbar sind.

Hätten die Datensätze 100 oder mehr Spalten (Einträge pro Datensatz) bekäme ich hier sicherlich ein massives Performanceproblem, aber wie gesagt mehr als 15 Spalten werde ich kaum benötigen.

Quote
Was mache ich wenn ich eine DB in eine andere kopieren will, oder eine mit mehreren anderen Ergänzen will? Muss ich erst alle lesen und dann in die Finale schreiben? Ein Paket (Klasse) zu benutzen macht die Verwendung bei einer Db einfacher, aber sobald es mehrere werden wird es kompliziert.

Das ist zugegebenermaßen bisher weder vorgesehen noch mit den bisher vorhandenen Methoden umsetzbar - um ehrlich zu sein, daran dachte ich nicht mal ;)
Spontan würde ich es wohl recht hemdsärmlig lösen indem ich die Inhalte zweier Datenbanken mit einen 10 Zeiler Wegwerfcode zusammenfüge :)

Ich werde erst mal einen Schritt zurückmachen und das nochmal überdenken, zeitlich könnte ich das eh erst in drei Wochen in Angriff nehmen.
Danke für Deine Ausführungen, hilft mir sehr das Ganze mal aus einem anderen Blickwinkel zu betrachten.

View full thread Mini Datenbank