-- 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: `bancoguijao`
--

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

DELIMITER ;

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

--
-- Estrutura da tabela `leituraguijao`
--

CREATE TABLE `leituraguijao` (
  `idleituraguijao` 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;

--
-- Acionadores `leituraguijao`
--
DELIMITER $$
CREATE TRIGGER `tgdeleteleituraguijao` AFTER DELETE ON `leituraguijao` FOR EACH ROW BEGIN
UPDATE mac 
SET contador= contador-1
where idmac= old.mac_idmac;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tginsertleituraguijao` AFTER INSERT ON `leituraguijao` FOR EACH ROW BEGIN
UPDATE mac
SET contador =contador+1
WHERE idmac=new.mac_idmac;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tgverificamacguijao` BEFORE INSERT ON `leituraguijao` FOR EACH ROW begin 
CALL validamacguijao(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;

--
-- Índices para tabelas despejadas
--

--
-- Índices para tabela `leituraguijao`
--
ALTER TABLE `leituraguijao`
  ADD PRIMARY KEY (`idleituraguijao`),
  ADD KEY `leituraguijao_FKIndex1` (`mac_idmac`);

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

--
-- AUTO_INCREMENT de tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `leituraguijao`
--
ALTER TABLE `leituraguijao`
  MODIFY `idleituraguijao` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

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

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


ALTER TABLE leituraguijao 
  ADD COLUMN velocidade DOUBLE DEFAULT NULL,
  ADD COLUMN capacidade DOUBLE DEFAULT NULL;