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]
BeispieleAngenommen, 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
|