Frage zu SQLite-Datenbank

Hallo,
ich habe eine App auf meinem Smartphone, die GPS-Einträge in einer SQLite-Datenbank speichert. Jetzt wollte ich mir die GPS-Einträge mal anschauen, habe aber folgendes Problem: Die Tabelle mit den GPS-Daten enthält viel weniger Einträge als erwartet. Die Datenbank-Datei ist ca. 6MB groß. Speichere ich alle Tabellen als Textdatei kommen die zusammmen nur auf ca. 100kB. Kann es sein, dass die Datenbank defekt ist, so dass die Tabellen irgendwie abgeschnitten sind? Oder wofür wird der restliche Speicherplatz benötigt? Neben den Tabellen sind in der Datenbank 10 Index-Objekte.
Wie ihr merkt, kenn ich mich mit diesen Datenbanken nicht so aus, aber vielleicht kann mir ja jemand weiterhelfen.
Vielen Dank!

Hallo cons123,

ich habe eine App auf meinem Smartphone, die GPS-Einträge in
einer SQLite-Datenbank speichert. Jetzt wollte ich mir die
GPS-Einträge mal anschauen

Mit was auf welchem System(OS)?

habe aber folgendes Problem: Die
Tabelle mit den GPS-Daten enthält viel weniger Einträge als
erwartet. Die Datenbank-Datei ist ca. 6MB groß.

Für Mac gibt es einen konfortablen SQlite-Editor, mit dem du so Einträge abfragen kannst…unter Linux (gibt es evtl. was ähnliches), ich würde es spontan mit python machen:

import sqlite3
con = sqlite3.connect("test.db")
c=con.cursor()
c.execute('''select \* from deinertabelle''')

und schon hast du alle Einträge, da deine DB ja 6MB besitzt, sind diese auch definitiv vorhanden.

Speichere ich
alle Tabellen als Textdatei kommen die zusammmen nur auf ca.
100kB.

Hier sind zich Fehlerquellen möglich, da du nicht beschreibst, mit was , wie du das gemacht hast, wird es schwer dir zu helfen.

Kann es sein, dass die Datenbank defekt ist, so dass
die Tabellen irgendwie abgeschnitten sind? Oder wofür wird der
restliche Speicherplatz benötigt? Neben den Tabellen sind in
der Datenbank 10 Index-Objekte.

…wie auch immer…die DB wird wohl korrekt sein, (6MB, was da ist, ist da und kann man dann auch auslesen)…schreib mal bitte dein OS und mit was du sie ausliest!

Ansonsten benutz einfach den Pythoncode den ich dir geschrieben habe der funktioniert auch unter Windows…

Gruß XXD

Hi!

Die Datenbank-Datei ist ca. 6MB groß. Speichere ich
alle Tabellen als Textdatei kommen die zusammmen nur auf ca.
100kB.

Ganz normal.

Kann es sein, dass die Datenbank defekt ist, so dass
die Tabellen irgendwie abgeschnitten sind?

Kann sein.

Oder wofür wird der
restliche Speicherplatz benötigt? Neben den Tabellen sind in
der Datenbank 10 Index-Objekte.

Für die Indizes und all dem anderen Datenbankzeugs; dazu kommt noch die tatsächliche Größe eines Records und jene, die in der DB hierfür benötitgt wird, in jeder DB variiert.

Wie ihr merkt, kenn ich mich mit diesen Datenbanken nicht so
aus

Man merkt es sogar sehr :wink:

Was passiert, wenn Du ein Textfile komprimierst (ZIP o.ä.)? Es wird kleiner, da „unnötiger“ Ballast weggelassen wird und ein Komprimieralgorithmus angewandt wird.
Bei einer Datenbank ist es ähnlich: Du hast „unnötigen“ Ballast (freie Blöcke in den Records, feste Feldlängen, aber kürzere Werte, generell die Blockgröße, u.ä.).

Um das Ganze ausführlich zu erklären, würde ein DB-Kurs nötig sein.

Grüße,
Tomh

Hi,

es könnte sich um eine Spatialite Datenbank handelt. Dafür gibt es eigene Software zu betrachten/bearbeiten: http://www.gaia-gis.it/gaia-sins/