Angulo Sólido, Tecnologias de Informação

info @ angulosolido.pt

EBDM1201 – Administração e Otimização do Motor de Base de Dados MySQL || MariaDB

Enquadramento

Este curso é uma introdução abrangente à utilização e administração de bases de dados relacionais (RDBMS) cliente-servidor MySQL e MariaDB, incluindo a instalação, configuração, utilização, administração e otimização.

Este curso está orientado para as boas práticas do desenho e implementação de bases de dados e não para o ensino de ANSI SQL, tendo sido preparado por profissionais experientes na implementação de bases de dados em ambientes MySQL e MariaDB.

Destinatários

Gestores técnicos e programadores que pretendem desenvolver ou otimizar a utilização de RDBMS MySQL ou MariaDB.

Administradores de bases de dados ou administradores de sistemas que precisam de gerir serviços baseados em MySQL ou MariaDB.

Profissionais de Web Design que querem construir sites Web baseados em servidores MySQL ou MariaDB.

Pré-requisitos

[BDM1201] Introdução ao Motor de Base de Dados MySQL || MariaDB

Conhecimentos informáticos avançados com alguns conhecimentos de sistemas operativos.

Saber o que é um sistema de gestão de bases de dados relacionais.

Duração

30 horas/5 dias

Outros Cursos Recomendados

[EBDM1205] Motor de Base de Dados MySQL || MariaDB e a Linguagem SQL

Conteúdo Programático

Introdução prática ao MySQL || MariaDB

  • Execução do cliente mysql
  • Uma query simples: select *
  • Visualização dos resultados das queries
  • Separação de queries
  • Seleção de colunas e linhas das tabelas de bases de dados
  • Queries sobre várias tabelas
  • Utilização conjunta de “where” e da escolha de colunas
  • Análise de uma base de dados MySQL || MariaDB
  • Utilização de queries insert para inserir dados com e sem os nomes das colunas
  • Reordenar as colunas com insert
  • Inserção de várias linhas ao mesmo tempo
  • Utilização do statement SQL update para alterar dados numa tabela
  • Utilização do statement SQL delete para remover dados de uma tabela
  • Contar colunas com a função SQL count
  • Pesquisar os valores máximos e mínimos (Funções SQL min e max)
  • Pesquisar médias (Função SQL avg)
  • Linhas sem dados (valores NULL)
  • Pesquisar linhas com falta de dados (Testes SQL null e is not null)
  • Ordenar os linhas de resultados (Funções SQL order by clause, ordem ascendente e descente com asc e desc)
  • Utilização de aliases de colunas para colunas com nomes longos no select
  • Joins simples sobre várias tabelas
  • Resumo SQL

Introdução ao desenho de bases de dados

  • Criação de uma base de dados (Statement SQL create database)
  • Criação de uma tabela simples (Statement SQL create table)
  • Tipos de texto (como varchar(255))
  • Chaves primárias, identificação de números
  • Chave primárias integer not null auto_increment
  • Ligações entre tabelas (ligação entre foreign keys e primary keys)
  • Alterar o tipo de uma coluna (Statement SQL alter table)
  • Tabelas de junção (tabelas auxiliares para permitir joins 'many to many')

Desenho de bases de dados

  • Tipos de dados
  • Tipos de texto (SQL varchar e char, mediumtext e longtext – específicos a MySQL || MariaDB)
  • Colunas de dados binárias (mediumblob e longblob – específicos a MySQL || MariaDB)
  • Relações entre tabelas ('one to many' e 'many to many')
  • IDs únicos (incluindo a extensão de MySQL || MariaDB auto_increment)
  • Chaves primárias e secundárias
  • Tipo not null
  • Join em relações 'many to many'

Os primeiros passos com o servidor MySQL || MariaDB

  • O conjunto de programas MySQL || MariaDB
  • Onde encontrar o MySQL || MariaDB
  • Instalação e configuração de MySQL || MariaDB
  • O diretório de dados MySQL || MariaDB
  • Diretórios por omissão das instalação a partir de binários
  • Acesso aos dados em MySQL || MariaDB
  • Tipos de ficheiros das bases de dados MySQL || MariaDB
  • Arranque e paragem do servidor em Unix e Linux
  • Logging MySQL || MariaDB e ficheiros de log
  • O error log
  • O log de queries
  • O log 'binary update'
  • Onde encontrar os logs

