Hauptmenü
SQLite ist eine textbasierte Datenbank. Sie ist schlank und schnell; und außerdem ist sie kostenlos. Damit laasen sich alle denkbaren Datenbankanwendungen realisieren.
Bei Übernahme von Daten in eine Datenbank müssen diese in Stringform vorliegen. Numerische Daten sind also in Strings umzuwandeln.
Echte Strings sind in einfache Anführungszeichen einzufassen, bei in Strings umgewandelte numerische Daten entfällt das.
Log-
Tabellen
Die Daten einer Datenbank sind in einer oder mehreren Tabellen gespeichert. Die wichtigste und umfangreichste Tabelle ist die Log-
Für eingehende SWL-
Diesen konnte das System nicht verarbeiten.
Also habe ich eine SWL-
In der Log-
Wieviele Spalten diese Tabelle hat, hängt von den persönlichen Vorlieben des Operators ab. Das ist auch bei mir der Fall.
Neben den Daten der Gegenstation gibt es Spalten für den eigenen Locator, die eigenen Referenzen für COTA, ETPA und SOTA sowie für Prefix (bei Auslandaktivitäten) und "/m" bzw. "/p" Zusätze.
Für das benutzte eigene Rufzeichen gibt es auch eine Spalte, denn neben "DK1IO" kann ich auch das Klubrufzeichen unseres OV benutzen, "DL0NRU". Und für fast ein Jahr hatte ich das Sonderrufzeichen "DL100OUI" zu Verfügung. Aus Platzgründen werden statt der einzelnen Rufzeichen die Buchstaben "A", "B" und "C" verwendet.
Prefix-
Diese Tabelle ermöglicht es, aus dem Rufzeichen der Gegenstation das Land zu ermitteln.
Grundlage dafür ist Prefixzuteilung der ITU. Damit ist sichergestellt, dass auch Sonderrufzeichen einem Land zugeordnet werden können.
Es gibt jedoch Problemfälle, bei denen das nicht so ohne Weiteres möglich ist:
-
einem Land ist nur mit dem QSO-
-
Der Rufzeichenblock "N" ist jedoch den USA zugeteilt. Dieses Problem kann aber programmtechnisch gelöst
werden.
In der Prefix-
In meiner Heimstation wird ab einer Leistung von 50W die PA zugeschaltet. In der Tabelle sind die Werte der Steuerleistungen für die in Stufen veränderbaren Ausgangsleistungen enthalten.
Band-
Diese Tabelle enthält die für die einzelnen Bänder in den jeweiligen Betriebsarten vorgesehenen Frequenzen.
Sie kann auch für die Konversion Frequenz <-
Hier sind die Standardtexte für CW und PSK gespeichert, die durch Buttonklick abgerufen werden.
Start-
In dieser Tabelle gibt es nur eine Zeile. Die Spalten enthalten Daten für die Initialisierung des Funkgerätes sowie für bestimmte Aktivitäten.
SQLiteExpert
Ein sehr nützliches Werkzeug für den Umgang mit SQLite-
In der Personal Edition ist SQLiteExpert auch kostenlos. Kann ich allen SQLite-
In SQLiteExpert kann man direkt SQL-
Wenn man, aus welchen Gründen auch immer, ein QSO nachträglich eingibt, passt das nicht in die zeitliche Reihenfolge, denn neue Datensätze werden am Tabellenende angefügt.
Wer nun in der Logtabelle die zeitliche Reihenfolge gewahrt haben möchte, kann eine neue Tabelle anlegen, in der diese Bedingung erfüllt ist.
Ist ganz einfach:
Damit wird aus der Logtabelle Tab_Log eine neue Tabelle Tab_Log1 generiert, die nach Datum und UTC sortiert ist. Wenn man die neue Tabelle für gut befunden hat, kann die alte gelöscht werden und Tab_Log1 in Tab_Log umbenannt werden.
Es ist empfehlenswert, danach VACUUM auszuführen, um ein Aufblähen der Datenbank zu vermeiden.
Abfragen
Abfragen sind das Salz in der Datenbanksuppe. Damit können Daten aus verschiedenen Tabellen verknüpft und angezeigt werden.
Eine einfache Abfrage sieht prinipiell so aus: SELECT Spaltenauswahl FROM Tabelle WHERE Bedingung
Spaltenauswahl bestimmt die Anzahl der Ergebnispalten und steht für einzeln genannte Spalten, getrennt durch Komma, oder * für alle Spalten der Tabelle.
Bedingung bestimmt die Anzahl der Ergebniszeilen. Es können mehrere Bedingungen eingesetzt werden, vebunden durch AND oder OR.
Fehlt WHERE Bedingung, werden alle Zeilen der Tabelle angezeigt.
Um z. B. aus der Logtabelle alle QSOs mit deutschen Stationen anzuzeigen, kann folgende Abfrage gestartet werden:
SELECT * FROM Tab_Log WHERE DXCC = 230
Wer nur die Anzahl der QSOs mit deutschen Stationen wissen möchte, startet diese Abfrage:
SELECT COUNT(*) FROM Tab_Log WHERE DXCC = 230
Es erscheint nur eine Zeile mit dem Ergebnis.
In dieser Zahl sind natürlich auch Doppel-
Um die Anzahl der unterschiedlichen deutschen Stationen zu erhalten, muss die SQL-
Jetzt noch ein Beispiel für die Verknüpfung von zwei Tabellen. Es soll ermittelt werden, wieviele der Stationen der letzten Abfrage Mitglied im EPC sind.
SELECT COUNT(*) FROM
(SELECT DISTINCT Rufzeichen FROM Tab_Log WHERE DXCC = 230) AS A,
(SELECT Rufzeichen FROM Tab_EPC_Members) AS B
ON A.Rufzeichen = B.Rufzeichen
Jetzt noch ein Beispiel für die Outdoorleute, die Digimodes betreiben. Wenn man z. B. SOTA gemacht hat, möchte man ja die QSOs, die wahrscheinlich auf einem Tablet oder Laptop gespeichert sind, in das Hauptlog der Heimstation übernehemn.
Dafür gibt zwei Möglichkeiten:
1. Man kopiert die mobile/portable Datenbank auf einen USB-
2. Man meldet beide Computer in einer Heimnetzgruppe an
Das weitere Vorgehen ist für beide Varianten gleich:
Zusätzlich zu der Heimdatenbank wird unter dem Menüpunkt "File" die mobil/portabel-
Die m/p-
Anschließend die Logtabelle in der Heimdatenbank markieren, zum letzten Datensatz springen, mit Klick auf <+> einen neuen (leeren) Datensatz einfügen, diesen markieren und nach Rechtsklick mit <Paste Records> die in der Zwischenablage gespeicherten Zeilen einfügen.
Nach Klick auf "OK" dauert es einen Moment, dann sind die Datensätze übernommen.
Es ließen sich noch viele Beispiele anführen, die gezeigten sollten aber ausreichen, um das Interesse für die Beschäftigung mit Datenbanken zu wecken.