Moodle ER Frequently Asked Questions

Why are some relationships missing?

Not all components have relational designs. For example some tables have fields with multiple values which cannot be represented via an ER diagram. Some areas may simply be missing the primary/foreign key relationships. Moodle will not actually install if the existing relationships are enforced with a database engine that supports them such as InnoDB.. It would make sense to encourage developers to move to a structure with relationships between tables even if only to help with documentation.

Why are some of the groupings wrong?

The groupings (e.g. Gradebook, Backup etc) and allocations of tables to them are a combination of my own understanding of the Moodle subsystems and the documentation to be found at . If you think I have it wrong let me know.

Why are some modules missing?

The modules covered are anly those that get installed by default from the download basic Moodle installation. It would be possible to create diagrams for additional modules such as activities.

Why use MySQL Workbench

The original reason was mainly because it was free/libre. However having used many other diagramming tools over the years I would pick it again.

What licence is the diagram available under?

Ths diagrams, files and these pages are available under the GNU Public Licence or the Creative Commons License at