Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso MySQL Administrator: gerenciando esquemas e usuários

MySQL Administrator: gerenciando esquemas e usuários

Gerenciamento de esquemas - Apresentação

Olá! Meu nome é Victorino Vila e te dou as boas-vindas ao curso MySQL Administrator: Gerenciando Esquemas e Usuários.

Audiodescrição: Victorino é um homem de pele clara, cabelos brancos curtos e barba grisalha. Está vestindo uma camiseta preta. À sua frente, um microfone apoiado num braço articulado. Ao fundo, um ambiente com iluminação azul e uma parede lisa.

O que aprenderemos?

Neste curso sobre administração de banco de dados MySQL, vamos nos concentrar em dois tópicos principais:

Para tornar o aprendizado mais prático e aplicado ao mundo real, vamos continuar utilizando a empresa fictícia Sucos S.A. como nosso estudo de caso. Vamos trabalhar nos novos desafios do DBA da empresa, dando ênfase aos dois assuntos contidos no título deste curso.

Já temos conosco a base de dados Sucos_Vendas e as suas derivadas, e vamos utilizar o MySQL Workbench para desenvolver todos os nossos exemplos práticos.

Vamos começar abordando o gerenciamento de esquemas, aprendendo a:

Tudo isso de forma segura.

Na parte de administração de usuários, aprenderemos a:

Isso tudo também de forma segura.

Na parte de atribuição e gerenciamento de permissões, vamos aprender:

Também vamos cobrir manutenção e boas práticas, incluindo:

Por fim, vamos discutir as melhores práticas de segurança:

Vamos lá!

Essa nova jornada de aprendizado será incrível! Vamos começar explorando a criação de esquemas no MySQL?

Até o próximo vídeo!

Gerenciamento de esquemas - Criando esquemas

Estamos no ambiente da empresa Sucos S.A. Foi solicitado ao DBA da empresa a criação de um novo banco de dados, além do atual sucos_vendas, chamado sucos_financeiro.

Na verdade, chamamos isso de banco de dados, mas o termo não está muito correto. Em SQL, o que estamos chamando de banco de dados é chamado de esquema. Ou seja, banco de dados e esquema são sinônimos em SQL.

O esquema, ou banco de dados, tem a função de armazenar, em um único local, uma série de componentes da base de dados, como tabelas, índices, procedures, funções e assim por diante.

Nosso desafio agora é criar um novo esquema para a empresa Sucos S.A. No Workbench, podemos fazer isso de diversas maneiras. O importante é saber como criar um esquema de forma eficiente, considerando, todas as boas práticas para manter a integridade de dados.

Criando um novo esquema via interface

Para criar nosso novo esquema, vamos com o cursor até uma área vazia do Workbench, na aba de "SCHEMAS" e clicamos com o botão direito do mouse, selecionando a opção "Create Schema". Feito isso, nomeamos esse esquema no campo "Name" no centro da tela. Nosso novo esquema se chamará sucos_financeiro.

Quando clicamos no botão "Apply", no canto inferior direito da tela, surge uma janela com um comando de SQL: CREATE SCHEMA sucos_financeiro;. Isso significa que, se executarmos esse comando no Workbench, também conseguiremos criar um esquema. Ou seja, podemos criar um esquema navegando pela interface ou rodando esse comando SQL diretamente.

Nessa janela, temos um campo chamado "Algorithms" em que podemos selecionar um tipo de algoritmo, e o campo "Lock Type" em que podemos selecionar o tipo de privacidade desse esquema, podenso ser compartilhado ou exclusivo. O padrão default é público e compartilhado.

Para finalizar a criação, clicamos em "Apply > Finish". Pronto! Podemos conferir nosso esquema novo na aba de SCHEMAS.

Criando um esquema via comando SQL

Como mencionado, também conseguimos criar um esquema por meio de um comando SQL. Para isso, criamos um novo script (clicando em "Create a new SQL tab...")no canto superior esquerdo da tela) e digitamos no campo de texto, por exemplo:

CREATE SCHEMA sucos_financeiro2;

Estamos usando o mesmo comando que criamos por meio da navegação pela interface, mas agora executando-o diretamente para criar o esquema sucos_financeiro2.

Rodamos esse comando selecionando-o e clicando em "Execute..." no menu superior do campo de script. Podemos conferir na aba de Output, na parte inferior da tela, que o comando foi executado com sucesso.

Mas não conseguimos visualizar o esquema novo na aba de SCHEMAS automaticamente. Para isso, precisamos atualizar a página, clicando com o botão direito do mouse em uma área vazia da tela e selecionando a opção "Refresh All".

Selecionando um esquema

Agora, para termos o novo esquema como padrão para a execução de qualquer comando no script, precisamos selecioná-lo com um duplo clique na aba de SCHEMAS.

