-- https://www.phpmyadmin.net/
--
-- Tempo de geração: 12/05/2026 às 22:21
-- Versão do servidor: 10.4.32-MariaDB
-- Versão do PHP: 8.2.12

START TRANSACTION;



--
-- Banco de dados: `provalemesdasilva2`
--

DELIMITER $$
--
-- Procedimentos
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `verificaativolemesdasilva` (IN `$idmac` VARCHAR(17), OUT `$ativo` BOOLEAN)   BEGIN 

SELECT ativo INTO $ativo
FROM maclemesdasilva
WHERE idmaclemesdasilva = $idmac;

END$$

DELIMITER ;

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

--
-- Estrutura para tabela `leituralemesdasilva`
--

CREATE TABLE `leituralemesdasilva` (
  `idleituralemesdasilva` int(10) UNSIGNED NOT NULL,
  `sensorlemesdasilva_idsensorlemesdasilva` int(10) UNSIGNED NOT NULL,
  `maclemesdasilva_idmaclemesdasilva` varchar(17) NOT NULL,
  `dataleitura` date DEFAULT NULL,
  `horaleitura` time DEFAULT NULL,
  `valor` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `leituralemesdasilva`
--

INSERT INTO `leituralemesdasilva` (`idleituralemesdasilva`, `sensorlemesdasilva_idsensorlemesdasilva`, `maclemesdasilva_idmaclemesdasilva`, `dataleitura`, `horaleitura`, `valor`) VALUES
(5, 1, '01', '2026-05-12', '16:01:36', 13453465345);

--
-- Acionadores `leituralemesdasilva`
--
DELIMITER $$
CREATE TRIGGER `tgdeletelemesdasilva` AFTER DELETE ON `leituralemesdasilva` FOR EACH ROW BEGIN

UPDATE maclemesdasilva
SET contador=contador-1
WHERE idmaclemesdasilva=OLD.maclemesdasilva_idmaclemesdasilva;

UPDATE sensorlemesdasilva
SET contador=contador-1
WHERE idsensorlemesdasilva=OLD.sensorlemesdasilva_idsensorlemesdasilva;

END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tginsertlemesdasilva` AFTER INSERT ON `leituralemesdasilva` FOR EACH ROW begin

update maclemesdasilva
set contador = contador + 1
where idmaclemesdasilva=new.maclemesdasilva_idmaclemesdasilva;

update sensorlemesdasilva
set contador = contador + 1
where idsensorlemesdasilva=new.sensorlemesdasilva_idsensorlemesdasilva;

end
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `verificaativolemesdasilva` BEFORE INSERT ON `leituralemesdasilva` FOR EACH ROW begin
CALL verificaativolemesdasilva(new.maclemesdasilva_idmaclemesdasilva,@$ativo);
if @$ativo = 0 
then SIGNAL SQLSTATE '45000' SET
MESSAGE_TEXT = 'Placa inativa';
end if;

end
$$
DELIMITER ;

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

--
-- Estrutura para tabela `maclemesdasilva`
--

CREATE TABLE `maclemesdasilva` (
  `idmaclemesdasilva` varchar(17) NOT NULL,
  `nome` varchar(45) DEFAULT NULL,
  `ativo` tinyint(1) DEFAULT 1,
  `contador` int(10) UNSIGNED DEFAULT 0,
  `limite` int(10) UNSIGNED DEFAULT 100
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `maclemesdasilva`
--

INSERT INTO `maclemesdasilva` (`idmaclemesdasilva`, `nome`, `ativo`, `contador`, `limite`) VALUES
('01', 'macteste', 1, 1, 100);

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

--
-- Estrutura para tabela `sensorlemesdasilva`
--

CREATE TABLE `sensorlemesdasilva` (
  `idsensorlemesdasilva` int(10) UNSIGNED NOT NULL,
  `nome` varchar(45) DEFAULT NULL,
  `contador` int(10) UNSIGNED DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `sensorlemesdasilva`
--

INSERT INTO `sensorlemesdasilva` (`idsensorlemesdasilva`, `nome`, `contador`) VALUES
(1, 'sensorteste', 1);

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `leituralemesdasilva`
--
ALTER TABLE `leituralemesdasilva`
  ADD PRIMARY KEY (`idleituralemesdasilva`),
  ADD KEY `leituralemesdasilva_FKIndex1` (`maclemesdasilva_idmaclemesdasilva`),
  ADD KEY `leituralemesdasilva_FKIndex2` (`sensorlemesdasilva_idsensorlemesdasilva`);

--
-- Índices de tabela `maclemesdasilva`
--
ALTER TABLE `maclemesdasilva`
  ADD PRIMARY KEY (`idmaclemesdasilva`);

--
-- Índices de tabela `sensorlemesdasilva`
--
ALTER TABLE `sensorlemesdasilva`
  ADD PRIMARY KEY (`idsensorlemesdasilva`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `leituralemesdasilva`
--
ALTER TABLE `leituralemesdasilva`
  MODIFY `idleituralemesdasilva` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

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

--
-- Restrições para tabelas despejadas
--

--
-- Restrições para tabelas `leituralemesdasilva`
--
ALTER TABLE `leituralemesdasilva`
  ADD CONSTRAINT `leituralemesdasilva_ibfk_1` FOREIGN KEY (`maclemesdasilva_idmaclemesdasilva`) REFERENCES `maclemesdasilva` (`idmaclemesdasilva`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  ADD CONSTRAINT `leituralemesdasilva_ibfk_2` FOREIGN KEY (`sensorlemesdasilva_idsensorlemesdasilva`) REFERENCES `sensorlemesdasilva` (`idsensorlemesdasilva`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

