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

der_thomas
 2013-10-13 17:42
#171137 #171137
User since
2013-09-07
158 Artikel
BenutzerIn
[default_avatar]
Die Bindung der Datenbankklasse an das Frontend soll so lose wie nur möglich sein.
Die zugrunde liegende Idee ist die, dass diese ganzen 2D-Array-Operationen im Grunde immer die gleichen sind, egal um was für Daten es sich handelt.
z.B. „Neuen Datensatz anfügen“, "Datensatz (der im Frontend verändert wurde) wieder in die DB einbauen“ u.s.w.
Die Methoden der Datenbankklasse sollen so allgemein sein dass sie mit jeglichen Daten auskommen, d.h. Egal ob z.B. die Spalte Nr.3 Strings oder Int´s beinhaltet.
Und wenn hier ein Typ zwingend erforderlich ist, so 'kümmert' sich darum das Frontend.

Sollte es wirklich vorkommen dass mit dem Inhalt Berechnungen durchgeführt werden müssen, würde das im Frontend oder noch besser in einer spezialisierten Unterklasse der Datenbankklasse geschehen.

Mal als Beispiel eine vereinfachte Bücherliste:
Spalte 1 = Titel
Spalte 2 = Autor

Die Verbindung zwischen Frontend und Datenbankklasse wäre nur ein temporär genutztes eindimensionales Array a´la „1984“, „Orwell“.
Also z.B.
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
# Pseudocode des Frontends
# aktueller Datensatz in der db-Klasse = der Datensatz der vor "1984", "Orwell" in der Matrix steht.

@temp = db->get_next_row(); 
print  $temp[1];
>>> Orwell
$temp[1] = „George Orwell“;
db->set_row(@temp);
db->get_next_row();  #zum Test ein Sprung nach vorne in der db
db->get_previous_row();  # und wieder zurück zum '1984' Datensatz
print  $temp[1];
>>> George Orwell


Ein Frontend, das ich bei meinem bestehenden (Python)Programm nutze, kann beispielsweise gar keine Daten auf dem Bildschirm anzeigen, sondern erstellt nur geordnete *.txt Dateien in denen nur ein Teil der Spalten enthalten ist - auch hier ist dies aber nur das Frontend, die ganze Organisation des 2D Array´s übernimmt diese eine db-Klasse.
Last edited: 2013-10-13 17:45:02 +0200 (CEST)

View full thread Mini Datenbank