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

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

DELIMITER ;

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

--
-- Estrutura para tabela `leiturahugo`
--

CREATE TABLE `leiturahugo` (
  `idleiturahugo` int(10) UNSIGNED NOT NULL,
  `sensorhugo_idsensorhugo` int(10) UNSIGNED NOT NULL,
  `machugo_idmachugo` 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 `leiturahugo`
--
DELIMITER $$
CREATE TRIGGER `tgdeletehugo` AFTER DELETE ON `leiturahugo` FOR EACH ROW BEGIN
update machugo
set contador=contador-1
where idmachugo=old.machugo_idmachugo;
update sensorhugo
set contador=contador-1
where idsensorhugo=OLD.sensorhugo_idsensorhugo;

END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tginserthugo` AFTER INSERT ON `leiturahugo` FOR EACH ROW BEGIN
UPDATE machugo
SET contador=contador+1
WHERE	idmachugo=new.machugo_idmachugo;
UPDATE sensorhugo
SET contador=contador+1
WHERE	idsensorhugo=new.sensorhugo_idsensorhugo;


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

end
$$
DELIMITER ;

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

--
-- Estrutura para tabela `machugo`
--

CREATE TABLE `machugo` (
  `idmachugo` 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 `machugo`
--

INSERT INTO `machugo` (`idmachugo`, `nome`, `ativo`, `contador`, `limite`) VALUES
('1', 'hugo', 1, 0, 100);

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

--
-- Estrutura para tabela `sensorhugo`
--

CREATE TABLE `sensorhugo` (
  `idsensorhugo` 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 `sensorhugo`
--

INSERT INTO `sensorhugo` (`idsensorhugo`, `nome`, `contador`) VALUES
(1, 'hugo', 0);

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `leiturahugo`
--
ALTER TABLE `leiturahugo`
  ADD PRIMARY KEY (`idleiturahugo`),
  ADD KEY `leiturahugo_FKIndex1` (`machugo_idmachugo`),
  ADD KEY `leiturahugo_FKIndex2` (`sensorhugo_idsensorhugo`);

--
-- Índices de tabela `machugo`
--
ALTER TABLE `machugo`
  ADD PRIMARY KEY (`idmachugo`);

--
-- Índices de tabela `sensorhugo`
--
ALTER TABLE `sensorhugo`
  ADD PRIMARY KEY (`idsensorhugo`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

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

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

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

--
-- Restrições para tabelas `leiturahugo`
--
ALTER TABLE `leiturahugo`
  ADD CONSTRAINT `leiturahugo_ibfk_1` FOREIGN KEY (`machugo_idmachugo`) REFERENCES `machugo` (`idmachugo`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  ADD CONSTRAINT `leiturahugo_ibfk_2` FOREIGN KEY (`sensorhugo_idsensorhugo`) REFERENCES `sensorhugo` (`idsensorhugo`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

