SQLITE Grundsatzfrage
SQLITE Grundsatzfrage
Hallo zusammen.
Ich möchte eine Datenbank mit SQLITE aufbauen, 1 Tabelle mit ca. 120 Spalten (Text und Zahlen) und vielleicht 1000-2000 Datensätzen.
Frage: Muss ich beim Anlegen für jede Spalte auch zwingend den Datentyp angeben?
Achja.. in der DB sollen nur Datensätze angelegt, gesucht und gelöscht werden, also keine komplizierten Abfragen oder sonstiges.
Reinhard
Ich möchte eine Datenbank mit SQLITE aufbauen, 1 Tabelle mit ca. 120 Spalten (Text und Zahlen) und vielleicht 1000-2000 Datensätzen.
Frage: Muss ich beim Anlegen für jede Spalte auch zwingend den Datentyp angeben?
Achja.. in der DB sollen nur Datensätze angelegt, gesucht und gelöscht werden, also keine komplizierten Abfragen oder sonstiges.
Reinhard
Re: SQLITE Grundsatzfrage
Nein, musst Du nichtRAaBe hat geschrieben:Frage: Muss ich beim Anlegen für jede Spalte auch zwingend den Datentyp angeben?
Create Table myTable (myField1, myField2, myField3, ...)
reicht völlig aus.
Grüße ... Kiffi
a²+b²=mc²
Re: SQLITE Grundsatzfrage
Danke für deine schnelle Antwort.
Reinhard
Reinhard
Re: SQLITE Grundsatzfrage
120 Spalten? Eine Datenbank sollte aus mehreren Tabellen bestehen, mit möglichst
wenig Spalten - Stichwort: Normalisierung.
Wenn Du alles in einer Tabelle ablegst, werden die Daten stark redundant und
die Performance geht in die Knie.
Such mal im Netz nach SelfSQL...
wenig Spalten - Stichwort: Normalisierung.
Wenn Du alles in einer Tabelle ablegst, werden die Daten stark redundant und
die Performance geht in die Knie.
Such mal im Netz nach SelfSQL...
"Papa, ich laufe schneller - dann ist es nicht so weit."
Re: SQLITE Grundsatzfrage
Hi, in den Spalten steht meistens nicht viel drin. Ein paar Zustandsabfragen und Messwerte. Leider muss ich die Daten nach 3 Monaten sowieso wieder löschen (Datenschutz).
Muss ich eigentlich eine ID-Spalte einfügen? Ich verstehe den Sinn von ID nicht so richtig.
Reinhard
Muss ich eigentlich eine ID-Spalte einfügen? Ich verstehe den Sinn von ID nicht so richtig.
Reinhard
Re: SQLITE Grundsatzfrage
ID (wenn mit dem Datentyp 'INTEGER PRIMARY KEY AUTOINCREMENT' versehen)RAaBe hat geschrieben:Muss ich eigentlich eine ID-Spalte einfügen? Ich verstehe den Sinn von ID nicht so richtig.
stattet jeden Datensatz mit einem eindeutigen Merkmal aus. Das spielt eine Rolle
bei Update oder Delete - Queries und bei Verknüpfungen von Tabellen.
Wenn Du in Deinen 120 Spalten bereits eine eindeutige Zeilenkennung hast,
dann brauchst Du nicht unbedingt eine ID hinzuzufügen.
Grüße ... Kiffi
a²+b²=mc²
Re: SQLITE Grundsatzfrage
Danke dir, ich kann die ID ja mal in die erste Spalte einfügen.
Reinhard
Reinhard
Re: SQLITE Grundsatzfrage
Hallo, das mit SQLITE klappt wunderbar. Das mit der ID macht auch sinn, tja man lernt ja nie aus.
Aber ich habe da noch eine Frage: es gibt ja den Befehl: VACUUM. der funktioniert soweit, aber hat der auch irgend welche Nachteile im alltäglichen Gebrauch der Datenbank?
MfG
Reinhard
Aber ich habe da noch eine Frage: es gibt ja den Befehl: VACUUM. der funktioniert soweit, aber hat der auch irgend welche Nachteile im alltäglichen Gebrauch der Datenbank?
MfG
Reinhard
Re: SQLITE Grundsatzfrage
ich benutze das selten bis gar nicht. Bläht sich dennRAaBe hat geschrieben:es gibt ja den Befehl: VACUUM. der funktioniert soweit, aber hat der auch irgend welche Nachteile im alltäglichen Gebrauch der Datenbank?
Deine DB so sehr auf, dass Du sie 'komprimieren' musst?
Ansonsten habe ich noch nichts nachteiliges bzgl. dieses
Befehls gelesen oder gehört. Der Vorgang dauert natürlich
(je nach Größe der DB) etwas. Das solltest Du (grade wenn
Du eine GUI hast) berücksichtigen.
Grüße ... Kiffi
a²+b²=mc²
Re: SQLITE Grundsatzfrage
Hallo Kiffi, wird bei VACUUM die DB den komprimiert? Ich dachte die wird aufgeräumt, nachdem man Datensätze gelöscht hat, damit sie wieder kleiner wird.
MfG
Reinhard
MfG
Reinhard