Permissões em MySQL || MariaDB

  • Utilizadores e permissões
  • Utilizadores MySQL || MariaDB
  • Utilizadores locais e remotos
  • A função MySQL || MariaDB user()
  • Controlo dos direitos de acesso em MySQL || MariaDB
  • Utilização do statement SQL grant
  • grant com 'wildcards'
  • grant com múltiplas permissões
  • Criação de passwords para os utilizadores
  • Remover permissões (statement SQL revoke)
  • Dar a permissão de grant
  • Mostrar os grants
  • Tabelas de grant
  • flush privileges

Backup e recuperação em MySQL || MariaDB

  • Princípios de backup
  • Métodos de backup
  • Backups com mysqldump
  • Transferências para outra base de dados ou servidor
  • Opções úteis de mysqldump
  • Backups com mysqlhotcopy
  • Backups com cópias directas
  • Recuperação de uma base de dados completa
  • Recuperação de tabelas individuais
  • Replicação de bases de dados
  • Replicação Live
  • Como os slaves se actualizam a si mesmos
  • Configuração de replicação Live
  • Verificação e correção de erros em tabelas de bases de dados
  • Verificação de tabelas com isamchk e myisamchk
  • Recuperação de tabelas com isamchk e myisamchk
  • Verificação de tabelas com o statement check table
  • Recuperação de tabelas com o statement repair table
  • Dados fornecidos pelo statement repair table

Outras queries MySQL || MariaDB

  • Aliases para nomes de colunas, nomes de tabelas e valores calculados
  • Obter apenas resultados distintos (statement SQL select com distinct)
  • Contar linhas distintas
  • Limitar a ação do statement update
  • Especificar a posição start e limit
  • Criar tabelas a partir de resultados de queries (statement SQL create table com a clausula select)
  • Criação de tabelas temporárias
  • Substituição de linhas
  • Copiar linhas para uma tabela existente
  • Funções e operadores aritméticos
  • Funções de manipulação de strings
  • Guardar datas e tempos
  • Valores de timestamp
  • Funções relacionadas com o tempo
  • Incrementar e decrementar datas e tempos
  • Utilização dos operadores + e – com datas
  • Formatação da visualização das datas e dos tempos
  • Valores Unix Time

Queries Avançadas MySQL || MariaDB

  • Aggregate queries
  • Juntar linhas
  • Utilização de group by
  • Agrupar por variados campos
  • Utilização de group by com where
  • Utilização de group by com várias tabelas
  • where e having
  • Inner joins (Sintaxe SQL inner join)
  • Natural joins
  • Left joins
  • Left joins com várias linhas de resultado
  • Right joins
  • Full outer joins
  • Componentes de uma query select
  • Subselects
  • MySQL || MariaDB e subselects
  • Utilização de tabelas temporárias para queries difíceis
  • Sintaxe create temporary table
  • Transacções
  • Operações atómicas
  • Locking tables
  • Detalhes sobre locking tables

Tipos de tabelas e storage engines

  • Storage Engines
  • MyISAM
  • InnoDB
  • MERGE tables
  • HEAP (MEMORY) tables
  • Suporte de transações InnoDB
  • Execução de transações
  • Diferenças entre InnoDB e MyISAM

Otimização de Tabelas e Queries

  • Indexes em MySQL || MariaDB
  • Chaves primárias e chaves únicas
  • Criação de chaves primárias
  • Chaves primárias sobre várias colunas
  • Criação de tabelas com chaves únicas
  • Indexes non-unique
  • Adicionar um index na criação de uma tabela
  • Adicionar um index a uma tabela já existente
  • A execução de queries em MySQL || MariaDB
  • Utilização de explain para analisar queries
  • Interpretação do output do explain
  • Explicação de quando se pode utilizar um index
  • Quando não utilizar indexes

Utilização das ferramentas de linha de comandos

  • Quando utilizar a linha de comandos
  • A ferramenta de linha de comando do MySQL || MariaDB
  • As opções da linha de comando do MySQL || MariaDB

Replicação de bases de dados MySQL || MariaDB

  • Como funcionam os slaves
  • Configuração do servidor master
  • Configuração dos slaves
  • Optimização da replicação
  • Monitorizar e gerir a replicação
  • Rotação dos ficheiros de log

Optimização de MySQL || MariaDB

  • O que pode e deve ser optimizado
  • Optimização do hardware para MySQL || MariaDB
  • Optimização dos discos
  • Optimização do sistema operativo
  • Optimização das aplicações
  • Aumentar a velocidade
  • Opções de arranque do MySQL || MariaDB
  • Armazenamento dos dados em MySQL || MariaDB
  • Como funciona a cache MySQL || MariaDB de tabelas
  • Extensões MySQL || MariaDB
  • Indexes MySQL || MariaDB