Article View: pl.comp.bazy-danych
Article #195516Re: struktura bazy do zbierania danych z czujników
From: irq
Date: Thu, 08 Feb 2018 16:36
Date: Thu, 08 Feb 2018 16:36
13 lines
3278 bytes
3278 bytes
Przepraszam Cię za zaśmiecenie wątku poboczną dyskusją z poboczną osobą. Nie mogłem się opanować, ale osobie chyba właśnie o to chodzi. W dniu poniedziałek, 5 lutego 2018 23:52:45 UTC+1 użytkownik baItiz napisał: > Będę zbierał dane z czujników typu temperatura wewnętrzna i zewnętrzna, > wilgotność względna, ciśnienie powietrza. Lista nie jest zamknięta i > mogą dojść kolejne np. strumień świetlny, stężenie pyłów w powietrzu. > Dlatego proponuję Ci abyś wyraźniej rozdzielił zadanie składowania zdarzeń od zadań raportowania. Do składowania przygotuj sobie jak najprostszą, być może partycjonowaną, tabelę pomiarów, zawierającą pary klucz-wartość, typu text - model EAV?. Będzie odporna na ewentualne przyszłe zmiany i na błędy, które wyczyścisz (i zdiagnozujesz) osobno. Nie zawracaj sobie tutaj głowy rozważaniami na temat typów danych, kluczowe jest aby tabela pomiarów zawierała po prostu to co dostaje z czujnika. Mając tabelę pomiarów, a więc zabezpieczone stabilne składowanie danych pierwotnych (i ich backupowanie), możesz dowolnie projektować i modyfikować struktury przeznaczone do sprawnego raportowania, do których będziesz przepisywał odpowiednio zinterpretowane (i zagregowane?) wartości surowe. Tu będziesz mógł eksperymentować i doskonalić, nie ryzykując utraty stabilności rejestracji pomiarów. Odnośnie identyfikacji miejsca pomiaru, ogranicz się w tabeli pomiarów do samego identyfikatora czujnika. Aby "zgeolokalizować" taki czujnik, zaprojektuj oddzielną tabelę czujników, w której będziesz prowadził ich ewidencję, a m.in. będziesz przechowywał ich lokalizacje oraz daty instalacji - wszak czujniki mogą się psuć, czy z innych powodów być wymieniane. Geolokalizację pomiaru uzyskasz przez odpowiednie złączenie (z tabelą pomiarów, bądź z tabelami raportującymi).
Technical Details
Message-ID:
<d33f511a-0c12-4805-abd0-06577cabc391@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o66no803686ita.0!news-out.google.com!k194ni2781itb.0!nntp.google.com!w142no802964ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<p5an7s$eou$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
X-Received: by 10.107.155.75 with SMTP id d72mr905081ioe.31.1518107770388; Thu, 08 Feb 2018 08:36:10 -0800 (PST) X-Received: by 10.157.14.146 with SMTP id 18mr59925otj.10.1518107770138; Thu, 08 Feb 2018 08:36:10 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o66no803686ita.0!news-out.google.com!k194ni2781itb.0!nntp.google.com!w142no802964ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.bazy-danych Date: Thu, 8 Feb 2018 08:36:09 -0800 (PST) In-Reply-To: <p5an7s$eou$1@node2.news.atman.pl> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=78.11.36.98; posting-account=HsGcpQoAAABR8eqXdcgZHaZMq6uPUZY5 NNTP-Posting-Host: 78.11.36.98 References: <p5an7s$eou$1@node2.news.atman.pl> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <d33f511a-0c12-4805-abd0-06577cabc391@googlegroups.com> Subject: Re: struktura bazy do zbierania danych z czujników From: irq <ipluta62@gmail.com> Injection-Date: Thu, 08 Feb 2018 16:36:10 +0000 X-Received-Body-CRC: 2733562991 X-Received-Bytes: 3709 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit