SHARE
TWEET

Structure.sql

a guest Oct 17th, 2019 83 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE DATABASE seriousGame;
  2.  
  3. USE seriousGame;
  4.  
  5. /**
  6. Catégories des questions
  7.  */
  8. CREATE TABLE Category (
  9.     id INT NOT NULL,
  10.     title VARCHAR(255) NOT NULL,
  11.     PRIMARY KEY (id)
  12. );
  13.  
  14. /**
  15. Chercheur : Réponse aux questions
  16.  */
  17. CREATE TABLE Researcher (
  18.     id INT NOT NULL,
  19.     name VARCHAR(255) NOT NULL, /* réponse */
  20.     description VARCHAR(255), /* Pas besoin de le stocker, mais ça pourrait-être intéréssant d'avoir accès aux descriptions déjà scannées*/
  21.     PRIMARY KEY (id)
  22. );
  23.  
  24. /**
  25.     Questions posées aux joueurs
  26.  */
  27. CREATE TABLE Question (
  28.     id INT NOT NULL,
  29.     /* intitulé */
  30.     question VARCHAR(255) NOT NULL,
  31.     /* description potentielle de la question  */
  32.     description VARCHAR(255),
  33.     /* catégorie de la question */
  34.     category INT NOT NULL,
  35.     /* énumération pour la difficulté */
  36.     difficulty ENUM('Très facile', 'Facile', 'Moyen', 'Difficile', 'Très Difficile') NOT NULL,
  37.     FOREIGN KEY (category) REFERENCES Category(id),
  38.     PRIMARY KEY (id)
  39. );
  40.  
  41. /* Une réponse associe une question à un chercheur car une question peut avoir plusieurs chercheurs comme réponse */
  42. CREATE TABLE Response (
  43.     question INT NOT NULL,
  44.     researcher INT NOT NULL,
  45.     FOREIGN KEY (question) REFERENCES Question(id),
  46.     FOREIGN KEY (researcher) REFERENCES Researcher(id),
  47.     PRIMARY KEY(question, researcher)
  48. );
  49.  
  50. /*
  51.     S'il faut faire un classement
  52.  */
  53.  
  54.  
  55. CREATE TABLE USER (
  56.     username VARCHAR(255) NOT NULL,
  57.     email VARCHAR(255) NOT NULL,
  58.     password VARCHAR(255) NOT NULL,
  59.     PRIMARY KEY(username)
  60. );
  61.  
  62. /* Questionnaire */
  63. CREATE TABLE Survey (
  64.     id INT,
  65.     PRIMARY KEY (id)
  66. );
  67.  
  68. /* Question du questionnaire */
  69. CREATE TABLE SurveyQuestion(
  70.     survey INT NOT NULL,
  71.     question INT NOT NULL,
  72.     /* player's response */
  73.     response VARCHAR(255) NOT NULL,
  74.     FOREIGN KEY (survey) REFERENCES Survey(id),
  75.     FOREIGN KEY (question) REFERENCES Question(id),
  76.     PRIMARY KEY(question, survey)
  77. );
  78.  
  79. /* Résultat du questionnaire */
  80. CREATE TABLE SurveyResult(
  81.     survey INT NOT NULL,
  82.     USER VARCHAR(255) NOT NULL,
  83.     RESULT INT NOT NULL,
  84.     PRIMARY KEY (survey, USER)
  85. );
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top