Buscar

Banco de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 23 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Desafio
Brenda, DBA, trabalha em uma escola de inglês. Na escola, todo controle de alunos, turmas, professores e disciplinas é feito manualmente através de uma switch de programas de escritório. Porém, volta e meia os arquivos são perdidos, ficam desatualizados ou com informações equivocadas. Para resolver esse problema, Brenda foi incumbida de desenvolver o Esquema Conceitual para a escola de inglês.
Indique três etapas que deverão ser seguidas para o desenvolvimento do Esquema Conceitual:
Padrão de resposta esperado
- Primeiramente, Brenda deverá escolher um SGBD, como por exemplo, o PostGreSQL.
- Em um segundo momento, terá que identificar os itens envolvidos para montar o Esquema Conceitual: aluno, professores, cursos, salas, matrícula, ministra, aula.
- Após, Brenda definirá as características de cada campo do Esquema Conceitual.
1. 
Compreender o modelo de banco de dados é fundamental para perceber os pontos positivos e negativos em questões estruturais e de manipulação dos dados do banco. Um dos modelos utiliza tabelas de duas dimensões para armazenar  dados e a forma como os dados são armazenados tem inferência na simplicidade de acesso às informações utilizando  técnicas de normalização para aperfeiçoar a organização como um todo. Trata-se do modelo:
B. 
Modelo Relacional. 
2. O que é um SGBD?
A. 
É um conjunto de programas e/ou ferramentas que são utilizados para configurar, atualizar e gerenciar um banco de dados.
3. Entre os itens abaixo, qual é um SGBD NoSQL?
C. MongoDB.
Este SGBD não é orientado a SQL. Assim sendo, um banco NoSQL. 
4. Entre os itens abaixo. Qual o que tem o maior acesso ao SGBD?
D. DBA
O DBA que define,ajusta e configura o SGBD. 
5. Uma outra forma de chamar o SGBD é?
E. DBMS.
DBMS, Data Base Management System, é uma outra forma de chamar o SGBD. 
--------------------------------------------------------------------------------------------------
Padrão de resposta esperado
Devemos identificar o EVENTO, o CLIENTE, as BEBIDAS e as COMIDAS.
- O EVENTO pode ter os atributos: número de pessoas, local, tema, data de realização.
- Para CLIENTE, é preciso pensar na identificação e no contato. Portanto, podemos considerar como atributos: CPF, NOME, E-MAIL e TELEFONE.
- Para BEBIDAS e COMIDAS, é preciso pensar em descrição e em quantidade.
Para complementar, é importante conhecer o relacionamento entre as informações de acordo com a necessidade do negócio como:
- Um CLIENTE contrata vários EVENTOS?
- Um EVENTO é de um único CLIENTE?
- Um EVENTO pode usar várias BEBIDAS/COMIDAS?
- As BEBIDAS/COMIDAS vão estar em um único EVENTO?
Aula 2 - Dicionário de dados 
1. Todo banco de dados tem um dicionário de dados como parte integrante de seus componentes. Marque a alternativa que define um dicionário de dados.
A. Estrutura contendo definições dos objetos utilizados em um banco de dados. 
Dicionário de dados é uma estrutura que contém as definições dos objetos de dados, armazenadas no banco de dados, formando um repositório para ser utilizado na movimentação dos dados. Não é um recurso que garanta a segurança dos dados. Com isso, as alternativas de ser uma lista de informações de planejamento e/ou de conceitos/significados de utilização não são aplicáveis. Armazém de dados se refere ao conceito de DataWarehouse, um banco de dados utilizado para armazenar informações aplicadas à inteligência de negócio. 
2 O SGBD MySQL utiliza um schema próprio para o armazenamento das tabelas que compõem o dicionário de dados. Marque a alternativa que indica o nome do schema que armazena o dicionário de dados.
A. INFORMATION_SCHEMA.
O schema utilizado no MySQL é INFORMATION_SCHEMA. Os demais - DICTIONARY, DATA, GLOBAL e TOTAL - não são expressões utilizadas com essa finalidade no banco de dados MySQL. 
3Um banco de dados relacional é formado por dados e dicionário de dados (metadados). Marque a alternativa que define uma característica do dicionário de dados.
D. Dicionário de dados armazena nome de tabelas e seus atributos, entre outras informações.
4. Todo o objeto criado no banco de dados terá suas informações armazenadas no dicionário de dados, que mantém informações de vários níveis. Marque a alternativa que indica uma informação criada no dicionário de dados.
E. Restrição de integridade.
Transação não é criada no dicionário de dados, pois se refere a cada operação realizada no banco de dados. Os programas não são criados no dicionário de dados, são unidades de processamento de informação. Os requisitos representam as necessidades do negócio e não são criados no dicionário de dados, são identificados para construção dos sistemas. As especificações não são criadas no dicionário de dados, fazem parte da documentação do sistema, detalhando as funcionalidades, por exemplo. Restrição de integridade, criada no dicionário de dados, é um conjunto de regras definidas na tabela, que devem ser cumpridas a cada realização de operação no banco de dados. Portanto, a resposta correta é restrição de integridade. 
5. 
Todas as tabelas de dicionário de dados têm a mesma estrutura e devem obedecer às mesmas regras que as tabelas básicas: precisam ter chave primária única (não nula) e integridade referencial entre elas próprias. ​​​​​​​ Considerando o processo de criação/visualização do dicionário de dados, marque a alternativa que apresenta a afirmação correta.
A. 
As informações constantes no dicionário de dados são utilizadas para a manipulação do banco de dados.
----------------------------------------------------------------------------------------------------------------------
Conhecer os desafios da Administração de Banco de Dados
Desafio
Em uma empresa, os programadores constataram que a personalização do sistema ocasionou a lentidão nas operações. Percebeu-se que, na realidade, a alteração de alguns campos de cadastro, consultas e demais itens solicitados afetou diretamente a performance do sistema.
Você, como profissional da área de TI, foi contratado para analisar o caso e propor uma solução. O que você sugeriria?
Padrão de resposta esperado
Devido ao problema ser após alterações e personalizações no sistema, deverão ser analisados os códigos de alteração e consulta no banco de dados. Assim, é possível ter noção do que foi feito e as causas.
- campos com VARCHAR extensos e não limitados à necessidade;
- identificar e otimizar as consultas e gravações na parte do banco de dados que é mais utilizada pelo sistema;
- verificar se as selects trazem apenas o que realmente é necessário;
- verificar se o hardware/virtual machine suporta adequadamente as novas demandas.
Conhecer os desafios da Administração de Banco de Dados
1. Sabendo que um banco de dados tem perda de performance nas VIEWs, qual técnica pode ser utilizada para obter melhora?
B. Criar índices das views.
Com a criação de índices, é possível agrupar views e melhorar o tempo de pesquisa e resposta. 
2. É uma tecnologia atual que necessita de qualificação do administrador de banco de dados:
C. Utilizar BigData.
A utilização de BigData tem crescido ultimamente. 
3. Qual a tecnologia atual que está consumindo muito a pesquisa do banco de dados?
A. IoT.
A IoT (Internet of Things) está revolucionando os estudos em banco de dados. 
4. Entre os bancos de dados existentes, qual é o que se destaca pelo maior uso e abrangência a novas tecnologias?
A. Oracle.
É o banco de dados mais utilizado atualmente e com constante evolução para novas tecnologias e desafios. 
5. Qual comando pode ser utilizado para monitorar o banco de dados MySQL?
A. 
mytop.
Esta é a ferramenta de monitoramento do banco mysql. 
--------------------------------------------------------------------------------------------------
Compreender as responsabilidades do Administrador de Banco de Dados
Desafio
Em um banco de dados de uma empresa de logística, Daniela, a DBA da empresa, tem um problema. Ela precisa que alguns usuários de cada departamento da empresa, via sistema, consigam efetuar algumas rotinas SQL no banco. Esse pedido veio da partedos programadores do sistema. Portanto, os usuários (funcionários) da empresa, Marcos, Lais, Sandro e Ramirez, necessitam ter privilégios diferenciados nas tabelas de produtos e estoque. Descreva os procedimentos que Daniela deverá realizar para resolver o problema na empresa.
Padrão de resposta esperado
Uma das responsabilidades do administrador de banco de dados é prezar pela segurança do banco. Portanto, para que Daniela consiga efetuar o procedimento é necessário:
1) Criar uma regra para agrupar estes usuários com o comando CREATE ROLE GERENTES.
2) Agora devemos informar os objetos que terão inferência sobre a ROLE criada GRANT ALL ON PRODUTOS TO GERENTES; GRANT ALL ON ESTOQUE TO GERENTES.
3) Para finalizar, devemos cadastrar os usuários na ROLE GERENTES GRANT GERENTES TO MARCOS,LAIS,SANDRO,RAMIREZ.
1. 
Com relação ao administrador de banco de dados é correto afirmar que:
E. Cria instruções de segurança, integridade e processamento de regras.
Essa é uma das responsabilidades do administrador de banco de dados. 
2. Com relação à segurança do banco de dados, o controle de acessos discricionário é:
D. Nível de privilégio de acesso a partes específicas do banco.
Esse recurso de segurança define o nível de acesso em cada parte do banco para cada usuário. 
3. Entre as alternativas abaixo, identifique as que definem responsabilidades do administrador de banco de dados.
A. Modelagem do banco e backup do banco de dados.
Essas são atribuições do DBA. 
4. 
Comando SQL para regras de autorização discricionária:
C. DROP ROLE e REVOKE.
Os comandos apresentados definem a exclusão de uma regra e a retirada de um privilégio respectivamente. 
5. Sabendo que é necessário criar uma ROLE para os administradores de uma empresa. Qual o comando que cria a ROLE administradores?
A. CREATE ROLE ADMINISTRADORES
A sintaxe do comando para criar a ROLE é CREATE ROLE NOME_DA_ROLE. 
------------------------------------------------------------------------------------------------------
Necessidades das políticas de manutenção de banco de dados
Desafio
Márcia, que é o SysDba da loja Eletrônicos Billy, depara-se com um imenso problema ocasional: após determinado número de produtos serem colocados em promoção no site da loja, percebeu-se que, além deles, outros produtos também apareciam com desconto para os clientes, de forma incorreta.
Diversos clientes aproveitaram o "bug" do site da loja para comprar produtos com valores bem reduzidos. Considere que cada minuto do site online gera mais prejuízos para a empresa.
Marcia pode realizar as seguintes operações de manutenção:
​​​​​​​Com o objetivo de evitar prejuízos para a empresa, qual o procedimento Márcia deverá adotar para solucionar o problema imediatamente? Descreva como Márcia deve agir considerando as opções existentes dentro dos conceitos de manutenção de banco de dados e justifique o motivo da sua escolha. 
Padrão de resposta esperado
A melhor alternativa para a situação em que Márcia se encontra é: Deixar toda a loja e o banco de dados offline por alguns instantes e aplicar uma correção nos dados. Assim, os clientes que pretendiam comprar os produtos na promoção, aproveitando-se do problema do sistema, serão impedidos e Márcia poderá trabalhar na correção dos dados, removendo a promoção dos produtos que não deveriam estar com desconto. Obviamente, outros clientes ficarão sem acesso por determinado tempo, mas a empresa não terá grandes prejuízos com os clientes agindo de má fé.
As outras opções apresentadas acabam por remover dados e informações importantes do banco de dados. Já a opção de replicar o banco pode ser muito demorada, causando mais prejuizo para a empresa.
1. 
São exemplos de rotinas de manutenção em banco de dados:
C. Rotina de manutenção de arquivos e rotina de backup.
A manutenção do banco se dá, dentre outras formas, com integridade dos arquivos e backup atualizado. 
2. Em um banco de dados sem manutenção corretiva e preventiva, o banco de dados da empresa passou a apenas aceitar ações de leitura dos dados. O que poderia ocasionar isso?
A. Espaço do banco sem capacidade de expansão.
Quando o banco está sem espaço em disco, ele bloqueia a entrada de novos dados e/ou bloqueia totalmente o acesso. 
3. 
Em um banco de dados MySQL, quais são os comandos que fazem manutenção em tabelas do banco de dad
C. Check table, repair table, optimize table e analyze table.
A alternativa apresenta os quatro comandos de manutenção de tabelas do banco. 
4. Uma forma de fazer manutenção no banco de dados, sem afetar os usuários, seria?
C. Identificar o erro e fazer a manutenção em uma base de testes, gerada por meio da restauração de backup.
Dessa forma, teremos o banco de dados correto e não corremos o risco de danificar o banco em produção. 
5. 
Atualmente, temos uma praga virtual chamada ransomware que efetua o sequestro dos dados. Seria uma forma plausível de fazer a manutenção preventiva do banco evitando a destruição causada por esta praga?
E. 
Efetuar um backup na nuvem periodicamente, porém, não manter o acesso disponível.
Dessa forma, quando detectado o ransomware, ele não terá acesso ao backup, assim a manutenção terá êxito 
------------------------------------------------------------------------------------
Entender as arquiteturas dos Bancos de Dados Centralizados e Distribuídos
Desafio
Você é o SysDba da loja Calçados Radashoes e se depara com um imenso problema periódico. Este problema inviabiliza o acesso ao sistema da loja em sua matriz e filiais. 
Mediante esse cenário, identifique o tipo de estrutura do banco de dados e proponha uma solução para o problema.
Padrão de resposta esperado
É possível perceber que o sistema de banco de dados, mesmo hospedado na nuvem, foi projetado como arquitetura centralizada. Portanto, quando a base fica off-line, todas as lojas RadaShoes não conseguem acesso, diminuindo sua credibilidade junto aos clientes.
Uma forma de resolver o problema seria replicando o banco de dados em uma arquitetura distribuída e fragmentada. Assim, quando uma base cair, o sistema poderá dinamicamente consultar outra base, exatamente igual, hospedada em outro host. Esteja este host na nuvem, dentro de cada filial ou, até mesmo, dentro da matriz. Desse modo, é possível concluir que a probabilidade de todos estarem off-line é mínima, pois elevamos consideravelmente a disponibilidade do banco de dados.
1. 
É uma vantagem da arquitetura centralizada de banco de dados:
C. 
Não há a necessidade de junções distribuídas.
Nesta arquitetura todos os tipos de junções são centralizadas no host server. 
2. 
Com relação à arquitetura centralizada é correto afirmar que:
C. 
Ocorre gargalo devido a múltiplos acessos.
Por se tratar de um único host server. 
3. 
Qual a característica base da arquitetura de banco de dados distribuída?
A. 
Tem como característica base a subdivisão dos dados, bem como, o compartilhamento entre os diversos hosts, e a sua atualização é efetuada com técnica de sincronismo.
Em sistemas distribuídos ocorre a subdivisão de dados e o compartilhamento das informações entre os hosts servers. 
4. 
Assinale a alternativa que apresenta uma vantagem da arquitetura distribuída:
E. 
Possibilita ter servidores locais e na nuvem.
Essa é uma das vantagens da arquitetura distribuída. Dessa forma, mantém o sistema sempre on-line. 
5. 
Com relação à arquitetura distribuída é correto afirmar que?
C. 
Esta arquitetura diminui o gargalo de acesso, pois são diversos hosts sendo acessados.
Tendo em vista que o acesso é distribuído entre os hosts, a performance de resposta aumenta. 
------------------------------------------------------------------------------------------------------------------
Inicialização e desativação de um banco de dados
Desafio
O administrador de banco de dados (DataBase Administrator — DBA) deve estar sempre atento à execução deste. É sua responsabilidade manter a utilização desse banco com bom desempenho, consistência, segurança e disponibilidade.
​​​​​​​A inicialização representa um papel importante nocenário de falhas, na medida em que muitas falhas são resolvidas a partir de uma boa configuração. 
Você trabalha em uma grande empresa como um profissional DBA, e tem como desafio planejar a inicialização do banco de dados, definindo a configuração ideal em relação às conexões, ao processamento, às propriedades de execução, à memória e às threads. 
Apresente pelo menos 3 itens que deverão ser incluídos na inicialização dos sistemas.
Padrão de resposta esperado
Itens que podem ser utilizados na configuração da inicialização:
• Pool de conexões (quantidade mínima/máxima, tempo máximo de conexões, tempo máximo de espera para conexão);
• Configurações de processamento;
• Aplicação de case sensitive;
• Número de linhas para preenchimento de cursores, entre outras.
• Opção de busca de data/hora (banco de dados ou computador cliente);
• Opções de travamento no nível de colunas;
• Tamanho do cache (memória) para planos com consultas frequentes;
• Tamanho do cache (memória) para planos com consultas não frequentes;
• Utilização de multi-threads.
1 - Um dos procedimentos de administração de banco de dados é o comando SHUTDOWN, o qual 
pode ser utilizado com vários parâmetros. 
Marque a alternativa que define a função do comando SHUTDOWN NORMAL.
R: Encerrar as operações do banco de dados.
A opção NORMAL é o padrão do procedimento SHUTDOWN para encerramento das operações do banco de dados. Quando executado, não permite novas conexões de usuários e aguarda a desconexão das conexões já ativas, não forçando essa desconexão. Na execução, os dados presentes nos buffers de memória são descarregados para o disco e o banco de dados é fechado.  
2-Um banco de dados pode apresentar diversos estados. 
Marque a alternativa que indica o estado que permite o acesso de usuários ao banco de dados.
R: ONLINE.
ONLINE é o único estado no qual o acesso dos usuários é permitido. STANDBY não é relacionado a um estado possível para banco de dados. EMERGENCY disponibiliza uso somente ao DBA para realizar manutenção. SUSPECT disponibiliza uso somente ao DBA para resolução de integridade dos arquivos. OFFLINE está indisponível para realizar manutenções sem intervenção de usuários. 
3- As falhas podem acontecer na execução de um banco de dados, mas é esperado que elas não 
existam, pois assim o risco de perda de informações ou dados danificados diminui. 
Sendo assim, marque a alternativa que representa uma atitude de planejamento do DBA com o
objetivo de evitar falhas.
R: Conhecer os parâmetros de inicialização e a arquitetura do SGBD.
Se definir o tamanho da transação para atender ao tempo de execução de um programa, este ficará mais vulnerável a falhas. É indicado fazer transações com tamanhos pequenos. Poucas instruções. Aumentar espaço no disco todo mês não vai prevenir falhas, mas sim melhorar o desempenho, além de um maior trabalho. O ideal é conhecer o ambiente para poder determinar o espaço a ser criado, assim como a taxa de crescimento. A recuperação e o backup são procedimentos de e para a recuperação dos dados, não de prevenção de falhas. Conhecer os parâmetros de inicialização, assim como a arquitetura do SGBD, é a resposta certa, pois é importante saber o que será preciso definir em configurações para a inicialização. 
4- Na execução dos bancos de dados podem acontecer diversos erros, de maior ou menor 
severidade. Muitas podem ser as causas, como, por exemplo: falta de espaço em disco, tempo 
excessivo de espera, erro de instrução, entre outras. O fato é que, quando ocorrem, deve-se 
buscar um tratamento adequado à correção. 
 Leia as alternativas a seguir e marque a que se refere corretamente ao tratamento de erros na 
execução de um banco de dados.
R: Os erros, quando acontecem, são notificados por meio de mensagem para prover 
informações de reparação e correção.
Os erros são sempre notificados por meio de mensagem para prover informações de reparação e correção. Nem todos os erros ocorridos em consequência de algum comando podem ser corrigidos pelo usuário. A correção pode ser feita pelo usuário ou pelo DBA, dependendo da gravidade e do local do erro. Os erros podem gerar danos aos dados, mas não provocam a realização do backup à correção. Pode-se, a partir do backup, utilizar dados salvos para restaurar e recuperar os dados. O formato das mensagens segue um padrão, por SGBD. Facilita a compreensão do usuário. Alguns erros desativam o banco de dados. 
5 -Várias são as falhas que ocorrem durante a execução de um banco de dados. 
Sabendo disso, marque a alternativa que identifica a falha ocorrida, a qual pode ser resolvida 
com a opção --innodb-rollback-on-timeout na inicialização
R: DEADLOCK
DEADLOCK é a resposta correta, pois se refere ao tempo de espera (timeout). ESPAÇO DE DISCO CHEIO é uma falha em função do dimensionamento para uso. CONEXÃO PERDIDA refere-se à comunicação. ACESSO NEGADO é a falha em função de permissões. EXCESSO DE CONEXÕES é o número de pessoas que podem se conectar ao banco.  
---------------------------------------------------------------------------------------------------------
Gerenciamento de privilégios no banco de dados
Desafio
A administração de grupos no ambiente de banco de dados é uma prática que beneficia o administrador deste, dando agilidade nos processos de concessão de privilégios e organizando a distribuição para usuários que atuam com os mesmos papéis diante dos objetos do banco de dados.
O privilégio atribuído a um grupo prevalece aos privilégios concedidos aos usuários individualmente. É preciso ter cuidado em casos de revogação de privilégio de grupo nos quais os usuários podem ficar sem a autorização, caso não tenham tido concessão do privilégio individualmente.
Imagine que você foi contratado para otimizar privilégios de usuários em um banco de dados. O seu cliente tem um consultório dentário com uma secretária, três dentistas e dois técnicos de saúde. Foi implantado um sistema no banco de dados contendo as tabelas: CONSULTAS, CLIENTES, PROCEDIMENTOS, HISTÓRICO e FATURAMENTO, com os seguintes procedimentos:
Sendo assim, você deve apresentar as instruções SQL, utilizando a sintaxe do SGBD MySQL, propondo uma solução que conceda os privilégios aos usuários, utilizando os recursos de forma otimizada. Considere que os usuários (DENT01, DENT02, DENT03, SEC01, TEC01, TEC02) já estão criados. 
Padrão de resposta esperado
Considerando que os usuários têm necessidades comuns em alguns aspectos, é possível propor a criação de papéis.
DENTISTAS --> CONSULTAS, CLIENTES, PROCEDIMENTOS, HISTÓRICO, FATURAMENTO.
SECRETÁRIA --> CONSULTAS, CLIENTES.
TÉCNICOS --> CONSULTAS, CLIENTES, PROCEDIMENTOS, HISTÓRICO.
Muitas são as formas de concessão, mas, buscando a otimização, é possível criar um papel para consultas e clientes, e outro papel para procedimentos e histórico. Assim, em vez de conceder privilégio de todos os objetos a todos os usuários, serão concedidos privilégios aos papéis e, depois aos usuários, otimizando o processo de concessão de privilégio.
create role dadosCliente;
create role dadosConsultorio;
grant all on table CONSULTAS to dadosCliente;
grant all on table CLIENTES to dadosCliente;
grant all on table PROCEDIMENTOS to dadosConsultorio;
grant all on table HISTORICO to dadosConsultorio;
grant dadosCliente to DENT01, DENT02, DENT03, TEC01, TEC02, SEC01;
grant dadosConsultorioto DENT01, DENT02, DENT03, TEC01, TEC02;
grant all on table FATURAMENTO to DENT01, DENT02, DENT03;
1. 
Após um banco de dados ser criado, o administrador executa uma série de tarefas para dar permissão de acesso aos usuários que necessitam ler e gravar informações na base de dados.
Suponha que o DBA receba uma solicitação de atribuição de privilégio para um novo funcionário, identificado por JOAO. O privilégio consiste em autorizá-lo a consultar as tabelas CLIENTE e PRODUTO.
Marque a alternativa que identifica o comando que será utilizado pelo DBA para conceder o privilégio solicitado.
A. 
GRANT select ON CLIENTE, PRODUTO TO ‘JOAO @’ localhost’;
A concessão de privilégio no SGBD é efetivadaa partir do comando GRANT com o formato: GRANT <privilégio> ON < lista de nome de tabela> TO ‘USER001@’localhost’;. O REVOKE elimina privilégio e não concede. O create é utilizado para criar objetos e não privilégios para o objeto.  
2. 
Nos bancos de dados relacionais, privilégios devem ser definidos aos usuários para autorizar acesso aos objetos, buscando garantir a segurança da informação. Quando o usuário muda de função, seus privilégios precisam ser retirados para que se faça uma nova concessão, apropriada ao uso da nova função.
Sendo assim, o funcionario JUAREZ foi promovido para uma nova área e deverá utilizar outro conjunto de dados. É preciso eliminar todos os seus privilégios antes de criar os novos.
Marque a alternativa que indica a instrução SQL correta para eliminar todos os privilégios de JUAREZ.
A. 
REVOKE ALL FROM 'JUAREZ@localhost';.
Para eliminar privilégios, o comando utilizado pelo SGBD é o REVOKE, com a sintaxe: REVOKE ALL [PRIVILEGES] [, GRANT OPTION] FROM nomeUsuario | nomePapel [,nomeUsuario | nomePapel, ...]. O comando DELETE é utilizado para apagar linhas dentro das tabelas. O comando DROP é para apagar objetos, como tabela, visão e índices. Portanto, como é para apagar todos os privilégios, utiliza-se o parâmetro ALL e a resposta certa é: REVOKE ALL FROM 'JUAREZ@localhost';​​​​​​​. 
3. 
Em uma empresa foram admitidos dois usuários. O DBA criou os usuários user001 e user002 e agora precisa conceder a eles privilégios de consulta e alteração dos registros (linhas) das tabelas PACIENTE e PROCEDIMENTO. O DBA não lembra quais tipos de privilégio deve dar a eles.Você está incumbido de ajudá-lo.
Marque a alternativa que relaciona os tipos de privilégios a serem utilizados na concessão da permissão, respectivamente.
A. 
SELECT e UPDATE.
SELECT é o tipo de privilégio para realizar as consultas nas tabelas. UPDATE é o tipo de privilégio para alterar dados nas tabelas. ALTER é o comando usado para alterar características de objetos, como tabelas e usuários. LIST não é um comando adotado pelo SQL. MODIFY é um método utilizado para filtrar documentos. Portanto, os tipos de privilégios para consultar e alterar dados em uma tabela são SELECT e UPDATE. 
4. 
Para manter a segurança da informação dos bancos de dados é importante que se tenha implantada uma política de segurança. Em toda política de segurança é previsto o uso de privilégios.
Marque a alternativa que define PRIVILÉGIOS no escopo de segurança de banco de dados.​​​​​​​
D. 
Permissões que um usuário ou grupo de usuários têm para a manipulação do banco de dados.
Comandos SQL que dão acesso aos dados são instruções de consulta (SELECT), alteração (UPDATE), inserção (INSERT) e remoção (DELETE). Não existe o conceito de hierarquia entre grupos de usuários na administração de banco de dados. Não existe favorecimento aos usuários que pertencem ao grupo. Ter grupo facilita a gestão de privilégios. Privilégios não são restrições, mas sim autorizações. Não se diz o que o usuário não pode fazer, e sim o que se pode fazer. Portanto, PRIVILÉGIOS são permissões que um grupo de usuários têm para a manipulação do banco de dados. 
5. 
Em uma empresa, foi identificado um conjunto de usuários (USR1, USR2, USR3, USR4), já devidamente identificados no banco de dados, que devem ter a permissão de consulta, inserção, exclusão e alteração dos dados das tabelas PREÇO e CLIENTE. O DBA precisa atribuir a permissão a esse conjunto de usuários e não lembra como fazer para conceder o privilégio de uma só vez a todo o conjunto, pois terão as mesmas funções. Você está incumbido de ajudá-lo.
Marque a alternativa que indica a instrução para a concessão de privilégio a esse conjunto de usuários​​​​​​​.
A. 
GRANT ROLE.
O comando REVOKE ROLE é utilizado para revogar privilégio de grupo. O comando CREATE ROLE é aplicado para criar um papel/grupo, mas não atribuir sua lista de privilégios a usuários. O comando ALTER ROLE não aplica para gestão de papéis/grupos. O comando ALTER é utilizado para alterar características de objetos de banco de dados, por exemplo, USER/TABELAS. O comando INSERT ROLE não se aplica para a gestão de papéis/grupos. O comando INSERT é utilizado para inserir linhas nas tabelas. Portanto, o comando usado para atribuir privilégios a um conjunto de usuários é o GRANT ROLE. 
--------------------------------------------------------------------------------------------------
Gerenciamento de usuários do banco de dados
Desafio
Adotar uma política de segurança, incluindo regras de segurança da informação na empresa, é um fator determinante na administração de banco de dados. A política de segurança irá definir procedimentos que deverão ser cumpridos, buscando exercer a confidencialidade, a disponibilidade e a integridade do banco de dados. O foco principal da política de segurança é o usuário, pois, a partir de um comportamento equivocado ou de um uso incorreto, podem ocorrer danos ou perdas no banco de dados. Além do usuário, são observadas as questões relacionadas à transmissão, por exemplo.
Leia atentamente a seguinte situação:
Nessa nova filial, será preciso instalar o banco de dados e você, como DBA do banco de dados, é o responsável por essa tarefa.
Dessa forma, a partir da situação apresentada, defina uma política de segurança da informação. Relacione, no mínimo, 5 procedimentos relevantes para o cumprimento de uma boa política de segurança.
Padrão de resposta esperado
Política de segurança - procedimentos relevantes para o cumprimento de uma boa política de segurança:
- Realizar palestras difundindo a política de segurança.
- Identificar o perfil dos usuários e criar grupos.
- Criar usuários atribuindo identificação e uma senha provisória, que deve ser alterada quando o usuário entrar pela primeira vez no ambiente.
- Estabelecer um critério de formação da senha, por exemplo: tamanho, utilização de caracteres especiais, maiúscula e minúscula, misturar números e letras e assim por diante.
- Adoção de validade da senha, obrigando o usuário a trocá-la após um período predeterminado (30 dias, por exemplo).
- Determinar, por uma lista, um conjunto de senhas proibidas.
- Não permitir repetir senhas já utilizadas.
- Buscar informações fáceis de memorização, mas não utilizar datas comemorativas pessoais.
- Utilizar a criptografia para o armazenamento das senhas.
1. 
Os usuários que utilizam os bancos de dados são classificados pelo tipo de utilização que fazem dos dados.  Marque a alternativa que indica o tipo de usuário que somente acessa o banco de dados por meio de aplicações construídas​​​​​​​.
A. 
Finais.
Os usuários finais somente acessam o banco de dados por meio de aplicações. Atuam no nível de visão. O usuário especialista acessa os dados via aplicação e, também, consegue realizar consultas diretamente no banco de dados, por linguagens específicas. O programador é o usuário que constrói as aplicações para acesso ao banco de dados e o DBA é o profissional responsável pela manutenção do banco de dados. O analista de sistemas é um profissional da área de tecnologia, mas é responsável pela definição das aplicações que utilizarão os dados. 
2. 
O DBA deve ter 3 pontos de preocupação no tratamento da segurança da informação: confidencialidade, integridade e disponibilidade.  Marque a alternativa que define o aspecto de confidencialidade​​​​​​​.
A. 
Garantia de que a informação é acessível somente por pessoas autorizadas.
Confidencialidade é a garantia de que a informação é acessível somente por pessoas autorizadas. Quando NÃO se cumpre a confidencialidade é que existe quebra de sigilo da informação. Integridade é a garantia da exatidão e, também, completeza da informação e dos métodos de processamento. Disponibilidade é a garantia de que os usuários autorizados obtenham acesso à informação e aos ativos correspondentes sempre que necessário. 
3. 
A visão dos dados de um banco de dados é definida em três níveis de abstração. Marque a alternativa correta que define o nível de abstração lógico.
D. 
É o nível intermediárioque apresenta os dados e seus relacionamentos.  Utilizado pelo DBA para administração do banco de dados.
São três os níveis de abstração: visão, conceitual e físico. O nível de visão é o nível utilizado pelos usuários finais e é definido de acordo com as necessidades de informações de cada usuário ou grupo. O nível de abstração lógico é utilizado pelos administradores do banco de dados para administração dos dados, e não para o gerenciamento do espaço de armazenamento.
O nível de abstração físico é considerado o nível mais baixo e apresenta os dados como são armazenados no banco de dados. O nível visão, o mais alto nível,  é utilizado pelos usuários finais e apresenta somente o que é necessário.
4. 
O gerenciamento de usuários disponibiliza o recurso de criação de grupo de usuários. Marque a alternativa que identifica o objetivo de se criar grupo de usuários​​​​​​​.
B. 
Facilitar a manutenção de usuários em um banco de dados, em termos de configuração de acesso e visibilidade de recursos.
Grupo é um recurso utilizado para facilitar a manutenção de usuários em um banco de dados. Ele agrupa usuários com o mesmo perfil. Não está relacionado com a comunicação entre usuários. O particionamento dos dados que serão acessados é inerente à gerência de usuário. A possibilidade de execução de procedimentos de forma concorrente é dada a todos os usuários, independente de ter grupos formados, pois o controle de transação é por usuário. 
5. 
A criação de um usuário no ambiente MySQL possibilita configurar a atualização da senha de várias formas. Marque a alternativa que define a senha do usuário forçando a atualização imediata no primeiro acesso.
A. 
CREATE USER ‘teste’@'localhost' IDENTIFIED BY ‘123456’
PASSWORD EXPIRE.
FORCE, IMMEDIATE, AUTOMATIC E EXPIRE IMMEDIATE não são parâmetros do comando create user. Para expirar a senha no primeiro acesso o parâmetro é EXPIRE. Dessa forma, a resposta correta é: CREATE USER ‘teste’@'localhost' IDENTIFIED BY ‘123456’
PASSWORD EXPIRE. 
----------------------------------------------------------------------------------------------------------
aula 10 Automatização de tarefas em banco de dados
Desafio
O shell script é mundialmente utilizado para a orquestração de funções matemáticas, tendo em vista que, por meio dos scripts em shell, é possível automatizar rotinas que utilizam a manipulação de cálculos matemáticos para diversas finalidades. 
Você foi contratado por uma empresa de gerenciamento de banco de dados e sua primeira atividade é criar um script shell para automatizar a rotina de armazenamento de idades em um banco de dados de candidatos do ENEM. 
Todavia, o sistema de cadastramento do ENEM não recebe a idade do candidato pronta, ele só recebe a data de nascimento. Sendo assim, o seu desafio consiste em realizar um script shell que automatize o armazenamento das idades no banco dados, à medida que os participantes inserirem suas datas de nascimento. 
Padrão de resposta esperado 
Para concluir este desafio com sucesso, é preciso criar um script shell que tenha como base os dados referentes à data de nascimento do candidato.
Veja, na imagem a seguir, como esse script deve ser construído:
É possível observar que esse script armazena a data atual e dela subtrai a data de nascimento informada. O resultado desse cálculo será a idade do candidato. 
Sendo assim, toda vez que a data de nascimento for inserida no cadastro do ENEM, a data atual servirá como ponto de partida para que o sistema subtraia dessa data a data de nascimento informada pelo usuário, armazenando então a idade do candidato no banco de dados. 
1. 
O shell é um interpretador de comandos que utiliza scripts para implementar instruções. Para inicializar a execução de um shell script para automação em um banco de dados, deve-se utilizar os caracteres:
A. 
#!/bin/bash.
Quando inicializado, o interpretador shell utiliza os caracteres #!/bin/bash, responsáveis por implementar as instruções iniciais para criação dos comandos para implementar o script shell. Por meio do #!/bin/bash, se inicializa a execução dos comandos shell. Caso não haja a inicialização por meio do #!/bin/bash, não será possível interpretar os scripts de automação que serão inseridos. 
2. 
O shell script, quando inicializado, apresenta configurações básicas que valem para todos os usuários de um banco de dados. Qual a instrução shell responsável pelas instruções básicas do interpretador shell? 
D. 
/etc/profile.
Quando o shell script é inicializado, temos configurações fundamentais, apresentadas no interpretador shell por /etc/profile. No /etc/profile temos as configurações utilizadas pelos usuários de um banco de dados no interpretador shell, instruções estas responsáveis por configurar os scripts que serão automatizados e sobre a respectiva administração das instruções shell no sistema gerenciador de banco dados (SGBD). 
3. 
Scripts shell adotam a automatização por sequência de instrução, a fim de facilitar a ordem lógica de instruções no banco de dados. Dessa forma, para realizar a automatização de tarefas em bancos de dados, os scripts shell precisam ser estruturados em sequência, independentemente de:
B. 
compilação prévia.
Os scripts shell são automatizados por sequenciamento de instruções, com o objetivo de organizar a lógica das instruções no interpretador do banco de dados. Para realizar a automação das tarefas, por meio dos scripts shell, não é necessária a compilação prévia, ou seja, são realizadas as automatizações de tarefas em bancos de dados, conforme as execuções dos scripts são realizadas, sem depender de compilação. 
4. 
São utilizados scripts shell em diversos cenários de automação, com a utilização de variáveis, strings e argumentos, a fim de executar as respectivas instruções em banco de dados. Qual instrução é utilizada para apresentar as variáveis e seus argumentos, por meio do shell script?
C. 
shift.
Por meio da instrução shift são apresentados os argumentos das variáveis em um script shell. Após a inserção da instrução shift, podemos realizar, então, alteração, inclusão e exclusão de variáveis e seus argumentos no shell script. 
5. 
Quando as instruções automatizadas de shell são descritas em scripts, estas são armazenadas para formar rotinas de execução. Essas rotinas de scripts shell automatizadas ficam armazenadas em: 
E. 
diretório path.
Em diretório patch são armazenadas as rotinas de scripts shell automatizadas. Todas as vezes que o diretório patch é executado, caso existam rotinas de scripts automatizadas em shell, automaticamente estas também são executadas, sem depender de prévia compilação. 
--------------------------------------------------------------------------------------------------------------
aula 11 Backup de banco de dados
Desafio
Executar cópias de segurança é parte da rotina de qualquer administrador de banco de dados. Por meio dos backups é possível mitigar problemas de indisponibilidade ou de perda de dados, pois as informações poderão ser recuperadas posteriormente. O planejamento e a execução de backups devem seguir os passos elaborados pela equipe técnica, que define a melhor estratégia com base nos recursos e nos objetivos das organizações.
Para responder ao Desafio, imagine que você é administrador de banco de dados de uma empresa e lhe pediram que elabore uma estratégia de backup que leve em consideração a seguinte lista de necessidades:
- Alta disponibilidade dos dados/recuperação rápida em caso de falhas.
- Execução cotínua de cópias de segurança.
- Recursos financeiros abundantes.
Portanto, cite os itens que fazem parte da estratégia de backup elaborada e justifique a sua escolha.
Escreva sua resposta no campo abaixo:
​
Padrão de resposta esperado
Com base nos requisitos elencados e nos recursos disponíveis apresentados pela organização, propõe-se como estratégia de backup a elaboração dos seguintes passos:
- Dois bancos de dados ativos rodando paralelamente (principal e slave).
- Backup de banco de dados com replicação em slave.
- Cópia dos logs de transaçõesa cada 15 minutos do servidor principal para o slave.
Essa estratégia implementa alta disponibilidade e rápida recuperação em caso de falhas, uma vez que o servidor slave é atualizado a cada 15 minutos por meio dos arquivos de log de transações do banco de dados.
A estratégia de backup elaborada é considerada de alto custo, porém, foi possível implantá-la devido ao fato de haver recursos financeiros abundantes para montar dois servidores paralelos, que implementam a redundância continuamente ao longo do dia.
1. 
As informações dos bancos de dados podem ser perdidas mediante a ocorrência de diversos eventos adversos. Considerando um evento de falha nos discos rígidos de um servidor de banco de dados, indique a alternativa que representa os problemas que podem surgir.
C. 
Dados corrompidos.
Falhas em discos rígidos podem proporcionar a corrupção das informações armazenadas em áreas danificadas dessas mídias. Dados inconsistentes, duplicados ou excluídos envolvem erros de lançamento por parte dos usuários ou analistas que executam operações nos bancos de dados; e dados inacessíveis se referem à indisponibilidade temporária de informações, sem afetar os dados armazenados. 
2. 
Uma das vantagens de armazenar as informações em bancos de dados é justamente ter os dados disponíveis para os usuários. No entanto, bancos de dados são armazenados em equipamentos que podem estar sujeitos a indisponibilidades de acesso. Considerando essa situação, indique a alternativa que melhor representa uma solução de prevenção de indisponibilidade do banco de dados.
E. 
Executar backup do banco de dados em mídia armazenada em outro servidor.
Levando em consideração a prevenção de indisponibilidade, a melhor alternativa é fazer um backup em mídia armazenada em outro servidor, pois um backup no mesmo servidor também pode ficar inacessível se o servidor estiver indisponível. Utilizar banco de dados de alto desempenho, hospedagem na nuvem ou manter uma equipe de plantão não será suficiente se um backup não estiver disponível. 
3. 
As diversas opções para a execução de cópias de segurança fazem parte da estratégia de backups que deverá ser definida pela organização de acordo com os seus interesses, objetivos e recursos disponíveis. Com base na definição de quem executará os backups e como eles serão executados, indique a alternativa que representa a opção mais adequada.
D. 
As responsabilidades da equipe.
Quem irá executar os backups e como eles serão executados são as responsabilidades da equipe, definidas pela estratégia de backup. O tipo, o método, os agendamentos e a restauração são as opções e as ações que essa equipe tomará para executar os backups. 
4. 
Os diversos tipos de backups existentes definem as opções de realizar cópias de segurança de acordo com a estratégia de backups implantada em cada organização. Considerando a realização de um backup sem restringir o acesso ao banco de dados, indique a alternativa que representa esse tipo de backup.
A. 
Backup online.
A opção de realizar backup de banco de dados sem restringir o acesso aos usuários é o backup online ou quente. As demais alternativas não representam opções conhecidas de backup. 
5. 
O banco de dados MySQL possui uma ferramenta bastante conhecida para realizar backups lógicos. Essa ferramenta é denominada mysqldump e tem diversas opções de parâmetros. Com base no mysqldump, indique a alternativa que representa a execução de um backup apenas para a tabela usuário de um banco de dados denominado db_pedido. A saída deve ser um arquivo nomeado como bkp_usuario.sql.
A. 
mysqldump db_pedido usuario > bkp_usuario.sql
A forma correta é mysqldump db_pedido usuario > bkp_usuario.sql, pois representa a seguinte forma: mysqldump [nome_banco_de_dados] [tabela] > [nome_arquivo_saida]. As demais opções não representam uma forma correta de acordo com o enunciado da questão. 
-------------------------------------------------------------------------------------------
Recuperação de banco de dados
1. 
Planejar e executar backups são atividades imprescindíveis para preservar as informações dos bancos de dados. Considerando o uso de backups por log de arquivos binários para replicação de dados, indique a alternativa que representa uma aplicação dessa estratégia.
E. 
Espelhamento entre servidores de banco de dados.
O espelhamento entre servidores de banco de dados é realizado por meio de backups dos logs binários (backups incrementais) em determinados intervalos de tempo. Os backups lógicos e a cópia completa não fazem uso dos logs de arquivos binários. 
2. 
Backups são criados para realizar cópias de segurança das informações armazenadas em bancos de dados com o objetivo de restaurá-las quando necessário. Entre as diversas formas de restauração de backup, indique qual é a instrução utilizada para recuperar um backup lógico de banco de dados no MySQL.
A. 
mysql
No MySQL, a instrução utilizada para recuperar um backup lógico é mysql. A instrução mysqldump cria um backup lógico, mysqlbinlog restaura backups incrementais e as instruções mysqlroot e mysqlrecovery não são válidas para recuperar backups. 
3. 
É sabido que backups completos podem ser muito demorados porque contêm todos os dados a serem copiados de um banco de dados. Como parte de uma estratégia de agilização de backups, é possível criar backups menores com dados que representam pequenos intervalos que podem ser adicionados a um backup completo. Com base na técnica que utiliza arquivos de log binário, indique a alternativa correta em relação ao MySQL.
E. 
Recuperação incremental.
Os arquivos de log binário permitem restaurar um banco de dados pelo método de recuperação incremental. Os métodos de recuperação física, lógica e completa não são considerados backups incrementais porque não utilizam os arquivos de log binário, e a recuperação virtual não é uma opção válida de restauração de backup no MySQL. 
4. 
Os tipos de backups que existem definem as opções de realizar cópias de segurança de acordo com as estratégias de backup que podem ser definidas pelas organizações. Considerando a realização de recuperação de backup sem restringir o acesso aos usuários, indique a alternativa que representa esse tipo de backup.
E. 
Backup online.
A opção de realizar a recuperação de backup de um banco de dados sem restringir o acesso aos usuários é a recuperação de backup online. As demais alternativas não representam opções conhecidas de backup. 
5. 
Eventos adversos são situações que podem fazer com que os dados de um banco de dados fiquem indisponíveis aos usuários. Entre os diversos eventos que requerem a realização de um backup como garantia de salvaguarda dos dados, indique aquele que representa instruções ilegais que podem ser executadas em um banco de dados.
C. 
Exclusão acidental de dados.
A exclusão acidental de dados representa a necessidade de restauração de um backup pela execução de alguma instrução ilegal executada por usuários ou desenvolvedores de sistemas. Atualização de sistemas, desastres naturais e sinistros, falhas em servidores e troca de equipamentos são eventos adversos que podem tornar os dados inacessíveis, mas não executam instruções diretamente nos bancos de dados. 
Desafio
Realizar e recuperar cópias de segurança de bancos de dados são atividades criteriosas de responsabilidade da equipe que administra os servidores. Por meio da restauração de uma cópia de segurança é possível recuperar informações que foram perdidas, corrompidas ou que estão inacessíveis devido a problemas em equipamentos ou sistemas. Contudo, algumas atividades são complementares à execução de backups e restauração de bancos de dados, como a elaboração de estratégias que envolvam diversos cenários.
A empresa em que você trabalha deverá atualizar os sistemas operacionais dos servidores de bancos de dados. Como há risco de os servidores ficarem inoperantes após a aplicação dos patches, mostre à sua equipe de produção uma estratégia de backup/restauração que pode ser implementada para evitar a indisponibilidadede informações e justifique sua resposta.
Padrão de resposta esperado
A aplicação de patches em servidores é uma atividade crítica, que pode deixar equipamentos inacessíveis por longos períodos. Pensando nisso, os seguintes passos foram elaborados como estratégia de backup/restauração de dados:
- Avisar usuários e gestores que haverá manutenção programada nos servidores.
- Retirar o acesso de modificação dos bancos de dados, permitindo apenas leitura.
- Realizar backups dos bancos de dados antes da execução dos patches nos servidores.
- Recuperar os backups dos bancos de dados realizados em outro servidor e deixá-lo de pronto-aviso.
Desse modo, os backups conterão dados atualizados e estarão disponíveis em outro servidor que poderá entrar em ação caso ocorra algum problema no servidor principal de banco de dados da organização.
Com isso, a equipe de suporte terá condições de atuar no ajuste do servidor sem que os bancos de dados fiquem indisponíveis para os usuários.
---------------------------------------------------------------------------------------------

Continue navegando