informática – parte 4 prof. márcio hunecke€¦ · resumo das principais características da...

14
Escriturário Informática – Parte 4 Prof. Márcio Hunecke

Upload: buitruc

Post on 18-Aug-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

Escriturário

Informática – Parte 4

Prof. Márcio Hunecke

Page 2: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma
Page 3: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br 3

Informática

BANCO DE DADOS SQL (LINGUAGEM SQL (SQL2008) LINGUAGEM HIVEQL (HIVE 2.2.0))

Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é a linguagem de pesquisa declarativa padrão para banco de dados relacional (base de dados relacional). Muitas das características originais do SQL foram inspiradas na álgebra relacional.

A linguagem é um grande padrão de banco de dados. Isto decorre da sua simplicidade e faci-lidade de uso. Ela se diferencia de outras linguagens de consulta a banco de dados no sentido em que uma consulta SQL especifica a forma do resultado e não o caminho para chegar a ele. Ela é uma linguagem declarativa em oposição a outras linguagens procedurais. Isto reduz o ci-clo de aprendizado daqueles que se iniciam na linguagem.

A linguagem SQL é dividida em subconjuntos de acordo com as operações que queremos efetu-ar sobre um banco de dados, tais como:

DDL – Data Definition Language são usadas para definir a estrutura de banco de dados ou es-quema. Alguns exemplos:

CREATE- para criar objetos no banco de dados

ALTER – altera a estrutura da base de dados

TRUNCATE – remover todos os registros de uma tabela, incluindo todos os espaços alocados para os registros são removidos

DML – Data Manipulation Language são utilizados para o gerenciamento de dados dentro de objetos do banco. Alguns exemplos:

SELECT- recuperar dados do banco de dados

INSERT – inserir dados em uma tabela

UPDATE – atualiza os dados existentes em uma tabela

DELETE – exclui registros de uma tabela,

DCL – Data Control Language declarações. Alguns exemplos:

GRANT – atribui privilégios de acesso do usuário a objetos do banco de dados

REVOKE – remove os privilégios de acesso aos objetos obtidos com o comando GRANT

TCL – Transaction Control Language – (Controle de Transações) são usados para gerenciar as mudanças feitas por instruções DML.

COMMIT – salvar o trabalho feito

Page 4: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br4

SAVEPOINT – identificar um ponto em uma transação para que mais tarde você pode efetuar um ROLLBACK

ROLLBACK – restaurar banco de dados ao original desde o último COMMIT

Principais comandos SQL

Abaixo são apresentados exemplos semelhantes aos demonstrados na aula. Na linguagem SQL dois hifens transformam o restante da linha em comentário, por isso os comandos são apresen-tados nessa sintaxe.

Page 5: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

Banco do Brasil - TI (Escriturário) – Informática – Márcio Henecke

www.acasadoconcurseiro.com.br 5

Page 6: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br6

Resumo dos comandos utilizados.

CREATE DATABASE – Utilizado para Criação de uma Base de Dados

CREATE TABLE – Criação de uma Tabela

INSERT INTO – Inserção de Dados nas Tabelas

SELECT – Seleção e apresentação de informações

WHERE – Utilização de Filtros em conjunto com o Select

DISTINCT – Apresentação somente registros diferentes

COUNT – Apresentação da quantidade de registros

UPDATE – Atualização de registros

DELETE – Exclusão de registros

INNER JOIN – Apresentação de registros de várias Tabelas

ORDER BY – Ordenação dos resultados em ordem crescente ou decrescente

TRUNCATE TABLE – Exclusão de todos os registros de uma tabela

DELETE – Exclusão de todos os registros de uma tabela

DROP TABLE – Exclusão completa da tabela

HiveQL

