collection
|
Die Datenbank ist
das zentrale Bindeglied zwischen pdr und pdx. Um ihre
interne Gestalt muß sich der Benutzer normalerweise
nicht kümmern. Der Benutzer arbeitet über die
Programme pdr und pdx fast ausschließlich mit sog. collections
(Meßreihen). Dies ist ein Konzept: Eine collection speichert
alle Werte jeweils eines konkreten Meßparameters
zusammen mit je einem eindeutigen Zeitstempel:
[...]
2008-12-17 21:45:00 5.9
2008-12-18 05:00:00 6.1
2008-12-18 12:45:00 5.3
2008-12-18 18:45:00 5.3
2008-12-18 21:45:00 4.7
2008-12-19 05:00:00 5.2
2008-12-19 12:45:00 5.4
2008-12-19 18:45:00 4.7
2008-12-19 21:45:00 5.7
[...]
Wenn fünf verschiedene Meßparameter aufzuzeichnen
sind, werden auch fünf collections benötigt. Der Benutzer
kann mit pdr solche collections
jederzeit anzeigen, nach Bedarf und in beliebiger Anzahl
anlegen und auch wieder löschen.
Jede collection
trägt einen eindeutigen
Namen. Dieser Name ist eine Kombination aus
folgenden Zeichen:
A...Z a...z _ * + !
? ^ ° § $ / & [ ] { } = ~
Groß- und Kleinschreibung werden unterschieden. Die
Anzahl der collections
und die Länge ihres Namens sind nicht beschränkt.
Hinweis: Aufgrund dessen, daß diese
Namen in Ausdrücken und deshalb sehr häufig,
nämlich bei jeder Eingabe, verwendet werden, sollten
sie möglichst kurz sein. Es spricht nichts dagegen,
einzelne Buchstaben zu vergeben.
Zwei collections
haben feste Namen: *
und #. Erstere
ist die sog. default collection, sie ist vom Typ numeric. Die andere
ist die Kommentar-collection,
sie ist vom Typ text.
Diese beiden collections
müssen nicht explizit angelegt werden, sie existieren
immer. Der Grund der Existenz dieser beiden collections ist ihre
spezielle (namenlose) Benutzung in Ausdrücken. Man
sollte sie folglich beide für den jeweils
häufigsten Anwendungsfall benutzen.
collections haben
je einen konkreten Typ,
der für alle ihre Datenwerte zutrifft und beim Anlegen
vereinbart werden muß. Gemischte collections sind
konzeptionell nicht vorgesehen. Es gibt drei mögliche
Typen:
- numeric (Gleitkommazahlen
mit doppelter Genauigkeit)
- ratio
(ein Paar von zwei
Gleitkommazahlen, gedacht für Blutdruckangaben)
- text
(Zeichenkette beliebiger Länge,
für Kommentare o.ä.)
|
expression |
pdr wertet bei der Eingabe
über e-mail-Postfächer, die Kommandozeile oder
Textdateien sog. Ausdrücke aus. Jede Zeile wird als ein solcher
Ausdruck betrachtet und interpretiert. Ein Ausdruck kann
verschiedene Meßparameter (also Datenwerte) enthalten,
weshalb man bekanntgeben muß, welcher Wert in welche collection gelangen
soll. Hierfür steht eine einfache Syntax zur
Verfügung, der Name der collection wird an den Wert
angehängt:
[Datum] [Zeit] (Wert[collection])* [; Kommentar]
Diese Definition besagt:
- die gesamte Zeile bildet einen Ausdruck
- Datum und Zeitangabe sind optional, erfolgt keine oder
eine teilweise Angabe, so werden das aktuelle Datum und
die aktuelle Uhrzeit benutzt, um die Eingabe zu
ergänzen
- Datum und Zeit gelten für den gesamten Ausdruck,
alle nachfolgenden Werte und auch eventueller Kommentar
auf dieser Zeile erhalten denselben Zeitstempel
- es folgen 0 oder beliebig viele Wert-collection-Paare,
d.h. ein Wert und der Name einer collection ohne
Leerraum dazwischen, der collection-Name ist optional, wird
kein collection-Name
angegeben,
so
wird
automatisch
die
default collection
benutzt
- optional kann hinter einem Semikolon noch Kommentar
angegeben werden, als Kommentar gilt alles Nachfolgende
bis zum Zeilenende
Hinweis: wenn innerhalb ein und desselben
Ausdrucks zwei Werte für ein und dieselbe collection angegeben
sind, so wird nur der hintere übernommen, denn es
kann pro Zeitstempel in einer collection nur einen Wert geben.
Datum und Uhrzeit besitzen eine konkrete, nicht lokalisierte
Syntax, die strikt einzuhalten ist:
[CCYY-]MM-DD
sowie hh:mm[:ss]
Beispiele
Angenommen, wir haben folgende numerische collections in der
Datenbank vereinbart: l,
m, n, dazu ohnehin * und #. Folgende
Ausdrücke wären somit korrekt:
5.2
(implizite
Verwendung der default
collection)
5.2*
(explizite
Verwendung der default
collection)
5.2 8l 7n 1m
75/123
(collection /)
"Dies ist eine Zeichenkette"z
2009-08-16
12:34 5.3 9n ; dies ist mein Kommentar
23:45 15l
; nur Kommentar
Es ist zu bemerken, daß das Primat hier klar auf
leichter Eingabe liegt, auch wenn es im ersten Moment ein
wenig kryptisch anmutet. Diese Ausdrücke (siehe die
ersten drei Zeilen) sind auch auf Mobiltelefonen wirklich
leicht zu schreiben. Gelesen werden müssen sie nur von
einer Maschine. Man kann solche Ausdrücke, falls
tatsächlich einmal keine Möglichkeit besteht,
Daten zu übermitteln, auch leicht in einen Texteditor
eingeben oder selbst auf einen Zettel schreiben und
später abtippen.
|
.pdrxrc
|
Der Begriff
"Konfigurationsdatei .pdrxrc"
wird synonym gebraucht. Es kann mehrere solche Dateien immer
gleichen Aufbaus an verschiedenen Standorten geben, die sich
gegenseitig verdecken. Die Suchreihenfolge ist wie folgt:
- Zunächst kann es im aktuellen Verzeichnis eine
Datei namens .pdrxrc
geben.
- Existiert eine solche nicht, suchen die Programme im
HOME-Verzeichnis des Benutzers nach einer Datei .pdrxrc.
- Existiert auch diese nicht, wird im Verzeichnis ~/.config/pdrx
eine Datei namens pdrxrc (ohne Punkt)
gesucht. Diese gilt als default-Konfiguration.
Normalerweise wird man nur letztere haben. Die ersten beiden
Möglichkeiten sind einerseits historisch entstanden,
haben allerdings andererseits für Tests noch ihre
Bedeutung.
|
rejection
|
pdr: es kann vorkommen, dass
expressions, die
zur Eingabe anstehen, wegen inkorrekter Schreibweise oder
anderer Fehlern nicht verarbeitet werden können,
beispielsweise bei e-mails ergibt sich daraus das Problem,
daß eine solche Nachricht fortlaufend immer wieder zur
Verabreitung anstünde und wieder dasselbe Problem
hervorriefe, aus diesem Grund gelangen solche
unverarbeiteten Ausdrücke in die rejections, eine
spezielle Tabelle mit zurückgewiesenen Daten, die aber
korrigiert werden können
|
selection |
pdx: eine Auswahl von Werten
einer collection,
mit dem gerechnet werden kann, die Auswahl erfolgt nach
zeitlichen Kriterien und darf auch Lücken enthalten
|
timespan, time duration
|
eine Zeitdauer beliebiger
Länge, die kleinste Einheit ist 1s
|
timestamp |
ein konkreter Zeitpunkt in
der Geschichte mit Sekundengenauigkeit, enthält immer
Datum und Uhrzeit
|