DELIMITER $$
--
-- Procedures
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_alterar_Senha` (IN `a` VARCHAR(50), IN `b` INT, IN `c` VARCHAR(50)) BEGIN
DELETE FROM token WHERE token = a;
INSERT INTO senha (idUtilizador, senha) VALUES (b, sha1(c));
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_ativar_utilizador` (IN `a` INT, IN `b` VARCHAR(50), IN `c` VARCHAR(50)) BEGIN
INSERT INTO senha (idUtilizador, senha) VALUES (a, sha1(b));
INSERT INTO estado_utilizador (idUtilizador, idEstado) VALUES (a, 2);
DELETE FROM token WHERE token = c;
END$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_pedir_senha` (IN `a` INT) INSERT INTO token (idUtilizador, token) VALUES (a, substring(sha1(rand()),1,40))$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `p_registar_utilizador` (IN `u` VARCHAR(50)) BEGIN
INSERT INTO utilizador (utilizador) VALUES (u);
SET @idUtilizador=LAST_INSERT_ID();
INSERT INTO token (idUtilizador, token) VALUES (@idUtilizador, substring(sha1(rand()),1,40));
INSERT INTO estado_utilizador (idUtilizador, idEstado) VALUES (@idUtilizador, 1);
END$$
DELIMITER ;
-- --------------------------------------------------------
--
-- Table structure for table `estado`
--
CREATE TABLE `estado` (
`idEstado` int(11) NOT NULL,
`estado` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `estado`
--
INSERT INTO `estado` (`idEstado`, `estado`) VALUES
(1, 'Invalido'),
(2, 'Valido');
-- --------------------------------------------------------
--
-- Table structure for table `estado_utilizador`
--
CREATE TABLE `estado_utilizador` (
`idEstadoUtilizador` int(11) NOT NULL,
`idEstado` int(11) NOT NULL,
`idUtilizador` int(11) NOT NULL,
`dataEstadoUtilizador` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `estado_utilizador`
--
INSERT INTO `estado_utilizador` (`idEstadoUtilizador`, `idEstado`, `idUtilizador`, `dataEstadoUtilizador`) VALUES
(1, 1, 1, '2022-11-02 17:42:48'),
(2, 1, 2, '2022-11-02 17:53:56'),
(3, 1, 3, '2022-11-04 14:48:38'),
(4, 2, 2, '2022-11-04 15:17:10'),
(5, 2, 3, '2022-11-04 16:11:10'),
(6, 1, 4, '2022-11-04 16:15:57'),
(7, 2, 4, '2022-11-04 16:16:54');
-- --------------------------------------------------------
--
-- Table structure for table `perfil`
--
CREATE TABLE `perfil` (
`idPerfil` int(11) NOT NULL,
`idUtilizador` int(11) NOT NULL,
`nome` varchar(50) NOT NULL,
`foto` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Table structure for table `senha`
--
CREATE TABLE `senha` (
`idSenha` int(11) NOT NULL,
`idUtilizador` int(11) NOT NULL,
`senha` varchar(50) NOT NULL,
`dataSenha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `senha`
--
INSERT INTO `senha` (`idSenha`, `idUtilizador`, `senha`, `dataSenha`) VALUES
(1, 2, '123', '2022-11-04 15:17:10'),
(3, 3, '40bd001563085fc35165329ea1ff5c5ecbdbbeef', '2022-11-04 16:11:10'),
(4, 4, '5f6955d227a320c7f1f6c7da2a6d96a851a8118f', '2022-11-04 16:16:54');
-- --------------------------------------------------------
--
-- Table structure for table `token`
--
CREATE TABLE `token` (
`idToken` int(11) NOT NULL,
`idUtilizador` int(11) NOT NULL,
`token` varchar(50) NOT NULL,
`dataToken` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `token`
--
INSERT INTO `token` (`idToken`, `idUtilizador`, `token`, `dataToken`) VALUES
(1, 1, '123token', '2022-11-02 17:42:34');
-- --------------------------------------------------------
--
-- Table structure for table `utilizador`
--
CREATE TABLE `utilizador` (
`idUtilizador` int(11) NOT NULL,
`utilizador` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `utilizador`
--
INSERT INTO `utilizador` (`idUtilizador`, `utilizador`) VALUES
(1, 'admin@mail.pt'),
(2, 'juliana@mail.pt'),
(3, 'antonio@mail.pt'),
(4, 'marco@mail.pt');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `estado`
--
ALTER TABLE `estado`
ADD PRIMARY KEY (`idEstado`);
--
-- Indexes for table `estado_utilizador`
--
ALTER TABLE `estado_utilizador`
ADD PRIMARY KEY (`idEstadoUtilizador`),
ADD KEY `idEstado` (`idEstado`),
ADD KEY `idUtilizador` (`idUtilizador`);
--
-- Indexes for table `perfil`
--
ALTER TABLE `perfil`
ADD PRIMARY KEY (`idPerfil`),
ADD KEY `idUtilizador` (`idUtilizador`);
--
-- Indexes for table `senha`
--
ALTER TABLE `senha`
ADD PRIMARY KEY (`idSenha`),
ADD KEY `idUtilizador` (`idUtilizador`);
--
-- Indexes for table `token`
--
ALTER TABLE `token`
ADD PRIMARY KEY (`idToken`),
ADD KEY `token_ibfk_1` (`idUtilizador`);
--
-- Indexes for table `utilizador`
--
ALTER TABLE `utilizador`
ADD PRIMARY KEY (`idUtilizador`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `estado`
--
ALTER TABLE `estado`
MODIFY `idEstado` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
--
-- AUTO_INCREMENT for table `estado_utilizador`
--
ALTER TABLE `estado_utilizador`
MODIFY `idEstadoUtilizador` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT for table `perfil`
--
ALTER TABLE `perfil`
MODIFY `idPerfil` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `senha`
--
ALTER TABLE `senha`
MODIFY `idSenha` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT for table `token`
--
ALTER TABLE `token`
MODIFY `idToken` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT for table `utilizador`
--
ALTER TABLE `utilizador`
MODIFY `idUtilizador` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- Constraints for dumped tables
--
--
-- Constraints for table `estado_utilizador`
--
ALTER TABLE `estado_utilizador`
ADD CONSTRAINT `estado_utilizador_ibfk_1` FOREIGN KEY (`idEstado`) REFERENCES `estado` (`idEstado`) ON DELETE CASCADE ON UPDATE CASCADE,
ADD CONSTRAINT `estado_utilizador_ibfk_2` FOREIGN KEY (`idUtilizador`) REFERENCES `utilizador` (`idUtilizador`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Constraints for table `perfil`
--
ALTER TABLE `perfil`
ADD CONSTRAINT `perfil_ibfk_1` FOREIGN KEY (`idUtilizador`) REFERENCES `utilizador` (`idUtilizador`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Constraints for table `senha`
--
ALTER TABLE `senha`
ADD CONSTRAINT `senha_ibfk_1` FOREIGN KEY (`idUtilizador`) REFERENCES `utilizador` (`idUtilizador`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Constraints for table `token`
--
ALTER TABLE `token`
ADD CONSTRAINT `token_ibfk_1` FOREIGN KEY (`idUtilizador`) REFERENCES `utilizador` (`idUtilizador`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;
Sem comentários:
Enviar um comentário