Database Structure

Database Structure

Visualising the Pluto LMS Database:

The below graphic will help you visualize how each database table connects to the other. Some important notes:
  1. This is a simplified graphic and in many instances you can have more than one connection across tables. Each connection was not included otherwise the graphic would become difficult to read. 
  2. The blue boxes represent database tables that primarily link to user data 
  3. The red boxes represent database tables that primary link to course data



Each table contains columns and rows. The sample data below will help you understand what information is included in each table. 

Database Tables:


Note: The table below is sample data (with limited numbers of rows shown). Your actual LMS instance will contain more data.

Each tab represents a database table. When creating an SQL query, the tab name will need to be referenced when querying data from the respective tables. These will be used in your FROM statement within your SQL SELECT query. Click here to learn more.




You can download Sample Data in Excel at the bottom of this page.

Tables Explained:


prefix_user:

Table of users on LMS with associated information.

prefix_course:

Table of courses on LMS with associated information.

prefix_edwreports_course_progress:

Table of completed modules within course, course progress and completion time for each course per user.

prefix_logstore_standard_log:

Table of all logs on LMS site. 

prefix_cohort:

Table of all branches and associated information.

prefix_cohort_members:

Table of all branch members and  associated information.

prefix_user_info_field:

Table of all custom profile fields on LMS. 

prefix_user_info_data:

Table of all profile fields associated to users. 

prefix_course_completions:

Table of users and their course enrollment and completion times. 

prefix_course_modules:

Table of modules associated to courses. 

prefix_modules:

Table of modules and associated information. 

prefix_modules_completion:

Table of modules and completion information.

prefix_enrol:

Table of all enrollment types.

prefix_user_enrolments:

Table associating users to the enrollment types. 

prefix_event:

Table of all calendar events within your LMS. 

prefix_scorm

Table of all SCORM files within your LMS.

prefix_scorm_scoes_track

Table of all SCORM data with user association.

prefix_badge

Table of all badges on your LMS.

prefix_badge_issued

Table of all badges linked to users.

prefix_role 

Table of all roles on your LMS.

prefix_role_assignments

Table of all roles assigned to users.

prefix_grade_grades 

Table of all grades assigned to users.

prefix_grade_items

Table of all graded items within your course.

prefix_groups 

Table of all groups within your LMS courses.

prefix_groups_members

Table of all graded items within your course.


    • Related Articles

    • SCORM API

      mod_scorm_get_scorm_user_data  Arguments scormid (Required)         scorm instance id General structure int   //scorm instance id REST (POST parameters) scormid= int attempt (Required)         attempt number General structure int   //attempt number ...
    • Course Completion API

      core_completion_get_activities_completion_status Arguments courseid (Required)         Course ID General structure int   //Course ID REST (POST parameters) courseid= int userid (Required)         User ID General structure int   //User ID REST (POST ...
    • SQL Query Basics

      Below is an example of a very basic SQL query: SELECT u.id AS 'id',   u.username AS 'username', u.firstname AS 'first name', u.lastname AS 'last name', u.email AS 'email' FROM prefix_user AS u  WHERE u.id > 2 The SELECT statement is used to select ...
    • Grades API

      gradereport_overview_get_course_grades Arguments userid (Default to "0")         Get grades for this user (optional, default current) General structure int  Default to "0" //Get grades for this user (optional, default current) REST (POST parameters) ...
    • Enrollment API

      enrol_manual_enrol_users Arguments enrolments (Required) General structure list of (  object { roleid int   //Role to assign to the user userid int   //The user that is going to be enrolled courseid int   //The course to enrol the user role in ...