-- https://www.phpmyadmin.net/
--
-- Tempo de geração: 09-Set-2025 às 23:12
-- Versão do servidor: 10.4.27-MariaDB
-- versão do PHP: 8.0.25

START TRANSACTION;



--
-- Banco de dados: `bancogps`
--

DELIMITER $$
--
-- Procedimentos
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `validamacewer` (IN `$idmac` VARCHAR(17), OUT `$ativo` TINYINT)   BEGIN
select ativo into $ativo from mac 
where idmac = $idmac;
end$$

DELIMITER ;

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

--
-- Estrutura da tabela `leituraewer`
--

CREATE TABLE `leituraewer` (
  `mac_idmac` int(10) UNSIGNED NOT NULL,
  `horaleitura` time DEFAULT NULL,
  `umidade` double DEFAULT NULL,
  `temperatura` double DEFAULT NULL,
  `luminosidade` double DEFAULT NULL,
  `latitude` double DEFAULT NULL,
  `longitude` double DEFAULT NULL,
  `dataleitura` date DEFAULT NULL,
  `idleituraewer` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Acionadores `leituraewer`
--
DELIMITER $$
CREATE TRIGGER `tgdeleteleituraewer` AFTER DELETE ON `leituraewer` FOR EACH ROW BEGIN
update mac
set contador = contador - 1
where idmac = old.mac_idmac;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tginsertleituraewer` AFTER INSERT ON `leituraewer` FOR EACH ROW BEGIN
update mac
set contador = contador + 1
where idmac = new.mac_idmac;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tgverificamacewer` BEFORE INSERT ON `leituraewer` FOR EACH ROW BEGIN
call validamacewer(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` int(10) UNSIGNED NOT NULL,
  `nome` varchar(25) NOT 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
(123, 'placaewer', 0, 1);

--
-- Índices para tabelas despejadas
--

--
-- Índices para tabela `leituraewer`
--
ALTER TABLE `leituraewer`
  ADD PRIMARY KEY (`idleituraewer`),
  ADD KEY `leituraewer_FKIndex1` (`mac_idmac`);

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

--
-- AUTO_INCREMENT de tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `leituraewer`
--
ALTER TABLE `leituraewer`
  MODIFY `idleituraewer` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

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

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

