-- phpMyAdmin SQL Dump
-- version 5.1.0
-- https://www.phpmyadmin.net/
--
-- Hôte : db.3wa.io
-- Généré le : mar. 16 août 2022 à 07:29
-- Version du serveur :  5.7.33-0ubuntu0.18.04.1-log
-- Version de PHP : 8.0.3

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 */;

--
-- Base de données : `xxx_QCM`
--

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

--
-- Structure de la table `Adresse`
--

CREATE TABLE `Adresse` (
  `id` char(36) NOT NULL,
  `rue` varchar(255) NOT NULL,
  `codePostal` char(5) NOT NULL,
  `ville` varchar(255) NOT NULL,
  `pays` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Choix`
--

CREATE TABLE `Choix` (
  `id` char(36) NOT NULL,
  `intitule` varchar(255) NOT NULL,
  `ordreApparition` int(10) NOT NULL,
  `idQuestion` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Question`
--

CREATE TABLE `Question` (
  `id` char(36) NOT NULL,
  `intitule` varchar(255) NOT NULL,
  `idTypeQuestion` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Question_Choix`
--

CREATE TABLE `Question_Choix` (
  `idQuestion` char(36) NOT NULL,
  `idChoix` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Reponse`
--

CREATE TABLE `Reponse` (
  `id` char(36) NOT NULL,
  `contenu` varchar(255) DEFAULT NULL,
  `idTest` char(36) NOT NULL,
  `idChoix` char(36) NOT NULL,
  `idUtilisateur` char(36) NOT NULL,
  `idQuestion` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Test`
--

CREATE TABLE `Test` (
  `id` char(36) NOT NULL,
  `intitule` varchar(255) NOT NULL,
  `dateCreation` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Test_Question`
--

CREATE TABLE `Test_Question` (
  `idTest` char(36) NOT NULL,
  `idQuestion` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Test_Utilisateur`
--

CREATE TABLE `Test_Utilisateur` (
  `idUtilisateur` char(36) NOT NULL,
  `idTest` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `TypeQuestion`
--

CREATE TABLE `TypeQuestion` (
  `id` char(36) NOT NULL,
  `intitule` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

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

--
-- Structure de la table `Utilisateur`
--

CREATE TABLE `Utilisateur` (
  `id` char(36) NOT NULL,
  `nom` varchar(255) NOT NULL,
  `prenom` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `dateCreation` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `idAdresse` char(36) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Index pour les tables déchargées
--

--
-- Index pour la table `Adresse`
--
ALTER TABLE `Adresse`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `Choix`
--
ALTER TABLE `Choix`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idQuestion` (`idQuestion`);

--
-- Index pour la table `Question`
--
ALTER TABLE `Question`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idTypeQuestion` (`idTypeQuestion`);

--
-- Index pour la table `Question_Choix`
--
ALTER TABLE `Question_Choix`
  ADD KEY `idQuestion` (`idQuestion`),
  ADD KEY `idChoix` (`idChoix`);

--
-- Index pour la table `Reponse`
--
ALTER TABLE `Reponse`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idTest` (`idTest`),
  ADD KEY `idChoix` (`idChoix`),
  ADD KEY `idUtilisateur` (`idUtilisateur`),
  ADD KEY `idQuestion` (`idQuestion`);

--
-- Index pour la table `Test`
--
ALTER TABLE `Test`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `Test_Question`
--
ALTER TABLE `Test_Question`
  ADD KEY `idTest` (`idTest`),
  ADD KEY `idQuestion` (`idQuestion`);

--
-- Index pour la table `Test_Utilisateur`
--
ALTER TABLE `Test_Utilisateur`
  ADD KEY `idUtilisateur` (`idUtilisateur`),
  ADD KEY `idTest` (`idTest`);

--
-- Index pour la table `TypeQuestion`
--
ALTER TABLE `TypeQuestion`
  ADD PRIMARY KEY (`id`);

--
-- Index pour la table `Utilisateur`
--
ALTER TABLE `Utilisateur`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idAdresse` (`idAdresse`);

--
-- Contraintes pour les tables déchargées
--

--
-- Contraintes pour la table `Choix`
--
ALTER TABLE `Choix`
  ADD CONSTRAINT `Choix_ibfk_1` FOREIGN KEY (`idQuestion`) REFERENCES `Question` (`id`);

--
-- Contraintes pour la table `Question`
--
ALTER TABLE `Question`
  ADD CONSTRAINT `Question_ibfk_1` FOREIGN KEY (`idTypeQuestion`) REFERENCES `TypeQuestion` (`id`);

--
-- Contraintes pour la table `Question_Choix`
--
ALTER TABLE `Question_Choix`
  ADD CONSTRAINT `Question_Choix_ibfk_1` FOREIGN KEY (`idQuestion`) REFERENCES `Question` (`id`),
  ADD CONSTRAINT `Question_Choix_ibfk_2` FOREIGN KEY (`idChoix`) REFERENCES `Choix` (`id`);

--
-- Contraintes pour la table `Reponse`
--
ALTER TABLE `Reponse`
  ADD CONSTRAINT `Reponse_ibfk_1` FOREIGN KEY (`idTest`) REFERENCES `Test` (`id`),
  ADD CONSTRAINT `Reponse_ibfk_2` FOREIGN KEY (`idChoix`) REFERENCES `Choix` (`id`),
  ADD CONSTRAINT `Reponse_ibfk_3` FOREIGN KEY (`idUtilisateur`) REFERENCES `Utilisateur` (`id`),
  ADD CONSTRAINT `Reponse_ibfk_4` FOREIGN KEY (`idQuestion`) REFERENCES `Question` (`id`);

--
-- Contraintes pour la table `Test_Question`
--
ALTER TABLE `Test_Question`
  ADD CONSTRAINT `Test_Question_ibfk_1` FOREIGN KEY (`idTest`) REFERENCES `Test` (`id`),
  ADD CONSTRAINT `Test_Question_ibfk_2` FOREIGN KEY (`idQuestion`) REFERENCES `Question` (`id`);

--
-- Contraintes pour la table `Test_Utilisateur`
--
ALTER TABLE `Test_Utilisateur`
  ADD CONSTRAINT `Test_Utilisateur_ibfk_1` FOREIGN KEY (`idUtilisateur`) REFERENCES `Utilisateur` (`id`),
  ADD CONSTRAINT `Test_Utilisateur_ibfk_2` FOREIGN KEY (`idTest`) REFERENCES `Test` (`id`);

--
-- Contraintes pour la table `Utilisateur`
--
ALTER TABLE `Utilisateur`
  ADD CONSTRAINT `Utilisateur_ibfk_1` FOREIGN KEY (`idAdresse`) REFERENCES `Adresse` (`id`);
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 */;
