Skip to content
Snippets Groups Projects
Commit e405f320 authored by michael.minelli's avatar michael.minelli
Browse files

Add database structure

parent ef0bd1f3
No related branches found
No related tags found
No related merge requests found
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
--
-- Base de données : `Dojo`
--
CREATE DATABASE IF NOT EXISTS `Dojo` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `Dojo`;
-- --------------------------------------------------------
--
-- Structure de la table `Enonce`
--
CREATE TABLE `Enonce` (
`enonceID` int(11) NOT NULL,
`enonceName` varchar(64) NOT NULL,
`enonceGitLink` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- --------------------------------------------------------
--
-- Structure de la table `EnonceStaff`
--
CREATE TABLE `EnonceStaff` (
`enonceID` int(11) NOT NULL,
`userID` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- --------------------------------------------------------
--
-- Structure de la table `Exercice`
--
CREATE TABLE `Exercice` (
`exerciceID` int(11) NOT NULL,
`exerciceEnonceID` int(11) NOT NULL,
`exerciceProjectKey` varchar(36) NOT NULL,
`exerciceGitLink` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- --------------------------------------------------------
--
-- Structure de la table `ExerciceMembers`
--
CREATE TABLE `ExerciceMembers` (
`exerciceID` int(11) NOT NULL,
`userID` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- --------------------------------------------------------
--
-- Structure de la table `Results`
--
CREATE TABLE `Results` (
`resultTimestamp` bigint(20) NOT NULL,
`resultExerciceID` int(11) NOT NULL,
`resultPass` tinyint(1) NOT NULL,
`resultDetails` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
-- --------------------------------------------------------
--
-- Structure de la table `Users`
--
CREATE TABLE `Users` (
`userID` int(11) NOT NULL,
`userFirstname` varchar(32) NOT NULL,
`userLastname` varchar(32) NOT NULL,
`userMail` varchar(32) NOT NULL,
`userRole` varchar(8) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
--
-- Index pour les tables déchargées
--
--
-- Index pour la table `Enonce`
--
ALTER TABLE `Enonce`
ADD PRIMARY KEY (`enonceID`);
--
-- Index pour la table `EnonceStaff`
--
ALTER TABLE `EnonceStaff`
ADD PRIMARY KEY (`enonceID`,`userID`),
ADD KEY `userID` (`userID`);
--
-- Index pour la table `Exercice`
--
ALTER TABLE `Exercice`
ADD PRIMARY KEY (`exerciceID`),
ADD KEY `exerciceEnonceID` (`exerciceEnonceID`);
--
-- Index pour la table `ExerciceMembers`
--
ALTER TABLE `ExerciceMembers`
ADD PRIMARY KEY (`exerciceID`,`userID`),
ADD KEY `userID` (`userID`);
--
-- Index pour la table `Results`
--
ALTER TABLE `Results`
ADD PRIMARY KEY (`resultTimestamp`,`resultExerciceID`),
ADD KEY `resultExerciceID` (`resultExerciceID`);
--
-- Index pour la table `Users`
--
ALTER TABLE `Users`
ADD PRIMARY KEY (`userID`);
--
-- AUTO_INCREMENT pour les tables déchargées
--
--
-- AUTO_INCREMENT pour la table `Enonce`
--
ALTER TABLE `Enonce`
MODIFY `enonceID` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT pour la table `Exercice`
--
ALTER TABLE `Exercice`
MODIFY `exerciceID` int(11) NOT NULL AUTO_INCREMENT;
--
-- AUTO_INCREMENT pour la table `Users`
--
ALTER TABLE `Users`
MODIFY `userID` int(11) NOT NULL AUTO_INCREMENT;
--
-- Contraintes pour les tables déchargées
--
--
-- Contraintes pour la table `EnonceStaff`
--
ALTER TABLE `EnonceStaff`
ADD CONSTRAINT `EnonceStaff_ibfk_1` FOREIGN KEY (`enonceID`) REFERENCES `Enonce` (`enonceID`),
ADD CONSTRAINT `EnonceStaff_ibfk_2` FOREIGN KEY (`userID`) REFERENCES `Users` (`userID`);
--
-- Contraintes pour la table `Exercice`
--
ALTER TABLE `Exercice`
ADD CONSTRAINT `Exercice_ibfk_1` FOREIGN KEY (`exerciceEnonceID`) REFERENCES `Enonce` (`enonceID`);
--
-- Contraintes pour la table `ExerciceMembers`
--
ALTER TABLE `ExerciceMembers`
ADD CONSTRAINT `ExerciceMembers_ibfk_1` FOREIGN KEY (`exerciceID`) REFERENCES `Exercice` (`exerciceID`),
ADD CONSTRAINT `ExerciceMembers_ibfk_2` FOREIGN KEY (`userID`) REFERENCES `Users` (`userID`);
--
-- Contraintes pour la table `Results`
--
ALTER TABLE `Results`
ADD CONSTRAINT `Results_ibfk_1` FOREIGN KEY (`resultExerciceID`) REFERENCES `Exercice` (`exerciceID`);
COMMIT;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment