-- phpMyAdmin SQL Dump
-- version 5.2.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Tempo de geração: 19-Ago-2025 às 22:23
-- Versão do servidor: 10.4.27-MariaDB
-- versão do PHP: 8.0.25

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Banco de dados: `triggerdepartamento`
--

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

--
-- Estrutura da tabela `departamentokadson`
--

CREATE TABLE `departamentokadson` (
  `iddepartamentokadson` int(10) UNSIGNED NOT NULL,
  `nome` varchar(50) DEFAULT NULL,
  `somaqtde` int(10) UNSIGNED DEFAULT 0,
  `somasalario` double DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Extraindo dados da tabela `departamentokadson`
--

INSERT INTO `departamentokadson` (`iddepartamentokadson`, `nome`, `somaqtde`, `somasalario`) VALUES
(1, 'Almoxarifado', 3, 4420),
(2, 'Gerência', 1, 6900),
(3, 'Administrativo', 0, 0);

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

--
-- Estrutura da tabela `funcionariokadson`
--

CREATE TABLE `funcionariokadson` (
  `idfuncionariokadson` int(10) UNSIGNED NOT NULL,
  `departamentokadson_iddepartamentokadson` int(10) UNSIGNED NOT NULL,
  `nome` varchar(50) DEFAULT NULL,
  `salario` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Extraindo dados da tabela `funcionariokadson`
--

INSERT INTO `funcionariokadson` (`idfuncionariokadson`, `departamentokadson_iddepartamentokadson`, `nome`, `salario`) VALUES
(3, 1, 'Felipe Zonta', 1800),
(4, 2, 'Luis Henrique', 6900),
(5, 1, 'Paola Farias', 1790),
(6, 1, 'Guilherme', 830);

--
-- Acionadores `funcionariokadson`
--
DELIMITER $$
CREATE TRIGGER `tgdeletefuncionario` AFTER DELETE ON `funcionariokadson` FOR EACH ROW BEGIN

UPDATE departamentokadson
SET somasalario=somasalario-OLD.salario
WHERE iddepartamentokadson=OLD.departamentokadson_iddepartamentokadson;

UPDATE departamentokadson
SET somaqtde=somaqtde-1
WHERE iddepartamentokadson=OLD.departamentokadson_iddepartamentokadson;

END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tginsertfuncionario` AFTER INSERT ON `funcionariokadson` FOR EACH ROW BEGIN

UPDATE departamentokadson
SET somasalario=somasalario+NEW.salario
WHERE iddepartamentokadson=NEW.departamentokadson_iddepartamentokadson;

UPDATE departamentokadson
SET somaqtde=somaqtde+1
WHERE iddepartamentokadson=NEW.departamentokadson_iddepartamentokadson;

END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `tgupdatefuncionario` AFTER UPDATE ON `funcionariokadson` FOR EACH ROW BEGIN

UPDATE departamentokadson
SET somasalario=somasalario+NEW.salario-OLD.salario

WHERE iddepartamentokadson=NEW.departamentokadson_iddepartamentokadson;

END
$$
DELIMITER ;

--
-- Índices para tabelas despejadas
--

--
-- Índices para tabela `departamentokadson`
--
ALTER TABLE `departamentokadson`
  ADD PRIMARY KEY (`iddepartamentokadson`);

--
-- Índices para tabela `funcionariokadson`
--
ALTER TABLE `funcionariokadson`
  ADD PRIMARY KEY (`idfuncionariokadson`),
  ADD KEY `funcionariokadson_FKIndex1` (`departamentokadson_iddepartamentokadson`);

--
-- AUTO_INCREMENT de tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `departamentokadson`
--
ALTER TABLE `departamentokadson`
  MODIFY `iddepartamentokadson` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;

--
-- AUTO_INCREMENT de tabela `funcionariokadson`
--
ALTER TABLE `funcionariokadson`
  MODIFY `idfuncionariokadson` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

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

--
-- Limitadores para a tabela `funcionariokadson`
--
ALTER TABLE `funcionariokadson`
  ADD CONSTRAINT `funcionariokadson_ibfk_1` FOREIGN KEY (`departamentokadson_iddepartamentokadson`) REFERENCES `departamentokadson` (`iddepartamentokadson`) ON DELETE NO ACTION ON UPDATE NO ACTION;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
