Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Database activity module.

Database activity module

From MoodleDocs


The database activity module allows the teacher and/or students to build, display and search a bank of record entries about any conceivable topic. The format and structure of these entries can be almost unlimited, including images, files, URLs, numbers and text amongst other things.

This module will create one table per instance, but you may create as many instances you need. The records can be linked to other tables and all resources in the course, if you allow autolink in a name field, but you cannot build a SQL query.

The table is not created in the SQL database, it is just stored there in lines of other SQL tables (mdl_data*).


How to use the database activity module

  • The first task is to add the database. You will be asked to give it a name, provide some text explaining its intended purpose to users and set a few other options.
  • Next you define the kind of fields that define the information you wish to collect. For example a database of famous paintings may have a picture field called painting, for uploading an image file showing the painting, and two text fields called artist and title for the name of the artist and the painting.
  • It is then optional to edit the database templates to alter the way in which the database displays entries.
  • Note that if you later edit the fields in the databases you must use the Reset template button, or manually edit the template, to ensure the new fields are added to the display
  • the Teacher and/or Students can start entering data and (optionally) commenting on and grading other submissions. These entries can be viewed alone, viewed as a list or searched and sorted.
  • Data can be uploaded into the database from a .csv file:
    • Click the 'Add Entry' tab
    • At the bottom of the page there is a link 'Upload entries from a file' which provides help in assigning data in a csv file to the relevant fields in your database.

Database and Roles

Since Moodle 1.7 a number of options in Database have been migrated over to the Roles system. For example, preventing students (or any other role) submitting data must be done by overriding the role for that particular instance of the Database. However, do note that by default teachers are unable to override roles and this ability must first be granted by your Administrator for the course or site as appropriate.

Example databases

Moodle.org has three good examples of the database module in action:

  • Moodle Buzz, a database of the titles, authors and web links to news articles mentioning Moodle
  • Themes, a database with screenshots, download links and user comments about Moodle themes
  • Modules and plugins, a database containing a variety of web links (download, documentation, discussion) and info (maintainer, module type, requirements) about the modular components of Moodle, including those created by third parties.

Creative uses

You could use the database module to:

  • allow collaboration on building a collection of web links/books/journal references related to a particular subject
  • display student created photos/posters/websites/poems for peer comment and review
  • gather comments and votes on a shortlist of potential logos/mascot names/project ideas
  • provide a student file storage area
  • maintain a log of what was done in a face-to-face class each day, so that absent students can get caught up themselves. Example

See also

Using Moodle forum discussions: