-- https://www.phpmyadmin.net/
--
-- Tempo de geração: 27-Ago-2025 às 19:15
-- Versão do servidor: 10.4.27-MariaDB
-- versão do PHP: 8.0.25

START TRANSACTION;



--
-- Banco de dados: `bancovilu`
--

DELIMITER $$
--
-- Procedimentos
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `validamacvilu` (IN `$idmac` VARCHAR(17), OUT `$ativo` BOOLEAN)   BEGIN
SELECT ativo into $ativo from mac
WHERE idmac=$idmac;
END$$

DELIMITER ;

-- --------------------------------------------------------

--
-- Estrutura da tabela `leituravilu`
--

CREATE TABLE `leituravilu` (
  `idleituravilu` int(10) UNSIGNED NOT NULL,
  `mac_idmac` varchar(17) NOT NULL,
  `dataleitura` date DEFAULT NULL,
  `horaleitura` time DEFAULT NULL,
  `umidade` double DEFAULT NULL,
  `temperatura` double DEFAULT NULL,
  `luminosidade` double DEFAULT NULL,
  `latitude` float DEFAULT NULL,
  `longitude` float DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Extraindo dados da tabela `leituravilu`
--

INSERT INTO `leituravilu` (`idleituravilu`, `mac_idmac`, `dataleitura`, `horaleitura`, `umidade`, `temperatura`, `luminosidade`, `latitude`, `longitude`) VALUES
(1, '38:2B:78:03:A8:38', '2025-08-26', '15:22:35', 90, 14, 11, -27.054, 52.37);

--
-- Acionadores `leituravilu`
--
DELIMITER $$
CREATE TRIGGER `tgdeleteleituravilu` AFTER DELETE ON `leituravilu` FOR EACH ROW BEGIN
UPDATE mac 
SET contador= contador-1
where idmac= old.mac_idmac;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tginsertleituravilu` AFTER INSERT ON `leituravilu` FOR EACH ROW BEGIN
UPDATE mac
SET contador =contador+1
WHERE idmac=new.mac_idmac;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tgverificamacvilu` BEFORE INSERT ON `leituravilu` FOR EACH ROW begin 
CALL validamacvilu(new.mac_idmac, @$ativo);
if @$ativo= 0 
then SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Placa inativa';
end if;
END
$$
DELIMITER ;

-- --------------------------------------------------------

--
-- Estrutura da tabela `mac`
--

CREATE TABLE `mac` (
  `idmac` varchar(17) NOT NULL,
  `nome` varchar(35) DEFAULT NULL,
  `contador` int(10) UNSIGNED DEFAULT 0,
  `ativo` tinyint(1) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Extraindo dados da tabela `mac`
--

INSERT INTO `mac` (`idmac`, `nome`, `contador`, `ativo`) VALUES
('08:3A:F2:50:BD:1C', 'Livre', 0, 0),
('38:2B:78:03:A6:32', 'Placa CINCO', 0, 1),
('38:2B:78:03:A8:38', 'MiguelTeste', 1, 1),
('48:3F:DA:0D:C6:B6', 'Wemos D1 Miguel', 0, 1),
('48:E7:29:55:38:89', 'MiguelTeste', 0, 1),
('68:C6:3A:E1:63:48', 'Livre', 0, 1),
('84:0D:8E:B0:68:8E', 'Placa UM ', 0, 1),
('84:0D:8E:B0:82:5C', 'Placa TRES ', 0, 1),
('CC:50:E3:05:12:97', 'Placa', 0, 1),
('CC:50:E3:05:18:79', 'Placa NOVE', 0, 1),
('CC:50:E3:05:19:BA', 'Placa QUATRO ', 0, 1),
('CC:50:E3:3B:FE:E9', 'Placa DOIS ', 0, 1),
('CC:50:E3:3C:0C:99', 'Placa OITO', 0, 1),
('CC:50:E3:3C:1B:40', 'Placa SETE', 0, 1),
('CC:50:E3:3C:1E:52', 'Placa DEZ', 0, 1),
('DC:4F:22:11:05:A7', 'Placa SEIS', 0, 1),
('E8:DB:84:98:B5:DA', 'Livre', 0, 1),
('E8:DB:84:DD:DB:80', 'Sacada904', 0, 1);

--
-- Índices para tabelas despejadas
--

--
-- Índices para tabela `leituravilu`
--
ALTER TABLE `leituravilu`
  ADD PRIMARY KEY (`idleituravilu`),
  ADD KEY `leituravilu_FKIndex1` (`mac_idmac`);

--
-- Índices para tabela `mac`
--
ALTER TABLE `mac`
  ADD PRIMARY KEY (`idmac`);

--
-- AUTO_INCREMENT de tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `leituravilu`
--
ALTER TABLE `leituravilu`
  MODIFY `idleituravilu` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

--
-- Restrições para despejos de tabelas
--

--
-- Limitadores para a tabela `leituravilu`
--
ALTER TABLE `leituravilu`
  ADD CONSTRAINT `leituravilu_ibfk_1` FOREIGN KEY (`mac_idmac`) REFERENCES `mac` (`idmac`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

