Mobile database schema, Assignments of Database Management Systems (DBMS)

A mobile database layered out in SQL commands along with a entity relation diagram.

Typology: Assignments

2020/2021

Uploaded on 04/10/2021

UsmanH_
UsmanH_ 🇵🇰

1 document

1 / 7

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Usman Hamid
03-134182-088
BsCS 4A
Moodle Database Schema Report
E-learning is the most effective platform for online research, learning and development environment. It is an
emerging field with huge promises to effective delivery of information through digital media that is available
worldwide. Modular Object-Oriented Dynamic Learning Environment or more commonly known as Moodle is
one such platform that promises to deliver the above stated claims. Moodle is an open source learning
management system and even a course management system both of which can be abbreviated as LMS and
CMS. These online platforms are more commonly found in areas such as schools, universities and
developmental and research environments. Their primary purpose is to retain educational content online and
readily available to the user. Moodle was developed by an Australian computer scientist Martin Dougiamas
whose main goal was to give online learning a platform to breathe on.
The Moodle database is written entirely using PHP on the server/back-end side and on the front end uses the
usual Java script/HTML/CSS for design and layouts. To run Moodle on your system you would need a database
and for that database a database management system such as MySQL, Microsoft SQL server, PostgreSQL,
Oracle or MariaDB and a file store which uploads documents and files.
According to the information available on Moodle’s own website, the Moodle comprises of 200 tables. Many
of which are activity tables and more enrollment plugin stuff. If we factor them out then we are left with 50
core tables which are even further divided into groups of relational tables. Heres an example to give us an idea
of just how the tables are represented in any database schema. The diagram below is for the tables of
pf3
pf4
pf5

Partial preview of the text

Download Mobile database schema and more Assignments Database Management Systems (DBMS) in PDF only on Docsity!

Usman Hamid

BsCS 4A

Moodle Database Schema Report

E-learning is the most effective platform for online research, learning and development environment. It is an

emerging field with huge promises to effective delivery of information through digital media that is available

worldwide. Modular Object-Oriented Dynamic Learning Environment or more commonly known as Moodle is

one such platform that promises to deliver the above stated claims. Moodle is an open source learning

management system and even a course management system both of which can be abbreviated as LMS and

CMS. These online platforms are more commonly found in areas such as schools, universities and

developmental and research environments. Their primary purpose is to retain educational content online and

readily available to the user. Moodle was developed by an Australian computer scientist Martin Dougiamas

whose main goal was to give online learning a platform to breathe on.

The Moodle database is written entirely using PHP on the server/back-end side and on the front end uses the

usual Java script/HTML/CSS for design and layouts. To run Moodle on your system you would need a database

and for that database a database management system such as MySQL, Microsoft SQL server, PostgreSQL,

Oracle or MariaDB and a file store which uploads documents and files.

According to the information available on Moodle’s own website, the Moodle comprises of 200 tables. Many

of which are activity tables and more enrollment plugin stuff. If we factor them out then we are left with 50

core tables which are even further divided into groups of relational tables. Heres an example to give us an idea

of just how the tables are represented in any database schema. The diagram below is for the tables of

Moodle’s Network side:

Furthermore, The database structure is edited, upgraded and defined using the XMLDB editor. The XMLDB

editor is a tool that makes the .xml files that specify what and how the Moodle should setup its database(s).

Upon installation there are some automatically generated documents. The install.xml file is one such file that

defines the Moodle’s database structure and contains comments on each table and database to document its

existence, relation and purpose. It is something that helps developers and even new users to see how the

database is set up and how relations are made. The contents of the Moodle are as follows (but are subject to

change depending upon the time this report was created) :

1. Automatically generated documents

2. Configuration

3. Users and their profiles

4. Courses and their organizations into categories

5. The roles and capabilities system

6. Activities and their arrangement within the course

"aim" NVARCHAR(50) NOT NULL, "msn" NVARCHAR(50) NOT NULL, "phone1" NVARCHAR(20) NOT NULL, "phone2" NVARCHAR(20) NOT NULL, "institution" NVARCHAR(40) NOT NULL, "department" NVARCHAR(30) NOT NULL, "address" NVARCHAR(70) NOT NULL, "city" NVARCHAR(120) NOT NULL, "country" NVARCHAR(2) NOT NULL, "lang" NVARCHAR(30) NOT NULL, "theme" NVARCHAR(50) NOT NULL, "timezone" NVARCHAR(100) NOT NULL, "firstaccess" BIGINT NOT NULL, "lastaccess" BIGINT NOT NULL, "lastlogin" BIGINT NOT NULL, "currentlogin" BIGINT NOT NULL, "lastip" NVARCHAR(45) NOT NULL, "secret" NVARCHAR(15) NOT NULL, "picture" BIGINT NOT NULL, "url" NVARCHAR(255) NOT NULL, "description" NVARCHAR(-1) NULL, "descriptionformat" SMALLINT NOT NULL, "mailformat" SMALLINT NOT NULL, "maildigest" SMALLINT NOT NULL, "maildisplay" SMALLINT NOT NULL, "htmleditor" SMALLINT NOT NULL, "autosubscribe" SMALLINT NOT NULL, "trackforums" SMALLINT NOT NULL, "timecreated" BIGINT NOT NULL, "timemodified" BIGINT NOT NULL, "trustbitmask" BIGINT NOT NULL, "imagealt" NVARCHAR(255) NULL, "screenreader" SMALLINT NOT NULL user_enrolments "id" BIGINT NOT NULL, "status" BIGINT NOT NULL,

"enrolid" BIGINT NOT NULL, "userid" BIGINT NOT NULL, "timestart" BIGINT NOT NULL, "timeend" BIGINT NOT NULL, "modifierid" BIGINT NOT NULL, "timecreated" BIGINT NOT NULL, "timemodified" BIGINT NOT NULL user_info_category "id" BIGINT NOT NULL, "name" NVARCHAR(255) NOT NULL, "sortorder" BIGINT NOT NULL user_info_data "id" BIGINT NOT NULL, "userid" BIGINT NOT NULL, "fieldid" BIGINT NOT NULL, "data" NVARCHAR(-1) NOT NULL, "dataformat" SMALLINT NOT NULL user_info_field "id" BIGINT NOT NULL, "shortname" NVARCHAR(255) NOT NULL, "name" NVARCHAR(-1) NOT NULL, "datatype" NVARCHAR(255) NOT NULL, "description" NVARCHAR(-1) NULL, "descriptionformat" SMALLINT NOT NULL, "categoryid" BIGINT NOT NULL, "sortorder" BIGINT NOT NULL, "required" SMALLINT NOT NULL, "locked" SMALLINT NOT NULL, "visible" SMALLINT NOT NULL, "forceunique" SMALLINT NOT NULL, "signup" SMALLINT NOT NULL, "defaultdata" NVARCHAR(-1) NULL, "defaultdataformat" SMALLINT NOT NULL, "param1" NVARCHAR(-1) NULL, "param2" NVARCHAR(-1) NULL, "param3" NVARCHAR(-1) NULL,