Alternativamente, podemos executar o comando USE, que já conhecemos de outros cursos, para fazer a troca de esquema. Por exemplo, para executar queries no esquema sucos_financeiro2, podemos rodar o seguinte comando:

USE sucos_financeiro2;

Com isso, poderemos conferir que o nome do esquema sucos_financeiro2 fica selecionado em negrito na aba de SCHEMAS, indicando que esse esquema é o local de execução de comandos no momento.

Para trocar para sucos_financeiro, precisamos apenas rodar:

USE sucos_financeiro;

Criando uma tabela no esquema novo

Estando no esquema desejado - nesse caso, sucos_financeiro -, podemos criar uma tabela. Sabemos que a tabela de clientes que já criamos no esquema sucos_vendas vale também para o financeiro.

Existe uma forma de reaproveitar uma tabela já criada em outro esquema e "importá-la" no esquema desejado. Podemos clicar na tabela que queremos usar como modelo (nesse caso, a tabela_de_clientes do esquema sucos_vendas) com o botão direito do mouse na aba de SCHEMAS, e selecionar a opção "Send to SQL Editor > Create Statement".

Ao fazer isso, note que todo o comando necessário para criar uma tabela igual a essa que usamos como modelo será escrito automaticamente no campo de script do Workbench. Como estamos com o esquema sucos_financeiro selecionado, se executarmos o comando escrito, não criaremos uma tabela repetida - mas apenas uma tabela igual em esquemas diferentes.

Atualizando o Workbench, verificamos na aba de SCHEMAS a nova tabela_de_clientes dentro do esquema sucos_financeiro, igual à do esquema sucos_vendas.

Ou seja: note que ao criar diferentes esquemas, conseguimos isolar e manter os objetos e seus conteúdos íntegros, sem que os dados de um objeto se confundam com outro objeto de outro esquema.

Próximos passos

Nesse vídeo, aprendemos a:

No entanto, muitas vezes, os esquemas já criados devem ser modificados. Vamos aprender a fazer isso no próximo vídeo. Até lá!

Gerenciamento de esquemas - Modificando esquemas

Já aprendemos a criar um esquema, porém, muitas vezes, a pessoa que atua como DBA precisa alterar o nome do esquema. Isso ocorre frequentemente na empresa Sucos S.A, por exemplo. No entanto, infelizmente, não podemos alterar esse nome.

Por exemplo, se clicarmos com o botão direito do mouse no esquema sucos_financeiro na aba de SCHEMAS, temos uma opção chamada "Alter schema", para alterá-lo. Podemos fazer algumas modificações nele por essa interface, mas o campo de nome é bloqueado, pois é inalterável.

A solução para renomear um esquema é criar um novo esquema e, em seguida, transferir todos os objetos do esquema antigo para o novo. Vamos tentar?

"Renomeando" um esquema

Vamos renomear o esquema sucos_financeiro para sucos_contabilidade. Para isso, vamos criar um novo script e executar o seguinte comando para criar o novo esquema:

CREATE SCHEMA sucos_contabilidade;

Pronto! Se atualizarmos os SCHEMAS, temos o sucos_contabilidade válido.

Agora, precisamos transferir a tabela de um esquema para outro. Poderíamos fazer como no vídeo anterior: criar uma nova tabela de clientes usando o mesmo script utilizado no esquema sucos_financeiro.

Mas vamos fazer de uma maneira mais fácil, principalmente porque, se tivermos muitas tabelas, muitos índices, ou até mesmo muitas stored procedures, não é interessante recriar tudo sempre que necessário.

Para isso, temos o comando RENAME TABLE. Podemos adicionar a ele o nome do esquema antigo, sucos_financeiro, e chamar o nome da tabela depois de um ponto, .tabela_de_clientes. Em seguida, adicionamos a palavra TO e chamamos o nome da tabela no esquema novo: sucos_contabilidade.tabela_de_clientes.

RENAME TABLE sucos_financeiro.tabela_de_clientes TO sucos_contabilidade.tabela_de_clientes;

Ao executar esse comando e atualizar o Workench, verificaremos que a tabela_de_clientes não existe mais no esquema antigo sucos_financeiro, mas existe no esquema novo sucos_contabilidade! Ou seja, a tabela foi transferida de um esquema para outro.

Próximos passos

Conseguimos criar um novo esquema e transferir para ele o conteúdo de um esquema antigo. Mas o nosso objetivo era renomear o esquema antigo. Ou seja, o esquema sucos_financeiro, agora obsoleto, precisa ser removido. Vamos aprender a fazer isso no próximo vídeo!

Sobre o curso MySQL Administrator: gerenciando esquemas e usuários

O curso MySQL Administrator: gerenciando esquemas e usuários possui 171 minutos de vídeos, em um total de 54 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas