Pular para o conteúdo principal

Criando e Sincronizando Modelo Entidade-Relacionamento com MySQL Workbench

Olá Pessoal, tudo bem?

Hoje vou mostrar duas funcionalidades muito interessantes do MySQL Workbench. Pra quem não sabe, o MySQL Workbench é uma ferramenta gratuita de criação, design, modelagem, além de outras funcionalidades de gerenciamento de bancos MySQL. É uma ferramenta muito completa, a minha preferida para trabalhar com banco de dados MySQL. Vamos lá!

- Baixe e instale o Workbench. Para fazer o download clique aqui

CRIANDO BANCO DE DADOS

- Depois de instalado vá em CREATE NEW EER MODEL


- Você poderá alterar o nome do banco de dados, clicando duas vezes no nome do banco, como na imagem abaixo. No meu caso dei o nome de "meu_banco":


- Adicionando tabelas ao seu banco de dados. Veja na imagem abaixo:


- Criei o nome de minha tabela "tbl_usuarios", criando os campos ID (INT, NOT NULL, e AUTO INCREMENTO), NOME, EMAIL, USUARIO, SENHA e DATA_CRIACAO. Você criará o seu banco de acordo a sua necessidade. O MySQL Workbench vai te fornecer suporte para isso. Veja na imagem abaixo:



- Depois de criadas as tabelas do banco, você poderá criar o modelo/diagrama entidade relacionamento. Para isso vá em ADD DIAGRAM. 


- Em meu diagrama, relacionei 2 tabelas que criei. A tabela TBL_TIPOS (Para armazenar) com a tabela TBL_USUARIOS. Note que o campo TIPO virou chave na tabela de USUÁRIOS.


SINCRONIZANDO O MODELO DO BANCO DE DADOS

- Agora vamos ao "pulo do gato", sincronizar o modelo criado com o banco de dados. Vá em DATABASE, SYNCHRONIZE MODEL:


- Feito isso, siga as sequências de imagens abaixo.

Conectando ao servidor do MySQL


Selecionando o banco que será sincronizado.

Criando/Alterando banco de dados.
SQL gerado a partir do Modelo.
Mensagem de sucesso na sincronização.

CONFERINDO SE FUNCIONOU CORRETAMENTO A SINCRONIZAÇÃO

- Faça uma nova conexão com o banco de dados em NEW CONNECTION, ou abra a conexão existente em que foi feita sincronização do modelo:


- Confira, como na imagem abaixo, o banco criado de acordo fizemos em nosso Modelo.


Lembrando que esse procedimento pode ser feito também para alterações do modelo. Caso o banco já esteja sendo utilizado, mesmo assim você poderá fazer alguma alteração e sincronizar o modelo, sem que haja prejuízo no seu ambiente de produção. Vale lembrar ainda que as alterações devem seguir os critérios de compatibilidades do banco MySQL e de violação de chave estrangeira.

Abraços a todos!

Comentários

  1. Olá Marcelo, Me Meu Nome é Marcio, sou Acadêmico de GTI (Gestão da Tecnologia da Informação).
    Estou estudando o CMS Joomla, e estou com dificuldades em descobrir como o Joomla faz o relacionamento entre as tabelas, pois observei no banco criado pelo joomla que não há relação entre as tabelas. Você concorda com isso, ou há uma relação, um diagrama ER?

    Meu e-mail para contato é: marciop07@hotmail.com

    ResponderExcluir
    Respostas
    1. Olá Márcio, Obrigado pela visita ao blog!

      O Joomla faz relacionamentos entre tabelas, porém uma coisa que não acontece, pelo menos em algumas versões mais antigas, é não usar chaves estrangeiras. Se comparar a outros CMS acho que isso no Joomla deixa um pouco a desejar, porém ainda acho ele um excelente Gerenciador de Conteúdos.

      Existem na internet vários posts e conteúdos em que usuários e desenvolvedores analisam o banco de dados do Joomla.

      Abraços!

      Excluir

Postar um comentário

Postagens mais visitadas deste blog

Resolvendo problema na instalação do Moodle 3.1 [mysql_full_unicode_support]

Fala Galera! Recentemente fui instalar a versão do 3.1 do Moodle e me deparei com a seguinte mensagem de erro da instalação: Ou seja, a mensagem está falando que o seu banco de dados foi criado em um formato de arquivos não suportado. Na maioria das vezes a collaction criada automaticamente é LATIN1 e ele está pedindo UTF-8. Para resolver esse problema basta rodar o seguinte SQL em seu banco de dados MySQL. ALTER SCHEMA `NOME_DO_SEU_BANCO`  DEFAULT CHARACTER SET utf8  DEFAULT COLLATE utf8_general_ci; Feito isso prossiga normalmente com sua instalação do Moodle 3.1 e desfrute das novidades que essa versão traz. Espero que tenha gostado e até mais.

Criando campos complementares no perfil de usuário do Moodle

Olá Pessoal, Tudo Bom? O post de hoje é sobre criar campos complementares no perfil de usuário do Moodle. Muitas vezes o perfil de criação de usuário no Moodle não permite inserir informações importantes, por exemplo: RG, CPF, Data de Nascimento, Sexo, entre outras que você desejar. Não é possível inserir já que o formulário não contempla esses campos. Para suprir essa demanda você pode criar campos complementares. Vamos lá! 1º Logado com administrador do Moodle você irá em ADMINISTRAÇÃO DO SITE > USUÁRIOS > CONTAS > CAMPOS DE PERFIL DO USUÁRIO: 2º Dentro de CAMPOS DE PERFIL DO USUÁRIO será necessário criar uma categoria onde você irá criar seus campos complementares. Por padrão o Moodle traz a categoria "Outros Arquivos". Aconselho criar uma nova categoria por questão de organização. Para criar a categoria vá em CRIAR UMA NOVA CATEGORIA DE PERFIL: 3º Basta dar o nome desejado para essa nova categoria. No exemplo usei DADOS PESSOAIS: 4º Cri...

Relatório de alunos matriculados por curso no Moodle em SQL

Olá Pessoal, tudo bem? Hoje vou postar aqui uma consulta em SQL que vai retornar os alunos matriculados por curso no Moodle. Uma consulta simples que irá funcionar no MySQL. SELECT mdl_user.id as ID, upper(CONCAT(mdl_user.firstname,mdl_user.lastname)) as NOME  FROM mdl_role_assignments  JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid  JOIN mdl_context ON mdl_role_assignments.contextid = mdl_context.id  WHERE mdl_role_assignments.roleid = 5 AND mdl_context.contextlevel = 50 AND mdl_context.instanceid = ID_CURSO  ORDER BY firstname Nessa consulta SQL utilizei as tabelas  mdl_user  (armazena as informações de usuário como nome, id, e-mail, etc),  mdl_role_assignments  (armazena as informações da matricula do usuário no curso) e  mdl_context  (armazena as informações do contexto desse usuário no curso.)  No campo  mdl_context.instanceid deverá será ser utilizado o ID DO CURSO.  Para saber q...