Informática Parte 4 Prof. Márcio Hunecke

Documentos relacionados
Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

SQL (Tópicos) Structured Query Language

IMPLEMENTAÇÃO DE BANCO DE DADOS

Banco de Dados. Prof. Antonio

ANÁLISE E PROJETO DE BANCO DE DADOS

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Prova de Tecnologia da Informação

Linguagem de Consulta Estruturada SQL- DML

Introdução em Banco de Dados

Revisão de Bancos de Dados

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

PROVA TECNOLOGIA DA INFORMAÇÃO

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Exercícios de Lógica Exercícios de Fixação 08

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Rápida revisão do Modelo Relacional

BCD29008 Banco de dados

Banco de Dados. Professora: Luciana Faria

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

Linguagem de Consulta Estruturada SQL- DML

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

EXEMPLOS DE COMANDOS NO SQL SERVER

Page 1. Prof. Constantino Jacob

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Comandos de Manipulação

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Banco de Dados I Introdução SQL

SQL Structured Query Language

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Banco de Dados Modelo Relacional, Algebra Relacional, SQL

Oracle Database 11g: Introdução à Linguagem SQL Novo

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

MySql. Introdução a MySQL. Andréa Garcia Trindade

Modelo Relacional + SQL (DDL) Material elaborado pela Prof. Karin Becker

Modelo Entidade-Relacionamento (E-R)

SQL. Prof. Roger Cristhian Gomes

Oracle Database: Fundamentos de SQL e PL/SQL

S Q L Asserções, Visões e Técnicas de Programação. Daniel Bordignon Cassanelli Fernando Luiz Grando Pedro Patitucci Finamore

Linguagem de Definição de Dados (DDL)

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

BANCO DE DADOS WEB AULA 4. linguagem SQL: subconjuntos DCL, DDL e DML. professor Luciano Roberto Rocha.

Fundamentos de Programação ORACLE: SQL. Prof. Walter Gima

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Arquivo. Banco de Dados. Organização dos Arquivos. Banco de Dados. Banco de Dados. Introdução a Computação

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

O que são Bancos de Dados?

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

A U L A 1 I N T R O D U Ç Ã O A B A N C O D E D A D O S E V I S Ã O G E R A L D O S Q L

BANCO DE DADOS PARA NINJAS

A linguagem SQL

Banco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP

[versão para impressão] Link original: comp=24763 Conhecendo o PL/SQL

Banco de Dados. Banco de Dados

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Para criarmos um banco de dados no MySql, utilizamos à instrução:

Marcelo Henrique dos Santos

BCD29008 Banco de dados

Banco de Dados. Structured Query Language SQL. Prof. Walteno Martins Parreira Jr 1.

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

MySQL. Introdução Prof. Erinaldo Nascimento

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

Bases de Dados. DDL Data Definition Language

Bancos (Bases) de Dados

Disciplina: Banco de Dados Tema: SQL Parte 2

Sistemas de Banco de Dados

BCD29008 Banco de dados

Formação em Banco de Dados. Subtítulo

CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA A F B G C H D I E J

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Banco de Dados. Prof. Dr. Joel da Silva SQL - Introdução

Introdução ao SQL. Aécio Costa

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

BANCO DE DADOS PARA WEB

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Utilizando o Postgres - comandos SQL para a manipulação de dados

SQL-99: Esquema de BD EMPRESA

Modelagem Física e SQL

Structured Query Language (SQL)

Administração de Banco de Dados

Revisão + Visões + Sub-Consultas + JOINS

Introdução a Bancos de Dados

Transcrição:

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

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 facilidade 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 ciclo de aprendizado daqueles que se iniciam na linguagem. A linguagem SQL é dividida em subconjuntos de acordo com as operações que queremos efetuar sobre um banco de dados, tais como: DDL Data Definition Language são usadas para definir a estrutura de banco de dados ou esquema. 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 www.acasadoconcurseiro.com.br 3

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 apresentados nessa sintaxe. 4 www.acasadoconcurseiro.com.br

Banco do Brasil - TI (Escriturário) Informática Márcio Henecke www.acasadoconcurseiro.com.br 5

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 Hadoop, construído inicialmente pelo time de desenvolvimento do Facebook em 2007. Ele nasceu 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 mercado para realizar operações de Full Scan em grandes volumes de dados. O Hive foi criado també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 chamada 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 imediatas. Foi desenhado para melhor performance analisando grandes quantidades de dados que se 6 www.acasadoconcurseiro.com.br

Banco do Brasil - TI (Escriturário) Informática Márcio Henecke encontram em clusters. Normalmente são estes tipos de queries que temos em painéis analíticos 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). www.acasadoconcurseiro.com.br 7

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 www.acasadoconcurseiro.com.br 9

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 g WHERE 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.nome FROM Programador p, Gerente g WHERE p.datacontrato < g.datacontrato e) SELECT p.nome FROM Programador p, Gerente g WHERE p.cod-g = g.cod-g AND p.datacontrato < g.datacontrato 10 www.acasadoconcurseiro.com.br

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 Supervisor é 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 é: www.acasadoconcurseiro.com.br 11

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 12 www.acasadoconcurseiro.com.br

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, independente do banco de dados existe uma linguagem de programação, designada para manipular dados 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 assinalando 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 mesma instrução SQL. c) Este comando insere na tabela NotaFiscal os registros da tabela Pedido, cujos campos Situacao 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. www.acasadoconcurseiro.com.br 13

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 14 www.acasadoconcurseiro.com.br