Difference between revisions of "InstaGov/schema/rating"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
(clearer explanation)
(unique key: one rating per user per answer)
Line 6: Line 6:
 
** Changes to ratings are logged in the {{l/same|rating log}}.
 
** Changes to ratings are logged in the {{l/same|rating log}}.
 
==History==
 
==History==
* '''2013-01-09''' Removed the "ID_Proxy" field; see {{l/same|rating_log}} for explanation.
+
* '''2013-01-09''' Removed the "ID_Proxy" field; see {{l/same|rating_log}} for explanation; added unique key: one rating per answer per user.
 
==SQL==
 
==SQL==
 
<mysql>CREATE TABLE `rating` (
 
<mysql>CREATE TABLE `rating` (
Line 17: Line 17:
 
   `Remark` VARCHAR(255) COMMENT "comments on this rating (can include link)",
 
   `Remark` VARCHAR(255) COMMENT "comments on this rating (can include link)",
 
   PRIMARY KEY(`ID`)
 
   PRIMARY KEY(`ID`)
 +
  UNIQUE KEY(`ID_User`,`ID_Answer`)
 
  )
 
  )
 
  ENGINE = MYISAM;</mysql>
 
  ENGINE = MYISAM;</mysql>

Revision as of 16:20, 9 January 2013

About

  • Purpose: Records the current value of one user's rating of a given answer (which in turn is tied to a specific question. These are the values which are aggregated to calculate the voting results for each question.
  • Rules:
    • Any answer may have zero or more ratings.
    • Each user sets the value of their rating for each answer, and can change that rating at any time.
    • Changes to ratings are logged in the rating log.

History

  • 2013-01-09 Removed the "ID_Proxy" field; see rating_log for explanation; added unique key: one rating per answer per user.

SQL

<mysql>CREATE TABLE `rating` (

  `ID` INT  NOT NULL AUTO_INCREMENT,
  `ID_User` INT COMMENT "user.ID who gave this rating",
  `ID_Answer` INT NOT NULL COMMENT "answer.ID for which this is a rating",
  `ID_Log` INT NOT NULL COMMENT "ID of log event which posted this value",
  `Value` INT NOT NULL COMMENT "rating value",
  `WhenDone` DATETIME NOT NULL COMMENT "when this rating was posted",
  `Remark` VARCHAR(255) COMMENT "comments on this rating (can include link)",
  PRIMARY KEY(`ID`)
  UNIQUE KEY(`ID_User`,`ID_Answer`)
)
ENGINE = MYISAM;</mysql>