O Hive é um framework para soluções de Data Warehousing, que executa no ambiente do Ha-doop, construído inicialmente pelo time de desenvolvimento do Facebook em 2007. Ele nas-ceu a partir da necessidade de gerenciar, analisar e aprender sobre o comportamento dos usu-ários a partir dos imensos volumes de dados gerados a cada dia no Facebook. A escolha pelo Hadoop foi incentivada pelo baixo custo, escalabilidade e evitar a dependência sobre custos de licenças e manutenção anual que são comuns nos bancos de dados do mercado. Outro ponto também que levou ao desenvolvimento do Hive foi o baixo desempenho das soluções de mer-cado para realizar operações de Full Scan em grandes volumes de dados. O Hive foi criado tam-bém visando aproveitar os "skills" de uso do SQL dos analistas e desenvolvedores do Facebook, que não eram na época tão proficientes em Java para usar o MapReduce. Atualmente é um projeto da Apache ( http://hive.apache.org).

Como a finalidade principal do Hive é analisar dados, o mesmo deve ser capaz de se integrar com soluções de Business Intelligence existentes no mercado. Hive utiliza uma linguagem cha-mada HiveQL (Hive Query Language), que transforma as sentenças SQL em Jobs MapReduce executados no cluster Hadoop.

O Hive não foi desenhado para executar queries em Tempo real, com tempo repostas imedia-tas. Foi desenhado para melhor performance analisando grandes quantidades de dados que se

Page 7: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

Banco do Brasil - TI (Escriturário) – Informática – Márcio Henecke

www.acasadoconcurseiro.com.br 7

encontram em clusters. Normalmente são estes tipos de queries que temos em painéis analíti-cos de aplicações de Business Intelligence, que usualmente utilizam operadores do tipo Somas, Contagens etc, que em ambientes usuais de data warehouse podem consumir horas para que estes tipos de query retornem resultado.

Resumo das principais características da linguagem HiveQL e seus componentes

Apache Hadoop – conjunto de softwares livre baseados em Java para processamento de grande volume de dados.

Apache Hive – é um software para Data Warehouse construído na plataforma Apache Hadoop que utiliza a linguagem HiveQL para realização de consultas e análises em grandes volumes de dados.

HiveQL – linguagem muita parecida com SQL que sempre estará relacionada com pesquisas e consultas em grandes base de dados (Data Warehouse / Big Data) e muito utilizado em sistema de Business Intelligence (BI).

Page 8: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma
Page 9: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br 9

Questões

1. (2018 – CESPE – ABIN – Oficial Técnico de Inteligência – Área 9)

Tendo como referência o código SQL precedente, julgue o item a seguir. O código em apreço realiza uma consulta que mostra o nome dos funcionários da área de INTELIGENCIA e que têm, como parte do endereço, a cidade de BRASILIA,DF.

( ) Certo   ( ) Errado

2. (2018 – CESPE – ABIN – Oficial Técnico de Inteligência – Área 9)

Tendo como referência o código SQL precedente, julgue o item a seguir. A palavra INTELIGENCIA está entre aspas simples por pertencer a um atributo, area, o qual tem o tipo de dados definido como caractere.

( ) Certo   ( ) Errado

3. (2018 – CESPE – ABIN – Oficial Técnico de Inteligência – Área 9)

Tendo como referência o código SQL precedente, julgue o item a seguir. Na cláusula WHERE, a condição de seleção area = 'INTELIGENCIA' escolhe a tupla de interesse em particular na tabela funcionario, pois area é um atributo de funcionario.

( ) Certo   ( ) Errado

Page 10: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br10

4. (2018 – UECE-CEV – DETRAN-CE – Analista de Trânsito e Transporte – Tecnologia da Informação)

O comando SQL, utilizado para remover completamente uma tabela chamada “gerente” em um banco de dados, é denominado

a) DROP gerente. b) DELETE gerente. c) DELETE * FROM gerente. d) DROP TABLE gerente.

5. (2018 – COPERVE – UFSC – UFSC – Analista de Tecnologia da Informação)

Considere as seguintes tabelas de um banco de dados relacional, nas quais são armazenados dados referentes aos funcionários de uma empresa de software:

Programador (Cod-P, Nome, DataContrato, Cod-G)

Gerente (Cod-G, Nome, DataContrato)

A chave primária da tabela Programador é o atributo Cod-P, e a chave primária da tabela Gerente é o atributo Cod-G. O atributo Cod-G na tabela Programador é uma chave estrangeira para a tabela Gerente, indicando o gerente responsável pelo projeto no qual o programador está alocado. O atributo DataContrato, presente nas duas tabelas, indica a data em que o funcionário foi contratado pela empresa. Considere, ainda, a seguinte consulta sobre esse banco de dados: “Buscar os nomes dos programadores que foram contratados há mais tempo pela empresa do que o gerente do projeto no qual estão alocados”. A alternativa que expressa corretamente essa consulta, na linguagem SQL, é:

a) SELECT p.Nome FROM Programador p, Gerente gWHERE p.Cod-P = g.Cod-G AND g.DataContrato > p.DataContrato

