Banco de Dados do Moodle
Arquitetura do Banco de Dados do Moodle
Alterações que ocorreram na versão 2.7
Lino Vaz Moniz
[email protected]
8º edição do Moodle Moot Floripa 2014
09/10/2014
Sumário
 Padrão de nome das tabelas
 Colunas que registram instancias ao invés de chave estrangeira
de uma única tabela
 Chave de integração idnumber
 Tabela que gerencia o contexto
 Tabelas que gerenciam matrículas
 Tabelas que gerenciam notas
 Estrutura da tabela de log no Moodle 2.7
Padrão de nome das tabelas
 Nome da tabela é composta por prefixo e nome do plugin.
Exemplo:
mdl_fórum
mdl_fórum_post
mdl_role
mdl_role_assignments
 O prefixo padrão é mdl_
 O prefixo é dinâmico. Pode ser customizado no momento da
instalação
 No mesmo banco de dados você pode ter várias instalações do
Moodle. As tabelas de cada instalação devem ser separadas por
prefixo
Colunas que registram instancias ao invés de chave estrangeira de
uma única tabela
Tabela
Coluna do Tipo
de Instância
Coluna da
Instância
Descrição
mdl_context
contextlevel
instanceid
Registra tabela de domínio
do contexto:
10 – Sistema
30 – Usuário
40 = Cat. de curso
50 – Curso
...
Registra instância, ou seja,
chave estrangeira conforme
o contexto definido na
coluna contextlevel. Se o
contexto for 50, a chave
estrangeira será da tabela
mdl_course
A tabela mdl_context
registra o contexto de curso,
usuário, grupo etc para efeito
de gerenciamento de
permissão.
module
instance
Registra chave estrangeira
da tabela mdl_modules
Registra instância, ou seja,
chave estrangeira conforme
o valor da coluna module.
Se a coluna module tiver id
referente ao fórum, a chave
estrangeira será da tabela
mdl_forum
itemmodule
iteminstance
A tabela mdl_grade_items
Registra o nome do módulo
Registra instância, ou seja,
chave estrangeira conforme
o valor da coluna
itemmodule. Se a coluna
itemmodule tiver valor
forum, a chave estrangeira
registra as avaliações
geradas por diversos plugins
de atividade instanciadas no
ambiente do curso.
mdl_course_modules
mdl_grade_items
A tabela mdl_course_modules
registra os recursos /
atividades cadastrados no
curso.
Chave de integração idnumber
 idnumber é uma chave genérica
 Pode ser usado para padronização de dados
 Pode ser usado para integração com outros sistemas
 Exemplos de tabelas que tem campo idnumber
 mdl_user
 mdl_course
 mdl_course_categories
 mdl_groups
 mdl_course_modules
 mdl_grade_items
Tabela que gerencia o contexto
 Consultar registro do contexto:
SELECT id,instanceid,path
mdl_contexto
FROM
 A linha contornada em vermelho mostra o
contexto do curso com id 2
 O id do contexto do curso com id 2 é
19
 Consultar o contexto do curso
SELECT id FROM mdl_context WHERE
contextlevel=50 AND instanceid=2
Tabelas que gerenciam matrículas
Tabela
Descrição
mdl_enrol
Registra as regras de matrícula (método de
inscrição). Cada regra é uma instância de um
determinado plugin vinculado a um curso.
mdl_user_enrolments
Registra o vínculo do usuário a regra de inscrição.
Também configura o período de validade da
matrícula
mdl_role_assignments
Registra a matricula do usuário vinculado a um
determinado contexto (categoria de curso, curso ...)
e a um determinado perfil (aluno, tutor ...).
Gerenciar Método de Inscrição
 Instanciar um novo método de inscrição no
ambiente do curso
 O painel de gerenciamento do método de
inscrição pode ser acessado no bloco de
administração do curso
Gerenciar Método de Inscrição
Escolher qual plugin será usado para criar método de inscrição
Gerenciar Método de Inscrição
Configurar formulário para criar método de inscrição
Gerenciar Método de Inscrição
 Consultar Métodos de Inscrição cadastrados:
SELECT * FROM mdl_enrol
 O método de inscrição denominado “Método de Inscrição I” é
registrado na tabela mdl_enrol com id 4 como mostra a figura abaixo
Gerenciar Inscrição
 Tela do curso com
método de inscrições
habilitado
 O aluno precisa colocar
o código habilitado no
método de inscrição para
acessar o curso
Gerenciar Inscrição
 Lista de alunos inscritos no curso
 O aluno 2 foi inscrito usando o método de inscrição “Método de
Inscrição I”
Gerenciar Inscrição
 Consultar método de inscrição dos alunos:
SELECT * FROM mdl_user_enrolments
 O aluno 2 foi inscrito usando o método de inscrição “Método de
Inscrição I”.
Observe que o campo enrolid da tabela mdl_user_enrolments é chave estrangeira
da tabela mdl_enrol.
SELECT * FROM mdl_enrol
Gerenciar Inscrição
 Consultar as inscrições feitas no curso:
SELECT * FROM mdl_role_assignments
Observe que o campo contextid da tabela
mdl_role_assignments é chave estrangeira da tabela
mdl_context
SELECT * FROM mdl_context
Tabelas que gerenciam notas
Tabela
Descrição
mdl_pluginxx_grade
Registra as notas do plugin de atividade
mdl_grade_items
Registra a avaliação do plugin de forma centralizada.
Duplica a avaliação para ser reconhecida pelo core
do Moodle
mdl_grade_grades
Registra nota centralizada do Moodle. Duplica os
registros de notas criados nos plugins.
Notas no plugin tarefa
Tabela que registra a tarefa
Consultar tarefas cadastradas na tabela:
SELECT * FROM mdl_assign
Notas na tabela do plugin de tarefa
Consultar nota na tabela de tarefa:
SELECT * FROM mdl_assign_grades
Interface da tabela geral de notas do Moodle
Tabela geral de avaliação
Consultar avaliação geral no Moodle:
SELECT * FROM mdl_grade_items
Tabela geral de avaliação
Consultar avaliação geral no Moodle:
SELECT * FROM mdl_grade_items
Observe que o campo iteminstance da tabela mdl_grade_items é chave
estrangeira da tabela mdl_assign desde que a coluna itemmodule da tabela
mdl_grade_items tenha o valor assign
SELECT * FROM mdl_assign
Tabela geral de nota
Consultar notas na tabela geral do Moodle:
SELECT * FROM mdl_grade_grades
Observe que o campo itemid da tabela mdl_grade_grades
é chave estrangeira da tabela mdl_grade_items
Mudança de nome da tabela de log no Moodle 2.7
Tabela
Descrição
mdl_log
Tabela que registra log do Moodle até a versão 2.6
mdl_logstore_standard_log
Tabela que registra log do Moodle a partir da versão
2.7
Relatório de log do Moodle até a versão 2.6
Estrutura da tabela de log do Moodle até a versão 2.6
Tabela de log do Moodle até a versão 2.6
Consultar log no
Moodle até a
versão 2.6:
SELECT * FROM
mdl_log
Relatório de log do Moodle a partir da versão 2.7
Estrutura da tabela de log do Moodle a partir
da versão 2.7
Tabela de log do Moodle a partir da versão 2.7
Consultar log no Moodle a partir da versão 2.7:
SELECT * FROM mdl_logstore_standard_log
Lino Vaz Moniz
Telefone
(61) 9937-8258
E-mail
[email protected]
http://www.badiu.net
Skype
badiu.net
Download

Demonstração de Relatórios