Attention : vous consultez actuellement la documentation dédiée aux versions 1.x de Moodle. La documentation pour les versions 2.x de Moodle est consultable ici : Développement:Tables de la base de données, celle pour les versions 3.x de Moodle est consultable ici : Développement:Tables de la base de données et celle pour Moodle 4.x est consultable là : Développement:Tables de la base de données.

« Développement:Tables de la base de données » : différence entre les versions

De MoodleDocs
Aller à :navigation, rechercher
Aucun résumé des modifications
 
(7 versions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
== Présentation ==
== Présentation ==


Chaque activité et ressources a sa table. Nous passons ici en revue l'ensemble des 166 tables.
La base de données de Moodle est à l'image de Moodle : modulaire. Sa structure est clairement
séparée en plusieurs sous-ensembles de tables qui adressent des fonctions centrales, ou au contraire
qui servent de stockage aux modules et plugins.


Voici les champs les plus souvent utilisés.
Les tables de modules d'activité et des blocs sont toujours préfixés de manière significatives et
se raccordent au schéma central à l'aide d'un certain nombre de clefs étrangères typiques :


groupeid
*course ou courseid : se réfère au cours qui constitue le contexte de l'enregistrement
userid
*groupid : se réfère au groupe d'utilisateurs (groupes du cours)
courseid
*userid : se réfère à un utilisateur
username
*categoryid : se réfère à une catégorie de cours dans l'arbre des catégories.
course
 
entryid ?
Pour les modules et plugins, le standard de construction précise qu'il existe une
table principale pour chaque plugin qui porte le nom du plugin :
 
Pour le module d'activité glossaire par exemple, la table 'glossary' définit
les "instances" de chacun des glossaires utilisés dans Moodle.
 
toutes les tables secondaires d'un module se réfèrent aux clefs-étrangères citées
précédemment, mais aussi à une instance du module. Dans notre exemple :
 
glossaryid : se réfère à l'instance du module qui donne le contexte aux données.
 
Les tables principales pour les blocks s'appellent "block_blockname" en général,
mais certaines implémentations ne suivent pas toujours cette règle à cause de la longueur*
des noms de table que cela peut générer.


== Description table des ressources ==
== Description table des ressources ==
Probablement, le table le plus important
du systeme moodle.


*[[Tables des ressources]]
*[[Tables des ressources]]
Ligne 29 : Ligne 42 :
*[[Tables des questions]]
*[[Tables des questions]]
*[[Tables des wikis]](3)
*[[Tables des wikis]](3)
*[[Tables des leçons]]
*[[Tables des leçons]] (9)
*[[Tables des historiques]]
*[[Tables des historiques]]
*[[Tables des Scorm]]
*[[Tables des Scorm]]
*[[Tables des base de données]]
*[[Tables des base de données]]


== Description des tables moodle ==
== Description des tables du noyau moodle ==


*[[Tables des cours]] (6)
*[[Tables des cours]] (6)
Ligne 45 : Ligne 58 :
*[[Tables adodb_logsql]]
*[[Tables adodb_logsql]]
*[[Tables de la cache]] (2)
*[[Tables de la cache]] (2)
*[[Tables des événments]]
*[[Tables des événements]]
*[[Tables des sessions ]]
*[[Tables des sessions ]]
*[[Tables des statistiques]]
*[[Tables des statistiques]]
Ligne 69 : Ligne 82 :
*[[Tables des chats]] (3)
*[[Tables des chats]] (3)
*[[Tables des sondages]]
*[[Tables des sondages]]
[[Category:Développeur]]

Dernière version du 18 décembre 2010 à 22:54

Présentation

La base de données de Moodle est à l'image de Moodle : modulaire. Sa structure est clairement séparée en plusieurs sous-ensembles de tables qui adressent des fonctions centrales, ou au contraire qui servent de stockage aux modules et plugins.

Les tables de modules d'activité et des blocs sont toujours préfixés de manière significatives et se raccordent au schéma central à l'aide d'un certain nombre de clefs étrangères typiques :

  • course ou courseid : se réfère au cours qui constitue le contexte de l'enregistrement
  • groupid : se réfère au groupe d'utilisateurs (groupes du cours)
  • userid : se réfère à un utilisateur
  • categoryid : se réfère à une catégorie de cours dans l'arbre des catégories.

Pour les modules et plugins, le standard de construction précise qu'il existe une table principale pour chaque plugin qui porte le nom du plugin :

Pour le module d'activité glossaire par exemple, la table 'glossary' définit les "instances" de chacun des glossaires utilisés dans Moodle.

toutes les tables secondaires d'un module se réfèrent aux clefs-étrangères citées précédemment, mais aussi à une instance du module. Dans notre exemple :

glossaryid : se réfère à l'instance du module qui donne le contexte aux données.

Les tables principales pour les blocks s'appellent "block_blockname" en général, mais certaines implémentations ne suivent pas toujours cette règle à cause de la longueur* des noms de table que cela peut générer.

Description table des ressources

Description des tables d'activités

Description des tables du noyau moodle

Description des tables utilisateurs

Description des tables notes/barêmes

Outils de communication