b) SELECT g.Nome FROM Programador p, Gerente g WHERE p.Cod-G = g.Cod-G AND g.DataContrato > p.DataContrato

c) SELECT g.Nome FROM Programador p, Gerente g WHERE p.Cod-P = g.Cod-G AND g.DataContrato > p.DataContrato

d) SELECT p.NomeFROM Programador p, Gerente gWHERE p.DataContrato < g.DataContrato

e) SELECT p.Nome FROM Programador p, Gerente gWHERE p.Cod-G = g.Cod-G AND p.DataContrato < g.DataContrato

Page 11: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br 11

Banco do Brasil - TI (Escriturário) – Informática – Márcio Hencke

6. (2018 – COPERVE – UFSC – UFSC – Técnico de Tecnologia da Informação)

Considere o seguinte banco de dados relacional:

Funcionário (Cod-F, Nome, Salário, Cod-S)

Supervisor (Cod-S, Nome, Salário)

A chave primária da tabela Funcionário é o atributo Cod-F e a chave primária da tabela Super-visor é o atributo Cod-S. O atributo Cod-S na tabela Funcionário é uma chave estrangeira para a tabela Supervisor, indicando o supervisor do funcionário. Esse banco de dados será utilizado na questão.

Considere a seguinte consulta, formulada na linguagem SQL:

SELECT Cod-F

FROM Funcionário, Supervisor

WHERE Funcionário.Salário > Supervisor.Salário

AND Funcionário.Cod-S = Supervisor.Cod-S

A alternativa que expressa corretamente a intenção dessa consulta é buscar os códigos:

a) dos funcionários que recebem salários superiores ao de algum supervisor. b) dos funcionários que recebem salários superiores aos de todos os supervisores. c) dos supervisores que recebem salários superiores aos dos seus funcionários. d) dos funcionários que recebem salários inferiores aos dos seus supervisores. e) dos funcionários que recebem salários superiores aos dos seus supervisores.

7. (2018 – FGV – Câmara de Salvador – BA – Analista de Tecnologia da Informação)

Considere os comandos SQL a seguir.

I. select r.* FROM R where

exists (select * FROM S where r.a = s.c)

II. select r.* FROM R where

(select count(*)

FROM S where r.a = s.c) > 0

III. select r.* FROM R

where r.a in (select c FROM S)

IV. select r.* FROM R where

exists (select 1 FROM S where r.a = s.c)

V. select distinct r.* FROM R, S

where r.a = s.c

Sabe-se que quatro desses comandos sempre produzem resultados com conteúdos idênticos, mesmo considerando-se diferentes instâncias de R e S.

O comando que NÃO faz parte desse grupo é:

Page 12: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br12

a) I; b) II; c) III; d) IV; e) V.

8. (2018 – FCC – DPE-AM – Analista em Gestão Especializado de Defensoria – Analista de Sistema)

Para apagar todos os registros da tabela copia_eleitores utiliza-se a instrução SQL

a) DELETE FROM copia_eleitores; ou TRUNCATE * FROM copia_eleitores;b) DELETE RECORDS copia_eleitores; ou DROP RECORDS FROM copia_eleitores; c) DELETE * FROM copia_eleitores; ou DELETE RECORDS copia_eleitores; d) DELETE FROM copia_eleitores; ou DELETE * FROM copia_eleitores; e) DELETE RECORDS copia_eleitores; ou TRUNCATE TABLE copia_eleitores;

9. (2018 – FCC – DPE-AM – Assistente Técnico de Defensoria – Programador)

Considere que exista uma tabela denominada TabProcessos que possui os seguintes campos: NroProcesso (tipo varchar), NroVara (tipo int), CPFAutor (tipo varchar). Para que seja feita uma consulta que resulte no total de processos em cada uma das varas, o comando SQL correto é

a) SELECT NroVara, COUNT (NroProcesso) FROM TabProcessos; b) SELECT NroVara, COUNT (NroProcesso) FROM TabProcessos GROUP BY NroVara; c) SELECT SUM (NroProcesso) FROM TabProcessos GROUP BY NroVara; d) SELECT COUNT (NroProcesso) FROM TabProcessos HAVING NroVara; e) SELECT NroVara, SUM (NroProcesso) FROM TabProcessos GROUP BY NroVara;

