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

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

SELECT ativo into $ativo
FROM macluiz
WHERE idmacluiz=$idmac;

END$$

DELIMITER ;

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

--
-- Estrutura para tabela `leituraluiz`
--

CREATE TABLE `leituraluiz` (
  `idleituraluiz` int(10) UNSIGNED NOT NULL,
  `sensorluiz_idsensorluiz` int(10) UNSIGNED NOT NULL,
  `macluiz_idmacluiz` 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;

--
-- Acionadores `leituraluiz`
--
DELIMITER $$
CREATE TRIGGER `tgdeleteluiz` AFTER DELETE ON `leituraluiz` FOR EACH ROW begin

update macluiz
set contador=contador-1
where idmacluiz=OLD.macluiz_idmacluiz;

update sensorluiz
set contador=contador-1
where idsensorluiz=OLD.sensorluiz_idsensorluiz;

end
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tginsertluiz` AFTER INSERT ON `leituraluiz` FOR EACH ROW BEGIN

UPDATE macluiz
SET contador=contador+1
WHERE idmacluiz=new.macluiz_idmacluiz;

UPDATE sensorluiz
SET contador=contador+1
WHERE idsensorluiz=new.sensorluiz_idsensorluiz;

END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tgverificaativoluiz` BEFORE INSERT ON `leituraluiz` FOR EACH ROW begin

CALL verificaativoluiz(new.macluiz_idmacluiz,@$ativo);
if @$ativo=0
then SIGNAL SQLSTATE '45000' SET
MESSAGE_TEXT = 'Placa inativa';
end if;

end
$$
DELIMITER ;

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

--
-- Estrutura para tabela `macluiz`
--

CREATE TABLE `macluiz` (
  `idmacluiz` 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 `macluiz`
--

INSERT INTO `macluiz` (`idmacluiz`, `nome`, `ativo`, `contador`, `limite`) VALUES
('01', 'placa teste', 1, 0, 100);

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

--
-- Estrutura para tabela `sensorluiz`
--

CREATE TABLE `sensorluiz` (
  `idsensorluiz` 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 `sensorluiz`
--

INSERT INTO `sensorluiz` (`idsensorluiz`, `nome`, `contador`) VALUES
(1, 'sensor teste', 0);

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `leituraluiz`
--
ALTER TABLE `leituraluiz`
  ADD PRIMARY KEY (`idleituraluiz`),
  ADD KEY `leituraluiz_FKIndex1` (`macluiz_idmacluiz`),
  ADD KEY `leituraluiz_FKIndex2` (`sensorluiz_idsensorluiz`);

--
-- Índices de tabela `macluiz`
--
ALTER TABLE `macluiz`
  ADD PRIMARY KEY (`idmacluiz`);

--
-- Índices de tabela `sensorluiz`
--
ALTER TABLE `sensorluiz`
  ADD PRIMARY KEY (`idsensorluiz`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

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

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

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

--
-- Restrições para tabelas `leituraluiz`
--
ALTER TABLE `leituraluiz`
  ADD CONSTRAINT `leituraluiz_ibfk_1` FOREIGN KEY (`macluiz_idmacluiz`) REFERENCES `macluiz` (`idmacluiz`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  ADD CONSTRAINT `leituraluiz_ibfk_2` FOREIGN KEY (`sensorluiz_idsensorluiz`) REFERENCES `sensorluiz` (`idsensorluiz`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

