quarta-feira, 9 de novembro de 2022

base de dados sistema no inicio da aula de 9 de novembro de 2022

 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