10. (2018 – CESPE – CGM de João Pessoa – PB – Auditor Municipal de Controle Interno – Desenvolvimento de Sistemas)

( ) Certo   ( ) Errado

11. (2018 – FGV – SEFIN-RO – Auditor Fiscal de Tributos Estaduais)

Considere as tabelas de bancos de dados T1, T2 e T3, que contêm, respectivamente, 10, 500 e 2.000 registros, e o comando SQL a seguir.

select count(*) FROM T1, T2, T3

Assinale a opção que apresenta o número exibido no resultado da execução desse comando.

a) 10000000 b) 1000000

Page 13: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br 13

Banco do Brasil - TI (Escriturário) – Informática – Márcio Hencke

c) 2000 d) 500 e) 10

12. (2017 – INAZ do Pará – CFF – Programador)

Existem vários tipos de banco de dados e eles estão presentes na nossa vida há muito tempo, a lista telefônica, por exemplo, pode ser considerado um banco de dados. Porém, independen-te do banco de dados existe uma linguagem de programação, designada para manipular da-dos e é usada por um grande número de aplicativos e organizações. Essa linguagem se chama SQL(Linguagem de Consulta Estruturada). Logo, analise o seguinte comando SQL abaixo assina-lando a alternativa correta.

INSERT INTO NotaFiscal (NumPedido, CodCliente, valor)

SELECT Codigo, CodCliente, Total FROM Pedido

WHERE Situacao = ‘F’

a) Serão mesclados em uma única consulta, registros da tabela NotaFiscal juntamente com registros da tabela Pedido cujos os campos situação contenham o valor F.

b) Este comando está incorreto, pois não é valido usar SELECT e INSERT em conjunto na mes-ma instrução SQL.

c) Este comando insere na tabela NotaFiscal os registros da tabela Pedido, cujos campos Situ-acao contenham o valor F.

d) Pode-se afirmar que ocorrerá uma inserção na tabela NotaFiscal, seguida de uma consulta na tabela pedido.

e) Este comando está sintaticamente correto, porém não é valido usar SELECT e INSERT ao mesmo tempo.

13. (2017 – FCC – TST – Técnico Judiciário – Programação)

Para criar um banco de dados relacional chamado Tribunal e excluir uma tabela chamada Consulta, um Programador deverá escrever corretamente as expressões SQL

a) CREATE DATABASE Tribunal; e DELETE TABLE Consulta; b) INSERT DATABASE Tribunal; e DELETE TABLE = Consulta; c) CREATE DATABASE Tribunal; e DROP TABLE Consulta; d) INSERT DATABASE Tribunal; e DROP TABLE Consulta; e) INSERT DATABASE Tribunal; e DROP TABLE = Consulta;

14. (2017 – FGV – MPE-BA – Analista Técnico – Tecnologia)

Tabelas R e S referentes a um banco de dados relacional.

Page 14: Informática – Parte 4 Prof. Márcio Hunecke€¦ · Resumo das principais características da linguagem HiveQL e seus ... O comando SQL, utilizado para remover completamente uma

www.acasadoconcurseiro.com.br14

Considerando as tabelas R e S apresentadas anteriormente, o comando SQL

select count(*)

from R, (select * from S where d=2) s

resulta no número:

a) 0 b) 1 c) 3 d) 6 e) 9

15. (2017 – FGV – SEPOG – RO – Analista em Tecnologia da Informação e Comunicação)

A consulta SQL a seguir retorna uma série de nomes da tabela usuarios:

select nome from usuarios

Para obter a relação de nomes em ordem alfabética reversa você deve acrescentar ao final da consulta

a) sort nome. b) sort reverse nome. c) order by nome desc. d) order by nome. e) order desc by nome.

16. (2017 – FCC – TST – Técnico Judiciário – Programação)

Um Programador:

I. criou uma tabela e uma view em um banco de dados relacional.

II. alterou a estrutura da tabela.

III. incluiu registros na tabela.

Os comandos SQL utilizados nas operações realizadas em I, II e III enquadram-se, correta e respectivamente, no âmbito da

a) DDL − DML − DDL. b) DML − DML − DDL. c) DML − DDL − DDL. d) DDL − DML − DML. e) DDL − DDL − DML.

Gabarito: 1. Certo 2. Certo 3. Certo 4. D 5. E 6. E 7. E 8. D 9. B 10. Errado 11. A 12. C 13. C 14. D 15. C 16. E