Moodle Database by Marcus Green

Table and relationship documentation generated from Moodle source code

For Moodle development and consultancy see

Go directly to the index of all tables here

Archive of old versions

Links to download these documents/diagrams can be found here

This information is generated from the Moodle database schema as contained in the Moodle install.xml files.  A standard Moodle install discards all field comments and foreign key relationships. The SQL for this install was generated using the local_sqlgenerator plugin I created ( which preserves that information. The data from that installation was extracted using schemaspy (

SQL Generator also adds in around 70 additional foreign key relationships that are implied but not included in the xml install files.

The grid below is to help identify sections of Moodle functionality.

I started work on the first versions of this docmentation in early 2004, see this discussion


AssignAssignment analyticsAnalytics BadgeBadges BookBook
ChatChat ChoiceChoice courseCourse DataData
enrolEnrolment FeedbackFeedback ForumForum LessonLesson
LTILTI PagePage QuizQuiz ScormScorm
SurveySurvey usersUsers WorkshopWorkshop WikiWiki