-- version 4.7.5
-- https://www.phpmyadmin.net/
--
-- Host: localhost
-- Generation Time: 14-Jan-2020 às 10:14
-- Versão do servidor: 5.6.34
-- PHP Version: 7.1.11
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
--
-- Database: `sistema`
--
-- --------------------------------------------------------
--
-- Estrutura da tabela `atributospessoais`
--
CREATE TABLE `atributospessoais` (
`id` int(11) NOT NULL,
`atributo` varchar(100) NOT NULL,
`estado` tinyint(1) NOT NULL DEFAULT '1',
`idAdmin` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Estrutura da tabela `intervencoes`
--
CREATE TABLE `intervencoes` (
`id` int(11) NOT NULL,
`idUser` int(11) NOT NULL,
`dataReg` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`estado` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela `intervencoes`
--
INSERT INTO `intervencoes` (`id`, `idUser`, `dataReg`, `estado`) VALUES
(1, 1, '2019-12-05 16:26:14', 0),
(2, 1, '2019-12-10 11:52:27', 1),
(3, 1, '2019-12-10 11:52:28', 0),
(4, 1, '2019-12-10 11:52:30', 1),
(5, 1, '2019-12-10 11:52:31', 0),
(6, 1, '2019-12-10 12:07:04', 1);
-- --------------------------------------------------------
--
-- Estrutura da tabela `passwords`
--
CREATE TABLE `passwords` (
`id` int(11) NOT NULL,
`pass` varchar(100) NOT NULL,
`idUser` int(11) NOT NULL,
`estadoReg` tinyint(1) NOT NULL DEFAULT '1',
`dataReg` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela `passwords`
--
INSERT INTO `passwords` (`id`, `pass`, `idUser`, `estadoReg`, `dataReg`) VALUES
(1, '123', 1, 1, '2019-11-19 15:24:26'),
(2, '321', 1, 1, '2019-11-19 15:24:26'),
(3, '987', 2, 1, '2019-11-19 15:24:56'),
(4, '654', 3, 1, '2019-11-19 15:24:56'),
(5, '765', 3, 1, '2019-11-19 15:28:37'),
(6, '991', 1, 1, '2019-11-19 15:28:37'),
(7, '0000', 2, 1, '2019-11-19 15:44:55');
-- --------------------------------------------------------
--
-- Estrutura da tabela `pessoas`
--
CREATE TABLE `pessoas` (
`id` int(11) NOT NULL,
`firstName` varchar(100) DEFAULT NULL,
`lastName` varchar(100) DEFAULT NULL,
`birthday` date NOT NULL,
`dataReg` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`estado` tinyint(1) NOT NULL DEFAULT '1',
`idAdmin` int(11) NOT NULL COMMENT 'id da pessoa que está a inserir na tabela'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Estrutura da tabela `pessoas_atributospessoais`
--
CREATE TABLE `pessoas_atributospessoais` (
`id` int(11) NOT NULL,
`idPessoa` int(11) NOT NULL,
`idAtributoPessoal` int(11) NOT NULL,
`valor` varchar(200) NOT NULL,
`idAdmin` int(11) NOT NULL,
`dataReg` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`estado` tinyint(1) NOT NULL DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Estrutura da tabela `privilegios`
--
CREATE TABLE `privilegios` (
`id` int(11) NOT NULL,
`privilegio` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela `privilegios`
--
INSERT INTO `privilegios` (`id`, `privilegio`) VALUES
(1, 'admin'),
(2, 'geral'),
(3, 'client'),
(4, 'public');
-- --------------------------------------------------------
--
-- Estrutura da tabela `users`
--
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`username` varchar(100) NOT NULL,
`estadoReg` tinyint(1) NOT NULL DEFAULT '0',
`dataReg` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela `users`
--
INSERT INTO `users` (`id`, `username`, `estadoReg`, `dataReg`) VALUES
(1, 'mloureiro', 0, '2019-11-19 15:09:27'),
(2, 'diogo', 0, '2019-11-19 15:09:27'),
(3, 'ana', 0, '2019-11-19 15:09:36');
-- --------------------------------------------------------
--
-- Estrutura da tabela `users_pessoas`
--
CREATE TABLE `users_pessoas` (
`id` int(11) NOT NULL,
`idUser` int(11) NOT NULL,
`idPessoa` int(11) NOT NULL,
`estado` tinyint(1) NOT NULL DEFAULT '1',
`dataReg` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`idAdmin` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Estrutura da tabela `users_privilegios`
--
CREATE TABLE `users_privilegios` (
`id` int(11) NOT NULL,
`idUser` int(11) NOT NULL,
`idPrivilegio` int(11) NOT NULL,
`dataReg` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`estado` tinyint(1) NOT NULL DEFAULT '1',
`idAdmin` int(11) NOT NULL COMMENT 'O utilizador que está a operar a base de dados!'
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela `users_privilegios`
--
INSERT INTO `users_privilegios` (`id`, `idUser`, `idPrivilegio`, `dataReg`, `estado`, `idAdmin`) VALUES
(1, 1, 1, '2019-11-27 15:12:21', 1, 1),
(2, 1, 2, '2019-11-27 15:12:21', 1, 1),
(3, 2, 1, '2019-11-27 15:16:04', 1, 1),
(4, 3, 2, '2019-11-27 15:16:04', 1, 1);
-- --------------------------------------------------------
--
-- Stand-in structure for view `v1_admin`
-- (See below for the actual view)
--
CREATE TABLE `v1_admin` (
`username` varchar(100)
,`privilegio` varchar(100)
);
-- --------------------------------------------------------
--
-- Stand-in structure for view `v1_estado_do_sistema`
-- (See below for the actual view)
--
CREATE TABLE `v1_estado_do_sistema` (
`estado` tinyint(1)
);
-- --------------------------------------------------------
--
-- Stand-in structure for view `v1_passwords`
-- (See below for the actual view)
--
CREATE TABLE `v1_passwords` (
`id` int(11)
,`idUser` int(11)
,`pass` varchar(100)
);
-- --------------------------------------------------------
--
-- Stand-in structure for view `v2_users_passwords`
-- (See below for the actual view)
--
CREATE TABLE `v2_users_passwords` (
`idUser` int(11)
,`username` varchar(100)
,`estadoReg` tinyint(1)
,`pass` varchar(100)
);
-- --------------------------------------------------------
--
-- Structure for view `v1_admin`
--
DROP TABLE IF EXISTS `v1_admin`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1_admin` AS select `users`.`username` AS `username`,`privilegios`.`privilegio` AS `privilegio` from ((`users` join `privilegios`) join `users_privilegios`) where ((`users`.`id` = `users_privilegios`.`idUser`) and (`privilegios`.`id` = `users_privilegios`.`idPrivilegio`) and (`users_privilegios`.`idPrivilegio` = 1)) ;
-- --------------------------------------------------------
--
-- Structure for view `v1_estado_do_sistema`
--
DROP TABLE IF EXISTS `v1_estado_do_sistema`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1_estado_do_sistema` AS select `intervencoes`.`estado` AS `estado` from `intervencoes` where `intervencoes`.`id` in (select max(`intervencoes`.`id`) from `intervencoes`) ;
-- --------------------------------------------------------
--
-- Structure for view `v1_passwords`
--
DROP TABLE IF EXISTS `v1_passwords`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1_passwords` AS select `passwords`.`id` AS `id`,`passwords`.`idUser` AS `idUser`,`passwords`.`pass` AS `pass` from `passwords` where `passwords`.`id` in (select max(`passwords`.`id`) from `passwords` group by `passwords`.`idUser`) ;
-- --------------------------------------------------------
--
-- Structure for view `v2_users_passwords`
--
DROP TABLE IF EXISTS `v2_users_passwords`;
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2_users_passwords` AS select `v1_passwords`.`idUser` AS `idUser`,`users`.`username` AS `username`,`users`.`estadoReg` AS `estadoReg`,`v1_passwords`.`pass` AS `pass` from (`users` join `v1_passwords`) where (`users`.`id` = `v1_passwords`.`idUser`) ;
--
-- Indexes for dumped tables
--
--
-- Indexes for table `atributospessoais`
--
ALTER TABLE `atributospessoais`
ADD PRIMARY KEY (`id`),
ADD KEY `idAdmin` (`idAdmin`);
--
-- Indexes for table `intervencoes`
--
ALTER TABLE `intervencoes`
ADD PRIMARY KEY (`id`),
ADD KEY `idUser` (`idUser`);
--
-- Indexes for table `passwords`
--
ALTER TABLE `passwords`
ADD PRIMARY KEY (`id`),
ADD KEY `idUser` (`idUser`);
--
-- Indexes for table `pessoas`
--
ALTER TABLE `pessoas`
ADD PRIMARY KEY (`id`),
ADD KEY `idAdmin` (`idAdmin`);
--
-- Indexes for table `pessoas_atributospessoais`
--
ALTER TABLE `pessoas_atributospessoais`
ADD PRIMARY KEY (`id`),
ADD KEY `idPessoa` (`idPessoa`),
ADD KEY `idAdmin` (`idAdmin`),
ADD KEY `idAtributoPessoal` (`idAtributoPessoal`);
--
-- Indexes for table `privilegios`
--
ALTER TABLE `privilegios`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `users`
--
ALTER TABLE `users`
ADD PRIMARY KEY (`id`);
--
-- Indexes for table `users_pessoas`
--
ALTER TABLE `users_pessoas`
ADD PRIMARY KEY (`id`),
ADD KEY `idAdmin` (`idAdmin`),
ADD KEY `idUser` (`idUser`),
ADD KEY `idPessoa` (`idPessoa`);
--
-- Indexes for table `users_privilegios`
--
ALTER TABLE `users_privilegios`
ADD PRIMARY KEY (`id`),
ADD KEY `idUser` (`idUser`),
ADD KEY `idPrivilegio` (`idPrivilegio`),
ADD KEY `idAdmin` (`idAdmin`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `atributospessoais`
--
ALTER TABLE `atributospessoais`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `intervencoes`
--
ALTER TABLE `intervencoes`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;
--
-- AUTO_INCREMENT for table `passwords`
--
ALTER TABLE `passwords`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
--
-- AUTO_INCREMENT for table `pessoas`
--
ALTER TABLE `pessoas`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `pessoas_atributospessoais`
--
ALTER TABLE `pessoas_atributospessoais`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `privilegios`
--
ALTER TABLE `privilegios`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- AUTO_INCREMENT for table `users_pessoas`
--
ALTER TABLE `users_pessoas`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT for table `users_privilegios`
--
ALTER TABLE `users_privilegios`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- Constraints for dumped tables
--
--
-- Limitadores para a tabela `atributospessoais`
--
ALTER TABLE `atributospessoais`
ADD CONSTRAINT `atributospessoais_ibfk_1` FOREIGN KEY (`idAdmin`) REFERENCES `users` (`id`);
--
-- Limitadores para a tabela `intervencoes`
--
ALTER TABLE `intervencoes`
ADD CONSTRAINT `intervencoes_ibfk_1` FOREIGN KEY (`idUser`) REFERENCES `users` (`id`);
--
-- Limitadores para a tabela `passwords`
--
ALTER TABLE `passwords`
ADD CONSTRAINT `passwords_ibfk_1` FOREIGN KEY (`idUser`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
--
-- Limitadores para a tabela `pessoas`
--
ALTER TABLE `pessoas`
ADD CONSTRAINT `pessoas_ibfk_1` FOREIGN KEY (`idAdmin`) REFERENCES `users` (`id`);
--
-- Limitadores para a tabela `pessoas_atributospessoais`
--
ALTER TABLE `pessoas_atributospessoais`
ADD CONSTRAINT `pessoas_atributospessoais_ibfk_1` FOREIGN KEY (`idAdmin`) REFERENCES `users` (`id`),
ADD CONSTRAINT `pessoas_atributospessoais_ibfk_2` FOREIGN KEY (`idAtributoPessoal`) REFERENCES `atributospessoais` (`id`),
ADD CONSTRAINT `pessoas_atributospessoais_ibfk_3` FOREIGN KEY (`idPessoa`) REFERENCES `pessoas` (`id`);
--
-- Limitadores para a tabela `users_pessoas`
--
ALTER TABLE `users_pessoas`
ADD CONSTRAINT `users_pessoas_ibfk_1` FOREIGN KEY (`idAdmin`) REFERENCES `users` (`id`),
ADD CONSTRAINT `users_pessoas_ibfk_2` FOREIGN KEY (`idUser`) REFERENCES `users` (`id`),
ADD CONSTRAINT `users_pessoas_ibfk_3` FOREIGN KEY (`idPessoa`) REFERENCES `pessoas` (`id`);
--
-- Limitadores para a tabela `users_privilegios`
--
ALTER TABLE `users_privilegios`
ADD CONSTRAINT `users_privilegios_ibfk_1` FOREIGN KEY (`idUser`) REFERENCES `users` (`id`),
ADD CONSTRAINT `users_privilegios_ibfk_2` FOREIGN KEY (`idAdmin`) REFERENCES `users` (`id`),
ADD CONSTRAINT `users_privilegios_ibfk_3` FOREIGN KEY (`idPrivilegio`) REFERENCES `privilegios` (`id`);
COMMIT;
Sem comentários:
Enviar um comentário