Skip to content

Database Model

Evgeniya Ovchinnikova edited this page May 2, 2019 · 4 revisions

Model of the current OR database:

graphml file to edit the model

Description:

  • USER is defined by ACCOUNT
  • USER can receive a confirmation email to the provided address -- USER_ID is required to define the table
  • USER can restore the lost password -- USER_ID is required to define the table
  • USER can own multiple robot CONFIGURATIONs -- NAME of the CONFIGURATION, OWNER_ID (USER's) and ROBOT_ID are required to define the table
  • USER can own multiple PROGRAMs -- NAME of the PROGRAM, OWNER_ID (USER's), AUTHOR_ID (USER's) and ROBOT_ID are required to define the table
  • USER can be an author of multiple PROGRAMs
  • Multiple USERs can like multiple PROGRAMs -- USER_ID and PROGRAM_ID are required to define the connection
  • Multiple USERs can share multiple PROGRAMs -- USER_ID and PROGRAM_ID are required to define the connection
  • Multiple PROGRAMs can be run on a ROBOT -- NAME of the ROBOT is required to define the table
  • ROBOT can have multiple CONFIGURATIONs
  • Multiple CONFIGURATIONs can be hashed to CONFIGURATION_DATA -- CONFIGURATION_HASH is required to define the table

Model of the OR database with groups:

graphml file to edit the model

Description (added groups):

  • Each used is now defined not only by ACCOUNT but also GROUP_ID. If GROUP_ID is null -- the user is a teacher that has an email that can be confirmed or used to restore his or the student's lost passwords. Otherwise, USER is a student.
  • Teacher-USER can own a GROUP -- NAME of the GROUP and OWNER_ID (USER's) are required to define the table
  • Student-USER can be in a GROUP
  • GROUP can be limited to multiple ROBOT types, if the ROBOT types list is empty -- programs for all ROBOTs can be shared in the GROUP
  • GROUP can have ACCESS_RIGHT_HISTORY that can also be null -- GROUP_ID is required to define the table
Clone this wiki locally