Questões de Concurso
Sobre sql em banco de dados
Foram encontradas 4.635 questões
Acerca de modelagem dimensional, do CRISP-DM e do uso de banco de dados relacionais na análise de dados, julgue o item a seguir.
A junção externa (LEFT, RIGHT ou FULL OUTER JOIN) garante que todos os registros de pelo menos uma das tabelas sejam preservados no resultado de uma consulta, mesmo na ausência de correspondência na outra tabela.

A partir das informações apresentadas e do trecho de código SQL precedente, julgue o item a seguir.
No que concerne à manipulação de dados em larga escala e à organização de consultas SQL, a utilização da CTE (common table expression) apresentada a seguir para encapsular a lógica de ranking é semanticamente equivalente à consulta SQL apresentada, pois ambas as abordagens produzem o mesmo resultado lógico ao isolar a versão mais recente de cada contrato, sob a premissa de que a coluna data_atualizacao permita uma ordenação unívoca para cada id_contrato.


A partir das informações apresentadas e do trecho de código SQL precedente, julgue o item a seguir.
No contexto de uma arquitetura de inteligência da informação para auditoria de dados, a consulta SQL apresentada utiliza a função de janela ROW_NUMBER() para segmentar os registros por contrato e ordená-los cronologicamente de forma decrescente; essa abordagem é eficaz para identificar a versão mais recente de cada contrato em uma tabela de CDC, sob a condição de que a coluna data_atualizacao tenha granularidade suficiente para garantir uma ordenação unívoca, evitando que registros distintos de um mesmo contrato apresentem o exato mesmo marcador temporal.
Considere a seguinte tabela de um banco de dados relacional:
ALUNO
id_aluno (inteiro)
nome (texto)
idade (inteiro)
Assinale a alternativa que apresenta o comando SQL padrão (ANSI) CORRETO para inserir um novo registro na tabela ALUNO, com os seguintes valores: id_aluno = 1, nome = 'Carlos' e idade = 20.


__________ permite que você especifique que o valor em uma determinada coluna deve satisfazer uma expressão booleana. Uma restrição de __________ indica que uma coluna ou grupo de colunas pode ser usado como um identificador exclusivo para linhas na tabela. __________ mantém a integridade referencial entre duas tabelas relacionadas. _________ garante que os contidos em uma coluna ou grupo de colunas sejam exclusivos entre todas as linhas da tabela.
Analise a tabela.

Dada a tabela acima, o que deve ser impresso na segunda linha da tabela, após as seguintes mudanças?
UPDATE Cidades
SET nome_cidade = "diamantina"
where nome_estado = "minas gerais";
UPDATE Cidades
set nome_estado = "minas gerais", nome_cidade = "belo horizonte"
WHERE id_cidade = 3;
DELETE from Cidades
WHERE nome_estado = "minas gerais";
A questão abaixo refere-se ao enunciado abaixo.
Banco de dados de uma Livraria
Considere que o script MySQL abaixo foi usado para criar um banco de dados para gerenciar uma livraria, e que as figuras 1 e 2 representam os dados presentes nas tabelas “categorias” e “livros” respectivamente.
CREATE TABLE categorias (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(50) NOT NULL
);
CREATE TABLE livros (
id INT AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR(100) NOT NULL,
preco DECIMAL(10, 2) NOT NULL,
categoria_id INT,
FOREIGN KEY (categoria_id)
REFERENCES categorias(id)
);

Figura 1 - Tabela categorias

Figura 2 - Tabela livros
A questão abaixo refere-se ao enunciado abaixo.
Banco de dados de uma Livraria
Considere que o script MySQL abaixo foi usado para criar um banco de dados para gerenciar uma livraria, e que as figuras 1 e 2 representam os dados presentes nas tabelas “categorias” e “livros” respectivamente.
CREATE TABLE categorias (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(50) NOT NULL
);
CREATE TABLE livros (
id INT AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR(100) NOT NULL,
preco DECIMAL(10, 2) NOT NULL,
categoria_id INT,
FOREIGN KEY (categoria_id)
REFERENCES categorias(id)
);

Figura 1 - Tabela categorias

Figura 2 - Tabela livros
Considere as relações R1, R2 e R3, cujas estruturas e instâncias são exibidas na Figura a seguir.

O valor NULL deve ser tratado como “unknown” (desconhecido). Segue o comando SQL para ser avaliado:
SELECT T1.A, COUNT(T3.E) FROM PROVA.R3 AS T3
INNER JOIN PROVA.R2 AS T2 ON T2.C = T3.C
INNER JOIN PROVA.R1 AS T1 ON T1.A = T3.A
GROUP BY T1.A
HAVING AVG(T3.E) < MAX(T3.E);
Para as relações envolvidas (R1, R2 e R3) na execução do comando SQL, teremos como resultado:
A figura, a seguir, apresenta o modelo relacional para um esquema de banco de dados, cujo objetivo é registrar funcionários, departamentos e projetos de uma empresa, conforme a descrição resumida do minimundo.

I. A empresa é organizada em departamentos. Cada departamento tem um nome exclusivo, um número exclusivo e um funcionário, em particular, que o gerencia. Registramos a data inicial em que esse funcionário começou a gerenciar o departamento. Um departamento pode ter vários locais.
II. Um departamento controla uma série de projetos, sendo cada um deles com um nome exclusivo, um número exclusivo e um único local.
III. Armazenamos o nome, número do Cadastro de Pessoa Física (CPF), endereço, salário, sexo (gênero) e data de nascimento de cada funcionário. Um funcionário é designado para um departamento, mas pode trabalhar em vários projetos, que não necessariamente são controlados pelo mesmo departamento. Registramos o número atual de horas, por semana, que um funcionário trabalha em cada projeto. Também registramos o supervisor direto de cada funcionário (que é outro funcionário).
Para listar todos os números de projeto, para o funcionário cujo último nome é ‘Brito’ ou ‘Silva’, seja este um trabalhador ou um gerente do departamento que controla o projeto, utilizou-se o seguinte comando SQL.
(SELECT DISTINCT PROJNUMERO FROM PROJETO, DEPARTAMENTO, FUNCIONARIO WHERE DNUM=DNUMERO AND CPF_GERENTE=CPF AND NOME IN (‘Brito’, ‘Silva’ ) )
UNION ( SELECT DISTINCT PROJNUMERO FROM PROJETO, TRABALHA_EM, FUNCIONARIO WHERE PROJNUMERO = PNR AND FCPF = CPF AND NOME IN ( ‘Brito’, ‘Silva’ ) );
Para obter o mesmo resultado da consulta acima, qual o comando equivalente deve ser escrito: