development:schema
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
development:schema [2010/07/23 01:34] – angelegt steffenvogel | development:schema [2011/05/29 13:10] – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
- | Hier habe ich mal eine Übersicht aller Daten (Enities) | + | Auf dieser Seite beschreibe |
- | ===== Daten ===== | + | |
- | ==== Kanäle | + | ===== Objekte (" |
- | Kanäle sind laut unserer [[development: | + | |
- | Folgende Daten sind mit einem Kanal verbunden: | ||
- | * ein Name | ||
- | * eine Beschreibung | ||
- | * eine globale UCID - **U**nique **c**hannel **ID** (ist weltweit eindeutig, und wird für die Controller -> Server API benötigt) | ||
- | * eine interne ID | ||
- | * die Messgröße des Kanals | ||
- | * die Auflösung/ | ||
- | * die Kosten des Kanals (hauptsächlich für Pulszähler interessant) | ||
- | ==== Messwerte | + | ==== Typen ==== |
- | Die Messwerte bestehen aus folgenden Daten: | + | |
- | * Referenz auf Kanal (Foreign Key über interne Kanal-ID) | + | |
- | * Zeitstempel (ordnet jeden Messwert einem genauen Zeitpunkt zu, sollte mindestens in Millisekunden Auflösung gespeichert werden) | + | |
- | * Wert (enthält den absoluten Messwert eines Sensors oder die Anzahl der Pulse eines Pulszählers nach dem letzten Messwert, je nach Typ des durch Kanal[ID] referenzierten Kanals) | + | |
- | ==== Gruppierung | + | [[http:// |
+ | |||
+ | === Kanäle (" | ||
+ | Kanäle sind nach unserer [[development: | ||
+ | |||
+ | Sie können [[# | ||
+ | |||
+ | === Gruppierung (" | ||
Die Gruppierung der Zähler hat mehrere Aufgaben: | Die Gruppierung der Zähler hat mehrere Aufgaben: | ||
Zeile 38: | Zeile 31: | ||
* eine Gruppe kann selbst in mehreren Gruppen enthalten sein (Rekursion) | * eine Gruppe kann selbst in mehreren Gruppen enthalten sein (Rekursion) | ||
- | ===== Referenzierung ===== | + | ==== Eigenschaften (" |
- | ==== global (weltweit) ==== | + | [[http://github.com/ |
- | Im Daten Abschnitt fielen schon mehrmals die Begriffe UCID, UGID usw. Gemeint sind damit [http://de.wikipedia.org/wiki/Universally_Unique_Identifier UUID]s gemäß [http://tools.ietf.org/html/rfc4122 RFC4122]. | + | |
- | Diese IDs können eine Gruppe, einen Kanal usw. weltweit | + | ==== Referenzierung ==== |
+ | |||
+ | === global (weltweit) === | ||
+ | Ein wichtiger Bestandteil unserer API ist die weltweit eindeutige Referenzierung aller Entities durch eine [[http:// | ||
+ | |||
+ | Die UUID's werden immer durch die Middleware zufällig generiert um die Kollisionsgefahr | ||
Das ganze hat Vorteile: | Das ganze hat Vorteile: | ||
- | * einmal installiert behält ein Zähler immer seine UCID | + | * einmal installiert behält ein Zähler immer seine UUID |
- | * das Mergen von Backends | + | * das Mergen von Middlewares |
* bieten durch ihre Komplexität einen gewissen Zugriffsschutz | * bieten durch ihre Komplexität einen gewissen Zugriffsschutz | ||
Zeile 54: | Zeile 51: | ||
* schwer zu merken | * schwer zu merken | ||
- | ==== lokal (auf dem Backend) ==== | + | === lokal (auf der Middleware) === |
- | Um Speicherplatz zu sparen nutzt das Backend | + | Um Speicherplatz zu sparen nutzt die Middleware |
+ | |||
+ | ===== Messwerte (" | ||
+ | Die Messwerte bestehen aus folgenden Daten: | ||
+ | * Referenz auf Kanal (Foreign Key über interne Kanal-ID) | ||
+ | * Zeitstempel (ordnet jeden Messwert einem genauen Zeitpunkt zu, sollte mindestens in Millisekunden Auflösung gespeichert werden) | ||
+ | * Wert (enthält den absoluten Messwert eines Sensors oder die Anzahl der Pulse eines Pulszählers nach dem letzten Messwert, je nach Typ des durch Kanal[ID] referenzierten Kanals) |
development/schema.txt · Zuletzt geändert: 2015/02/18 16:30 von andig