SQL Querries and Memory daten stellen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

SQL Querries and Memory daten stellen

Beitrag von Warf »

Hey, ich hab ein etwas unorthodoxes Problemchen, ich hab ne ganze reihe an Daten, in text dateien, zum einen daten die einfach in einer CSV sind (also erste zeile gibt die spalten namen und jede andere zeile hat dann nur noch werte für diesen eintrag), bei dem die reihenfolge z.T. wichtig ist (kann aber auch aus den daten wieder hergestellt werden, da es ein zeit feld gibt), und dann habe ich eine datei die zwar auch CSV daten hat, aber überkategorien, also so etwas:

Code: Alles auswählen

Kategorie:
0,1,2,3,4,5
6,7,8,9,0,1
Kategorie2:
...

Wobei einige dieser zeilen referenzen auf ganze Kategorien sind (praktisch ein summary einer anderen kategorie).

So die daten lese ich bisher in entsprechende adäquate datenstrukturen ein (die CSV liste einfach in ein mehrdimensionales Array, die zweite datei in eine Liste von Listen). Jetzt muss ich auf diesen strukturen irgendwie arbeiten, und statt da jetzt Kilozeilenweise algorithmen schreiben zu müssen um die daten zu bearbeiten wollte ich wissen obs irgendwie komponenten gibt die sich praktisch wie eine In Memory SQL datenbank verhalten, sodass ich die werte reinschreiben kann und dann SQL queries an diese datenbank stellen kann, sobald das programm aber aus ist sollen auch alle daten wieder weg sein.

Am besten ohne separate dependencies (also einen MySQL server aufzusetzen ist für das problem viel zu aufwändig um den aufwand zu rechtfertigen)

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: SQL Querries and Memory daten stellen

Beitrag von Socke »

Warf hat geschrieben:Jetzt muss ich auf diesen strukturen irgendwie arbeiten, und statt da jetzt Kilozeilenweise algorithmen schreiben zu müssen um die daten zu bearbeiten wollte ich wissen obs irgendwie komponenten gibt die sich praktisch wie eine In Memory SQL datenbank verhalten, sodass ich die werte reinschreiben kann und dann SQL queries an diese datenbank stellen kann, sobald das programm aber aus ist sollen auch alle daten wieder weg sein.

Am besten ohne separate dependencies (also einen MySQL server aufzusetzen ist für das problem viel zu aufwändig um den aufwand zu rechtfertigen)

Du kannst dazu ganz einfach eine SQLite-Datenbank nutzen. Als Dateiname gibst du :memory: an. Damit werden deine Daten ausschließlich im Arbeitsspeicher gehalten. Funktioniert gleichermaßen mit SQLdb und ZEOS. Du brauchst eigentlich nur die passenden sqlite3.dll/.so-Dateien für dein Betriebssytem.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten