Prova do Dataprev – Questão de banco de dados e BI comentadas.
Abaixo comentamos as questões da banca CETRO do concurso do Dataprev 2016, especificamente dos assuntos de banco de dados e business intelligence. São 6 questões de analista de processamento, 4 do cargo de desenvolvimento e 3 de infraestrutura e aplicação. Os demais cargos não encontrei questões especificas destes assuntos.
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Analista de Processamento Q.31
Marcos configurou seu computador para realizar backup diário às 23h. Seu primeiro backup foi realizado na segunda-feira e levou, aproximadamente, 8 horas para concluir. Na terça-feira, Marcos notou que o tempo de conclusão do backup foi menor ao anterior, sendo este de apenas 1h30min. Ao acompanhar o processo de backup, ele notou que o procedimento realizado mapeava o bakucp do dia anterior, copiando todas as alterações do último backup. Com base nessa problemática, assinale a alternativa que apresenta o tipo de backup que foi realizado por Marcos.
(A) Backup Completo.
(B) Backup Incompleto.
(C) Backup Diferencial.
(D) Backup Incremental.
(E) Backup Delta.
Comentário: O backup incremental é a cópia de todos os dados que foram modificados desde o último backup de qualquer tipo. Segue um vídeo que explica a diferença entre incremental e diferencial.
Gabarito Extraoficial: D.
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Analista de Processamento Q.41
O Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados inter-relacionados e um conjunto de programas para acessá-los. Sua característica principal é prover uma maneira adequada de recuperação e armazenamento de dados no banco de dados. Dentre as características do SGBD, estão:
I. gerenciar pequenos volumes de dados.
II. facilitar a eliminação de redundância e inconsistência de dados
III. facilitar o armazenamento dos e o acesso aos dados
IV. garantir o acesso a vários usuários ao mesmo tempo.
V. garantir a confidencialidade dos dados.
É correto o que está contido em:
(A) I, II, III, apenas.
(B) III e IV, apenas.
(C) II, III e IV, apenas.
(D) I, IV e V, apenas.
(E) I, II, III, IV, V.
Comentário: Para resolver essa questão a primeira ação que temos que tomar é marcar a afirmação I como erra e eliminar as alternativas A, D e E. Assim já garantimos que III e IV estão corretas. Vamos então comentar a alternativa II.
Manter informações organizadas em um sistema de processamento de arquivos apresentar como desvantagem a redundância e inconsistência dos dados. Como diferentes programadores criam os arquivos e os programas de aplicação durante um longo período de tempo, os vários arquivos provavelmente precisam de diferentes estruturas, e os programas podem ser escritos em diferentes linguagens de programação. Além disso, as mesmas informações podem ser duplicadas em vários locais ou arquivos.
Percebam que esse problema é resolvido ou minimizado com a utilização de sistemas de gerenciamento de banco de dados. Sendo assim, a afirmação II encontra-se correta.
Gabarito Extraoficial: C
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Analista de Processamento Q.42
Abstração de dados é a possibilidade de entender um ambiente, preocupando-se apenas com seus aspectos mais importantes. No caso de Banco de dados, abre-se a possibilidade para seus usuários poderem acessar os dados sem a necessidade de se preocupar com os detalhes de como os dados são armazenados. Diante do exposto, assinale a alternativa que apresenta a característica do nível de abstração conceitual.
(A) Descreve como os dados são realmente armazenados. Neste nível de abstração, trabalham os DBA´s.
(B) Descreve como os dados não devem ser armazenados. Neste nível de abstração, trabalham os projetistas.
(C) Descreve quais dados estão armazenados e como eles se relacionam. Neste nível, os usuários não se preocupam com aspectos físicos do armazenamento de dados. Aqui, trabalham os DBAs e os Analista de Aplicação.
(D) Descreve os dados armazenados e como eles se relacionam. Neste nível, os usuários se preocupam com aspectos físicos do armazenamento de dados. Aqui, trabalham os DBAs e os Arquitetos.
(E) Descreve parte de um banco de dados, de modo que usuários do banco tenham acesso apenas aos dados que lhe dizem respeito.
Comentário: Um SGBD é composto de uma coleção de arquivos inter-relacionados e de um conjunto de programas que permitem aos usuários fazer o acesso a estes arquivos e modificar os mesmos. O grande objetivo de um sistema de banco de dados é prover os usuários com uma visão abstrata dos dados. Isto é, o sistema omite certos detalhes de como os dados são armazenados e mantidos. Entretanto, para que o sistema possa ser utilizado, os dados devem ser buscados de forma eficiente. Este conceito tem direcionado o projeto de estrutura de dados complexas para a representação de dados em um banco de dados. Uma vez que muitos dos usuários de banco de dados não são treinados para computação, a complexidade está escondida deles através de diversos níveis de abstração que simplificam a interação do usuário com o sistema.
- Nível físico: o nível mais baixo de abstração descreve comos dados estão realmente armazenados. No nível físico, complexas estruturas de dados de baixo nível são descritas em detalhes;
- Nível conceitual:o próximo nível de abstração descreve quais dados estão armazenados de fato no banco de dados e as relações que existem entre eles. Aqui o banco de dados inteiro é descrito em termos de um pequeno número de estruturas relativamente simples. Embora as implementações de estruturas simples no nível conceitual possam envolver complexas estruturas de nível físico, o usuário do nível conceitual não precisa preocupar-se com isso. O nível conceitual de abstração é usado por administradores de banco de dados, que podem decidir quais informações devem ser mantidas no BD;
- Nível de visões:o mais alto nível de abstração descreve apenas parte do banco de dados. Apesar do uso de estruturas mais simples do que no nível conceitual, alguma complexidade perdura devido ao grande tamanho do banco de dados. Muitos usuários do sistema de banco de dados não estarão interessados em todas as informações. Em vez disso precisam de apenas uma parte do banco de dados. O nível de abstração das visões de dados é definido para simplificar esta interação com o sistema, que pode fornecer muitas visões para o mesmo banco de dados.
Gabarito Extraoficial: C
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Analista de Processamento Q.43
Os SGBDs, para garantir a segurança das informações devem possuir controles de redundância, concorrência e a capacidade de manter os dados íntegros, aplicando as restrições de integridade. Com relação à característica do controle de concorrência, é correto afirmar que
(A) esse controle é usualmente conhecido como integridade referencial.
(B) sistemas de bancos de dados devem ter a capacidade de garantir que os dados sigam as regras ACID.
(C) em um sistema, é possível que diversos atributos tenham um mesmo domínio.
(D) a definição de restrição de domínio não somente permite testar os valores inseridos no banco de dados, como possibilita testar as consultas assegurando que as comparações façam sentido.
(E) os escalonamentos podem ser seriais e não seriais.
Comentário: Essa questão nos leva a tentarmos marcar a alternativa B, contudo, na minha visão, não são os dados que devem seguir as propriedades definidas pela sigla ACID, mas sim as transações. Por outro lado, a alternativa E apresenta uma frase correta e consistente com o contexto de controle de concorrência que são os escalonamentos. Eles de fato podem ser seriais e não seriais. Dentro dos não seriais temos um grupo específico que são os serializáveis.
Gabarito Extraoficial: E
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Analista de Processamento Q.45
Os controles de acessos em sistemas de informação devem assegurar que todos os acessos diretos ao sistema ocorram exclusivamente de acordo com as modalidades e as regras preestabelecidas e observadas por políticas de proteção. Grande parte dos SGBDs atuais controla acesso aos dados armazenados por meio de Listas de Controle de Acesso (Acess Control List – ACL). Deste modo, é correto afirmar que o controle de acesso no SGBD é feito em:
(A) uma etapa, na qual o servidor confere os dados do usuário na ACL e libera total acesso ao banco caso o usuário esteja na lista.
(B) uma etapa, na qual o servidor confere os dados do usuário na ACL e libera acesso restrito ao banco de dados caso o usuário esteja na lista.
(C) duas etapas: primeiramente, o servidor confere se o usuário pode ter acesso ou não e, em seguida, o servidor verifica cada requisição feita para saber se o usuário tem ou não privilégios suficientes para realizar a operação.
(D) duas etapas: primeiramente, o servidor confere se o usuário pode ter acesso ou não e, em seguida, o servidor envia uma mensagem ao usuário para que o servidor valide seu acesso ao banco.
(E) duas etapas: primeiramente, o servidor confere se o usuário pode ter acesso ou não e, em seguida, o servidor envia uma chave criptografada ao usuário para que este use a fim de ter acesso ao banco.
Comentário: Os mecanismos de autorização envolvem duas etapas: autenticação e autorização de acesso. A primeira tem por objetivo verificar se o usuário que tenta acessar o sistema é quem realmente diz ser. Em SGBDs, a autenticação é realizada através de senhas embora este recurso não seja totalmente garantido. O mecanismo de autorização permite conceder privilégios para cada um dos objetos aos usuários. Desse modo, apenas os usuários que têm privilégio sobre o objeto podem acessá-lo.
Gabarito Extraoficial: C
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Analista de Processamento Q.46
A recuperação/tolerância a falhas tem por objetivo restaurar o BD para um estado de integridade, após a ocorrência de uma falha. Os mecanismos de recuperação baseiam-se na utilização de formas de redundância que quase duplicam o BD, utilizando backup e transaction log. A conjugação destes dois mecanismos “backup e transaction log” garante duas das características fundamentais das transações. Assinale a alternativa que as apresenta.
(A) Integridade e Restrição.
(B) Constraint e Atomicidade.
(C) Persistência e Constraint
(D) Atomicidade e Persistência.
(E) Integridade e Persistência.
Comentário: As características fundamentais das transações são Atomicidade, Consistência, Isolamento e Durabilidade. Não entendi porque o examinador usou Persistência no lugar de Durabilidade. O backup serve para garantir, principalmente, a durabilidade, e os logs de transação garantem, por meio das operações de UNDO e REDO, sobre as transações a atomicidade da mesma. Para mim, a resposta está na alternativa D.
Gabarito Extraoficial: D
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Desenvolvimento Q.28
Considerando a sintaxe SQL abaixo e a existência de uma tabela “empregados” contendo as colunas “mat int, nome varchar, departamento varchar, salario double”, assinale a alternativa correta.
INSERT INTO empregados (mat, nome, departamento, salario) VALUES (100, ‘Mauricio’, financeiro, 3800.59);
(A) Serão inseridas quatro colunas na tabela “empregados”.
(B) Será inserida uma linha na tabela “empregados”.
(C) Resultará em um erro, pois o tipo de dados definido para o salário é incompatível com o definido na tabela.
(D) Resultará em um erro, pois o tipo de dados definido para a matrícula é incompatível com o definido na tabela.
(E) Resultará em um erro, pois o tipo de dados definido para o departamento é incompatível com o definido na tabela.
Comentário: Vejam que a própria questão dá um norte para verificarmos o erro na passagem de parâmetro de uma coluna do tipo varchar. Sabemos que nestes casos os parâmetros devem aparecer entre aspas. O examinador apresentou de forma correta um valor para a variável nome, mas não o fez para a coluna departamento. Sendo assim, a execução do comando resultará em um erro.
Gabarito Extraoficial: E
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Desenvolvimento Q.29
Considerando as principais características do PostgreSQL, assinale a alternativa que não apresenta uma das suas características.
(A) Suporte aos padrões ANSI SQL 89, 92 e 99.
(B) Suporte a transações
(C) Backup on-line.
(D) Triggers de sistema
(E) Integridade referencial.
Comentário: O PostgreSQL é um banco maduro, com um histórico de desenvolvimento iniciado em 1977.Tem as principais características desejadas em um banco de dados:
-
Recuperação Automática após crash de sistema (WAL);
-
MVCC (controle de concorrência de multi-versão). Neste mecanismo, processos de leitura não bloqueiam processos de escrita e vice-versa, reduzindo drasticamente (às vezes, eliminando) a contenção entre transações concorrentes e paralisação parcial ou completa (deadlock);
- Logging de transações;
- Commit / Rollback / Checkpoints;
- Triggers / Stored Procedures;
- Constraints / Foreign Keys;
- Backup On-line.
Perceba que a lista acima apresenta as alternativas B a E da questão como funcionalidades ou características do postgreSQL. Resta-nos então marcar a alternativa A como resposta.
Um ponto interessante, é que não faz sentido ter compatibilidade com as normas SQL ANSI 89, 92 e 99. O conjunto de elementos necessários para ser compatível com a versão da norma muda bastante, sendo assim, cada versão lançada substitui a anterior.
Gabarito Extraoficial: A
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Desenvolvimento Q.30
Considerando as características abaixo, assinale a alternativa que não apresenta uma característica do Oracle.
(A) Permite indicar um tablespace separado para Tablespace TEMP e UNDO.
(B) Maior flexibilidade na definição dos arquivos de log de transações.
(C) Conformidade com o padrão SQL2003.
(D) Permite a paralelização de operações pesadas, incluindo backups lógicos, importações via SQLLoader, consultadas longas, etc.
(E) Ajuste automático de memória.
Comentário: Vamos comentar cada uma das alternativas. É uma oportunidade para aprendermos um pouco mais sobre o SGBD Oracle®.
(A) Um banco de dados Oracle consiste em uma ou mais unidades de armazenamento lógicas denominadas tablespaces, que armazenam coletivamente todos os dados do banco de dados. Cada tablespace em um banco de dados Oracle consiste em um ou mais arquivos denominados arquivos de dados (datafiles), que são estruturas físicas compatíveis com o sistema operacional no qual o Oracle é executado. Os dados de um banco de dados são armazenados coletivamente nos arquivos de dados que constituem cada tablespace do banco de dados. Duas tablespaces conhecidas são TEMP e UNDO:
O tablespace TEMP (tablespace temporário) é onde o Oracle armazena todas as suas tabelas temporárias. É o quadro branco ou papel de rascunho do banco de dados. Assim como às vezes precisamos de um lugar para anotar alguns números para poder somá-los, o Oracle também precisa de algum espaço em disco temporário.
Todos os bancos de dados Oracle precisam de um local para armazenar informações a desfazer (UNDO). O que isso significa? Esse tablespace contém seus segmentos de reconstrução, possui a capacidade de recuperar transações incompletas ou abortadas.
O Oracle permite de indicar um tablespace separado para o Tablespace TEMP e UNDO. Isto permite um ajuste de desempenho melhor, particularmente colocando o tablespace TEMP em outro disco em aplicações de BI que fazem consultas enormes.
(B) No Oracle é possível determinar o tamanho e o local de cada log, além de fazer um espelhamento se você desejar dando maior flexibilidade na definição dos arquivos de log de transação.
(C) O Oracle não tem compatibilidade completa com o padrão SQL ANSI 2003.
(D) O Oracle permite a paralelização de operações pesadas, incluindo backups lógicos, importações via SQLLoader, consultas longas, etc. SQLLoader é uma ferramenta para importação de grandes volumes de dados em arquivos texto em diversos formatos. E uma ferramenta realmente robusta e flexível que pode lhe ajudar a fazer ETL, migrar dados de plataformas distintas, etc.
(E) A memória é um recurso precioso do sistema e os administradores têm gastado ao longo da história uma quantidade significativa de seu tempo otimizando o seu uso. Um dos aprimoramentos fundamentais do auto gerenciamento no Oracle Database 11g é o Gerenciamento automático de memória. Essa funcionalidade automatiza o gerenciamento da memória compartilhada usada por uma instância do banco de dados Oracle e libera os administradores da tarefa de ter que configurar manualmente os componentes da memória compartilhada. O recurso de Gerenciamento automático de memória é baseado em uma sofisticada heurística interna do banco de dados que monitora a distribuição de memória e a altera de acordo com as exigências da carga de trabalho.
Essa questão foi retirada deste artigo.
Gabarito Extraoficial: C
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Desenvolvimento Q.31
O Data Warehouse (DW) é uma base para armazenamento das informações necessárias para utilização por gestores e analistas na tomada de decisão e possui estrutura e características que suportam analise de grandes volumes de dados. Assinale a alternativa que apresenta uma característica presente no DW.
(A) Integrado.
(B) RAC (Real Aplication Cluster).
(C) Fine-Grained Access.
(D) Dollar Quoting.
(E) Independência de suporte.
Comentário: Data Warehouse pode ser definido como uma coleção de dados, orientados por assunto, integrados, variáveis com o tempo e não voláteis, para dar suporte ao processo de tomada de decisão.
Gabarito Extraoficial: A.
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Infraestrutura e Aplicações Q.21
É correto afirmar que, na modelagem entidade relacionamento, haverá sempre uma entidade fraca quando
(A) houver um relacionamento 1:1 entre as duas entidades.
(B) houver um relacionamento 1:N entre as duas entidades.
(C) houver um relacionamento identificador.
(D) houver um relacionamento de composição.
(E) uma entidade não gerar uma tabela.
Comentário: Quando uma entidade-tipo não possui atributos chave é designada por entidade fraca. Entidades fracas estão sempre relacionadas (relacionamento identificador) com outra entidade-tipo (entidade identificadora). Por exemplo, uma entidade fraca DEPENDENTE e uma entidade identificadora EMPREGADO participam de um relacionamento identificador DEPENDE_DE. Uma entidade fraca tem sempre participação total no relacionamento identificador. Uma entidade fraca possui, normalmente, uma chave parcial, que é o conjunto de atributos que identificam de forma única cada instância da entidade fraca face à mesma entidade identificadora.
Gabarito Extraoficial: C
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Infraestrutura e Aplicações Q.22
Dadas as tabelas Autor e Livro com seus esquemas: Autor (CPF, Nome e Sexo) e Livro (ISBN, Titulo, CPF_Autor) em que as chaves primárias são, respectivamente, CPF e ISBN, e CPF_Autor é uma chave estrangeira que referencia a tabela Autor, assinale a alternativa que apresenta as operações da Álgebra Relacional que são realizadas pelo comando SQL (SELECT CPF, Nome, ISBN, Titulo FROM Autor, Livro.
(A) Seleção e Junção.
(B) Projeção e Junção.
(C) Projeção e Produto Cartesiano.
(D) Seleção e Produto Cartesiano.
(E) Seleção e União.
Comentário: Quando fazemos uma relação entre as partes de uma consulta SQL temos que o SELECT corresponde a operação da álgebra relacional de Projeção e a cláusula WHERE corresponde a operação de Seleção. Entre esses dois termos (SELECT e WHERE) temos a cláusula FROM. Quando temos uma lista de tabelas separadas por vírgulas, será executado um produto cartesiano entre as tuplas de cada relação.
Gabarito Extraoficial: C
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Infraestrutura e Aplicações Q.42
A respeito das técnicas relacionadas ao armazenamento de dados, considere as afirmações abaixo.
- Destina-se a aumentar a tolerância a falhas, tornando o sistema mais seguro (mirroring)
- Destina-se a aumentar o desempenho, distribuindo dados sobre vários discos (striping).
(A) RAID 1 e RAID 2.
(B) RAID 0 e RAID 1.
(C) RAID 1 e RAID 0.
(D) RAID 2 e RAID 1.
(E) RAID 0 e RAID 5.
Comentário: O RAID nível 0 (zero) também é conhecido como fracionamento ou striping, nele os dados são divididos em pequenas partes (chunks) e gravados ao mesmo tempo em todos os discos do arranjo. A vantagem desse nível, é o aumento da performance na leitura e escrita de informações pois os dados são gravados e lidos ao mesmo tempo de diversos discos, o que o torna uma ótima opção para leitura e gravação de arquivos grandes, sendo ideal para games, edição de vídeos e imagens.
O RAID nível 1 é provavelmente o mais conhecido entre todos, também conhecido como “mirroring” ou “espelhamento” nesse modelo uma unidade duplica exatamente o que acontece na outra, com isso se o disco principal falhar, os dados podem ser recuperados imediatamente pois existe uma cópia exata dos dados no outro disco. Nesse nível de RAID não há ganho de desempenho, pois o mesmo foi pensado para a proteção de dados, e algumas vezes pode ocorrer até uma ligeira perda de desempenho, uma vez que os dados têm que ser gravados duas vezes.
Gabarito Extraoficial: C
- Ano: 2016 Banca: CETRO Órgão: Dataprev Cargo: Gestão de TIC Q.39
As instâncias são formadas quando um dado é guardado no banco de dados por um determinado tempo, sendo alteradas toda vez que uma modificação na base de dados é realizada. O SGBD garante que todas as instâncias satisfaçam ao esquema do banco de dados, respeitando sua estrutura e suas restrições. A arquitetura de um SGBD tem como principal objetivo separar aplicações do usuário dos dados físicos em três níveis de esquemas. Assinale a alternativa que os representa.
(A) Nível Operacional, Nível Interno e Nível Externo.
(B) Nível Conceitual, Nível Interno e Nível Lógico.
(C) Nível Externo, Nível Conceitual e Nível Interno.
(D) Nível Lógico, Nível Físico e Nível Operacional.
(E) Nível Externo, Nível Lógico e Nível Físico.
Comentário: A arquitetura em três esquemas tem por objetivo separar o banco de dados físico das aplicações do usuário através de três diferentes níveis de esquemas: Nível Externo ou de Visões, Nível Conceitual ou Lógico e Nível Interno ou Físico. Desta forma, podemos marcar nossa resposta na alternativa C.
Gabarito Oficial: C
Espero que ajude! Qualquer dúvida estou às ordens,
Thiago Cavalcanti