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

START TRANSACTION;



--
-- Banco de dados: `provamiguel`
--

DELIMITER $$
--
-- Procedimentos
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `validaativomiguel` (IN `$idmac` VARCHAR(14), IN `$idsensor` INT, IN `$idcoletor` INT, OUT `$ativomac` BOOLEAN, OUT `$ativosensor` BOOLEAN, OUT `$ativocoletor` BOOLEAN)   BEGIN
select ativo into $ativomac from macmiguel
WHERE idmacmiguel=$idmac;
select ativo into $ativosensor from sensormiguel
WHERE idsensormiguel=$idsensor;
select ativo into $ativocoletor from coletormiguel
WHERE idcoletormiguel=$idcoletor;
END$$

DELIMITER ;

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

--
-- Estrutura para tabela `coletormiguel`
--

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

--
-- Despejando dados para a tabela `coletormiguel`
--

INSERT INTO `coletormiguel` (`idcoletormiguel`, `nome`, `contador`, `ativo`, `limite`) VALUES
(1, 'Coletor um', 0, 0, 100);

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

--
-- Estrutura para tabela `leituramiguel`
--

CREATE TABLE `leituramiguel` (
  `idleituramiguel` int(10) UNSIGNED NOT NULL,
  `coletormiguel_idcoletormiguel` int(10) UNSIGNED NOT NULL,
  `sensormiguel_idsensormiguel` int(10) UNSIGNED NOT NULL,
  `macmiguel_idmacmiguel` varchar(17) NOT NULL,
  `dataleitura` date DEFAULT NULL,
  `horaleitura` time DEFAULT NULL,
  `valor` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `leituramiguel`
--

INSERT INTO `leituramiguel` (`idleituramiguel`, `coletormiguel_idcoletormiguel`, `sensormiguel_idsensormiguel`, `macmiguel_idmacmiguel`, `dataleitura`, `horaleitura`, `valor`) VALUES
(1, 1, 1, '01', '2026-06-17', '15:06:01', 120),
(2, 1, 1, '01', '2026-06-17', '15:06:01', 120);

--
-- Acionadores `leituramiguel`
--
DELIMITER $$
CREATE TRIGGER `tgverificaativomiguel` BEFORE INSERT ON `leituramiguel` FOR EACH ROW BEGIN
CALL validaativomiguel(new.macmiguel_idmacmiguel,new.sensormiguel_idsensormiguel,new.coletormiguel_idcoletormiguel,
                 @$ativomac,@$ativosensor,@$ativocoletor);
if @$ativomac=0 then SIGNAL SQLSTATE'45000' SET MESSAGE_TEXT='Mac inativo'; 
end if;
if @$ativosensor=0 then SIGNAL SQLSTATE'45000' SET MESSAGE_TEXT='Sensor inativo'; 
end if;
if @$ativocoletor=0 then SIGNAL SQLSTATE'45000' SET MESSAGE_TEXT='Coletor inativo'; 
end if;
END
$$
DELIMITER ;

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

--
-- Estrutura para tabela `macmiguel`
--

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

--
-- Despejando dados para a tabela `macmiguel`
--

INSERT INTO `macmiguel` (`idmacmiguel`, `nome`, `contador`, `ativo`, `limite`) VALUES
('01', 'Zero um', 0, 1, 100);

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

--
-- Estrutura para tabela `sensormiguel`
--

CREATE TABLE `sensormiguel` (
  `idsensormiguel` int(10) UNSIGNED NOT NULL,
  `nome` varchar(45) DEFAULT NULL,
  `ativo` tinyint(1) DEFAULT 1,
  `limite` int(10) UNSIGNED DEFAULT 100,
  `contador` int(10) UNSIGNED DEFAULT 0,
  `unidade` varchar(10) DEFAULT NULL,
  `sigla` varchar(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `sensormiguel`
--

INSERT INTO `sensormiguel` (`idsensormiguel`, `nome`, `ativo`, `limite`, `contador`, `unidade`, `sigla`) VALUES
(1, 'Sensor um', 1, 100, 0, NULL, NULL);

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `coletormiguel`
--
ALTER TABLE `coletormiguel`
  ADD PRIMARY KEY (`idcoletormiguel`);

--
-- Índices de tabela `leituramiguel`
--
ALTER TABLE `leituramiguel`
  ADD PRIMARY KEY (`idleituramiguel`),
  ADD KEY `leitura_FKIndex1` (`macmiguel_idmacmiguel`),
  ADD KEY `leitura_FKIndex2` (`sensormiguel_idsensormiguel`),
  ADD KEY `leitura_FKIndex3` (`coletormiguel_idcoletormiguel`);

--
-- Índices de tabela `macmiguel`
--
ALTER TABLE `macmiguel`
  ADD PRIMARY KEY (`idmacmiguel`);

--
-- Índices de tabela `sensormiguel`
--
ALTER TABLE `sensormiguel`
  ADD PRIMARY KEY (`idsensormiguel`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

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

--
-- AUTO_INCREMENT de tabela `leituramiguel`
--
ALTER TABLE `leituramiguel`
  MODIFY `idleituramiguel` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

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

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

--
-- Restrições para tabelas `leituramiguel`
--
ALTER TABLE `leituramiguel`
  ADD CONSTRAINT `leituramiguel_ibfk_1` FOREIGN KEY (`macmiguel_idmacmiguel`) REFERENCES `macmiguel` (`idmacmiguel`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  ADD CONSTRAINT `leituramiguel_ibfk_2` FOREIGN KEY (`sensormiguel_idsensormiguel`) REFERENCES `sensormiguel` (`idsensormiguel`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  ADD CONSTRAINT `leituramiguel_ibfk_3` FOREIGN KEY (`coletormiguel_idcoletormiguel`) REFERENCES `coletormiguel` (`idcoletormiguel`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

