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

START TRANSACTION;



--
-- Banco de dados: `bancopam`
--

DELIMITER $$
--
-- Procedimentos
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `validaativopam` (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 macpam
where idmacpam=$idmac;
select ativo into $ativosensor from sensorpam
where idsensorpam=$idsensor;
select ativo into $ativocoletor from coletorpam
where idcoletorpam=$idcoletor;
end$$

DELIMITER ;

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

--
-- Estrutura para tabela `coletorpam`
--

CREATE TABLE `coletorpam` (
  `idcoletorPam` 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;

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

--
-- Estrutura para tabela `leiturapam`
--

CREATE TABLE `leiturapam` (
  `idleituraPam` int(10) UNSIGNED NOT NULL,
  `sensorPam_idsensorPam` int(10) UNSIGNED NOT NULL,
  `macPam_idmacPam` varchar(17) NOT NULL,
  `coletorPam_idcoletorPam` int(10) UNSIGNED NOT NULL,
  `dataleitura` date DEFAULT NULL,
  `horaleitura` time DEFAULT NULL,
  `valor` int(10) UNSIGNED DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Acionadores `leiturapam`
--
DELIMITER $$
CREATE TRIGGER `tgverificaativopam` BEFORE INSERT ON `leiturapam` FOR EACH ROW BEGIN
call validaativopam(new.macpam_idmacpam,new.sensorpam_idsensorpam,new.coletorpam_idcoletorpam,
                    @$aativomac, @$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 `macpam`
--

CREATE TABLE `macpam` (
  `idmacPam` 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;

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

--
-- Estrutura para tabela `sensorpam`
--

CREATE TABLE `sensorpam` (
  `idsensorPam` 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;

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `coletorpam`
--
ALTER TABLE `coletorpam`
  ADD PRIMARY KEY (`idcoletorPam`);

--
-- Índices de tabela `leiturapam`
--
ALTER TABLE `leiturapam`
  ADD PRIMARY KEY (`idleituraPam`),
  ADD KEY `leitura_FKIndex1` (`macPam_idmacPam`),
  ADD KEY `leitura_FKIndex2` (`sensorPam_idsensorPam`),
  ADD KEY `leitura_FKIndex3` (`coletorPam_idcoletorPam`);

--
-- Índices de tabela `macpam`
--
ALTER TABLE `macpam`
  ADD PRIMARY KEY (`idmacPam`);

--
-- Índices de tabela `sensorpam`
--
ALTER TABLE `sensorpam`
  ADD PRIMARY KEY (`idsensorPam`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `coletorpam`
--
ALTER TABLE `coletorpam`
  MODIFY `idcoletorPam` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `leiturapam`
--
ALTER TABLE `leiturapam`
  MODIFY `idleituraPam` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `sensorpam`
--
ALTER TABLE `sensorpam`
  MODIFY `idsensorPam` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

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

--
-- Restrições para tabelas `leiturapam`
--
ALTER TABLE `leiturapam`
  ADD CONSTRAINT `leiturapam_ibfk_1` FOREIGN KEY (`macPam_idmacPam`) REFERENCES `macpam` (`idmacPam`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  ADD CONSTRAINT `leiturapam_ibfk_2` FOREIGN KEY (`sensorPam_idsensorPam`) REFERENCES `sensorpam` (`idsensorPam`) ON DELETE NO ACTION ON UPDATE NO ACTION,
  ADD CONSTRAINT `leiturapam_ibfk_3` FOREIGN KEY (`coletorPam_idcoletorPam`) REFERENCES `coletorpam` (`idcoletorPam`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

