Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- --------------------------------------------------------
- -- Host: 127.0.0.1
- -- Versione server: 10.4.18-MariaDB - mariadb.org binary distribution
- -- S.O. server: Win64
- -- HeidiSQL Versione: 11.2.0.6213
- -- --------------------------------------------------------
- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
- /*!40101 SET NAMES utf8 */;
- /*!50503 SET NAMES utf8mb4 */;
- /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
- /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
- /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
- -- Dump della struttura del database sensorhub
- CREATE DATABASE IF NOT EXISTS `sensorhub` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
- USE `sensorhub`;
- -- Dump della struttura di funzione sensorhub.get_stazione
- DELIMITER //
- CREATE FUNCTION `get_stazione`(`indirizzoMac` VARCHAR(50),
- `operazione` INT
- ) RETURNS int(11)
- BEGIN
- -- tipo opezione 0 = inseriento e 1 = lettura
- DECLARE mstazione INT ;
- -- Recupero indice della stazione (se esiste)
- SET mstazione = (SELECT idx FROM tbl_hub WHERE chiave = indirizzoMac);
- /* testo se sto facendo inserimento */
- if operazione = 0 then
- -- Se non esiste significa che è la prima volta è creo oassociazione
- if mstazione IS NULL then
- INSERT INTO tbl_hub (chiave) VALUE (indirizzoMac);
- set mstazione = (SELECT idx FROM tbl_hub WHERE chiave = indirizzoMac);
- else
- set mstazione = -1;
- END if;
- ELSE
- -- Se non esiste stazione significa inseriremento errato/violazione privacy
- if mstazione IS NULL then
- set mstazione = -1;
- END if;
- END if;
- -- ritorno risultato
- RETURN mstazione;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_fill_tbl_bme280
- DELIMITER //
- CREATE PROCEDURE `sp_fill_tbl_bme280`(
- IN `idxrow` INT,
- IN `temperatura` DECIMAL(10,2),
- IN `umidita` DECIMAL(10,2),
- IN `pressione` DECIMAL(10,2),
- IN `altitudine` DECIMAL(10,2)
- )
- BEGIN
- INSERT INTO tbl_bme280 (idxrow, temperatura, umidita, pressione, altitudine) VALUE (idxrow, temperatura, umidita, pressione, altitudine);
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_fill_tbl_ccs811
- DELIMITER //
- CREATE PROCEDURE `sp_fill_tbl_ccs811`(
- IN `idxrow` INT,
- IN `co2` DECIMAL(10,2),
- IN `tvoc` DECIMAL(10,2)
- )
- BEGIN
- INSERT INTO tbl_ccs811 (idxrow, co2, tvoc) VALUES (idxrow, co2, tvoc);
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_fill_tbl_ky038
- DELIMITER //
- CREATE PROCEDURE `sp_fill_tbl_ky038`(
- IN `idxrow` INT,
- IN `noise` DECIMAL(10,2)
- )
- BEGIN
- INSERT INTO tbl_ky038 (idxrow, noise) VALUE (idxrow, noise);
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_fill_tbl_neo6m
- DELIMITER //
- CREATE PROCEDURE `sp_fill_tbl_neo6m`(
- IN `idxrow` INT,
- IN `lng` DECIMAL(10,5),
- IN `lat` DECIMAL(10,5)
- )
- BEGIN
- INSERT INTO tbl_neo6m (idxrow, lng, lat) value(idxrow, lng, lat);
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_fill_tbl_rilevamento
- DELIMITER //
- CREATE PROCEDURE `sp_fill_tbl_rilevamento`(
- IN `idx` INT,
- IN `mdata` DATETIME,
- IN `mora` TIME
- )
- BEGIN
- INSERT INTO tbl_rilevamento
- (
- idx,
- datarilevazione,
- orarilevazione,
- giorno,
- mese,
- anno,
- settimana,
- nomegiorno,
- nomemese
- )
- SELECT
- idx,
- DATE_FORMAT(mdata, '%Y-%m-%d'),
- mora,
- DAYOFMONTH(mdata),
- MONTH(mdata),
- YEAR(mdata),
- WEEK(mdata),
- DAYNAME(mdata),
- MONTHNAME(mdata)
- ;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_fill_tbl_veml6070
- DELIMITER //
- CREATE PROCEDURE `sp_fill_tbl_veml6070`(
- IN `idxrow` INT,
- IN `uv` DECIMAL(10,2)
- )
- BEGIN
- INSERT INTO tbl_veml6070 (idxrow, uv) VALUE (idxrow, uv);
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_gestioneid
- DELIMITER //
- CREATE PROCEDURE `sp_gestioneid`(
- INOUT `in_idx` INT,
- INOUT `in_chiave` VARCHAR(50),
- OUT `old_chiave` VARCHAR(50)
- )
- BEGIN
- declare midx INT ;
- declare mchiave CHAR(32) ;
- declare moldchiave CHAR(32) ;
- declare cnt INT;
- DECLARE errocode INT;
- DECLARE step INT;
- # controllo presenza idx
- # if in_idx > 0 and LENGTH(in_chiave) > 0 then
- if in_idx != 0 then
- SELECT COUNT(1) INTO cnt FROM tbl_hub WHERE idx = in_idx AND chiave = in_chiave;
- if cnt = 0 then
- #set mchiave := SUBSTRING(MD5(RAND()) FROM 1 FOR 32);
- #INSERT INTO tbl_hub (chiave) VALUE (mchiave);
- #SELECT MAX(idx) INTO midx FROM tbl_hub;
- set mchiave = 'Dispositivo non corretto';
- set moldchiave = 'Proprietà violata';
- set midx = 9999;
- SET step = 9999;
- else
- set mchiave := SUBSTRING(MD5(RAND()) FROM 1 FOR 32);
- SELECT chiave INTO moldchiave FROM tbl_hub WHERE idx = in_idx AND chiave = in_chiave;
- UPDATE tbl_hub set chiave = mchiave WHERE idx = in_idx ;
- SET midx = in_idx;
- set step = 8888;
- END if;
- ELSE
- set mchiave := SUBSTRING(MD5(RAND()) FROM 1 FOR 32);
- INSERT INTO tbl_hub (chiave) VALUE (mchiave);
- SELECT MAX(idx) into midx FROM tbl_hub;
- set step = 7777;
- END if;
- set in_idx = midx;
- set in_chiave = mchiave;
- SET old_chiave = moldchiave;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_getanno
- DELIMITER //
- CREATE PROCEDURE `sp_getanno`(
- IN `in_idx` INT,
- IN `mdata` VARCHAR(50),
- IN `Tipologia` INT
- )
- BEGIN
- /*
- Tipologia:
- Min = 0
- Media = 1
- Max = 2
- */
- if Tipologia = 0 then
- SELECT
- -- v1.idx,
- -- v1.idxrow,
- -- v1.datarilevazione,
- -- v1.orarilevazione,
- -- avg(v1.giorno) giorno,
- avg(v1.mese) mese,
- avg(v1.anno) anno,
- v1.nomemese orarilevazione,
- -- cast(v1.mese AS VARCHAR(10)) + '-' + cast(v1.anno as VARCHAR(2)) orarilevazione,
- -- CONCAT(concat(v1.Anno, '-'),mese) orarilevazione,
- -- v1.nomegiorno,
- -- v1.nomemese,
- min(v2.temperatura) temperatura,
- min(v2.umidita) umidita,
- min(v2.pressione) pressione,
- min(v2.altitudine) altitudine,
- min(v3.lng) lng,
- min(v3.lat) lat,
- min(v4.noise) noise,
- min(v5.co2) co2,
- min(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = in_idx
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- GROUP BY
- v1.mese,
- v1.anno
- ORDER BY
- v1.idxrow ASC;
- END if;
- if Tipologia = 1 then
- SELECT
- -- v1.idx,
- -- v1.idxrow,
- -- v1.datarilevazione,
- -- v1.orarilevazione,
- -- avg(v1.giorno) giorno,
- avg(v1.mese) mese,
- avg(v1.anno) anno,
- v1.nomemese orarilevazione,
- -- v1.nomegiorno,
- -- v1.nomemese,
- -- CONCAT(concat(v1.Anno, '-'),mese) orarilevazione,
- max(v2.temperatura) temperatura,
- max(v2.umidita) umidita,
- max(v2.pressione) pressione,
- max(v2.altitudine) altitudine,
- max(v3.lng) lng,
- max(v3.lat) lat,
- max(v4.noise) noise,
- max(v5.co2) co2,
- max(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = in_idx
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- GROUP BY
- v1.mese,
- v1.anno
- ORDER BY
- v1.idxrow ASC;
- END if;
- if Tipologia = 2 then
- SELECT
- -- v1.idx,
- -- v1.idxrow,
- -- v1.datarilevazione,
- -- v1.orarilevazione,
- -- avg(v1.giorno) giorno,
- avg(v1.mese) mese,
- avg(v1.anno) anno,
- v1.nomemese orarilevazione,
- -- v1.nomegiorno,
- -- v1.nomemese,
- -- CONCAT(concat(v1.Anno, '-'),mese) orarilevazione,
- avg(v2.temperatura) temperatura,
- avg(v2.umidita) umidita,
- avg(v2.pressione) pressione,
- avg(v2.altitudine) altitudine,
- avg(v3.lng) lng,
- avg(v3.lat) lat,
- avg(v4.noise) noise,
- avg(v5.co2) co2,
- avg(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = in_idx
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- GROUP BY
- v1.mese,
- v1.anno
- ORDER BY
- v1.idxrow ASC;
- END if;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_getgiorno
- DELIMITER //
- CREATE PROCEDURE `sp_getgiorno`(
- IN `in_idx` INT,
- IN `mdata` VARCHAR(50)
- )
- BEGIN
- SELECT
- v1.idx,
- v1.idxrow,
- v1.datarilevazione,
- v1.orarilevazione,
- v1.giorno,
- v1.mese,
- v1.anno,
- v1.nomegiorno,
- v1.nomemese,
- v2.temperatura,
- v2.umidita,
- v2.pressione,
- v2.altitudine,
- v3.lng,
- v3.lat,
- v4.noise,
- v5.co2,
- v5.tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = in_idx
- AND v1.datarilevazione = mdata
- ORDER BY
- v1.idxrow asc;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_getmese
- DELIMITER //
- CREATE PROCEDURE `sp_getmese`(
- IN `in_idx` INT,
- IN `mdata` VARCHAR(50),
- IN `Tipologia` INT
- )
- BEGIN
- /*
- Tipologia:
- Min = 0
- Media = 1
- Max = 2
- */
- if Tipologia = 0 then
- SELECT
- avg(v1 .giorno) giorno,
- avg(v1.mese) mese,
- avg(v1.anno) anno,
- v1.giorno orarilevazione,
- min(v2.temperatura) temperatura,
- min(v2.umidita) umidita,
- min(v2.pressione) pressione,
- min(v2.altitudine) altitudine,
- min(v3.lng) lng,
- min(v3.lat) lat,
- min(v4.noise) noise,
- min(v5.co2) co2,
- min(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = in_idx
- AND v1.mese = (SELECT mese from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- GROUP BY
- v1.giorno
- ORDER BY
- v1.idxrow asc;
- END if;
- if Tipologia = 1 then
- SELECT
- avg(v1 .giorno) giorno,
- avg(v1.mese) mese,
- avg(v1.anno) anno,
- v1.giorno orarilevazione,
- avg(v2.temperatura) temperatura,
- avg(v2.umidita) umidita,
- avg(v2.pressione) pressione,
- avg(v2.altitudine) altitudine,
- avg(v3.lng) lng,
- avg(v3.lat) lat,
- avg(v4.noise) noise,
- avg(v5.co2) co2,
- avg(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = in_idx
- AND v1.mese = (SELECT mese from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- GROUP BY
- v1.giorno
- ORDER BY
- v1.idxrow asc;
- END if;
- if Tipologia = 2 then
- SELECT
- avg(v1 .giorno) giorno,
- avg(v1.mese) mese,
- avg(v1.anno) anno,
- v1.giorno orarilevazione,
- max(v2.temperatura) temperatura,
- max(v2.umidita) umidita,
- max(v2.pressione) pressione,
- max(v2.altitudine) altitudine,
- max(v3.lng) lng,
- max(v3.lat) lat,
- max(v4.noise) noise,
- max(v5.co2) co2,
- max(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = in_idx
- AND v1.mese = (SELECT mese from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = mdata LIMIT 1)
- GROUP BY
- v1.giorno
- ORDER BY
- v1.idxrow asc;
- END if;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_getsettimana
- DELIMITER //
- CREATE PROCEDURE `sp_getsettimana`(
- IN `in_idx` INT,
- IN `mdata` VARCHAR(50),
- IN `Tipologia` INT
- )
- BEGIN
- /*
- Tipologia:
- Min = 0
- Media = 1
- Max = 2
- */
- if Tipologia = 0 then
- SELECT
- min(v1.datarilevazione) Dal,
- max(v1.datarilevazione) Al,
- max(v1.nomegiorno) orarilevazione,
- avg(v1.settimana) + 1 settimana,
- min(v2.temperatura) temperatura,
- min(v2.umidita) umidita,
- min(v2.pressione) pressione,
- min(v2.altitudine) altitudine,
- min(v3.lng) lng,
- min(v3.lat) lat,
- min(v4.noise) noise,
- min(v5.co2) co2,
- min(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = 1
- AND v1.settimana = (SELECT settimana from tbl_rilevamento WHERE datarilevazione = '2019-05-14' LIMIT 1)
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = '2019-05-14' LIMIT 1)
- GROUP BY
- v1.giorno
- ORDER BY
- v1.idxrow asc;
- END if;
- if Tipologia = 1 then
- SELECT
- min(v1.datarilevazione) Dal,
- max(v1.datarilevazione) Al,
- avg(v1.settimana) + 1 settimana,
- max(v1.nomegiorno) orarilevazione,
- avg(v2.temperatura) temperatura,
- avg(v2.umidita) umidita,
- avg(v2.pressione) pressione,
- avg(v2.altitudine) altitudine,
- avg(v3.lng) lng,
- avg(v3.lat) lat,
- avg(v4.noise) noise,
- avg(v5.co2) co2,
- avg(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = 1
- AND v1.settimana = (SELECT settimana from tbl_rilevamento WHERE datarilevazione = '2019-05-14' LIMIT 1)
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = '2019-05-14' LIMIT 1)
- GROUP BY
- v1.giorno
- ORDER BY
- v1.idxrow asc;
- END if;
- if Tipologia = 2 then
- SELECT
- min(v1.datarilevazione) Dal,
- max(v1.datarilevazione) Al,
- avg(v1.settimana) + 1 settimana,
- max(v1.nomegiorno) orarilevazione,
- max(v2.temperatura) temperatura,
- max(v2.umidita) umidita,
- max(v2.pressione) pressione,
- max(v2.altitudine) altitudine,
- max(v3.lng) lng,
- max(v3.lat) lat,
- max(v4.noise) noise,
- max(v5.co2) co2,
- max(v5.tvoc) tvoc
- FROM
- tbl_rilevamento v1 inner JOIN tbl_bme280 v2 ON v1.idxrow = v2.idxrow
- inner JOIN tbl_neo6m v3 ON v1.idxrow = v3.idxrow
- inner JOIN tbl_ky038 v4 ON v1.idxrow = v4.idxrow
- inner JOIN tbl_ccs811 v5 ON v1.idxrow = v5.idxrow
- inner JOIN tbl_veml6070 v7 ON v1.idxrow = v7.idxrow
- WHERE
- 1 = 1
- and v1.idx = 1
- AND v1.settimana = (SELECT settimana from tbl_rilevamento WHERE datarilevazione = '2019-05-14' LIMIT 1)
- AND v1.anno = (SELECT anno from tbl_rilevamento WHERE datarilevazione = '2019-05-14' LIMIT 1)
- GROUP BY
- v1.giorno
- ORDER BY
- v1.idxrow asc;
- END if;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_InserimentoDati
- DELIMITER //
- CREATE PROCEDURE `sp_InserimentoDati`(
- IN `in_mac` VARCHAR(50),
- IN `temperatura` DOUBLE(10,2),
- IN `umidita` DOUBLE(10,2),
- IN `pressione` DOUBLE(10,2),
- IN `altitudine` DOUBLE(10,2),
- IN `uv` DOUBLE(10,2),
- IN `co2` DOUBLE(10,2),
- IN `tvoc` DOUBLE(10,2),
- IN `noise` DOUBLE(10,2),
- IN `lng` DOUBLE(10,5),
- IN `lat` DOUBLE(10,5),
- IN `mdata` VARCHAR(50),
- IN `mora` VARCHAR(50)
- )
- BEGIN
- DECLARE midxrow INT ;
- DECLARE in_idx INT;
- DECLARE mStazione INT;
- -- Controllo esistenza stazione
- -- Tipo opezione 0 = inseriento e 1 = lettura
- set in_idx = (SELECT `get_stazione`(in_mac, 0));
- set in_idx = 1;
- if in_idx = -1 then
- -- Stazione inesistente
- SELECT 'Il codice inserito è errato';
- else
- CALL `sp_fill_tbl_rilevamento`(in_idx, mdata, mora);
- SELECT max(idxrow) INTO midxrow from tbl_rilevamento WHERE idx = in_idx;
- CALL `sp_fill_tbl_bme280`(midxrow, temperatura, umidita, pressione, altitudine);
- CALL `sp_fill_tbl_neo6m`(midxrow, lng, lat);
- CALL `sp_fill_tbl_ky038`(midxrow, noise);
- CALL `sp_fill_tbl_ccs811` (midxrow, co2, tvoc);
- CALL `sp_fill_tbl_veml6070` (midxrow, uv );
- SELECT in_idx;
- END if;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_leggiRilevamentoMaster
- DELIMITER //
- CREATE PROCEDURE `sp_leggiRilevamentoMaster`(
- IN `indirizzoMac` VARCHAR(50),
- IN `tipoQuery` INT,
- IN `mdata` VARCHAR(50)
- )
- BEGIN
- /*
- tipoQuery:
- 1 Query giornaliera
- 2 Query Settimanale MAX
- 3 Query Settimanale MIN
- 4 Query Settimanale AVG
- 5 Query Mensile MAX
- 6 Query Mensile MIN
- 7 Query Mensile AVG
- 8 Query Annuale MAX
- 9 Query Annuale MIN
- 10 Query Annulae AVG
- Tipologia:
- Min = 0
- Media = 1
- Max = 2
- */
- DECLARE mStazione INT;
- DECLARE midxrow INT ;
- -- Controllo esistenza stazione
- set mStazione = (SELECT `get_stazione`(indirizzoMac, 1));
- if mStazione = -1 then
- -- Stazione inesistente
- SELECT 'Il codice inserito è errato';
- else
- -- Check
- -- SELECT mStazione, indirizzoMac, mdata, '1' TipoOperazione;
- if tipoQuery = 1 then
- CALL `sp_getgiorno`(mStazione, mdata);
- END if;
- -- SETTIMANALE
- -- SETTIMANALE
- -- SETTIMANALE
- -- Sdettimanale Max
- if tipoQuery = 2 then
- CALL `sp_getsettimana`(mStazione, mdata, '0');
- END if;
- -- Sdettimanale Min
- if tipoQuery = 3 then
- CALL `sp_getsettimana`(mStazione, mdata, '1');
- END if;
- -- Sdettimanale AVG
- if tipoQuery = 4 then
- CALL `sp_getsettimana`(mStazione, mdata, '2');
- END if;
- -- MENSILE
- -- MENSILE
- -- MENSILE
- -- Mensile max
- if tipoQuery = 5 then
- CALL `sp_getmese`(mStazione, mdata, '0');
- END if;
- -- Mensile min
- if tipoQuery = 6 then
- CALL `sp_getmese`(mStazione, mdata, '1');
- END if;
- -- Mensile avg
- if tipoQuery = 7 then
- CALL `sp_getmese`(mStazione, mdata, '2');
- END if;
- -- ANNO
- -- ANNO
- -- ANNO
- -- Anno max
- if tipoQuery = 8 then
- CALL `sp_getanno`(mStazione, mdata, '0');
- END if;
- -- Anno min
- if tipoQuery = 9 then
- CALL `sp_getanno`(mStazione, mdata, '2');
- END if;
- -- Anno avg
- if tipoQuery = 10 then
- CALL `sp_getanno`(mStazione, mdata, '1');
- END if;
- END if;
- END//
- DELIMITER ;
- -- Dump della struttura di procedura sensorhub.sp_resetall
- DELIMITER //
- CREATE PROCEDURE `sp_resetall`()
- BEGIN
- TRUNCATE TABLE tbl_bme280;
- -- TRUNCATE TABLE tbl_bn220;
- TRUNCATE TABLE tbl_ky038;
- -- TRUNCATE TABLE tbl_mq135;
- TRUNCATE TABLE tbl_veml6070;
- DELETE FROM tbl_rilevamento;
- ALTER TABLE tbl_rilevamento AUTO_INCREMENT = 1;
- END//
- DELIMITER ;
- -- Dump della struttura di tabella sensorhub.tbl_bme280
- CREATE TABLE IF NOT EXISTS `tbl_bme280` (
- `idxrow` int(11) NOT NULL,
- `temperatura` double(10,2) DEFAULT NULL,
- `umidita` double(10,2) DEFAULT NULL,
- `pressione` double(10,2) DEFAULT NULL,
- `altitudine` double(10,2) DEFAULT NULL,
- KEY `idxrow` (`idxrow`),
- CONSTRAINT `FK_tbl_bme280_tbl_rilevamento` FOREIGN KEY (`idxrow`) REFERENCES `tbl_rilevamento` (`idxrow`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- L’esportazione dei dati non era selezionata.
- -- Dump della struttura di tabella sensorhub.tbl_ccs811
- CREATE TABLE IF NOT EXISTS `tbl_ccs811` (
- `idxrow` int(11) NOT NULL,
- `co2` double(10,2) DEFAULT NULL,
- `tvoc` double(10,2) DEFAULT NULL,
- KEY `idxrow` (`idxrow`),
- CONSTRAINT `FK_tbl_mq135_tbl_rilevamento` FOREIGN KEY (`idxrow`) REFERENCES `tbl_rilevamento` (`idxrow`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- L’esportazione dei dati non era selezionata.
- -- Dump della struttura di tabella sensorhub.tbl_hub
- CREATE TABLE IF NOT EXISTS `tbl_hub` (
- `idx` int(11) NOT NULL AUTO_INCREMENT,
- `chiave` char(32) NOT NULL DEFAULT '',
- PRIMARY KEY (`idx`)
- ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4;
- -- L’esportazione dei dati non era selezionata.
- -- Dump della struttura di tabella sensorhub.tbl_ky038
- CREATE TABLE IF NOT EXISTS `tbl_ky038` (
- `idxrow` int(11) NOT NULL,
- `noise` double(10,2) DEFAULT NULL,
- KEY `idxrow` (`idxrow`),
- CONSTRAINT `FK_tbl_ky037_tbl_rilevamento` FOREIGN KEY (`idxrow`) REFERENCES `tbl_rilevamento` (`idxrow`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- L’esportazione dei dati non era selezionata.
- -- Dump della struttura di tabella sensorhub.tbl_neo6m
- CREATE TABLE IF NOT EXISTS `tbl_neo6m` (
- `idxrow` int(11) NOT NULL,
- `lng` double(10,5) DEFAULT NULL,
- `lat` double(10,5) DEFAULT NULL,
- KEY `idxrow` (`idxrow`),
- CONSTRAINT `FK_tbl_bn220_tbl_rilevamento` FOREIGN KEY (`idxrow`) REFERENCES `tbl_rilevamento` (`idxrow`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- L’esportazione dei dati non era selezionata.
- -- Dump della struttura di tabella sensorhub.tbl_rilevamento
- CREATE TABLE IF NOT EXISTS `tbl_rilevamento` (
- `idx` int(11) NOT NULL,
- `idxrow` int(11) NOT NULL AUTO_INCREMENT,
- `datarilevazione` char(10) NOT NULL,
- `orarilevazione` char(8) NOT NULL,
- `giorno` tinyint(4) NOT NULL,
- `mese` tinyint(4) NOT NULL,
- `anno` int(11) NOT NULL DEFAULT 0,
- `settimana` tinyint(4) DEFAULT NULL,
- `nomegiorno` varchar(20) NOT NULL,
- `nomemese` varchar(20) NOT NULL,
- PRIMARY KEY (`idxrow`),
- KEY `giorno` (`giorno`),
- KEY `mese` (`mese`),
- KEY `anno` (`anno`),
- KEY `idx` (`idx`) USING BTREE,
- KEY `settimana` (`settimana`),
- KEY `datarilevazione` (`datarilevazione`) USING BTREE,
- CONSTRAINT `FK_tbl_rilevamento_tbl_hub` FOREIGN KEY (`idx`) REFERENCES `tbl_hub` (`idx`)
- ) ENGINE=InnoDB AUTO_INCREMENT=53655 DEFAULT CHARSET=utf8mb4 COMMENT='p';
- -- L’esportazione dei dati non era selezionata.
- -- Dump della struttura di tabella sensorhub.tbl_veml6070
- CREATE TABLE IF NOT EXISTS `tbl_veml6070` (
- `idxrow` int(11) NOT NULL,
- `uv` double(10,2) DEFAULT NULL,
- KEY `idxrow` (`idxrow`),
- CONSTRAINT `FK_tbl_veml6070_tbl_rilevamento` FOREIGN KEY (`idxrow`) REFERENCES `tbl_rilevamento` (`idxrow`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- -- L’esportazione dei dati non era selezionata.
- -- Dump della struttura di procedura sensorhub.valorizza
- DELIMITER //
- CREATE PROCEDURE `valorizza`(
- IN `in_idx1` INT
- )
- BEGIN
- DECLARE counter INT DEFAULT 1;
- DECLARE maxcounter INT DEFAULT 1;
- declare in_idx INT;
- declare temperatura DOUBLE(10,2);
- declare umidita DOUBLE(10,2);
- declare pressione DOUBLE(10,2);
- declare altitudine DOUBLE(10,2);
- declare uv DOUBLE(10,2);
- declare co2 DOUBLE(10,2);
- declare nh3 DOUBLE(10,2);
- declare nox DOUBLE(10,2);
- declare alcohol DOUBLE(10,2);
- declare benzene DOUBLE(10,2);
- declare smoke DOUBLE(10,2);
- declare noise DOUBLE(10,2);
- declare batteria DOUBLE(10,2);
- declare tensione DOUBLE(10,2);
- declare lng DOUBLE(10,5);
- declare lat DOUBLE(10,5);
- DECLARE mdata1 VARCHAR(50);
- DECLARE mora1 VARCHAR(50);
- TRUNCATE TABLE finta;
- SET @row_number = 0;
- insert into finta (riga, mdata, mora)
- SELECT (@row_number:=@row_number + 1) AS row_num, '2019-01-01 00:00:00' + INTERVAL seq HOUR AS mdata, TIME('2019-01-01 00:00:00' + INTERVAL seq HOUR) AS mdata1 FROM seq_0_to_26303;
- #SELECT (@row_number:=@row_number + 1) AS row_num, '2019-01-01 00:00:00' + INTERVAL seq HOUR AS mdata, TIME('2019-01-01 00:00:00' + INTERVAL seq HOUR) AS mdata1 FROM seq_0_to_1000;
- SELECT MAX(riga) into maxcounter FROM finta;
- WHILE counter <= maxcounter DO
- SELECT mdata , mora INTO mdata1, mora1 FROM finta WHERE riga = counter;
- set in_idx = in_idx1;
- set temperatura = format(RAND()*100,2);
- set umidita = format(RAND()*100,2);
- set pressione = format(RAND()*100,2);
- set altitudine = format(RAND()*100,2);
- set uv = format(RAND()*100,2);
- set co2 = format(RAND()*100,2);
- set nh3 = format(RAND()*100,2);
- set nox = format(RAND()*100,2);
- set alcohol = format(RAND()*100,2);
- set benzene = format(RAND()*100,2);
- set smoke = format(RAND()*100,2);
- set noise = format(RAND()*100,2);
- set batteria = format(RAND()*100,2);
- set tensione = format(RAND()*100,2);
- set lng = format(RAND()*100,5);
- set lat = format(RAND()*100,5);
- #CALL InsertCalendar(dt);
- CALL `sp_fintorilevamento`(in_idx, temperatura, umidita, pressione, altitudine, uv, co2, nh3, nox, alcohol, benzene, smoke, noise, batteria, tensione, lng, lat, mdata1, mora1);
- SET counter = counter + 1;
- END WHILE;
- SELECT 'Carico terminato';
- END//
- DELIMITER ;
- /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
- /*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
- /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
- /*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement